Today’s telecommunications networks are a delicate blend of clients and servers that together offer virtually endless possibilities when it comes to services and applications. For every new client developed, there seems to be a score more on the way — from mobile handsets, PDAs, terminals, telephones, video phones, IP set-top-boxes, and so on.
There are essentially two types of servers that connect between clients on large networks: Proxy servers and Back-to-Back User Agent (B2BUA) servers. The more prevalent Proxy servers feature predictable behavior — simply connecting between clients. Effectively, B2BUA servers are much stronger and intelligent entities that perform actions which Proxy servers cannot. Moreover, B2BUA servers provide a flexible solution for a wide range of applications and services and are becoming the primary engine for more and more SIP servers in NGN and IMS networks.
The difference between Proxy servers and B2BUA servers is sometimes not fully understood. In this article, we will explore what makes B2BUA servers such an appealing alternative to standard Proxy servers. Better understanding of B2BUA servers can help managers understand the value, and the tradeoffs, of choosing a B2BUA server, as well as the frameworks needed to develop a wide range of SIP applications and SIP services using it.
Figure 1 - Architectural difference between Proxy servers and B2BUA servers
B2BUA Server Defined
B2BUA servers are used to provide value added features for point-to-point calls and manage multi-point calls. The power behind a B2BUA server is derived mostly from the fact that it has a very generic definition, which gives it almost unlimited power. However, this same characteristic is the root of the controversy surrounding it.
IETF standard (RFC 3261) defines a back-to-back user agent as “a logical entity that receives a request and processes it as a user agent server (UAS). In order to determine how the request should be answered, it acts as a user agent client (UAC) and generates requests. Unlike a Proxy server, it maintains a dialogue state and must participate in all requests sent on the dialogues it has established.”
B2BUA servers have capabilities that far exceed those of other types of SIP servers, and answer the need for developing sophisticated value added SIP applications that cannot be implemented as Proxy applications.
Some of these capabilities, which are unique to B2BUA servers, are outlined below:
3rd Party Call Control (3PCC) Features
3rd Party Call Control (3PCC) is the ability of an entity (usually a controller) to set up and manage communication between two or more parties. 3PCC is often used for operator services and conferencing.
3PCC actions are important capabilities, exclusive to B2BUA servers since “passive” non call-stateful elements, such as Proxy servers, cannot initiate these types of activities. Some examples of 3PCC services are online billing, QoS, resource prioritization, call transfer, click-to-dial, mid-call announcement and more.
3PCC actions can be initiated automatically by B2BUA server applications, like disconnecting a call following credit expiration in an online-billing system. Or they can be initiated by remote administrative control (OSS), e.g. invite parties to a multi-point conferencing session.
Figure 2 - Schematic outline of B2BUA server offering 3PCC functionality
Inter-working Function (IWF) for Interoperability
Read the rest of this entry »