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