| Today's telecommunications networks are a delicate | | | | - Privacy servers |
| blend of clients and servers that together offer virtually | | | | - 3rd-Party Call Control Applications (3PCC) |
| endless possibilities when it comes to services and | | | | - Service Creation Environment (SCE) runtime engines |
| applications. For every new client developed, there | | | | - Session Boarder Controller (SBC) |
| seems to be a score more on the way - from mobile | | | | - IMS S-CSCF, P-CSCF, I-CSCF |
| handsets, PDAs, terminals, telephones, video phones, IP | | | | - SIP Inter-work Function (IWF) Gateway |
| set-top-boxes, and so on. | | | | - Security Gateway (SEG) |
| There are essentially two types of servers that | | | | - Voice Call Continuity (VCC) servers |
| connect between clients on large networks: Proxy | | | | In addition, B2BUA servers play an important role in |
| servers and Back-to-Back User Agent (B2BUA) | | | | emerging IMS networks. Recent releases of 3GPP |
| servers. The more prevalent Proxy servers feature | | | | IMS specifications (3GPP TS 24.229 V8.0.0) indicate |
| predictable behavior - simply connecting between | | | | that an increasing number of IMS network element |
| clients. Effectively, B2BUA servers are much stronger | | | | servers, such as P-CSCF, IBCF,SBC etc., are B2BUA |
| and intelligent entities that perform actions which Proxy | | | | servers. The reason for this is that value added |
| servers cannot. Moreover, B2BUA servers provide a | | | | services are usually session stateful, and feature |
| flexible solution for a wide range of applications and | | | | capabilities that go beyond basic call proxying. |
| services and are becoming the primary engine for | | | | Applications written on top of B2BUA Application |
| more and more SIP servers in NGN and IMS networks. | | | | servers fulfill several roles, such as SIP User Agents, |
| The difference between Proxy servers and B2BUA | | | | SIP Proxy servers and SIP Registrars. |
| servers is sometimes not fully understood. In this article, | | | | B2BUA Server Challenges |
| we will explore what makes B2BUA servers such an | | | | B2BUA application developers face many challenges, |
| appealing alternative to standard Proxy servers. Better | | | | such as achieving rapid time-to-market, conformance |
| understanding of B2BUA servers can help managers | | | | and interoperability, offering customization for |
| understand the value, and the tradeoffs, of choosing a | | | | proprietary services and support for High Availability |
| B2BUA server, as well as the frameworks needed to | | | | (HA) and redundancy. A comprehensive B2BUA |
| develop a wide range of SIP applications and SIP | | | | framework can help developers overcome these |
| services using it. | | | | challenges. |
| B2BUA Server Defined | | | | A solid B2BUA framework should have modular |
| B2BUA servers are used to provide value added | | | | application building block architecture for increased |
| features for point-to-point calls and manage multi-point | | | | flexibility, abstraction and short delivery time. Traditional |
| calls. The power behind a B2BUA server is derived | | | | architecture, which features a single configurable state |
| mostly from the fact that it has a very generic | | | | machine, is not flexible enough. Also, a B2BUA |
| definition, which gives it almost unlimited power. | | | | framework should facilitate developing B2BUA |
| However, this same characteristic is the root of the | | | | applications by flexibly linking "pluggable" high-level |
| controversy surrounding it. | | | | Modular Application Building Blocks (MABB). |
| IETF standard (RFC 3261) defines a back-to-back | | | | Developers should have the ability to combine these |
| user agent as "a logical entity that receives a request | | | | MABBs and they should be designed in a way that |
| and processes it as a user agent server (UAS). In | | | | allows developers to further customize their behavior if |
| order to determine how the request should be | | | | needed. This type of architecture complies with |
| answered, it acts as a user agent client (UAC) and | | | | contemporary Service Oriented Architecture (SOA) |
| generates requests. Unlike a Proxy server, it maintains | | | | concepts, and is suitable for powering flexible business |
| a dialogue state and must participate in all requests | | | | communication platforms. This modular architecture |
| sent on the dialogues it has established." | | | | can save months of work. With a set of MABBs in |
| B2BUA servers have capabilities that far exceed | | | | hand, developing the application is a matter of |
| those of other types of SIP servers, and answer the | | | | combining existing MABBs to produce the required |
| need for developing sophisticated value added SIP | | | | business logic. In addition, this architecture enhances |
| applications that cannot be implemented as Proxy | | | | efficiency; development of new MABBs can be done |
| applications. | | | | concurrently. |
| Some of these capabilities, which are unique to | | | | A B2BUA framework should facilitate developing |
| B2BUA servers, are outlined below: | | | | applications that fully conform to standards and are |
| 3rd Party Call Control (3PCC) Features | | | | interoperable; without restricting developers from |
| 3rd Party Call Control (3PCC) is the ability of an entity | | | | customizing protocol behavior for special cases. |
| (usually a controller) to set up and manage | | | | Moreover, it should conform for non-standard |
| communication between two or more parties. 3PCC is | | | | implementations, as well as to mediate between two |
| often used for operator services and conferencing. | | | | versions of the same standard. This type of |
| 3PCC actions are important capabilities, exclusive to | | | | framework allows developers to focus on their |
| B2BUA servers since "passive" non call-stateful | | | | proprietary application with the confidence that their |
| elements, such as Proxy servers, cannot initiate these | | | | final application will be fully interoperable. |
| types of activities. Some examples of 3PCC services | | | | And finally, a B2BUA framework should provide the |
| are online billing, QoS, resource prioritization, call | | | | ability to configure, amend and replace application |
| transfer, click-to-dial, mid-call announcement and more. | | | | building blocks to create proprietary features. With this |
| 3PCC actions can be initiated automatically by B2BUA | | | | ability, developers can maximize existing code - |
| server applications, like disconnecting a call following | | | | significantly reducing development time, shortening |
| credit expiration in an online-billing system. Or they can | | | | testing cycles, and reducing overall time-to-market. |
| be initiated by remote administrative control (OSS), e.g. | | | | There are B2BUA application frameworks that deliver |
| invite parties to a multi-point conferencing session. | | | | these capabilities and more. The B2BUA Application |
| Inter-working Function (IWF) for Interoperability | | | | Framework module should be a part of the SIP server |
| SIP was designed as a highly flexible and extendible | | | | Platform, a software framework that offers the |
| protocol. The very strength of this flexibility is also an | | | | essential building blocks for the development of a wide |
| inherent weakness, since the vast array of client types | | | | variety of high performance SIP and IMS servers. The |
| in the market still need to connect. | | | | rich set of components and modules can be flexibly |
| B2BUA Inter-working Functions (IWF) defines a wide | | | | combined to match customers' requirements for |
| range of powerful SIP servers that connect SIP clients | | | | developing SIP servers that offer both standard and |
| that "speak" in different protocol dialects, or support | | | | advanced SIP services. |
| different capabilities. This Inter-working function is very | | | | Applications written on top of a B2BUA framework |
| important in enabling connectivity between clients with | | | | should be developed by combining customizable |
| different capabilities and/or protocol dialects. Or even | | | | modular application building blocks. This is effectively |
| between clients and networks - where the B2BUA | | | | large chunks of functionality that can be strung |
| server actually acts as an access device. | | | | together to form ad-hoc applications, enabling |
| Examples of what IWF can do include: | | | | developers to focus on the high-level business logic |
| - Connecting SIP clients to IMS networks by adding | | | | and use building blocks that hide low-level details. |
| and removing IMS SIP protocol extensions (AKA | | | | As one of the most popular IM applications, Yahoo! |
| P-Headers) that are essential for connecting to the | | | | Messenger was the first large consumer player that |
| IMS network | | | | adopted B2B UA. Yahoo! Messenger combined its |
| - Connecting clients with different Session Timers | | | | backend scalable platform with a B2B UA to serve |
| settings | | | | millions of monthly unique messaging users around the |
| - Connecting clients with different media capabilities | | | | world. Yahoo selected this B2BUA due to its robust |
| and with distinct Session Description Protocol (SDP) | | | | performance and scalability features. |
| messages by relaying between the two types of | | | | The architecture should offer automatic High |
| control sessions | | | | Availability (HA) and Redundancy support. The B2BUA |
| - Connecting to different types of networks (e.g. IPv4, | | | | framework automatically replicates the run-time state |
| IPv6) and support for different transport types, such | | | | of the different Services and B2BUA framework core. |
| as TCP/UDP/SCTP/TLS | | | | In the event of a server outage, a redundant server |
| Multi-point Call Management | | | | takes over seamlessly and provides uninterrupted |
| B2BUA servers an also implement multi-point call | | | | service continuity. |
| scenarios where multiple CPE devices connect to the | | | | B2BUA framework benefits in a nutshell |
| B2BUA, and the B2BUA provides services to all CPE. | | | | - Significantly reduces time to market developing |
| Due to these unique capabilities, B2BUA servers are | | | | proprietary B2B applications and services. |
| widely used in the communications industry. A few | | | | - Allows adding advanced services easily to retain |
| examples are listed below: | | | | competitive advantage and evolve to meet growing |
| - Online-billing/prepaid functions | | | | customer demands. |
| - Servers supporting Resource Prioritization (RP) and | | | | - Focuses on the business logic and hides low level |
| or Quality of Service (QoS) features | | | | operator communication intricacies. |
| - Multi Point Conferencing servers | | | | - Delivers off-the-shelf conformance and |
| - IVR servers | | | | interoperability. |
| - PBX Applications and Softswitches | | | | - Enables rapid development of applications that can |
| - Application Layer Gateways (ALG) | | | | interoperate with different vendors. |
| - FW/NAT Traversal applications | | | | - Enables adding high-availability features easily. |