The present invention relates to All-IP (All-Internet Protocol) communication systems, and in particular to routing between network elements, such as CSCFs (Call State Control Functions), BGCFs (Breakout Gateway Control Functions) and MGCFs (Media Gateway Control Functions), when two or more of these network elements are the same element.
There are different kinds of network elements participating in a call setup. For example,
Normally, two CSMs (Call State Models), an O-CSM (Originating CSM) and a T-CSM (Terminating CSM), are needed in every CSCF, BGCF (Breakout Gateway Control Function) or MGCF network element to handle a single call from subscriber A to subscriber B where the logical functionalities of the originating operator could be e.g. P-CSCF, S-CSCF, I-CSCF, S-CSCF and P-CSCF; or P-CSCF, S-CSCF, BGCF and MGCF, and the logical functionalities of the terminating operator could be e.g. MGCF, I-CSCF, S-CSCF and P-CSCF; or BGCF and MGCF. CSM has one or more states. In case at least two of the network elements in question are the same element, i.e. one physical network element accommodates two or more logical functionalities in the set-up of one call, the set-up is done via an external loopback ME1 from a T-CSM to an O-CSM as shown in
An example for this prior art solution is given in
As it is shown in
In a step 803, the content of the internal data structure is passed as data to an O-CSM of the P-CSCF. The O-CSM stores the data to an internal data structure in a step 804, and handles its content. In a step 805, the O-CSM passes the control and the handled data in the internal data structure to a T-CSM of the P-CSCF. The T-CSM stores the data to an internal data structure in a step 806, and handles its content.
In a step 807, the content of the internal data structure is passed to Call control signaling adaptation. Call control signaling adaptation stores the data to an internal data structure and transforms its content to an INVITE message in a step 808. DNS (Domain Name Server) resolving is used to find out the IP address of the next network element. In a step 809, an INVITE message is sent from the-P-CSCF to an S-CSCF via external routing.
This INVITE message is received by an S-CSCF the functionality of which is located in the same network element P-CSCF/S-CSCF. In a step 810, Call control signaling adaptation transforms the INVITE message to the internal format of the call control and stores it to an internal data structure.
In a step 811, the content of the internal data structure is passed as data to an O-CSM of the S-CSCF. The O-CSM stores the data to an internal data structure in a step 812, and handles its content. In a step 813, the O-CSM passes the control and the handled data in the internal data structure to a T-CSM of the S-CSCF. The T-CSM stores the data to an internal data structure in a step 814, and handles its content.
In a step 815, the content of the internal data structure is passed to Call control signaling adaptation. Call control signaling adaptation stores the data to an internal data structure and transforms its content to an INVITE message in a step 816. DNS resolving is used to find out the IP address of the next network element. In a step 817, an INVITE message is sent from the S-CSCF to an I-CSCF via external routing.
It is an object of the present invention to optimize routing when two or more network elements are the same element on a signaling path.
According to the present invention, this object is achieved by routing a call between at least two logical network elements each performing a logical functionality on the call, the logical functionalities of the at least two logical network elements being accommodated in one physical control entity in an IP communication network system. When a call is received at the physical control entity as a first logical functionality, call-related processing is performed in the physical control entity as the first logical functionality, thereby obtaining a content of a first data structure. Then, a second logical functionality is invoked in the physical control entity, wherein the content of the first data structure is supplied inside the physical control entity to a second data structure of the second logical functionality so that the content of the second data structure is substantially similar to a content obtained at the same stage in said second logical functionality by external routing between logical network elements.
“Substantial similarity” between two contents of data structures means, for example, that the data structures are similar enough to avoid the introduction of significantly different program codes for the processing of the contents.
According to a first embodiment of the present invention, the content of the first data structure is supplied within one call state model for a beginning of a functionality and an ending of a functionality.
According to a second embodiment of the present invention, the content of the first data structure is supplied by sending a message inside the physical control entity from a call state model for an ending of a functionality to a call state model for a beginning of a functionality.
According to a third embodiment of the present invention, the content of the first data structure is supplied by sending a first message from a call state model for an ending of a functionality to a first adapter process for translating the content of the first data structure to a data structure of an inter network element sending signaling, sending a second message from the first adapter process to a second adapter process for supplying the content of the inter network element sending signaling data structure to a data structure of an inter network element receiving signaling, so that the content of the inter network element receiving signaling data structure is substantially similar to a content obtained at the same stage in said second adapter process by external routing between logical network elements, and sending a third message from the second adapter process to a call state model for a beginning of a functionality, for translating the content of the inter network element receiving signaling data structure to the second data structure.
According to a fourth embodiment of the present invention, the content of the first data structure is supplied by sending a first message from a call state model for an ending of a functionality to a first adapter process for translating the content of the first data structure to a data structure of an inter network element sending signaling, performing processing on the content of the inter network element sending signaling data structure, thereby obtaining a content of a processed inter network element sending signaling data structure, sending a second message from the first adapter process to a second adapter process for supplying the content of the processed inter network element sending signaling data structure to a data structure of a processed inter network element receiving signaling, so that the content of the processed inter network element receiving signaling data structure is substantially similar to a content obtained at the same stage in said second adapter process by external routing between logical network elements, performing processing on the content of the processed inter network element receiving signaling data structure, thereby obtaining a content of an inter network element receiving signaling data structure and sending a third message from the second adapter process to a call state model for a beginning of a functionality, for translating the content of the inter network element receiving signaling data structure to the second data structure.
According to a fifth embodiment of the present invention, the content of the first data structure is supplied by sending a first message from a call state model for an ending of a functionality to a first adapter process for translating the content of the first data structure to a data structure of an inter network element sending signaling, performing processing on the content of the inter network element sending signaling data structure, thereby obtaining a content of a processed inter network element sending signaling data structure, performing looping from the first adapter process to a second adapter process via a protocol level below the used signaling protocol between network elements for supplying the content of the processed inter network element sending signaling data structure to a data structure of a processed inter network element receiving signaling, so that the content of the processed inter network element receiving signaling data structure is substantially similar to a content obtained at the same stage in said second adapter process by external routing between logical network elements, performing processing on the content of the processed inter network element receiving signaling data structure, thereby obtaining a content of an inter network element receiving signaling data structure and sending a third message from the second adapter process to a call state model for a beginning of a functionality, for translating the content of the inter network element receiving signaling data structure to the second data structure.
According to the first embodiment, an extremely efficient use of messages and processes is achieved, i.e. the number of messages and processes can be reduced significantly compared with an external loopback. Moreover, an efficient use of bandwidth can be obtained.
According to the second embodiment, messages and processes can be used very efficiently. Further, an efficient use of bandwidth is achieved.
According to the third embodiment, messages, processes and bandwidth can be used efficiently. Moreover, a clean CSM is provided.
According to the fourth embodiment, an efficient use of bandwidth is achieved and CSM is kept clean.
According to the fifth embodiment, bandwidth is used efficiently.
In the following the present invention will be described by way of preferred embodiments thereof with reference to the accompanying drawings.
The idea of the present invention is to route outgoing signaling internally in a control entity accommodating two or more logical functionalities of different logical network elements. For example, the respective functionality of a calling S-CSCF (Serving CSCF) and a called I-CSCF and possibly also of a called S-CSCF may be performed in the same physical CSCF. For instance, the S-CSCF must inspect the logical address e.g. FQDN (Fully Qualified Domain Name) or an IP (Internet Protocol) address obtained by performing a DNS (Domain Name Server) resolution procedure to check whether it refers to an own network. In that case, the S-CSCF may perform an I-CSCF functionality (e.g. a called party S-CSCF search), and then it may invoke a logical called party S-CSCF functionality, if the logical address or the returned IP address refers to the same node.
In the present context, a call refers to any multimedia sessions in addition to voice calls, e.g. video calls.
It is to be noted that a call state control function is not necessarily just a CSCF in accordance with 3GPP specifications. For instance, it can also be a call processing server in accordance with IETF session initiation protocol RFC 2543. It can also be a gatekeeper in accordance with ITU-T H.323 specifications. It can be any call processing server or call state control function performing call signaling related tasks.
The present invention is not bound to any specific NNI (Network to Network Interface) protocol. The messages described in the embodiments may reside on call control level, SIP (Session Initiation Protocol) level or TCP/UDP (Transmission Control Protocol/User Datagram Protocol) level, for example.
Throughout FIGS. 2 to 7, merely a T-CSM of a first logical functionality and an O-CSM of a second logical functionality are illustrated. The O-CSM of the first and the T-CSM of the second logical functionality are not shown.
A is needed for sending the message MI3 from the terminating CSM, and a process P6 is needed when the message is received at the originating CSM in the CSCF/BGCF/MGCF. For example, when SIP is used, the process P6 may add the FQDN (Full Qualified Domain Name) of a network element corresponding to the originating CSM functionality receiving the message to a Record-Route header, but may add nothing to the Via header.
For example,
In this example, the IP protocol finds out that the target is the same as the origin and does not send the message via external route.
At P4, the FQDN of the network element corresponding to the functionality of the second adapter process may be added to a Record-Route header, but nothing may be added to the Via header. The FQDN address is used in Record-Route and Via headers instead of the “localhost” hostname, and real IP address is used instead of the loopback IP address. However, if the usage of the “localhost” hostname and loopback IP address is insisted, the entry has to be swapped with the previous entry in the Via header.
Moreover, according to the fifth embodiment, some extra tasks have to be carried out at P6, when the message MI2 is received.
It is to be noted that the Via and Record-Route headers may be updated somewhere else than in P6, P8 and P4. When SIP is used as NNI protocol Via header and Record-Route header are normally updated. Via header is used to route the response back via the same route. Record-Route header is used to record the route in order to be used in the subsequent messages. Via and Record-Route headers can be handled at least in two ways. In the first way the address of each logical functionality on the route is inserted to the message as Via header as well as Record-Route header if it is used. If the Via header is utilized for the loop detection, identical addresses should be avoided in Via header because they indicate a loop. That is why the second way to handle Via header and Record-Route header is to add only one Via header and possibly one Record-Route header to the message so that the both headers contain the address of the physical network element instead of the logical functionalities included in the physical network element.
Furthermore, it is to be noted that according to the second embodiment and referring to
According to the third embodiment and referring to
Moreover, according to the third and fourth embodiments, in B and in E the data is not yet in the format of external signaling while in C and D it might be. One of the tasks of the adapter function CC-SS is to transform the internal signaling to external signaling and vice versa. This is depicted with R1 and R2.
According to the above described embodiments, at the process P6, also a correct CSM has to be selected. For this purpose, the message MI2 or MI3 can be used to indicate what service is required in the next network element. This indication may be deduced from the content of the message and/or from the format of the message and/or from the name of the message and/or from the type of the message and/or from the address of the message.
It is to be noted that in an embodiment there may also be just one call state model for each logical functionality. The originating and the terminating call state model could be combined into one call state model. In this embodiment, the functions related to the originating and the terminating call state model are combined into the unified call state model representing both the originating and the terminating side call processing tasks. Moreover, some of the logical functionalities may be stateless, i.e. there is no call state model or there is a call state model but it has only one state. Hence, according to the present invention, a call state model may be stateless or comprise at least two states. Or, in other words, a call state model has at least one or more states. For example, an I-CSCF may be transactionally statefull, i.e. stores the state only during the registration when it communicates with HSS (Home Subscriber Server).
Now, examples are given for the first to fifth embodiments. In these examples, the following assumptions are made:
According to
In a step 905, the O-CSM of the P-CSCF passes the control and the handled data in the internal data structure to the combined CSM. The combined CSM stores the data to an internal data structure and handles its content like a T-CSM of the P-CSCF in a step 906. A method is used to find out whether the next logical functionality is located in the same network element. For example, DNS resolving is done or addresses are compared. Because the next logical functionality is located in this same network element, combined CSM continues handling the data like an O-CSM of the S-CSCF instead of passing it to a call control signaling adaptation for outgoing messages (step 808 of
In a step 913, the combined CSM passes the control and the handled data in the internal data structure to a T-CSM of the S-CSCF. The T-CSM of the S-CSCF stores the data to an internal data structure and handles its content in a step 914. In a step 915, the content of the internal data structure is passed to Call control signaling adaptation. The Call control signaling adaptation stores the data to an internal data structure and transforms its content to an INVITE message in a step 916. For example, DNS resolving is used to find out the IP address of the next network element. In a step 917, an INVITE message is sent from the P-CSCF/S-CSCF to an I-CSCF via external routing.
According to
In a step 1005, an O-CSM of the P-CSCF passes the control and the handled data in the internal data structure to a T-CSM of the P-CSCF. The T-CSM of the P-CSCF stores the data to an internal data structure and handles its content in a step 1006. A method is used to find out whether the next logical functionality is located in the same network element. For example, DNS resolving is done or addresses are compared. Because the next logical functionality is located in this same network element, the T-CSM of the P-CSCF modifies the data if needed.
In a step 1007, the T-CSM of the P-CSCF passes the control and the modified data to an O-CSM of the S-CSCF instead of passing it to Call control signaling adaptation for outgoing messages (step 808 in
In a step 1012, the O-CSM of the S-CSCF stores the data to an internal data structure, modifies it if needed and handles its content. The O-CSM of the S-CSCF passes the control and the handled data in the internal data structure to a T-CSM of the S-CSCF in a step 1013. Steps 1014 to 1017 correspond to steps 914 to 917 in
According to
In a step 1109, the Call control signaling adaptation of the T-CSM of the P-CSCF passes the control and the modified data to the Call control signaling adaptation of an O-CSM of the S-CSCF instead of building a SIP message (INVITE) and sending it to the next network element via external routing. The Call control signaling adaptation of the O-CSM of the S-CSCF stores the data to an internal data structure, modifies it if needed and handles its content in a step 1110. In a step 1111, the content of the internal data structure is passed as data to the O-CSM of the S-CSCF. Steps 1112 to 1117 correspond to steps 1012 to 1017 of
According to
In a step 1209, Call control signaling adaptation of the T-CSM of the P-CSCF passes the control and the INVITE message to the Call control signaling adaptation of an O-CSM of the S-CSCF instead of sending it to the next network element via external routing. Call control signaling adaptation of the O-CSM of the S-CSCF transforms the INVITE message to the internal format of the call control and stores it to an internal data structure, modifies the data if needed and handles the content of the internal data structure in a step 1210. Steps 1211 to 1217 correspond to steps 1111 to 1117 of
According to
In a step 1310, Call control signaling adaptation of an O-CSM of the S-CSCF receives the INVITE message (or the corresponding IP packets) from the incoming protocol stack and transforms the INVITE message to the internal format of the call control and stores it to an internal data structure, modifies the data if needed and handles the content of the internal data structure. Steps 1311 to 1317 correspond to steps 1111 to 1117 of
While the invention has been described with reference to preferred embodiments, the description is illustrative of the invention and is not to be construed as limiting the invention. Various modifications and applications may occur to those skilled in the art without departing from the true spirit and scope of the invention as defined by the appended claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP01/06069 | 5/28/2001 | WO |