This invention relates to IP Multimedia Subsystem (IMS) support for Private Branch Exchanges (PBX). More particularly, the invention relates to methods and apparatus that enable an IMS to support multiple links between a PBX and the IMS.
IP Multimedia Subsystem (IMS) is the technology defined by the Third Generation Partnership Project (3GPP) to provide IP Multimedia services over mobile communication networks. IMS provides key features to enrich the end-user person-to-person communication experience through the integration and interaction of services. IMS allows new rich person-to-person (client-to-client) as well as person-to-content (client-to-server) communications over an IP-based network. The IMS makes use of the Session Initiation Protocol (SIP) to set up and control calls or sessions between user terminals (or user terminals and application servers). The Session Description Protocol (SDP), carried by SIP signalling, is used to describe and negotiate the media components of the session. Whilst SIP was created as a user-to-user protocol, IMS allows operators and service providers to control user access to services and to charge users accordingly. Other protocols are used for media transmission and control, such as Real-time Transport Protocol and Real-time Transport Control Protocol (RTP/RTCP).
Application Servers (ASs) are provided for implementing IMS service functionality. Application Servers provide services to end users in an IMS system, and may be connected either as end-points over the 3GPP defined Ma interface, or “linked in” by an S-CSCF over the 3GPP defined ISC interface. In the latter case, Initial Filter Criteria (IFC) are used by an S-CSCF to determine which Applications Servers should be “linked in” during a SIP Session establishment (or indeed for the purpose of any SIP method, session or non-session related). The IFCs are received by the S-CSCF from an HSS during the IMS registration procedure as part of a user's Subscriber Profile.
The IMS architecture was originally designed to enable Public Land Mobile Network (PLMN) operators to offer their subscribers multimedia services based on and built upon Internet applications, services and protocols. As such, the architecture was optimized for supporting mobile users where each user was individually configured, represented and given resources in the network independently of each other. Support for fixed networks, such as public switched telephone network (PSTN), has therefore only subsequently been added to the IMS specification in an ad-hoc manner. In particular, IMS support for Private Branch Exchanges (PBX), which interconnect the internal telephones of a private organization and connects them to the PSTN via trunk lines, has only recently been given proper consideration by the ETSI TISPAN and the SIP FORUM organisations.
ETSI TISPAN have specified the architectural, functional and protocol requirements for communication between private networks, referred to as Next Generation Corporate Networks (NGCN), and IP-based Next Generation Networks (NGN), such as the IMS. The capabilities that may be required by an NGN in order to support VoIP communications for end users of an NGCN are referred to as “Business Trunking”. The SIP Forum has specified the SIPconnect 1.1 Technical Recommendation that builds on existing standards to define a method for interconnection between IP-PBXs (i.e. that support VoIP calls) and VoIP service provider networks using SIP signalling. SIPconnect 1.1 specifies the reference architecture, required protocols and features, and implementation rules necessary for communication between IP-PBXs and VoIP service providers. These capabilities are referred to as “SIP trunking”.
Whilst there are technical differences between Business Trunking and SIPconnect 1.1 they do share some high level principles, including:
However, neither SIPconnect 1.1 nor Business Trunking consider the possibility that a PBX may require multiple links/connections to a VoIP service provider network, and therefore neither SIPconnect 1.1 nor Business Trunking provide mechanisms that enable a VoIP service provider network to support a PBX having multiple links/connections to the network. In particular, when implementing either SIPconnect 1.1 or Business Trunking, if a PBX has multiple links/connections to a VoIP service provider network, then the network has no means to determine which of the multiple links/connections to use for an incoming call intended for an end user of the PBX.
It is an aim of the present invention to provide a methods and apparatus for supporting a Private Branch Exchange (PBX) that requires multiple connections/links to a VoIP service provider network provided by an IP Multimedia Subsystem (IMS).
According to a first aspect of the present invention there is provided a method of providing support for multiple links between a Private Branch Exchange (PBX) and an IP Multimedia Subsystem (IMS). An IMS Application Server, AS, is configured with capacity information relating to each of the multiple links. The AS receives SIP call control messages relating to calls involving the PBX and thereby maintaining usage information for each of the multiple links, the usage information indicating which of the multiple links is being used for each ongoing call involving the PBX. The AS uses the capacity information and the usage information relating to each of the multiple links to select one of the multiple links to carry an incoming call terminating at the PBX; and modifies SIP call control messages relating to the incoming call to ensure that the incoming call is carried by the selected link.
Optionally, each of the multiple links connects the PBX directly to the IMS, with each of the multiple links being provided by a separate IP interface of the PBX. Alternatively, each of the multiple links connects the PBX to the IMS via one or more Integrated Access Devices (IAD) each of the multiple links being provided by a separate IAD.
The method optionally comprises, for each of the multiple links, learning a contact address associated with the link, and for each outgoing call originating at the PBX, obtaining a contact address from a SIP call control message relating to the outgoing call, using the obtained contact address to identify a link of the multiple links that the SIP call control message relates to, and updating the usage information of the identified link in accordance with the SIP call control message.
The step of using the obtained contact address to identify a link of the multiple links that the SIP call control messages relate to optionally comprises comparing the contact address obtained from the SIP call control messages relating to the outgoing call with the stored contact address of each of the multiple links.
The step of updating the usage information in accordance with the SIP call control message optionally comprises:
The step of learning a contact address associated with the link optionally comprises receiving a SIP REGISTER message associated with the link and acquiring a contact address associated with the link from the SIP REGISTER message, and storing the learned contact address of the link.
The method optionally comprises configuring the AS to store, for each of the multiple links, an IMS Public User Identity (IMPU) associated with the link, identifying a link of the multiple links that the received SIP REGISTER message relates to by comparing an IMPU received in the SIP REGISTER message with the stored IMPUs, and storing the learned contact address in association with the stored IMPU.
Optionally, the contact address relating to the outgoing call is obtained from a Via header field of the SIP call control message, and the learned contact address may be acquired from the Via header field of the SIP REGISTER message.
The method optionally comprises, for each of the multiple links, learning a Universally Unique Identifier (UUID) associated with the link, and for each incoming call terminating at the PBX, determining the UUID associated with the link that has been selected for the incoming call, inserting the UUID into a SIP call control message relating to the incoming call and thereby ensuring that the incoming call will be carried by the selected link, and updating the usage information accordingly.
The step of learning a UUID associated with the link optionally comprises receiving a SIP REGISTER message associated with the link, and acquiring a UUID associated with the link from the SIP REGISTER message, and storing the learned UUID of the link. The learned UUID is optionally acquired from a sip.instance media feature tag included in a Contact header field of the SIP REGISTER message. An Accept-Contact header field is optionally inserted into a SIP INVITE message initiating the incoming call, and a value of the Accept-Contact header field is set to the UUID of the selected link.
According to a second aspect of the present invention there is provided an IMS AS configured to provide support for multiple links between a PBX and the IMS. The AS comprises a memory, a receiver, a processor, and a transmitter. The memory is configured to store capacity information and usage information relating to each of the multiple links, the usage information indicating which of the multiple links is being used for each ongoing call involving the PBX. The receiver is configured to receive SIP call control messages relating to calls involving the PBX. The processor is configured to use the received SIP call control messages to maintain the usage information for each of the multiple links, to use the overall capacity information and the usage information to select one of the multiple links that is to be used for an incoming call terminating at the PBX, and to modify a SIP call control message relating to the incoming call to ensure that the incoming call is carried by the selected link. The transmitter is configured to send the modified SIP call control message towards the PBX.
Optionally, the receiver is configured to interface directly with multiple IP interfaces of the PBX, each of the multiple links being provided by a separate IP interface of the PBX. Alternatively, the receiver is configured to interface one or more Integrated Access Devices (IAD), each of the multiple links being provided by a separate IAD.
Optionally, the processor is further configured to learn a contact address associated with each of the multiple links; and obtain a contact address from SIP call control messages relating to each outgoing call originating at the PBX, use the obtained contact address to identify a link of the multiple links that the SIP call control message relates to, and update the usage information of the identified link in accordance with the SIP call control message.
Optionally, the processor is further configured to compare the contact address obtained from the SIP call control messages relating to the outgoing call with the stored contact address of each of the multiples links.
In order to update the usage information in accordance with the SIP call control message the processor is optionally configured to:
Optionally, the receiver is further configured to receive a SIP REGISTER message associated with the link, and the processor may be further configured to learn a contact address associated with the link from the SIP REGISTER message and to store the learned contact address of the link in the memory.
Optionally, the memory is further configured to store, for each of the multiple links, an IMS Public User Identity, IMPU, associated with the link, and the processor may be further configured to identify to which of the multiple links a received SIP REGISTER message relates by comparing an IMPU received in the SIP REGISTER message with the stored IMPUs and to store the learned contact address in association with the stored IMPU in the memory. The processor is optionally configured to obtain the contact address relating to the outgoing call from a Via header field of the SIP call control messages, and to acquire the learned contact address from the Via header field of the SIP REGISTER message.
Optionally, the processor is further configured to learn a Universally Unique Identifier, UUID, associated with each of the multiple links; and determine the UUID associated with the link that has been selected for each incoming call terminating at the PBX, insert the UUID into a SIP call control message relating to the incoming call and thereby ensure that the incoming call will be carried by the selected link, and update the usage information accordingly.
Optionally, the receiver is further configured to receive a SIP REGISTER message associated with the link, and the processor may be further configured to acquire a UUID associated with the link from the SIP REGISTER message and to store the learned UUID of the link in the memory. The processor is optionally further configured to acquire the learned UUID from a sip.instance media feature tag included in a Contact header field of the SIP REGISTER message. The processor is optionally further configured to insert an Accept-Contact header field into a SIP INVITE message initiating the incoming call, and to set a value of the Accept-Contact header field to the UUID of the selected link.
According to a third aspect of the present invention there is provided a method for enabling an IMS to support multiple links between a PBX and the IMS. The method comprises, at a node configured to enable end users of the PBX to connect to the IMS, storing a Universally Unique Identifier, UUID, for each of one or more interfaces providing a link to the IMS. The method further comprises, at the node, generating a SIP REGISTER message for registering an interface of the one or more interfaces with the IMS and including the UUID of the interface in the SIP REGISTER message; and sending the SIP REGISTER message to the IMS.
Optionally, the node is an IP PBX connecting the end users to the IMS. Alternatively, the node is an IAD connecting a circuit-switched PBX to the IMS.
The UUID of the interface is optionally included as the value of a sip.instance media feature tag within a Contact header field of the SIP REGISTER message.
According to a fourth aspect of the present invention there is provided an apparatus configured to enable end users of a PBX to connect to an IMS. The apparatus comprises one or more interfaces configured to provide a link to the IMS, a memory, a processor, and a transmitter. The memory is configured to store a Universally Unique Identifier, UUID, for each of the one or more interfaces. The processor is configured to generate a SIP REGISTER message for registering an interface of the one or more interfaces with the IMS, and to include the UUID of the interface in the SIP REGISTER message. The transmitter is for sending the SIP REGISTER message to the IMS.
Optionally, the apparatus is configured to operate as an IP PBX connecting end users to the IMS. Alternatively, the apparatus is configured to operate as an Integrated Access Devices, IAD, connecting a circuit-switched PBX to the IMS.
The processor is optionally configured to include the UUID of the interface as the value of a sip.instance media feature tag included within a Contact header field of the SIP REGISTER message.
Some embodiments of the present invention will now be described in detail with reference to the accompanying drawings, in which:
It has been recognised here that there are a number of reasons why it may be required or desired that a PBX have multiple links/connections to a VoIP service provider network. For example, an IP-PBX that supports IP/SIP for VoIP calls, and can therefore register directly with VoIP service provider network, may require multiple connections/links (e.g. multiple IP connections each having a different IP address and/or port number) to the VoIP service provider network (e.g. such that the IP-PBX has multiple interface cards for connecting to the network) in order to support redundancy.
With regards to circuit switched PBXs (e.g. that support E1/T1/BRI links), a CS PBX can connect to a VoIP service provider network by way of an Integrated Access Device (IAD) that interworks between TDM circuit switching and SIP. For example, TISPAN defines a Customer Network Gateway (CNG) that provides IAD functionality for a NGCN/PBX. In such circumstances, there are a number of reasons why more than one IAD may be required in order to connect the CS PBX to a VoIP service provider network. For example, more than one IAD will be required if an individual IAD does not have a sufficient number of interfaces to support all of the trunk interfaces (e.g. a number of E1, T1 or BRI links) of the CS PBX. In addition, more than one IAD may be desired in order to provide robustness, such that if one of the IADs fails, the CS PBX can still connect to the VoIP service provider network. Furthermore, the use of more than one IAD provides for increased link capacity. For example, if an IAD connects to the VoIP service provider network using a DSL link of limited capacity, a large PBX will require more then one DSL link in order to the carry the required volume of traffic, and this will probably mean that more than one IAD will be required (unless a single IAD can support multiple access links).
Having recognised that a PBX may require multiple links/connections to a VoIP service provider network, it has also been recognised that neither SIPconnect 1.1 nor Business Trunking consider this possibility. Accordingly, there will now be described methods and apparatus for supporting a Private Branch Exchange (PBX) that requires multiple connections/links to a VoIP service provider network. According to the methods described herein, an IP Multimedia Subsystem (IMS) that provides a VoIP service for a PBX is enhanced to include an IMS Application Server (AS) that is configured to provide Call Admission Control (CAC) and load sharing for the multiple connections/links of the PBX. This IMS AS is referred to herein as a Business Trunking Application Server (BTAS).
To implement this method, the BTAS is provisioned/pre-configured with capacity information relating to each of the multiple connections/links of the PBX, and the IMS is configured to forward SIP call control messages relating to the PBX to the BTAS. The BTAS is configured to use the received SIP call control messages to maintain a record of which of the multiple connections/links is being used for each ongoing call involving the PBX, and to use this record together with the capacity information to select one of the multiple links for use by an incoming call to the PBX. The BTAS is further configured to modify SIP call control messages relating to the incoming call to ensure that the incoming call is carried by the selected connection/link.
By way of example, if the CS PBX illustrated in
Similarly, for the IP-PBX illustrated in
The BTAS will also be provisioned with the information relating to the PBX. This PBX information includes static information such as the wildcard IMPU(s) of the PBX, the IMPU of each IAD/link and the overall capacity of each of IAD/link. The PBX will also be provided with dynamic information relating to the current status of the PBX, such as the dynamic addressing information of each IAD/link and the currently available capacity (e.g. usage information) of each of IAD/link, in accordance with the procedures described below.
By configuring the HSS with a subscriber profile associated with the IMPU of the IAD that includes iFC that cause a third party registration to the BTAS, the method provides that the BTAS can learn a unique identifier for the IAD and the contact address of the IAD at registration of the IAD with IMS. The unique identifier for the IAD and the contact address of the IAD can then be stored in the dynamic information maintained by the BTAS to enable the BTAS to perform CAC and load sharing for any subsequently established sessions.
If the IAD does not have the functionality required to include a “sip.instance” media feature tag, then a terminal adapter function, residing in either the P-CSCF or S-CSCF, shall include the “sip.instance” media feature tag on behalf of the IAD. The “sip.instance” media feature tag should preferably be based on contents of the SIP REGISTER message to avoid terminal adaptor provisioning.
Similarly,
Similarly,
Similarly,
The methods and apparatus described above enable support for multiple connections/links between a PBX and an IMS that provides a VoIP service provider network. In doing so, the methods and apparatus described above enable redundant link solutions to be implemented for both CS and IP-PBXs whilst allowing the PBX to be represented as one logical endpoint with regards to call routing (i.e. through the use of wildcarded IMPUs). The methods and apparatus described above also enable the implementation of Call Admission Control (CAC) and load sharing for the multiple connections/links of such a PBX.
Although the invention has been described in terms of preferred embodiments as set forth above, it should be understood that these embodiments are illustrative only. Those skilled in the art will be able to make modifications and alternatives in view of the disclosure which are contemplated as falling within the scope of the appended claims. Each feature disclosed or illustrated in the present specification may be incorporated in the invention, whether alone or in any appropriate combination with any other feature disclosed or illustrated herein. For example, in the illustrated example signalling flow diagrams described above, only those messages and headers that are of particular relevance are shown. Those skilled in the art will be aware those messages and headers that have not been included in this illustration. In addition, in the above described embodiments, the BTAS uses the capacity information and the usage information relating to each of the multiple links to select one of the multiple links to carry an incoming call terminating at the PBX. However, the BTAS could also make use of CAC and load sharing algorithms during this selection procedure. By of further example, in the above described embodiments, the BTAS has been described as acting as a B2BUA; however, it is also possible that the BTAS could be configured to act as a proxy
| Number | Date | Country | Kind |
|---|---|---|---|
| 12165042.8 | Jan 2012 | EP | regional |
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/EP2013/056292 | 3/25/2013 | WO | 00 |