Sip register

Version 29 (Adrian Georgescu, 11/05/2009 01:52 pm) → Version 30/33 (Adrian Georgescu, 01/24/2010 03:36 pm)

== sip-register sip_register ==

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

=== 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 and transport) for a given address of record (SIP address).

> This script is available in ''sipclients'' package that must be installed separately from SIP SIMPLe client SDK package. [[Image(http://www.tech-invite.com/img/cf3665/cf3665-2x.gif)]]

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

{{{
adigeo@ag-imac3:~$sip-register adigeo@ag-imac3:~$sip_register -h
Usage: sip-register sip_register [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.
-s, --trace-sip Dump the raw contents of incoming and outgoing SIP
messages (disabled by default).
-j, --trace-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).
}}}

=== Example ===

{{{
adigeo@ag-imac3:~$sip-register adigeo@ag-imac3:~$sip_register
Using account 31208005169@ag-projects.com
Registration succeeded at 85.17.186.7:5060;transport=udp.
Contact: sip:xqdwrctb@192.168.1.6:58481 (expires in 600 seconds).
Other registered contacts:
sip:31208005169@192.168.1.123:5060 (expires in 262 seconds)
sip:31208005169@192.168.1.122:5062;line=634g6j67 (expires in 360 seconds)
sip:31208005169@192.168.1.1;uniq=5B2860C44383A3D6705629A7E1FB8 (expires in 734 seconds)
Registration ended: 200 OK.
}}}