Skip to content

PRESENCE_CALLINFO module

The module enables the handling of “call-info” and “line-seize” events inside the presence module. It is used with the general event handling module: presence and it constructs and adds “Call-Info” headers to notification events. To send “call-info” notification to watchers, a third-party application must publish “call-info” events to the presence server.

The module does not currently implement any authorization rules. It assumes that publish requests are only issued by a third-party application and subscribe requests only by subscriber to call-info and line-seize events. Authorization can thus be easily done by OpenSIPS configuration file before calling handle_publish() and handle_subscribe() functions.

The module implements a simple check for the presence of Call-Info headers in received PUBLISH requests.

To get better understanding on how the module works please take a look at the follwing figure:

caller proxy & callee watcher publisher
alice@example presence bob@example watcher@example
server
| | | | |
| |<-----SUBSCRIBE bob----| |
| |------200 OK---------->| |
| |------NOTIFY---------->| |
| |<-----200 OK-----------| |
| | | | |
|--INV bob--->| | | |
| |--INV bob->| | |
| |<-100------| | |
| |<-----PUBLISH(alerting)---------------|
| |------200 OK------------------------->|
| |------NOTIFY---------->| |
| |<-----200 OK-----------| |
| | | | |
| |<-180 ring-| | |
|<--180 ring--| | | |
| | | | |
| | | | |
| |<-200 OK---| | |
|<--200 OK----| | | |
| |<-----PUBLISH(active)-----------------|
| |------200 OK------------------------->|
| |------NOTIFY---------->| |
| |<-----200 OK-----------| |
| | | | |
  • The watcher subscribes the “Event: dialog” of Bob.
  • Alice calls Bob.
  • The publisher is publishing the “alerting” state for Bob.
  • PUBLISH is received and handled by presence module. Presence module updates the “presentity”. Presence module checks for active watchers of the presentity. The active watcher is notified via a NOTIFY SIP request.
  • Bob answers the call.
  • The publisher is publishing the “active” state for Bob.
  • PUBLISH is received and handled by presence module. Presence module updates the “presentity”. Presence module checks for active watchers of the presentity. The active watcher is notified via a NOTIFY SIP request.

The following modules must be loaded before this module:

  • presence.

None.

Enables or disables call_info event timeout notifications.

Default value is “1” (enabled).

Set call_info_timeout_notification parameter
...
modparam("presence_callinfo", "call_info_timeout_notification", 0)
...

Enables or disables line_seize event timeout notifications.

Default value is “0” (disabled).

Set line_seize_timeout_notification parameter
...
modparam("presence_callinfo", "line_seize_timeout_notification", 1)
...

None to be used in configuration file.

Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)

#NameDevScoreCommitsLines++Lines—
1.Ovidiu Sas (@ovidiusas)1265777
2.Stefan Darius (@dariusstefan)7416921
3.Razvan Crainea (@razvancrainea)4233
4.Bogdan-Andrei Iancu (@bogdan-iancu)3122

(1) DevScore = author_commits + author_lines_added / (project_lines_added / project_commits) + author_lines_deleted / (project_lines_deleted / project_commits)

(2) including any documentation-related commits, excluding merge commits

(3) ignoring whitespace edits, renamed files and auto-generated files

#NameCommit Activity
1.Stefan Darius (@dariusstefan)Jun 2026 - Jul 2026
2.Razvan Crainea (@razvancrainea)Oct 2011 - Jun 2026
3.Bogdan-Andrei Iancu (@bogdan-iancu)Mar 2014 - Mar 2014
4.Ovidiu Sas (@ovidiusas)Dec 2010 - Mar 2011

(1) including any documentation-related commits, excluding merge commits

Last edited by: Razvan Crainea (@razvancrainea), Ovidiu Sas (@ovidiusas).

All documentation files (i.e. .md extension) are licensed under the Creative Common License 4.0