Table of Contents
List of Tables
List of Examples
This module publishes information about "reg"-events according to to RFC 3680. This can be used distribute the registration-info status to the subscribed watchers.
This module "PUBLISH"es information when a new user registers at this server (e.g. when "save()" is called) to users, which have subscribed for the reg-info for this user.
This module can "SUBSCRIBE" for information at another server, so it will receive "NOTIFY"-requests, when the information about a user changes.
And finally, it can process received "NOTIFY" requests and it will update the local registry accordingly.
Use cases for this might be:
The default domain for the registered users to be used when constructing the uri for the registrar callback.
Default value is “NULL”.
Example 1.1. Set default_domain
parameter
... modparam("pua_reginfo", "default_domain", "kamailio.org") ...
Whether or not to generate PUBLISH requests.
Default value is “1” (enabled).
The outbound_proxy uri to be used when sending Subscribe and Publish requests.
Default value is “NULL”.
Example 1.3. Set outbound_proxy
parameter
... modparam("pua_reginfo", "outbound_proxy", "sip:proxy@kamailio.org") ...
The IP address of the server.
Example 1.4. Set server_address
parameter
... modparam("pua_reginfo", "server_address", "sip:reginfo@160.34.23.12") ...
The domain for for querying the usrloc-database.
Default value is “NULL” (not set).
The Key, which may be used for retrieving multiple public identies for a user.
Default value is “NULL” (not set).
Example 1.6. Set ul_identities_key
parameter
... modparam("pua_reginfo", "ul_identities_key", "identities") ... onreply_route[register_reply] { if (t_check_status("200") && $hdr(P-Associated-URI)) { ul_add_key("location", "$tU@$td", "identities", "$hdr(P-Associated-URI)"); reginfo_update("$tU@$td"); } } ...
This function processes received "NOTIFY"-requests and updates the local registry accordingly.
This method does not create any SIP-Response, this has to be done by the script-writer.
The parameter has to correspond to user location table (domain) where to store the record.
Return codes:
2 - contacts successfully updated, but no more contacts online now.
1 - contacts successfully updated and at at least one contact still registered.
-1 - Invalid NOTIFY or other error (see log-file)
Example 1.7. reginfo_handle_notify
usage
... if(is_method("NOTIFY")) if (reginfo_handle_notify("location")) send_reply("202", "Accepted"); ...
This function will subscribe for reginfo-information at the given server URI.
Meaning of the parameters is as follows:
uri - SIP-URI of the server, where to subscribe, may contain pseudo-variables.
expires - Expiration date for this subscription, in seconds (default 3600)
Example 1.8. reginfo_subscribe
usage
... route { t_on_reply("1"); t_relay(); } reply_route[1] { if (t_check_status("200")) reginfo_subscribe("$ru"); } ...
Explicitly update the presence status, e.g., when new information is learned. This may trigger a new NOTIFY towards subscribed entities; at least it will update the internal information for subsequent subscribe and notifies.
This is done implicitly, when a registration is updated. However, when a registration was just updated with additional information like identities, this is not triggered automatically.
Meaning of the parameters is as follows:
aor - The AOR to be updated.
Example 1.9. reginfo_subscribe
usage
... modparam("pua_reginfo", "ul_domain", "location") modparam("pua_reginfo", "ul_identities_key", "identities") ... onreply_route[register_reply] { if (t_check_status("200") && $hdr(P-Associated-URI)) { ul_add_key("location", "$tU@$td", "identities", "$hdr(P-Associated-URI)"); reginfo_update("$tU@$td"); } } ...
Table 2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
Name | DevScore | Commits | Lines ++ | Lines -- | |
---|---|---|---|---|---|
1. | Carsten Bock | 18 | 1 | 1930 | 0 |
2. | Bogdan-Andrei Iancu (@bogdan-iancu) | 4 | 2 | 16 | 19 |
3. | Liviu Chircu (@liviuchircu) | 3 | 1 | 2 | 3 |
(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. Regarding imported patches/code, we do our best to count the work on behalf of the proper owner, as per the "fix_authors" and "mod_renames" arrays in opensips/doc/build-contrib.sh. If you identify any patches/commits which do not get properly attributed to you, please submit a pull request which extends "fix_authors" and/or "mod_renames".
(3) ignoring whitespace edits, renamed files and auto-generated files
Table 2.2. Most recently active contributors(1) to this module
Name | Commit Activity | |
---|---|---|
1. | Bogdan-Andrei Iancu (@bogdan-iancu) | Apr 2024 - Apr 2024 |
2. | Liviu Chircu (@liviuchircu) | Apr 2024 - Apr 2024 |
3. | Carsten Bock | Mar 2024 - Mar 2024 |
(1) including any documentation-related commits, excluding merge commits
Last edited by: Bogdan-Andrei Iancu (@bogdan-iancu), Carsten Bock.
Documentation Copyrights:
Copyright © 2011-2023 Carsten Bock, carsten@ng-voice.com, http://www.ng-voice.com