Sunday 1 December 2013

Asterisk and SIP Protocol


The Session Initiation Protocol (SIP) is a peer-to-peer protocol, and while it is common to have a setup where endpoints act as clients, and some sort of gateway acts as a server, the protocol itself thinks in terms of peer-to-peer relationships. What this means is that a SIP telephone is quite capable of making a direct connection to another SIP telephone, without a PBX in between.


The reality is that most SIP transactions happen through a server of some sort, and in the case of Asterisk, it is common to have the PBX remain in the middle, bridging all connections. When a SIP call is made from a telephone to another telephone through Asterisk, there are actually two calls happening: a call from the originating set to Asterisk, and another separate call from Asterisk to the destination set (this second leg of the call might not even use SIP). Asterisk bridges the two together.

Using a SIP phone with Asterisk means that you will want to configure the SIP telephone to send all its calls to Asterisk, even though the device is quite capable of directly connecting to another SIP endpoint without the Asterisk server. The phone will treat Asterisk as its proxy server (even though Asterisk is in fact a Back to Back User Agent, or B2BUA), and will look to Asterisk for routing decisions for all calls.