Project

General

Profile

Sip register » History » Revision 11

Revision 10 (Adrian Georgescu, 11/06/2008 02:29 PM) → Revision 11/33 (Adrian Georgescu, 11/06/2008 02:57 PM)

== = sip_register == = 

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

 === == Description === == 

 SIP offers a discovery capability. If a user wants to initiate a session 
 with another user, SIP 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.py -h 
 Usage: 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). 
   -l, --log-pjsip         Print PJSIP logging output (disabled by default). 
   -r MAX_REGISTERS, --max-registers=MAX_REGISTERS 
                         Max number of REGISTERs sent (default 1). 
 }}} 

 === == Example === == 

 {{{ 
 adigeo@ag-imac3:~$sip_register  
 Using default account: 31208005169@ag-projects.com 
 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 81.23.228.150:5060 
 REGISTER was successful 
 Contact: <sip:163d949d32@192.168.1.6:49521> (expires in 300 seconds) 
 Other registered contacts: 
 <sip:31208005169@192.168.1.122:5062;line=634g6j67> (expires in 559 seconds) 
 <sip:31208005169@192.168.1.123:5060> (expires in 205 seconds) 
 <sip:4429c5c061@192.168.1.6:49515> (expires in 152 seconds) 
 <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 
 }}}