Sip register

Version 24 (Adrian Georgescu, 03/30/2009 11:26 am)

1 16 Adrian Georgescu
== sip_register ==
2 1 Adrian Georgescu
3 17 Adrian Georgescu
[[TOC(SipTesting*, sip_*, depth=2)]]
4 17 Adrian Georgescu
5 18 Adrian Georgescu
To use this script you must to have a valid [wiki:SipSettingsAPI configuration].
6 2 Adrian Georgescu
7 24 Adrian Georgescu
[[Image(http://www.tech-invite.com/img/cf3665/cf3665-2x.gif)]]
8 19 Adrian Georgescu
9 16 Adrian Georgescu
=== Description ===
10 6 Adrian Georgescu
11 12 Adrian Georgescu
SIP protocol offers a discovery capability. If a user wants to initiate a session
12 12 Adrian Georgescu
with another user, he must discover the current host(s) at which the
13 8 Adrian Georgescu
destination user is reachable. To do this, SIP network elements consult an
14 8 Adrian Georgescu
abstract service known as a location service, which provides address
15 8 Adrian Georgescu
bindings for a particular domain. Registration entails sending a REGISTER
16 8 Adrian Georgescu
request to a special type of UAS known as a registrar.  A registrar acts as
17 8 Adrian Georgescu
the front end to the location service for a domain, reading and writing
18 8 Adrian Georgescu
mappings based on the contents of REGISTER requests. This location service
19 8 Adrian Georgescu
is then typically consulted by a proxy server that is responsible for
20 8 Adrian Georgescu
routing requests for that domain.
21 8 Adrian Georgescu
22 23 Adrian Georgescu
This script implements REGISTER method, which registers the contact (ip, port and transport) for a given address of record (SIP address).
23 8 Adrian Georgescu
24 6 Adrian Georgescu
Source code: [source:scripts/sip_register.py scripts/sip_register.py]
25 3 Adrian Georgescu
26 1 Adrian Georgescu
{{{
27 22 Adrian Georgescu
adigeo@ag-imac3:~$sip_register -h
28 22 Adrian Georgescu
Usage: sip_register [options]
29 1 Adrian Georgescu
30 1 Adrian Georgescu
This script will register a SIP account to a SIP registrar and refresh it
31 1 Adrian Georgescu
while the program is running. When Ctrl+D is pressed it will unregister.
32 1 Adrian Georgescu
33 1 Adrian Georgescu
Options:
34 1 Adrian Georgescu
  -h, --help            show this help message and exit
35 1 Adrian Georgescu
  -a ACCOUNT_NAME, --account-name=ACCOUNT_NAME
36 1 Adrian Georgescu
                        The account name from which to read account settings.
37 1 Adrian Georgescu
                        Corresponds to section Account_NAME in the
38 1 Adrian Georgescu
                        configuration file.
39 1 Adrian Georgescu
  -s, --trace-sip       Dump the raw contents of incoming and outgoing SIP
40 1 Adrian Georgescu
                        messages (disabled by default).
41 22 Adrian Georgescu
  -j, --trace-pjsip     Print PJSIP logging output (disabled by default).
42 1 Adrian Georgescu
  -r MAX_REGISTERS, --max-registers=MAX_REGISTERS
43 22 Adrian Georgescu
                        Max number of REGISTERs sent (default 1, set to 0 for
44 22 Adrian Georgescu
                        infinite).
45 7 Adrian Georgescu
}}}
46 1 Adrian Georgescu
47 1 Adrian Georgescu
=== Example ===
48 1 Adrian Georgescu
49 1 Adrian Georgescu
{{{
50 22 Adrian Georgescu
adigeo@ag-imac3:~$sip_register   
51 22 Adrian Georgescu
Using account 31208005169@ag-projects.com
52 22 Adrian Georgescu
Registration succeeded at 85.17.186.7:5060;transport=udp.
53 22 Adrian Georgescu
Contact: sip:xqdwrctb@192.168.1.6:58481 (expires in 600 seconds).
54 1 Adrian Georgescu
Other registered contacts:
55 22 Adrian Georgescu
  sip:31208005169@192.168.1.123:5060 (expires in 262 seconds)
56 22 Adrian Georgescu
  sip:31208005169@192.168.1.122:5062;line=634g6j67 (expires in 360 seconds)
57 22 Adrian Georgescu
  sip:31208005169@192.168.1.1;uniq=5B2860C44383A3D6705629A7E1FB8 (expires in 734 seconds)
58 22 Adrian Georgescu
Registration ended: 200 OK.
59 1 Adrian Georgescu
}}}