Sip register

Version 21 (Adrian Georgescu, 03/14/2009 09:50 am) → Version 22/33 (Adrian Georgescu, 03/28/2009 12:39 pm)

== sip_register ==

[[TOC(SipTesting*, sip_*, depth=2)]]

To use this script you must to have a valid [wiki:SipSettingsAPI configuration].

[[Image(http://www.tech-invite.com/img/cf3665/cf3665-2x.gif, align=right)]]

=== Description ===

SIP protocol offers a discovery capability. If a user wants to initiate a session
with another user, he must discover the current host(s) at which the
destination user is reachable. To do this, SIP network elements consult an
abstract service known as a location service, which provides address
bindings for a particular domain. Registration entails sending a REGISTER
request to a special type of UAS known as a registrar. A registrar acts as
the front end to the location service for a domain, reading and writing
mappings based on the contents of REGISTER requests. This location service
is then typically consulted by a proxy server that is responsible for
routing requests for that domain.

This script implements REGISTER method, which registers the contact (ip:port
address) for a given address of record (SIP address).

Source code: [source:scripts/sip_register.py scripts/sip_register.py]

{{{
adigeo@ag-imac3:~$sip_register adigeo@ag-imac3:~$sip_register.py -h
Usage: sip_register sip_register.py [options]

This script will register a SIP account to a SIP registrar and refresh it
while the program is running. When Ctrl+D is pressed it will unregister.

Options:
-h, --help show this help message and exit
-a ACCOUNT_NAME, --account-name=ACCOUNT_NAME
The account name from which to read account settings.
Corresponds to section Account_NAME in the
configuration file.
--sip-address=SIP_ADDRESS
SIP login account
-p PASSWORD, --password=PASSWORD
Password to use to authenticate the local account.
This overrides the setting from the config file.
-n DISPLAY_NAME, --display-name=DISPLAY_NAME
Display name to use for the local account. This
overrides the setting from the config file.
-e EXPIRES, --expires=EXPIRES
"Expires" value to set in REGISTER. Default is 300
seconds.
-o IP[:PORT], --outbound-proxy=IP[:PORT]
Outbound SIP proxy to use. By default a lookup of the
domain is performed based on SRV and A records. This
overrides the setting from the config file.
-s, --trace-sip Dump the raw contents of incoming and outgoing SIP
messages (disabled by default).
-j, --trace-pjsip -l, --log-pjsip Print PJSIP logging output (disabled by default).
-r MAX_REGISTERS, --max-registers=MAX_REGISTERS
Max number of REGISTERs sent (default 1, set to 0 for
infinite).
1).
}}}

=== Example ===

{{{
adigeo@ag-imac3:~$sip_register

Using account default account: 31208005169@ag-projects.com
Registration succeeded Resolved DNS SRV record "_sip._udp.ag-projects.com" --> proxy.sipthor.net:5060
Resolved DNS A record "proxy.sipthor.net" --> 85.17.186.7, 81.23.228.150, 81.23.228.129
Registering ""Adrian G." <sip:31208005169@ag-projects.com>"
at 85.17.186.7:5060;transport=udp. 81.23.228.150:5060
REGISTER was successful
Contact: sip:xqdwrctb@192.168.1.6:58481 <sip:163d949d32@192.168.1.6:49521> (expires in 600 seconds). 300 seconds)
Other registered contacts:
sip:31208005169@192.168.1.123:5060

<sip:31208005169@192.168.1.122:5062;line=634g6j67>
(expires in 262 559 seconds)
sip:31208005169@192.168.1.122:5062;line=634g6j67

<sip:31208005169@192.168.1.123:5060>
(expires in 360 205 seconds)
sip:31208005169@192.168.1.1;uniq=5B2860C44383A3D6705629A7E1FB8

<sip:4429c5c061@192.168.1.6:49515>
(expires in 734 152 seconds)
Registration ended: 200 OK. <sip:5a9c042eb4@192.168.1.6:49511> (expires in 135 seconds)
<sip:31208005169@192.168.1.1;uniq=5B2860C44383A3D6705629A7E1FB8> (expires in 1014 seconds)
<sip:31208005169@80.101.96.20:61359> (expires in 981 seconds)
Press Ctrl+D to stop the program

}}}