Back to Back User Agents for Telecommunications

by: Danny Loeb

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

SIP was designed as a highly flexible and extendible protocol. The very strength of this flexibility is also an inherent weakness, since the vast array of client types in the market still need to connect.

B2BUA Inter-working Functions (IWF) defines a wide range of powerful SIP servers that connect SIP clients that “speak” in different protocol dialects, or support different capabilities. This Inter-working function is very important in enabling connectivity between clients with different capabilities and/or protocol dialects. Or even between clients and networks – where the B2BUA server actually acts as an access device.

Examples of what IWF can do include:

• Connecting SIP clients to IMS networks by adding and removing IMS SIP protocol extensions (AKA P-Headers) that are essential for connecting to the IMS network
• Connecting clients with different Session Timers settings
• Connecting clients with different media capabilities and with distinct Session Description Protocol (SDP) messages by relaying between the two types of control sessions
• Connecting to different types of networks (e.g. IPv4, IPv6) and support for different transport types, such as TCP/UDP/SCTP/TLS

Figure 3 - Schematic outline of a B2BUA Inter-Working Function

Multi-point Call Management

B2BUA servers an also implement multi-point call scenarios where multiple CPE devices connect to the B2BUA, and the B2BUA provides services to all CPE.

Due to these unique capabilities, B2BUA servers are widely used in the communications industry. A few examples are listed below:

• Online-billing/prepaid functions
• Servers supporting Resource Prioritization (RP) and/or Quality of Service (QoS) features
• Multi Point Conferencing servers
• IVR servers
• PBX Applications and Softswitches
• Application Layer Gateways (ALG)
• FW/NAT Traversal applications
• Privacy servers
• 3rd-Party Call Control Applications (3PCC)
• Service Creation Environment (SCE) runtime engines
• Session Boarder Controller (SBC)
• SIP Inter-work Function (IWF) Gateway
• Security Gateway (SEG)
• Voice Call Continuity (VCC) servers

In addition, B2BUA servers play an important role in emerging IMS networks. Recent releases of 3GPP IMS specifications (3GPP TS 24.229 V8.0.0) indicate that an increasing number of IMS network element servers, such as P-CSCF, IBCF,SBC etc., are B2BUA servers. The reason for this is that value added services are usually session stateful, and feature capabilities that go beyond basic call proxying. Applications written on top of B2BUA Application servers fulfill several roles, such as SIP User Agents, SIP Proxy servers and SIP Registrars.

B2BUA Server Challenges

B2BUA application developers face many challenges, such as achieving rapid time-to-market, conformance and interoperability, offering customization for proprietary services and support for High Availability (HA) and redundancy. A comprehensive B2BUA framework can help developers overcome these challenges.

A solid B2BUA framework should have modular application building block architecture for increased flexibility, abstraction and short delivery time. Traditional architecture, which features a single configurable state machine, is not flexible enough. Also, a B2BUA framework should facilitate developing B2BUA applications by flexibly linking “pluggable” high-level Modular Application Building Blocks (MABB). Developers should have the ability to combine these MABBs and they should be designed in a way that allows developers to further customize their behavior if needed. This type of architecture complies with contemporary Service Oriented Architecture (SOA) concepts, and is suitable for powering flexible business communication platforms. This modular architecture can save months of work. With a set of MABBs in hand, developing the application is a matter of combining existing MABBs to produce the required business logic. In addition, this architecture enhances efficiency; development of new MABBs can be done concurrently.

A B2BUA framework should facilitate developing applications that fully conform to standards and are interoperable; without restricting developers from customizing protocol behavior for special cases. Moreover, it should conform for non-standard implementations, as well as to mediate between two versions of the same standard. This type of framework allows developers to focus on their proprietary application with the confidence that their final application will be fully interoperable.

And finally, a B2BUA framework should provide the ability to configure, amend and replace application building blocks to create proprietary features. With this ability, developers can maximize existing code – significantly reducing development time, shortening testing cycles, and reducing overall time-to-market.

Figure 4 - Traditional architecture of a B2BUA framework

RADVISION’s B2BUA Application Framework delivers these capabilities and more. The B2BUA Application Framework module is a part of the RADVISION SIP server Platform, a software framework that offers the essential building blocks for the development of a wide variety of high performance SIP and IMS servers. The rich set of components and modules can be flexibly combined to match customers’ requirements for developing SIP servers that offer both standard and advanced SIP services.

Applications written on top of RADVISION’s B2BUA framework are developed by combining customizable modular application building blocks. This is effectively large chunks of functionality that can be strung together to form ad-hoc applications, enabling developers to focus on the high-level business logic and use building blocks that hide low-level details.

As one of the most popular IM applications, Yahoo! Messenger was the first large consumer player that adopted B2B UA. Yahoo! Messenger combined its backend scalable platform with RADVISION’s B2B UA to serve millions of monthly unique messaging users around the world. Yahoo selected RADVISION’s B2BUA due to its robust performance and scalability features.

Figure 5 - The architecture of RADVISION B2BUA Application Framework

RADVISION also offers automatic High Availability (HA) and Redundancy support. The B2BUA framework automatically replicates the run-time state of the different Services and B2BUA framework core. In the event of a server outage, a redundant server takes over seamlessly and provides uninterrupted service continuity.

B2BUA framework benefits in a nutshell

• Significantly reduces time to market developing proprietary B2B applications and services.
• Allows adding advanced services easily to retain competitive advantage and evolve to meet growing customer demands.
• Focuses on the business logic and hides low level operator communication intricacies.
• Delivers off-the-shelf conformance and interoperability.
• Enables rapid development of applications that can interoperate with different vendors.
• Enables adding high-availability features easily.

Click here for more extensive information on B2BUA Servers.

By Danny Loeb, RADVISION Product Manager

About The Author
Danny Loeb is a seasoned Product Manager at RADVISION, leading RADVISION’s SIP Server Platform and Server Solutions product family. With over ten years of experience Danny has vast multidisciplinary knowledge in product management, system architecture, integration and development of servers for data communication and voice communication networks. Prior to joining RADVISION, he served as System Integration Manager and System Architect at Charlotte’s Web Networks, a developer of core-IP Terabit Routers, where he lead the foundation of the company’s Remote Presence Solutions Division. Previously, Mr. Loeb served in several positions at Microsoft as part of the Internet Security and Acceleration Development Team.