Sunday, June 17, 2012

Packet Level View: SIP UAC REGISTERing with PBX Server

Lets get into the capture level details of SIP User Agent Client (UAC) registering with User Agent Server (UAS). Also see how subscribe and notify work.

Asterisk PBX (Private Branch eXchange) Server (UAS) 3.3.3.10
X-Lite Phone (UAC) 3.3.3.101

REGISTER
SIP registration is a method used by a SIP device (Softphone, Analog Phone with ATA, PBX Server etc) to inform its registrar (VoIP provider, PBX) where SIP device is located.
Initial REGISTER request may be plain without without Authentication details for registering contact information. If Client need to authenticate, PBX Server responds back with "401 Unauthorized". REGISTER requests should be challenged for Authentication. Once Registration is successful VoIP provider will know where to forward incoming calls. 





REGISTER requests add, remove and query bindings. A REGISTER request can add a new binding between an address-of-record and one or more contact addresses.  Registration on behalf of a particular address-of-record can be performed by a suitably authorized third party.  A client(Phone, UAC) can also remove previous bindings or query to determine which bindings are currently in place for an address-of-record.


Registrar 
A server that accepts REGISTER requests and places the information it receives in those requests into the location service for the domain it handles which registers one or more IP addresses to a certain SIP URI, indicated by the sip: scheme, although other protocol schemes are possible (such as tel:). More than one user agent can register at the same URI, with the result that all registered user agents will receive a call to the SIP URI.

SUBSCRIBE
The general concept of SUBSCRIBE is that entities in the network can subscribe (X-Lite softphone) 
to resource or call state for various resources or calls in the network, and those entities (or entities 
acting on their behalf) can send notifications (PBX, VoIP Service Provider) when those states change. 
If SUBSCRIBE needs Authentication Server responds back with "401 Unauthorized".


NOTIFY 
NOTIFY the subscriber of a new Event by returning current state information.
Typical flow of SUBSCRIBE and NOTIFY messages are given below
 (X-Lite Phone)     (Asterisk PBX Server)
   Subscriber          Notifier
       |-----SUBSCRIBE---->|     Request state subscription
       | <--------200---------- |     Acknowledge subscription
       |<------NOTIFY------- |     Return current state information
       |--------200----------->|
       |<------NOTIFY------- |     Return current state information
       |--------200----------->|
Subscriptions are expired and must be refreshed by subsequent SUBSCRIBE messages. 
To configure X-Lite Softphone and Asterisk PBX go through below link http://darshanams.blogspot.in/2012/06/softphone-registration-with-asterisk.html