The invention relates to a method, system, network, and entity for providing status functionality, and provides supervision of availability of entities even in case when no connections exist between network elements.
Link status functionality is provided in circuit switched networks since decades. A problem is that no similar kind of link status functionality is implemented in packet switched networks where unreliable signalling protocols like Session Initiation Protocol, SIP, are used between the nodes.
Presently new type of products such as Mobile Switching Center Servers, MSC Servers, and Media Gateways, MGWs, as well as products called “Soft switches” for fixed networks are developed. Such products are suitable e.g. for Next Generation Networks, NGNs, which may combine both mobile and fixed networks.
Such products require use of IP based transmission for both signalling and user traffic. Session Initiation Protocol, SIP, has been chosen to be part of NGN evolution in order to provide capabilities to establish connections between SIP User Agents, UAs, as well as between soft-switches, which also MSC Servers can understood. Between these soft-switches, due the different nature of requirements, usually SIP for Telephones, SIP-T, is used instead of regular SIP.
A difference between SIP-T and regular SIP is that SIP-T tunnels the ISDN User Part (ISUP) messages transparently. A purpose of SIP messages, when also ISUP messages are present, is to enable use of SIP-framework to route ISUP messages as well as transport Session Description Protocol, SDP, in order to establish Real Time Protocol, RTP, connections for actual voice, circuit switched data or facsimile traffic.
SIP-T has been originally specified by IETF, and has gained RFC status. Despite the fact that RFC status will enable certain level of safety when building interoperable solution, also ITU-T decided to specify additional recommendations in order to achieve international level recommendation which define how SIP-T signalling information is mapped to the ISUP or Bearer Independent Call Control (similar to ISUP) signalling information, also known as SIP-I (SIP ISUP mapping). SIP-T/I means SIP-T with SIP ISUP mapping, SIP-I, of the SIP-T signalling information.
Presently there is no possibility for endpoints to monitor or supervise other endpoints such as peer endpoints like peer SIP-T/I endpoints when there is no active session such as a SIP-T/I session ongoing and a transport using an unreliable protocol, such as User Datagram Protocol, UDP, type of transport, is used. This situation is due e.g. to the basic nature of SIP-T/I, which does not use any signalling link type of concept between peer endpoints when UDP is used. In regular MTP3 or M3UA/SCTP based connections, underlying MTP2 or SCTP layer will handle the supervision of signalling connection. Thus, in those cases, there it is possible to prevent use of such signalling connections (peer entities) if signalling connection is found out to be faulty.
In case of SIP-T/I, which uses UDP, no similar connection exists between end points. An entity such as MSC Server is unable to know or learn beforehand what is the status of the signalling unit and SIP application process of the peer network element without sending INVITE to the network. Further, it is not possible for an entity to supervise or detect, before sending a message such as an INVITE message to peer node, whether or not the end point actually exists. SIP is a rather unreliable protocol for use as a signalling transport and in case no answer is received to a call setup message (such as INVITE), SIP tries to retransmit the message several times before a report is sent to call control (CC) and the call can then be re-routed.
The invention provides a method, system, and a network element as defined in the claims.
The invention proposes a method, and a communication system including at least two network elements each having at least one endpoint for transmitting or receiving traffic information to or from another network element. At least one of the network elements comprises at least one storage which stores information on the traffic-information-receiving availability of the at least one endpoint of at least one other network element.
Preferably, the at least one storage is adapted to store an IP address of the at least one endpoint of at least one other network element, and the information on the traffic-information-receiving availability associated with each IP address. Preferably, each endpoint has an individual storage.
The invention provides solutions which allow endpoints to monitor or supervise other endpoints, in particular peer endpoints such as peer SIP-T endpoints, also in cases when there is no active session such as SIP-T session ongoing and an unreliable transport protocol providing no receipt acknowledgment or other type of receipt confirmation, such as an UDP type of transport protocol, is used.
The invention proposes, according to one of its aspects, to store availability information such as SIP-specific status information to DNS resolver cache storages of servers such as MSC Servers that are maintained by signalling unit's SIP process. This status information is maintained regularly by SIP process that will continuously circulate the cache, send OPTIONS message to each peer IP address and according to received replies (if any) also update the information in the DNS cache. All IP addresses in the cache are tried despite their actual status (such as unavailable/available).
The invention provides, among others, an advantageous mechanism for avoiding unsuccessful session establishments such as SIP-T session establishments towards an unavailable peer entity. Faster session set-up times as well as more resilient behaviour at network level are provided.
The invention is preferably used in mobile and fixed networks such as Next Generation Networks (NGN) environment where products such as MSC Server, MGWs and “Soft switches” are introduced.
The invention does not require any changes in SIP and can be implemented as an internal solution within an entity such as an MSC Server.
The invention optimizes and reduces call setup delays. There is no necessity e.g. of retransmitting a call setup message (INVITE) several times before an entity is reported to call control (CC) as unavailable and the call is re-routed.
According to the invention, it is possible to re-route a call attempt without sending INVITE to the peer network element. This enables faster session set-up times as well as more resilient behaviour at network level. Also it is possible to implement alarm or notification, which is provided by using Fault Management (FM) framework of MSC Server from failures that are detected this way.
In accordance with the invention, there is provided a communication method and system, including at least two network elements each having at least one endpoint for communicating with another network element. At least one of the network elements comprises at least one storage which stores information on the communication availability of the at least one endpoint of at least one other network element.
The at least one storage is preferably adapted to store an IP address of the at least one endpoint of at least one other network element, and the information on the communication availability associated with each IP address. Each endpoint preferably has an individual storage. The network elements may be Mobile Switching Center, MSC, Servers. The endpoints preferably are signalling units such as SIP-T/I endpoints.
The network elements are preferably adapted to communicate based on Session Initiation Protocol, SIP.
At least one, or some or all, of the network elements is preferably adapted to transmit a status inquiry to at least one other network element and to check receipt, from the at least one of the other network element, of status information indicating communication availability of at least one endpoint of the at least one other network element. This check allows to determine the communication availability of the at least one endpoint of the at least one other network element. The inquiring network element is preferably adapted to store the information on the determined communication availability in the storage. The transmitted status inquiry preferably is or comprises a SIP OPTIONS request.
The communication availability can be determined to be “no communication availability” if no response is received to the status inquiry.
A Domain Name Server, DNS, may be provided for translating Domain Names to IP addresses.
Preferably at least one of the network elements is adapted to perform an enquiry to this server. The DNS server is preferably adapted to return, to the requesting network element, at least one IP address of at least one endpoint of at least one other network element, the IP address being stored into the at least one storage.
The DNS server may also be adapted to return, to the requesting network element, a list of IP addresses of endpoints having communication availability, the list being stored into the at least one storage.
The storage is preferably configured to maintain the stored status information indicating the communication availability of an endpoint also when the IP address of the endpoint changes.
The DNS server may preferably be adapted to return the list of IP addresses of endpoints having communication availability, together with Time-To-Live, TTL, values, the TTL values being stored into the at least one storage.
IP addresses can be dynamic information, hence IP address of certain endpoints (such as SIP-T endpoint of other network elements) can change. However, endpoint names are static information and hence a new IP address of that endpoint can be resolved from DNS server.
According to the above features, it is possible to keep or maintain the old status information of the communication availability of an endpoint even if the IP address of that endpoint should change or has changed. The at least one storage preferably stores both, IP address and communication availability status, of each endpoint. IP address can change and a new IP address can be inquired from the external DNS server (for instance after TTL expires). New IP address replaces the old one in the storage but the storage still continues to store, for the new IP address, the communication availability status information of the previous IP address.
Preferably, before establishing a communication with another end point, the availability of this end point is first checked from the storage.
If an end point is marked not available for communication in the storage, an alternative end point is preferably chosen for establishing the communication.
The invention also provides a network element being adapted to communicate with another network element, having at least one endpoint for communicating with the another network element, comprising at least one storage which stores information on the communication availability of at least one endpoint of the another network element.
FIGS. 3 to 5 illustrate embodiments of a system and of message flows of methods in accordance with the present invention.
The IP network 1 further includes, or has access to, a Domain Name System, DNS, or server 6 for translating Domain Names to IP addresses.
The described embodiments of the invention are able to implement so called idle mode supervision of endpoints configured to be communicating with each other. The endpoints such as the endpoints 9 to 11 may be SIP, SIP-T or SIP-T/I endpoints, or endpoints of other type, that have been configured to be communicating between each other.
The embodiments shown in the drawings illustrate SIP-T/I interfaces. However, the invention can also be applied to other types of interfaces such as regular SIP interfaces, normally used between SIP User Agent, UA, and proxies such as SIP proxies.
The embodiments allow an interface such as a SIP-T/I interface to behave in the same way as an SS7 Network-Network Interface (NNI) where status of signalling connection is known.
In summary, aspects of the invention include one or more of the following features in isolated form or in any arbitrary combination.
One or more of the peer network elements 2 to 5 use a protocol, preferably SIP-T/I to establish circuit switched voice, data or facsimile sessions between each other. At least one, preferably some or all, of the peer network elements 2 to 5 have internal configuration data, which contains the logical Fully Qualified Domain Name (FQDN) of peer entity. This information is stored at one or more places in the routing hierarchy. The FQDN information may be stored in circuit group (CGR) level data. In case the same network element has more than one peer network element, e.g. SIP-T/I peer network element, then more than one circuit group is provided.
In case an outgoing session needs to be established towards a peer network element, the SIP-T/I process in the originating network element will process a DNS query to the Domain Name System, DNS, 6 in order to retrieve a list of candidate IP addresses (of the peer network element) from which one suitable IP address is selected for the session. In an MSC Server 2 to 6, this procedure may also be implemented in the following manner. At first, the MSC Server 2, 3, 4, or 5 will try to look from a local DNS cache storage 20 (stored in the server 2 to 5 or in each signalling unit thereof) whether there are any IP addresses available. In case DNS cache is empty (for instance, Time-To-Live, TTL, has expired for addresses or the signalling unit has just been started and no DNS enquiry has yet been done), then a DNS enquiry towards the external DNS server 6 will be carried out. Otherwise, the SIP process of the MSC Server 2, 3, 4, or 5 will use its internal or a local cache storage 20, if possible. In addition to this, also a round-robin mechanism for the DNS cache storage 20 can be implemented in order to share load between multiple IP addresses under the same logical FQDN.
According to an aspect of the invention, a mechanism is provided for avoiding unwanted SIP-T/I session establishment trials towards an unavailable peer entity.
According to the embodiments of the present invention, the servers such as the MSC Servers 2 to 5 can know beforehand what is the status of signalling units and SIP application processes of the peer network element or elements, without sending a message such as an INVITE message to the network. This way it is possible to optimise MSC Server's functionality in outgoing sessions so that the server 2 to 5 avoids addressing of unavailable entities not available for traffic, and immediately knows, and initiates, to re-route a session attempt via another server.
As shown in
The content and organization of cache storage 20, that is the listing of the stored information within storage 20, is partly shown, see arrows and inscriptions, at the right side of the storage 20.
The information on communication availability, that is availability of the endpoints for session handling or communication, may be sent as, and/or detected by, idle mode signalling traffic such as SIP-T/I signalling traffic between endpoints such as SIP-T/I end points. The invention reduces the amount of sending of unwanted or unsuccessful messages such as re-INVITE messages.
The communication availability (up/down, meaning reachable/unreachable) of each IP address is stored in local DNS resolver's cache 20 in each signalling unit, and will be kept up to date by polling the other peer elements 2 to 5, that is by sending status inquiry or checking messages to the other elements 2 to 5. The polling may be done by sending, on a regular or irregular basis, an appropriate message such as an OPTIONS message to each of the other peer elements, and to each IP address thereof. The message such as OPTIONS, will be answered by the addressed peer element in the usual manner, in case everything is alright, that is the peer element and the addressed IP address are available as an endpoint in case of intended traffic transmission. As an example, the peer element may answer by returning an 200 OK message.
The same checking procedure is done from all elements 2 to 5 to all other elements 2 to 5 and towards all possible IP addresses that particular signalling unit of the querying server 2 to 5 has connectivity to (FQDN).
The storage 20 thus stores, possibly in addition to the usual resolver data such as correspondence between IP addresses and Internet names, information on the availability or blocking status of the respective IP addresses based on the response/lack of response received to the inquiry messages such as the OPTION messages. As an example, the storage 20 stores, for each FQDN of the respective servers 2 to 5, e.g. for FQDN1 of server 2, FQDN2 of server 3, FQDN3 of server 4, etc., the status of all connectivity-providing IP addresses of that respective server. As an example, storage 20 stores, for server 2, under the name FQDN1 of that server 2, IP_addr1 of unit 9: Blocked/not blocked; IP_addr 2 of unit 10: Blocked/not blocked; and IP_addr3 of unit 11: Blocked/not blocked. The storage 20 further stores, for all other servers under their respective names, the respective information for all IP addresses thereof. That is, as shown in FIGS. 3 to 5 as an example, for server 3, that is FQDN2, the respective information Blocked/not blocked is stored for all its IP addresses IP_addr1; IP_addr 2; and IP_addr3.
At appropriate timing, for instance after Time-to-Live, TTL, expiry or if a unit such as one of the servers 2 to 5 restarts, the DNS server 6 provides a new set of IP addresses to the local caches 20 of the signalling units of the respective servers 2 to 5.
The respective cache storages 20 will be updated accordingly but information regarding blocked/not blocked status is preferably maintained from the previous list of addresses.
The MSC Server 5 (FQDN0) as immediately originating server of this example will know based on its DNS resolver cache data stored in its storage 20 which IP addresses are alive in the system. In this example, assuming IP_Addr1 has been determined as primary peer element and IP_Addr2 as alternative peer element for the connection set up in question, the server 5 trying to connect to server 2, directly skips the IP_Addr1 of unit 9, being marked as blocked or down, and selects the alternative IP_Addr2 of unit 10 of server 2 which is marked as not blocked, that is marked as alive or working.
In case that, for some reason, one or more selected IP addresses marked as not-blocked are not able to process a received connection set-up message such as INVITE, then this session will be rerouted, after several unsuccessful trials, to another FQDN. This function may be in accordance with existing behaviour in servers such as MSC Servers.
In this case the server 5 skips the whole server 2, that is the FQDN of this network element NE, and immediately re-routes the session to an alternative server element such as to server 3, after checking the availability of at least one of the IP addresses thereof.
According to embodiments of the invention, such as described above, at each network element (such as server 5), which is responsible of originating sessions such as SIP-T/I sessions, the state information of all possible addressable IP addresses/hosts is maintained.
In the network elements 2 to 5, the configuration is the following. Each signalling unit 9 to 11 has one logical IP address that is possible to maintain even in case of switchover (N+1 redundancy of signalling unit). This logical IP address is typically (in SIP-T/I configuration) configured into DNS system so that all available signalling units of a server and their logical IP addresses are handled via single logical FQDN (e.g. mssl.nokia.com). Each peer MSC Server which, via its signalling unit, originates SIP sessions towards this particular FQDN will select the IP addresses of the peer signalling units by using round robin scheme. This is a way that at network level a load sharing between all available signalling units is handled in terminating side.
Each signalling unit in the server has an internal DNS resolver cache 20, which is used to store results from external DNS enquiry. The content of this DNS resolver cache 20 may be limited to hold a certain amount of IP addresses under one FQDN. Also the number of FQDN's may be limited.
According to embodiments of the invention as described above, status information, in particular SIP-specific status information, is introduced to DNS resolver cache 20 that is maintained by signalling unit's SIP process. This status information is maintained regularly e.g. by SIP process that will continuously circulate the cache, send OPTIONS message to each peer IP address and according to a received reply (if any) also update the information in DNS cache. All IP addresses in cache are tried during this maintenance process, despite the status they have (unavailable/available).
In case a peer SIP process in a peer signalling unit does not reply to the OPTIONS message by returning a proper 200 OK message, then after pre-defined number of attempts the SIP process of the polling server will mark the non-replying peer signalling unit as “unavailable” in its DNS resolver cache storage 20. Any intended outgoing sessions from this signalling unit, to which the storage 20 is assigned, towards an “unavailable” IP address will be prevented and the SIP process of this signalling unit will proceed to select some other “available” IP address found from its cache 20 belonging to a particular FQDN, if any.
In case later supervision attempts by using OPTIONS message sent by the polling server to an IP address of a polled server being marked as unavailable will succeed, then this IP address will be set again as “available” in the DNS resolver's cache 20 of the polling server. Further, if a signalling message, such as SIP INVITE, is received from an end point being marked as unavailable, the sending end point may be set “available” in the DNS resolver's cache 20 again.
In case all IP addresses are found to be “unavailable” in MSC Server processing outgoing SIP-T/I session, then session establishment needs to be cleared backwards into End of Selection (EOS) analysis phase that will result in selection of another route towards another MSC Server. This may be existing behaviour of MSC Server and may be re-used in order to complete the call by using an alternative route.
Each DNS enquiry from or to the external DNS server 6 will together with the list of available IP addresses also provide a so called Time-To-Live (TTL) value to requesting signalling unit. This list and TTL information are stored into DNS resolver's cache 20. When SIP process or any other process which uses the services of DNS make a DNS enquiry, at first the DNS resolver entity in the unit will query its local cache storage 20. The provision of the cache storage 20 will speed up the DNS enquiry process and decrease the traffic from and to external DNS servers. In order to avoid problems caused by use of the local cache storage 20 in the signalling units if information in external DNS server changes, DNS enquiries from signalling units are done on a regular or irregular basis in order to refresh correct information to local caches.
The TTL identifies the time duration that DNS resolver caches 20 in the signalling units will keep the information stored locally. After the time indicated by TTL elapses then an external query from the server incorporating the cache storages of the signalling units to the DNS server 6 will be done, and the received DNS information will be stored in the cache 20.
In case TTL value for FQDN expires and IP addresses are enquired from DNS server, local DNS resolver may be implemented to remember the status that existed before the new DNS enquiry from the external DNS server 6. This implementation duplicates the amount of memory in case all IP addresses are stored before being compared to the new addresses. In an alternative embodiment of the invention, only “unavailable” IP addresses are stored over the new enquiry, which saves memory space in each signalling unit.
According to another embodiment of the invention, it is possible for an operator to see or receive information which peer IP addresses are not available for signalling traffic. This can be achieved by triggering a notification (or low level alarm) in local fault management system that identifies the peer IP address that is currently found out to be “unavailable”. Also in case whole FQDN is found out to be unavailable (all IP addresses in DNS resolver's cache 20 related to this FQDN are marked as “unavailable”), then a notification such as a higher-level alarm can be triggered. It is also possible to provide some kind of command which can be used by an operator to check which IP addresses in cache are “unavailable” and which are not.
Implementation of the invention can be done inside the DNS resolver means or function in the servers 2 to 5. This may be a platform functionality, not an application. Such a modification can be applied to other products or network elements as well.
The SIP process of the servers 2 to 5 is preferably modified in order to circulate the content of the DNS cache storage 20 so that new interfaces can “see” the content of cache storage 20, and to send supervision messages such as supervision OPTIONS message. As an alternative, a type of handler can be defined which implements these tasks continuously without affecting the other traffic handling work of SIP process.
An updating means or function such as a SIP process is preferably provided to update the DNS resolver cache storage 20 (e.g. providing a new interface) so that “unavailable”/“available” information is maintained properly.
Handlers which are responsible of actual traffic can use the DNS enquiry in a customary manner and as a result the DNS cache storage 20 can return either the IP address (selected by DNS resolver) or information that no available IP address can be found for a requested FQDN. In case DNS resolver returns no IP address to SIP process and further indicates that all addresses are unavailable, the SIP process will preferably clear call establishment backwards to the call control process (e.g. IC3) with proper clear code (such as cd_t_congestion.) which will result in an alternative routing to another route and another FQDN.
The embodiments of the invention therefore can have pre-hand knowledge of the status of peer network element's signalling units (IP addresses) before sending a message, e.g. an INVITE message.
The invention does not require any changes in SIP signalling. It is sufficient that other end points (peers) are capable to reply to availability polling requests such as SIP OPTIONS requests according to basic SIP specifications. The invention can be implemented, according to some of the embodiments, related to SIP proxy implementation.
The mechanism according to the invention can be applied not only to servers such as MSC servers but also to structures of any types such as for example SIP proxy peers.
Number | Date | Country | Kind |
---|---|---|---|
04015323.1 | Jun 2004 | EP | regional |