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).
adigeo@ag-imac3:~$sip-register -h Usage: 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).
adigeo@ag-imac3:~$sip-register Using account firstname.lastname@example.org Registration succeeded at 126.96.36.199:5060;transport=udp. Contact: sip:email@example.com:58481 (expires in 600 seconds). Other registered contacts: sip:firstname.lastname@example.org:5060 (expires in 262 seconds) sip:email@example.com:5062;line=634g6j67 (expires in 360 seconds) sip:firstname.lastname@example.org;uniq=5B2860C44383A3D6705629A7E1FB8 (expires in 734 seconds) Registration ended: 200 OK.