Sip register

Version 21 (Adrian Georgescu, 03/14/2009 09:50 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 21 Adrian Georgescu
[[Image(http://www.tech-invite.com/img/cf3665/cf3665-2x.gif, align=right)]]
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 8 Adrian Georgescu
This script implements REGISTER method, which registers the contact (ip:port
23 8 Adrian Georgescu
address) for a given address of record (SIP address).
24 8 Adrian Georgescu
25 6 Adrian Georgescu
Source code: [source:scripts/sip_register.py scripts/sip_register.py]
26 3 Adrian Georgescu
27 1 Adrian Georgescu
{{{
28 1 Adrian Georgescu
adigeo@ag-imac3:~$sip_register.py -h
29 1 Adrian Georgescu
Usage: sip_register.py [options]
30 1 Adrian Georgescu
31 1 Adrian Georgescu
This script will register a SIP account to a SIP registrar and refresh it
32 1 Adrian Georgescu
while the program is running. When Ctrl+D is pressed it will unregister.
33 1 Adrian Georgescu
34 1 Adrian Georgescu
Options:
35 1 Adrian Georgescu
  -h, --help            show this help message and exit
36 1 Adrian Georgescu
  -a ACCOUNT_NAME, --account-name=ACCOUNT_NAME
37 1 Adrian Georgescu
                        The account name from which to read account settings.
38 1 Adrian Georgescu
                        Corresponds to section Account_NAME in the
39 1 Adrian Georgescu
                        configuration file.
40 1 Adrian Georgescu
  --sip-address=SIP_ADDRESS
41 1 Adrian Georgescu
                        SIP login account
42 1 Adrian Georgescu
  -p PASSWORD, --password=PASSWORD
43 1 Adrian Georgescu
                        Password to use to authenticate the local account.
44 1 Adrian Georgescu
                        This overrides the setting from the config file.
45 1 Adrian Georgescu
  -n DISPLAY_NAME, --display-name=DISPLAY_NAME
46 1 Adrian Georgescu
                        Display name to use for the local account. This
47 1 Adrian Georgescu
                        overrides the setting from the config file.
48 1 Adrian Georgescu
  -e EXPIRES, --expires=EXPIRES
49 1 Adrian Georgescu
                        "Expires" value to set in REGISTER. Default is 300
50 1 Adrian Georgescu
                        seconds.
51 1 Adrian Georgescu
  -o IP[:PORT], --outbound-proxy=IP[:PORT]
52 1 Adrian Georgescu
                        Outbound SIP proxy to use. By default a lookup of the
53 1 Adrian Georgescu
                        domain is performed based on SRV and A records. This
54 1 Adrian Georgescu
                        overrides the setting from the config file.
55 1 Adrian Georgescu
  -s, --trace-sip       Dump the raw contents of incoming and outgoing SIP
56 1 Adrian Georgescu
                        messages (disabled by default).
57 1 Adrian Georgescu
  -l, --log-pjsip       Print PJSIP logging output (disabled by default).
58 7 Adrian Georgescu
  -r MAX_REGISTERS, --max-registers=MAX_REGISTERS
59 7 Adrian Georgescu
                        Max number of REGISTERs sent (default 1).
60 1 Adrian Georgescu
}}}
61 1 Adrian Georgescu
62 16 Adrian Georgescu
=== Example ===
63 1 Adrian Georgescu
64 1 Adrian Georgescu
{{{
65 1 Adrian Georgescu
adigeo@ag-imac3:~$sip_register 
66 1 Adrian Georgescu
Using default account: 31208005169@ag-projects.com
67 1 Adrian Georgescu
Resolved DNS SRV record "_sip._udp.ag-projects.com" --> proxy.sipthor.net:5060
68 1 Adrian Georgescu
Resolved DNS A record "proxy.sipthor.net" --> 85.17.186.7, 81.23.228.150, 81.23.228.129
69 1 Adrian Georgescu
Registering ""Adrian G." <sip:31208005169@ag-projects.com>" at 81.23.228.150:5060
70 1 Adrian Georgescu
REGISTER was successful
71 1 Adrian Georgescu
Contact: <sip:163d949d32@192.168.1.6:49521> (expires in 300 seconds)
72 1 Adrian Georgescu
Other registered contacts:
73 1 Adrian Georgescu
<sip:31208005169@192.168.1.122:5062;line=634g6j67> (expires in 559 seconds)
74 1 Adrian Georgescu
<sip:31208005169@192.168.1.123:5060> (expires in 205 seconds)
75 1 Adrian Georgescu
<sip:4429c5c061@192.168.1.6:49515> (expires in 152 seconds)
76 1 Adrian Georgescu
<sip:5a9c042eb4@192.168.1.6:49511> (expires in 135 seconds)
77 1 Adrian Georgescu
<sip:31208005169@192.168.1.1;uniq=5B2860C44383A3D6705629A7E1FB8> (expires in 1014 seconds)
78 1 Adrian Georgescu
<sip:31208005169@80.101.96.20:61359> (expires in 981 seconds)
79 1 Adrian Georgescu
Press Ctrl+D to stop the program
80 1 Adrian Georgescu
}}}