SIP Session Border Controller
Yate implements the Session Initiation Protocol for communication among others. Besides the SIP router functionality, Yate also can be used like a SIP border controller.
What's SIP Border Controller?
A typical session border controller is used to overcome some of the problems that may appear in a VoIP communication by integrating it between the caller and the called party signaling path.
Such problems can be of various types. The more important ones are like it follows:
- The traversal of signal and media across a NAT or firewall border device can fail for various reasons.
First, there is a firewall problem, even it doesn’t apply every time and for every firewall. It is about the probability that the dynamically opening and closing of ports on incoming calls might just not work.
The main problem is the Network Address Translation (NAT) one. Here is about the IP addresses that are inserted in the packets by the VoIP clients, which addresses belong to the private network behind the NAT server, and consequently can't be routed outside it.
Why you use SIP session border controller?
The session border controller is positioned between the clients with these problems and solves them so that the traffic can be possible. There aren't only the signaling packets the ones that are passing through the border controller but the media ones too.
Another reason to use a session border controller is due to different service providers for the clients, which states for a connection usually passing through many different codec hops. Here fits the border controller as a cheaper way to provide media translation and in addition also accounting information and security services.
A use for a session border controller is also to collect usage information for each session. This can be used to create Charge Detail Records (CDRs) based on various factors as media type, bandwidth used, account information, etc.
Configure Yate to be used as a SIP session border controller
Yate can be used as a SIP session border controller providing security for the internal network of the carrier. It provides also NAT traversal support.
To enable this feature you have to add in ysipchan.conf in section [general] parameter ignorevia to yes.