Patent Description:
The present disclosure relates to the technical field of communications, and in particular, to a session border controller (SBC) system.

As a telephone system based on an IP network, an Internet Protocol Private Branch Exchange (IP-PBX) generally uses the Session initialization Protocol (SIP). In a common practice, an SBC is introduced into an IP-PBX system to provide compatibility, security, and media penetration, and other capabilities. An IP-PBX terminal is often disconnected from a network, which is normal (especially when an APP of a mobile terminal performs network switching). However, if the IP-PBX terminal is disconnected during a call, user experience is greatly affected. Therefore, after the terminal is disconnected from the network, it is very important to restore a connection to the network, as well as signaling and media during the call.

In an existing reconnection technology upon network disconnection, reconnection of the IP-PBX terminal after the IP-PBX terminal is disconnected from the network is limited by a SIP standard, and is often not easy to implement or is implemented with a poor effect. In some cases, the call is maintained, in other words, the media is still connected, but the signaling is not connected, which affects a PBX service during some calls. In other cases, an INVITE request with Replaces is initiated after the terminal is successfully reconnected and registered, which is equivalent to restarting a new call. If a certain state of the call before the reconnection, such as a recording state, is considered, it cannot be guaranteed that the recording state before the reconnection can still be maintained after the reconnection. Additionally, some unexpected results are caused when IP-PBX terminals on both sides each trigger the INVITE request with Replaces at the same time.

<CIT> discloses reconnection after disconnection of a user terminal to a service via an SBC system.

Therefore, at present, there is an urgent need for an SBC system capable of ensuring that the signaling and the media can be restored after the terminal is reconnected upon the disconnection from the network.

The present disclosure provides an SBC system to resolve a prior-art technical problem that signaling and media cannot be restored after a terminal is reconnected upon disconnection from a network.

To resolve the above technical problem, an embodiment of the present disclosure provides an SBC system, including an SBC signaling and media processing module, and at least one SBC signaling access module, where.

It can be understood that compared with the prior art, the embodiments of the present disclosure can divide the SBC system into the SBC signaling access module and the SBC signaling and media processing module, to enable the terminal to perform re-registration with and reconnection to the SBC signaling access module when the terminal is reconnected upon the disconnection from the network, and enable, based on the information request sent by the terminal, the SBC signaling and media processing module to learn the transmission link to the terminal. This ensures that after the disconnection from the network, the signaling and media streams can be restored to the SBC signaling and media processing module of the call before the disconnection from the network, which avoids that signaling and media cannot be restored due to a new call caused by reconnection upon network disconnection in the prior art. The present disclosure improves user experience during a call.

As a preferred solution, when there are a plurality of SBC signaling access modules, a process of re-registering and reconnecting the terminal when the terminal is disconnected from the network during the call is specifically as follows:
when the terminal is disconnected from the network during the call, sequentially re-registering and reconnecting, by each of the plurality of SBC signaling access modules, the terminal based on a registration request sent by the terminal, until the terminal is successfully registered and connected to one of the plurality of SBC signaling access modules.

It can be understood that the plurality of SBC signaling access modules can still ensure that the signaling of the terminal can be connected and transmitted to an SBC after the reconnection upon the disconnection from the network, improving a fault tolerance rate of a connection failure. In addition, the terminal switches the SBC signaling access module after being reconnected upon the disconnection from the network, which can ensure that the terminal can also switch to another IP-PBX system server, thereby achieving high scalability.

As a preferred solution, the information request of the terminal during the call includes a source IP address and a port of the terminal.

It can be understood that the source IP address and the port of the terminal in the information request sent by the terminal can enable the SBC signaling and media processing module in the SBC system to generate a transmission link from the terminal to the SBC signaling and media processing module via the SBC signaling access module. In this way, the SBC signaling and media processing module can reversely transmit signaling back to the terminal based on the transmission link.

As a preferred solution, a process of receiving the information request from the terminal during the call and forwarding the information request to the SBC signaling and media processing module is specifically as follows:
receiving the information request of the terminal during the call, adding an identifier (ID) of the SBC signaling access module to a custom header field of the information request, and forwarding the information request containing the added ID to the SBC signaling and media processing module.

It can be understood that the ID of the SBC signaling access module is added to the custom header field of the information request sent by the terminal during the call. In this way, when sending a request to the terminal, the SBC signaling and media processing module can send, based on the ID of the SBC signaling access module, the request to a corresponding SBC signaling access module connected to the terminal, such that the request and other information can be sent to the terminal.

As a preferred solution, a process of learning, based on the information request, the transmission link for communication with the terminal after the terminal is reconnected upon the disconnection from the network is specifically as follows:
generating, based on the source IP address and the port of the terminal in the received information request, a transmission link between the terminal and the SBC signaling access module after the terminal is reconnected upon the disconnection from the network; generating a transmission link between the SBC signaling access module and the SBC signaling and media processing module based on the ID of the SBC signaling access module in the received information request to obtain a signaling address of the terminal; and generating, based on the signaling address of the terminal, a transmission link for signaling interworking among the terminal, the SBC signaling access module, and the SBC signaling and media processing module after the terminal is reconnected upon the disconnection from the network.

It can be understood that based on the source IP address and the port of the terminal in the information request and the ID of the SBC signaling access module, the SBC signaling and media processing module can obtain the signaling address of the signaling sent by the terminal, to further generate the transmission link from the terminal to the SBC signaling and media processing module via the SBC signaling access module. This can achieve signaling interworking between the SBC system and the terminal.

As a preferred solution, after the transmission link for signaling interworking among the terminal, the SBC signaling access module, and the SBC signaling and media processing module after the terminal is reconnected upon the disconnection from the network is generated, following steps are further included:
obtaining a media stream address of the terminal based on a symmetric Real-time Transport Protocol (RTP) mechanism of the SBC signaling and media processing module and the transmission link for signaling interworking; and learning and generating a transmission link for media stream interworking among the terminal, the SBC signaling access module, and the SBC signaling and media processing module based on the media stream address of the terminal.

It can be understood that the symmetric RTP mechanism can ensure that the media stream address of the terminal can be obtained when the terminal sends the media stream to the SBC signaling and media processing module after being reconnected, so as to generate the transmission link from the terminal to the SBC signaling and media processing module via the SBC signaling access module. This can achieve media stream interworking between the SBC system and the terminal.

As a preferred solution, the signaling further includes a re-negotiation request.

It can be understood that the signaling is a control signal used between modules, and any request sent by the terminal is signaling. Different signaling, for example, an update request and a re-invitation request included in the re-negotiation request, can trigger the SBC system to perform different operations, thereby ensuring smooth and accurate communication between the terminal and the SBC.

As a preferred solution, when the update request or the re-invitation request of the terminal is received and forwarded to the SBC signaling and media processing module, the SBC signaling and media processing module is configured to learn and generate a transmission link for signaling and media stream interworking with the terminal, where Session Description Protocol (SDP) text information of the update request or the re-invitation request includes the media stream address of the terminal.

It can be understood that when the signaling sent by the terminal to the SBC signaling and media processing module is the update request or the re-invitation request, the SBC signaling and media processing module does not need to rely on the symmetric RTP mechanism, but can directly carry the media stream address of the terminal in the SDP text information of the update request or the re-invitation request, such that the SBC signaling and media processing module directly generates the transmission link for signaling and media stream interworking with the terminal. This improves efficiency of the SBC signaling and media processing module in learning and generating the transmission link, and also ensures stable and accurate communication between the terminal and the SBC system.

As a preferred solution, the SBC signaling access module supports stateless access.

It can be understood that the SBC signaling access module supporting the stateless access can ensure that the SBC signaling access module only forwards the received signaling or other messages and does not store any communication and signaling media processing information. In this way, when the terminal can perform re-registration and is efficiently connected to any SBC signaling access module after being disconnected from the network, the SBC signaling access module can still accurately and efficiently serve as a proxy of the terminal to send the signaling and media streams during the call to the SBC signaling and media processing module of the call before the terminal is disconnected from the network.

The technical solutions of the embodiments of the present disclosure are clearly and completely described below with reference to the drawings in the embodiments of the present disclosure. Apparently, the described embodiments are merely a part rather than all of the embodiments of the present disclosure. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present disclosure without creative efforts should fall within the protection scope of the present disclosure.

An IP-PBX is an IP-based telephone system that can fully integrate voice communication into a dedicated data network, to establish a unified voice and data network by connecting geographically distributed terminals.

As an IP telephony protocol proposed by the Internet Engineering Task Force (IETF), the SIP is a text-based application layer control protocol for creating, modifying, and releasing a session with one or more participants. As an IP voice session control protocol originating from the Internet, the SIP is flexible, easy to implement, and easy to expand.

An SBC is a device or software deployed at a network boundary to control a SIP session. In the present disclosure, the SBC serves as an access layer for a terminal in an IP-PBX system to provide compatibility, media penetration, security, and other capabilities.

Referring to <FIG>, an SBC system according to an embodiment of the present disclosure includes: an SBC signaling and media processing module <NUM>, and at least one SBC signaling access module <NUM>.

The SBC signaling access module <NUM> is configured to: receive signaling sent by a terminal <NUM> and forward the signaling to the SBC signaling and media processing module; and when the terminal <NUM> is disconnected from a network during a call, re-register and reconnect the terminal <NUM>, and after the terminal <NUM> is reconnected, receive an information request from the terminal <NUM> during the call and forward the information request to the SBC signaling and media processing module <NUM>. The signaling includes the information request.

The SBC signaling and media processing module <NUM> is configured to: process the signaling and media streams from the terminal <NUM>, and when the terminal <NUM> is disconnected from the network during the call, learn, based on the information request, a transmission link for communication with the terminal <NUM> after the terminal <NUM> is reconnected upon the disconnection from the network, such that the signaling and media streams of the terminal <NUM> after the terminal <NUM> is reconnected upon the disconnection from the network are transmitted through the transmission link.

As a preferred solution of this embodiment, the SBC signaling access module <NUM> supports stateless access.

It can be understood that the SBC signaling access module <NUM> supporting the stateless access can ensure that the SBC signaling access module <NUM> only forwards the received signaling or other messages and does not store any communication and signaling media processing information. In this way, when the terminal can perform re-registration and is efficiently connected to any SBC signaling access module after being disconnected from the network, the SBC signaling access module <NUM> can still accurately and efficiently serve as a proxy of the terminal <NUM> to send the signaling and media streams during the call to the SBC signaling and media processing module <NUM> of the call before the terminal <NUM> is disconnected from the network.

It should be noted that SIP signaling of the terminal <NUM> is directly connected to the SBC signaling access module <NUM>. The SBC signaling access module <NUM> implements a stateless SIP proxy function to forward SIP messages of the terminal and the SBC signaling and media processing module <NUM>. Media of the terminal <NUM> is connected to the SBC signaling and media processing module <NUM>. Statuses of the SIP session, the media, and other information are maintained by the SBC signaling and media processing module <NUM>.

As a preferred solution of this embodiment, referring to <FIG>, when there are a plurality of SBC signaling access modules <NUM>, a process of re-registering and reconnecting the terminal <NUM> when the terminal <NUM> is disconnected from the network during the call is specifically as follows:
when the terminal <NUM> is disconnected from the network during the call, sequentially re-registering and reconnecting, by each of the plurality of SBC signaling access modules <NUM>, the terminal <NUM> based on a registration request sent by the terminal <NUM>, until the terminal <NUM> is successfully registered and connected to one of the plurality of SBC signaling access modules <NUM>.

It can be understood that the plurality of SBC signaling access modules <NUM> can still ensure that the signaling of the terminal <NUM> can be connected and transmitted to an SBC after the reconnection upon the disconnection from the network, improving a fault tolerance rate of a connection failure. In addition, the terminal <NUM> switches the SBC signaling access module <NUM> after being reconnected upon the disconnection from the network, which can ensure that the terminal <NUM> can also switch to another IP-PBX system server <NUM>, thereby achieving high scalability.

In this embodiment, it should be noted that in the SBC system, one SBC signaling access module <NUM> can implement functions of re-registering and reconnecting the terminal <NUM>, receiving the signaling and media streams sent by the terminal <NUM>, and sending the signaling and media streams to the SBC signaling and media processing module. However, the plurality of SBC signaling access modules <NUM> can ensure that the terminal <NUM> can continuously attempt to perform registration and reconnection after being disconnected from the network, thereby improving a fault tolerance rate of a reconnection failure of the terminal <NUM>.

As a preferred solution of this embodiment, the information request of the terminal <NUM> during the call includes a source IP address and a port of the terminal.

As a preferred solution of this embodiment, a process of receiving the information request from the terminal <NUM> during the call and forwarding the information request to the SBC signaling and media processing module <NUM> is specifically as follows:
receiving the information request from the terminal <NUM> during the call, adding an ID of the SBC signaling access module <NUM> to a custom header field of the information request, and forwarding the information request containing the added ID to the SBC signaling and media processing module <NUM>.

It can be understood that the source IP address and the port of the terminal in the information request sent by the terminal <NUM> can enable the SBC signaling and media processing module <NUM> in the SBC system to generate a transmission link from the terminal <NUM> to the SBC signaling and media processing module <NUM> via the SBC signaling access module <NUM>. In this way, the SBC signaling and media processing module <NUM> can reversely transmit signaling back to the terminal <NUM> based on the transmission link.

Further, the ID of the SBC signaling access module <NUM> is added to the custom header field of the information request sent by the terminal <NUM> during the call. In this way, when sending a request to the terminal <NUM>, the SBC signaling and media processing module <NUM> can send, based on the ID of the SBC signaling access module <NUM>, the request to a corresponding SBC signaling access module <NUM> connected to the terminal <NUM>, such that the request and other information can be sent to the terminal <NUM>.

As a preferred solution, a process of learning, based on the information request, the transmission link for communication with the terminal <NUM> after the terminal <NUM> is reconnected upon the disconnection from the network is specifically as follows:
generating, based on the source IP address and the port of the terminal in the received information request, a transmission link between the terminal <NUM> and the SBC signaling access module <NUM> after the terminal <NUM> is reconnected upon the disconnection from the network; generating a transmission link between the SBC signaling access module <NUM> and the SBC signaling and media processing module <NUM> based on the ID of the SBC signaling access module <NUM> in the received information request to obtain a signaling address of the terminal <NUM>; and generating, based on the signaling address of the terminal <NUM>, a transmission link for signaling interworking among the terminal <NUM>, the SBC signaling access module <NUM>, and the SBC signaling and media processing module <NUM> after the terminal <NUM> is reconnected upon the disconnection from the network.

It can be understood that based on the source IP address and the port of the terminal in the information request and the ID of the SBC signaling access module <NUM>, the SBC signaling and media processing module <NUM> can obtain the signaling address of the signaling sent by the terminal <NUM>, to further generate the transmission link from the terminal <NUM> to the SBC signaling and media processing module <NUM> via the SBC signaling access module <NUM>. This can achieve signaling interworking between the SBC system and the terminal <NUM>.

As a preferred solution, after the transmission link for signaling interworking among the terminal <NUM>, the SBC signaling access module <NUM>, and the SBC signaling and media processing module <NUM> after the terminal <NUM> is reconnected upon the disconnection from the network is generated, following steps are further included:
obtaining a media stream address of the terminal <NUM> based on a symmetric RTP mechanism of the SBC signaling and media processing module <NUM> and the transmission link for signaling interworking; and learning and generating a transmission link for media stream interworking among the terminal <NUM>, the SBC signaling access module <NUM>, and the SBC signaling and media processing module <NUM> based on the media stream address of the terminal.

It can be understood that the symmetric RTP mechanism can ensure that the media stream address of the terminal <NUM> can be obtained when the terminal <NUM> sends the media stream to the SBC signaling and media processing module <NUM> after being reconnected, so as to learn and generate the transmission link from the terminal <NUM> to the SBC signaling and media processing module <NUM> via the SBC signaling access module <NUM>. This can achieve signaling interworking between the SBC system and the terminal <NUM>. The symmetric RTP is a universal mechanism and a standard behavior. After receiving an RTP media stream, the terminal <NUM> records a source IP address and a port. Next time, the terminal <NUM> sends an RTP media stream to the recorded source IP address and port of the received RTP media stream according to a same path. The same applies to the SBC signaling and media processing module <NUM>.

Further, the symmetric RTP mechanism is designed to achieve network penetration. For example, the terminal <NUM> is on an internal network, and an IP-PBX system server on which the SBC signaling and media processing module <NUM> is located is on an external network. The terminal <NUM> can directly communicate with the server, but the server cannot directly communicate with the terminal <NUM>. Therefore, the symmetric RTP mechanism can only be used to communicate with the terminal <NUM> according to the same path.

As a preferred solution of this embodiment, the signaling further includes a re-negotiation request.

Specifically, the re-negotiation request includes but is not limited to an update request and a re-invitation request.

It can be understood that the signaling is a control signal used between modules, and any request sent by the terminal <NUM> is signaling. Different signaling, for example, the update request UPDATE and the re-invitation request reINVITE included in the re-negotiation request, can trigger the SBC system to perform different operations, thereby ensuring smooth and accurate communication between the terminal <NUM> and the SBC.

As a preferred solution of this embodiment, when the re-negotiation request of the terminal <NUM> is received and forwarded to the SBC signaling and media processing module <NUM>, the SBC signaling and media processing module <NUM> learns and generates a transmission link for signaling and media stream interworking with the terminal. SDP text information of the re-negotiation request includes the media stream address of the terminal <NUM>.

It should be noted that after the terminal <NUM> is reconnected upon the disconnection from the network, in addition to initiating the simple information request, the terminal <NUM> can also initiate the re-negotiation request including the update request UPDATE or the re-invitation request reINVITE, in other words, directly carries a latest signaling address and media address of the terminal <NUM> in an SDP text and transmits the SDP text to the SBC, without relying on the symmetric RTP mechanism. The SDP provides multimedia session descriptions for session notification, session invitation, and other forms of multimedia session initialization. The SDP text information includes but is not limited to a session name and intention, session duration, media constituting the session, and information about receiving the media (such as the media stream address).

It can be understood that when the signaling sent by the terminal <NUM> to the SBC signaling and media processing module <NUM> is the re-negotiation request, the SBC signaling and media processing module <NUM> does not need to rely on the symmetric RTP mechanism, but can directly carry the media stream address of the terminal <NUM> in the SDP text information of the re-negotiation request, such that the SBC signaling and media processing module <NUM> directly generates the transmission link for signaling and media stream interworking. This improves efficiency of the SBC signaling and media processing module <NUM> in learning and generating the transmission link, and also ensures stable and accurate communication between the terminal <NUM> and the SBC system.

<FIG> is a sequence chart of a process in which the terminal is disconnected from the network and reconnected in this embodiment. Before being disconnected from the network and reconnected, the terminal normally communicates with the IP-PBX system server through a first SBC signaling access module <NUM> and the SBC signaling and media processing module <NUM>.

When the terminal is disconnected from the network and reconnected, if the first SBC signaling access module is unable to register and connect the terminal, the terminal may switch to and re-register with a second SBC signaling access module. Specifically, the terminal sends a REGISTER request to the second SBC signaling access module for registration.

After being reconnected upon the disconnection from the network, the terminal initiates an INFO request (information request) during a call to the newly accessed second SBC signaling access module. As the SBC signaling access module is a stateless proxy, the SBC signaling access module can still send the signaling of the terminal during the call to the original signaling and media processing module. The original signaling and media processing module is the SBC signaling and media processing module with which the terminal communicates normally before being disconnected from the network and reconnected. That is, a state of the terminal before the terminal is disconnected from the network is saved in the SBC signaling and media processing module. In this way, after the terminal is reconnected upon the disconnection from the network, a call state and the signaling and media streams can be restored.

After the INFO request is forwarded to the original SBC signaling and media processing module, the SBC signaling and media processing module can perform reverse learning and know how a request in a subsequent call is finally sent back to the terminal through a latest second SBC signaling access module. Based on one INFO request, signaling sent to the SBC signaling and media processing module and signaling sent to the terminal can be interworked again. However, due to the symmetric RTP mechanism of the SBC signaling and media processing module, after the terminal is reconnected, the media stream is sent to the SBC signaling and media processing module. The SBC signaling and media processing module can also learn the latest media stream address of the terminal, and the media stream can also be interworked.

A key point of this embodiment of the present disclosure is to implement the SBC system based on the SIP standard to provide terminal access. The SBC system separates the SBC signaling access module and the SBC signaling and media processing module. When being reconnected upon the disconnection from the network, the terminal can only switch to a different SBC signaling access module at most. Then, the terminal sends the information request to the SBC signaling and media processing module to learn and generate a latest transmission link to the terminal. In addition, the symmetric RTP mechanism of the SBC signaling and media processing module makes it possible to achieve signal and media interworking between the terminal and the SBC system, thereby restoring the signaling and the media.

This embodiment of the present disclosure has following effects:.

Compared with the prior art, this embodiment of the present disclosure can divide the SBC system into the SBC signaling access module and the SBC signaling and media processing module, to enable the terminal to perform re-registration with and reconnection to the SBC signaling access module when the terminal is reconnected upon the disconnection from the network, and enable, based on the information request sent by the terminal, the SBC signaling and media processing module to learn the transmission link to the terminal. This ensures that after the disconnection from the network, the signaling and media streams can be restored to the SBC signaling and media processing module of the call before the disconnection from the network, which avoids that signaling and media cannot be restored due to a new call caused by reconnection upon network disconnection in the prior art. The present disclosure improves user experience during a call.

Claim 1:
A session border controller, SBC, system, comprising an SBC signaling and media processing module (<NUM>), and at least one SBC signaling access module (<NUM>), wherein
the SBC signaling access module (<NUM>) is configured to: receive signaling sent by a terminal (<NUM>) and forward the signaling to the SBC signaling and media processing module (<NUM>); and when the terminal (<NUM>) is disconnected from a network during a call, re-register and reconnect the terminal (<NUM>), and after the terminal (<NUM>) is reconnected, receive an information request from the terminal (<NUM>) during the call and forward the information request to the SBC signaling and media processing module (<NUM>), wherein the signaling comprises the information request; and
the SBC signaling and media processing module (<NUM>) is configured to: process the signaling and media streams from the terminal (<NUM>), and when the terminal (<NUM>) is disconnected from the network during the call, learn, based on the information request, a transmission link for communication with the terminal (<NUM>) after the terminal (<NUM>) is reconnected upon the disconnection from the network, such that the signaling and media streams of the terminal (<NUM>) after the terminal (<NUM>) is reconnected upon the disconnection from the network are transmitted through the transmission link.