Proxy and Back-to-Back User proxy (b2bua)

Source: Internet
Author: User

1. What is the proxy mode?

According to the definition in rfc3261, the proxy server is an intermediate entity, which serves as a client and a server to provide request forwarding services for other clients. A proxy server first provides the routing service, that is, to ensure that the request is sent more "close" to the target user. The proxy server is also useful when enforcing certain mandatory policies (for example, checking whether a user is allowed to create a call ). If necessary, a proxy server will rewrite the request message before forwarding the message.

 

2. What is b2bua?

As defined in rfc3261, a back-to-back user proxy (b2bua) is a logical entity that receives and processes Requests just like a user Proxy Server (UAs. To determine how to respond to a request, b2bua works like UAC and sends a request.But unlike the proxy, it maintains the dialog state and participates in every request in the established dialog. Because it is a direct connection between UAC and UAS, there is no need to define it.

 

3. What is the difference between the proxy mode and the b2bua mode? What are their advantages and disadvantages?

The most common Proxy Server only connects two UA instances. The b2bua Server is an intelligent entity and more powerful. It has some functions that proxy cannot do. It is more flexible and gradually replaces the general proxy server and becomes the mainstream of the SIP server.

 

According to the description of the sip-router.org,The biggest difference between the proxy mode and b2bua is that the former is transaction-stateful, while the latter is call stateful ).That is to say, the proxy server maintains the status only during the SIP transaction interaction (the beginning and end of the session), rather than maintaining the status throughout the call. B2bua works when two or more UA instances are interconnected by some means. b2bua maintains some States (usually some structures in the memory) throughout the call ). Different from the SIP proxy server, b2bua can receive and modify the call. In other forms, b2bua initiates a call to the terminal target, it can also act as a media negotiation representative or monitor and manage both parties. B2bua can process the calls from the private network to complete NAT traversal. To adapt to all types of NAT environments, b2bua also needs to act as a media stream intermediary. This gives b2bua some features that the proxy does not have. For example, b2bua can end an existing call, but the proxy cannot. The operator often uses b2bua to avoid leaking its network topology. In b2bua, we can provide value-added or multi-point call control capabilities for point-to-point calls. Other sip servers, such as proxies, cannot provide such complex value-added services. All of this is backed by a broad definition of b2bua, which gives it unlimited Scalability (of course, this is also controversial ). We can see the following structure:

 

Here are a few unique businesses supported by b2bua:

A. Third-party call control machine (3pcc)

This service is characterized by an entity (often a controller) that establishes connections between two or more peer terminals and is often used for carrier business and teleconference. Typical applications include online billing, QoS, resource priority allocation, call transfer, click dialing, and notification delivery in the middle of a call. For example, because the proxy server maintains a passive non-call status and cannot initiate such a service, this becomes the patent of b2bua. B2bua can automatically trigger the 3pcc action. For example, in an online billing system, a call is suspended based on the balance. Of course, this can also be done through a remote administrative control (OSS) system, for example, inviting multiple parties to join a multi-point meeting session.

B. Interoperability of network interconnection functions (IWF )

IWF (inter-working functions) is a criticism of the strong scalability of SIP. It has a broad definition of a powerful SIP server, to interconnect sip clients that implement different protocols or support different capabilities. When it is used on the client and network, it is actually an access device.

For example:

  • Add or delete the SIP Protocol extensions (aka P-headers) that are important for connecting to the ISM network in IMS to connect the SIP terminal to the IMS network.
  • Connect two clients with different session timer settings.
  • Connect two terminals with different media capabilities and different SDP messages by reporting in two different control sessions.
  • To support different network types (V4, V6), and different transmission types, TCP/UDP/sctp/TLS

C. Multi-Point call management

In this scenario, multiple CPE (CPE is the abbreviation of "mermerpremiseequipment", literally referred to as "User front-end device") are connected to b2bua, and b2bua provides services for all CPE.

D. integrate into the IMS network

In the 3GPP IMS standard, a large number of logical entities of IMS are defined as b2bua models. The reason for this is that value-added services are often called in a stateful manner, this requirement is far beyond the scope of basic call proxy. Applications on the b2bua application server can fully complete the roles of sip ua, SIP registration server, and SIP proxy server.

Here are some b2bua application examples:

  • Online billing and prepayment
  • Servers that support resource priority and QoS
  • Multi-Point Conference Server
  • IVR Server
  • PBX applications and Softswitch
  • Application Layer Gateway
  • Firewall/NAT traversal Application
  • Private Server
  • Third-party Call Control Application
  • Runtime Engine of Business Generation Environment
  • Session boundary Controller
  • S-CSCF/P-CSCF/I-CSCF in IMS
  • SIP Gateway
  • Security Gateway
  • Voice call continuity business

On the other hand, b2bua faces many challenges, such as product marketing cycle, consistency and interoperability, providing customization for private businesses, and supporting high availability and redundancy. Especially in terms of scalability, it is easy to become a bottleneck. A robust b2bua framework should have a modular programming structure to cope with increasing flexibility and abstraction requirements. For both communication parties, the call control signaling and media stream increase by a hop during transmission. As the number of users increases, b2bua will become a system bottleneck.

Let's take an example of how b2bua implements the PBX,B2bua serves as two UA (User Proxy Server) functions, one analog receiver and one analog transmitter. The control logic is installed between them. Under this control logic, b2bua can control the SIP data stream and convert it to the PSTN signaling mode or the dedicated control protocol of the manufacturer. This is the PBX method adopted by most vendors. in addition, some sip vendors adopt the pure sip proxy method, which is different from the common proxy server. Using the SIP proxy service, the sip signaling stream is directly transmitted between two UA instances. There is no doubt that the complete SIP network lacks the b2bua function because it needs to be connected to the PSTN. However, it is much more difficult to implement the b2bua function at the core of the VoIP gateway. In fact, the cost of providing the b2bua function by the PBX vendor is much higher than that of the SIP proxy, in part because of the difficulty in implementing the architecture. Because the SIP agent does not directly process the signaling stream during the call establishment phase, it maintains less information about the session state than the b2bua method. In addition, the SIP agent supports less hardware than b2bua, and supports more UA on the same platform. Moreover, the core functions required by enterprise telephone operations are based on PBX, rather than b2bua, which further increases costs.

In addition, the SIP proxy method is superior in terms of security and reliability. B2bua will overwrite the core of the data packet, causing potential vulnerabilities and attacks. The SIP agent only exposes the title of the SIP during the processing process. B2bua is more likely to fail than the SIP proxy, which affects all calls. The SIP proxy failure only affects new calls, the current call or the call that has reached the target and captured by the device is not affected.

Finally, the SIP proxy server is more adaptable than b2bua. Because b2bua interrupts media sessions, the UA function is difficult to use if b2bua does not support it. This means that if the UA function is different from the b2bua function, the phone number of one vendor may not work together with another vendor. The use of the SIP proxy server is different, and the UA protocol session function is directly implemented.

 

References:

1. http://colocation.tmcnet.com/topics/sip-and-open-standards/articles/18257-back-back-user-agents-telecommunications.htm

2. http://blog.sina.com.cn/s/blog_414e587f01000b9g.html

From http://blog.csdn.net/livingpark/article/details/7088659

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.