Abstract:
The invention discloses a method for establishing a session between a caller and a callee, applying to a next generation network, after said callee picking up, which includes: restarting a session negotiation with said callee via a first application server corresponding to the callee, upon obtaining a session description protocol of said callee, sending an update request message containing a session description protocol of said callee to a second application server corresponding to the caller; renegotiating, by the second application server, session with a caller according to said session description protocol of said callee; after the caller completing session update, returning a response message containing a session description protocol of said caller to said callee. The method can realize the multi-service nesting triggering or the forwarding triggering of several flows in one service, and can guarantee the proper connection between the caller and the callee.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE  
       [0001]     This patent application makes reference to, claims priority to and claims benefit from Chinese Patent Application No. 200510080333.0 filed on Jul. 1, 2005.  
       FIELD OF THE INVENTION  
       [0002]     The present invention relates to the communication technology field, more specifically to a method for establishing a session between a caller and a callee.  
       BACKGROUND OF THE INVENTION  
       [0003]     The next generation network (NGN) is developing rapidly and introducing in a lot of new services. In the field of voice and multimedia services, it has become a trend to control and realize NGN services based on the flexible and extendable SIP (Session Initial Protocol) signaling and other auxiliary signalings such as RTP (Real Time Transport Protocol) and SDP (Session Description Protocol) etc.  
         [0004]     Currently many services are co-existing and in order to satisfy the increasing requirements of the users and to take into account the repeatability of service characteristics, it is necessary to combine the current services and to realize the nesting of different service characteristics, which results in the problem of nesting between multi-services accordingly.  
         [0005]     However, the current NGN services only take into account the processing of the un-nesting call flows but can not process the multi-service nesting call flows properly. At the same time, for example when the hook, the forwarding or the port number changes, it is impossible to process when the SDP of the callee changes. Taking the typical multi-services nesting and forwarding as an example, when the user dials an intelligent service and triggers the corresponding intelligent flow it is necessary to forward the call once and trigger the application server twice and the detailed flow is illustrated in  FIG. 1  as follows:  
         [0006]     The caller dials the access code of the first service and sends the Invite Message containing its own SDP to the application server AS 1  of the caller, which is trigged to perform the first service flow.  
         [0007]     The application server AS 1  of the caller issues the routing number of the second service (i.e. the access code of the second service) to the soft switch according to the Invite Message. And according to the routing number, the soft switch triggers the application server AS 2  of the second service to perform the flow of the second service. Then the application server AS 2  calls the designated callee.  
         [0008]     After the callee is picked up, the application server AS 2  sends the Update Message containing a SDP of the callee to the caller.  
         [0009]     The SDP message of the callee is updated at the caller side and the 200 OK Message containing a SDP of the caller is sent to the soft switch.  
         [0010]     The callee transfers the Picked-up Response Message and reports it to the application server AS 1  of the caller level by level, and the application server AS 2  of the caller returns the ACK Message of the callee. And thus the session negotiation process since the number of the callee is issued is finished.  
         [0011]     During the above session negotiation process, after being picked up, the callee sends immediately the Update Message containing its own SDP, and at this time the SDP of the callee in the Update Message is the current SDP of the callee. The SDP may change according to the variation of port number of the callee, hence, the caller is required to send the re-Invite Message to the callee after receiving the Update Message from the callee for renegotiation so as to obtain the latest SDP of the callee. The callee returns the 200 OK Message containing its own latest SDP to the caller and the renegotiation process of the callee since being picked up is completed. And the call is established between the caller and the callee.  
         [0012]     In addition, during the above session negotiation process, if the picked-up callee (the original callee) is forwarded or hooked to the third callee, the real callee is the third callee whose SDP is different from that of the original one. The Update Message sent by the picked-up original callee includes its own SDP but not the SDP of the real callee (the third callee). Therefore, after receiving the Update Message from the original callee, the caller is required to send the re-Invite Message to the real callee for renegotiation so as to obtain the SDP of the real callee. The real callee returns the 200 OK Message containing its own SDP to the caller and thus the renegotiation process of the callee since being picked up is completed. The call is established between the caller and the real callee accordingly.  
         [0013]     The above flows show after the SDP of the callee is updated at the caller side, when the renegotiation between the caller and the callee is performed by employing re-Invite signaling time after time, it will relate to many devices and it is hard to be realized. In addition, in the mode based on B2B (the back to back mode in SIP protocol), the cross processing on the re-Invite signalings will definitely bring chaos. According to the above flows, if the forwarding or service flow nesting occurs for many times, the number of re-Invite signalings will be larger and it will be more likely to lead to chaos, which may cause the single pass status. Moreover, many re-Invite signalings will increase the load of network signalings and result in a higher probability of losing packets and transmission mistake, which will influence the service performance and may even bring the network blast.  
       SUMMARY OF THE INVENTION  
       [0014]     A method for establishing a session between a caller and a second callee, applying to a next generation network, after a first callee picking up and forwarding or hooking to said second callee, further including:  
         [0015]     restarting a session negotiation with said second callee via a first application server corresponding to said first callee, upon obtaining a session description protocol of said second callee, sending an update request message with said session description protocol of said second callee to a second application server corresponding to said caller via all levels of soft switches;  
         [0016]     renegotiating, by the second application server, a session with said caller according to said session description protocol of said second callee;  
         [0017]     after the caller completing session update, returning a response message containing a session description protocol of said caller to said second callee, thus a bidirectional session negotiation is completed between said caller and second callee.  
         [0018]     In the above method, when performing the session renegotiation with said second callee, the application server of said first callee sends a re-request message without a session description protocol to said second callee.  
         [0019]     Further, after the application server of said first callee performs the session renegotiation with said second callee, said second callee returns its own session description protocol to its application server by the response message.  
         [0020]     In the above method, after the session update, said caller returning a response message containing a session description protocol of said caller to said second callee specifically including the steps of:  
         [0021]     said caller returning a response message containing its own SDP to the application server of said caller;  
         [0022]     the application server of said caller returning a response message to the soft switch of said caller;  
         [0023]     the soft switch of said caller returning a response message to the soft switch of said first callee level by level;  
         [0024]     the soft switch of said first callee returning a response message to the application server of said first callee; and  
         [0025]     the application server of said first callee sending a final confirm response message containing a session description protocol of said caller to said second callee.  
         [0026]     In addition, the above method also includes:  
         [0027]     after the bidirectional session negotiation between said caller and said first callee, the application server of said first callee transferring a picked-up message of said first callee to the soft switch of said caller through the soft switch of said first callee level by level;  
         [0028]     the soft switch of said caller sending a picked-up message to the application server of said caller; and  
         [0029]     the application server of said caller sending a end message to the media resource server at said caller side so as to stop playing the ring back tone for said caller.  
         [0030]     The present invention provides a method for establishing a session between a caller and a callee, applying to a next generation network, after said callee picking up, further comprising:  
         [0031]     restarting a session negotiation with said callee via a first application server corresponding to the callee, upon obtaining a session description protocol of said callee, sending an update request message containing said session description protocol of said callee to a second application server corresponding to the caller via all levels soft switch;  
         [0032]     renegotiating, by the second application server, session with a caller according to said session description protocol of said callee;  
         [0033]     after the caller completing session update, returning a response message containing a session description protocol of said caller to said callee, thus a bidirectional session negotiation is completed between said caller and callee.  
         [0034]     According to the above method of the present invention, when performing the session renegotiation with said callee, the application server of said callee sends a re-request message without a session description protocol to said callee.  
         [0035]     After the application server of said callee performs the session renegotiation with said callee, said callee returns its own session description protocol to its application server by the response message.  
         [0036]     According to the above method of the present invention, after the session update, said caller returning a response message containing a session description protocol of said caller to said callee specifically including the steps of:  
         [0037]     said caller returning a response message containing its own SDP to the application server of said caller;  
         [0038]     the application server of said caller returning a response message to the soft switch of said caller;  
         [0039]     the soft switch of said caller returning a response message to the soft switch of said callee level by level;  
         [0040]     the soft switch of said callee returning a response message to the application server of said callee; and  
         [0041]     the application server of said callee sending a final confirm response message containing a session description protocol of said caller to said callee.  
         [0042]     According to the above method of the present invention, it further includes:  
         [0043]     after the bi-directional session negotiation between said caller and said callee, the application server of said callee transferring a picked-up message of said callee to the soft switch of said caller through the soft switch of said callee level by level;  
         [0044]     the soft switch of said caller transferring a picked-up message to the application server of said caller; and  
         [0045]     the application server of said caller sending a end message to the media resource server at said caller side so as to stop playing the ring back tone for said caller.  
         [0046]     The present invention has one or more than one of the following advantages:  
         [0047]     (1) The present invention optimizes the SIP signaling flow in the case of forwarding or nesting services time by time, and provides a trigger method for forwarding different flows of multi-services or for forwarding and nesting different flows of one service, which can realize the combination and integration of services.  
         [0048]     (2) In the signaling flow according to the method of the present invention, after the first callee being picked up, the server of the first callee will perform the session negotiation with a second callee to obtain the SDP of the second callee and then the server of the caller will perform the session negotiation with a caller to update the SDP of the callee at the caller side. Thus, the bidirectional session negotiation between the caller and the second callee is guaranteed so as to ensure that the caller and callees can be connected properly.  
         [0049]     (3) It is not necessary to send the re-invite signaling for many times according to the method of the present invention, and thus the problem of single pass status due to the chaos of signaling control is solved.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0050]      FIG. 1  is the diagram showing the call flow processing in the related art;  
         [0051]      FIG. 2  is the schematic diagram showing the network entities related in the establishment of the communication between the caller and the callee;  
         [0052]      FIG. 3  is the flow chart showing the method for realizing the establishment of the communication between the caller and the callee according to an embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0053]     The method of the present invention will be explained in detail with reference to the drawings.  
         [0054]      FIG. 2  is the schematic diagram showing the network entities related in the establishment of the communication between the caller and the callee.  
         [0055]     Wherein the network elements are:  
         [0056]     the application server, which is used to perform the service logic and the call control of the soft switch;  
         [0057]     the media resource server (MRS), which is used to provide the voice interaction with a user, to realize the voice playing and interaction in the language management flow and outgoing call flow etc. and to accomplish the playing function of the coloring ring back tone service and the voice service;  
         [0058]     the soft switch, which is used to accomplish the service triggering, to receive the instruction from the application server so as to perform the call connection, to report events and to perform route transit;  
         [0059]     the database, which is used to store the service related data; and  
         [0060]     different kinds of user terminals.  
         [0061]     A typical example of forwarding the call once and triggering the application server twice is taken to illustrate the flows in the method for establishing the communication between the caller and the second callee according to the present invention and the flow includes:  
         [0062]     1. The caller dials the access code of service A with phone  1  (phone number N 1 ) and the call is reported to the soft switch  1 .  
         [0063]     2. The soft switch determines whether the access code belongs to service A, if so, triggers the corresponding application server AS 1 .  
         [0064]     3. The application server AS 1  performs the service A flow, including: interacting with a MRS, collecting the card number and authenticating the password of the caller; operating together with a database to perform the data comparison etc.  
         [0065]     4. The application server AS 1  issues a routing number of a next service to the soft switch  1 , for example the routing number is the access code of service B.  
         [0066]     5. The soft switch  1  routes the call to the related soft switch  2  according to the access code of service B.  
         [0067]     6. The soft switch  2  determines whether the access code is the access code of service B, if so, triggers the corresponding application server AS 2 .  
         [0068]     7. The application server AS 2  performs the flow of service B and issues the routing number N 2  to the soft switch  2 ; the soft switch  2  judges that the routing number N 2  is a terminal number and initiates a call to that terminal (phone  2 ).  
         [0069]     8. The phone  2  corresponding to N 2  rings and the Ring Message is returned to the soft switch  2 .  
         [0070]     9. The soft switch  2  returns the Ring Message of the phone  2  to the soft switch  1 .  
         [0071]     10. The soft switch  1  returns the Ring Message of the phone  2  to the application server AS 1  and the application server AS 1  indicates the MRS to play the ring back tone for the caller;  
         [0072]     11. After the user of the phone  2  picks up the phone, the call is transferred to the phone  3  with a number of N 3 ; or the N 2  is set to forward the call to the number N 3 .  
         [0073]     12. The user of the phone  3  picks up the phone and the application server AS 2  initiates a request to the phone  3  to negotiate on the reacquisition of the SDP of the second callee, wherein the second callee is the phone  3 .  
         [0074]     13. The phone  3  responds to the request and sends the Response Message containing its own SDP to accomplish the bidirectional session negotiation with a caller.  
         [0075]     14. The phone  1  user communicates with a phone  3  user.  
         [0076]     The SIP signaling realization procedure in the above flows is shown in  FIG. 3 , which specifically includes:  
         [0077]     1. The caller dials the access code of service A and uses the Invite signaling containing its own SDP to request for triggering the service A flow, and the request is sent to the application server AS 1  of the caller for controlling the service A flow.  
         [0078]     2. The application server AS 1  performs the corresponding service logic, sends the Invite Message containing a SDP of the caller to the MRS of the caller and requests to collect the card number and the password of the caller.  
         [0079]     3. The MRS returns the 200 OK Response Message containing its own SDP to the application server AS 1 .  
         [0080]     4. The application server AS 1  transfers the 200 OK Response Message containing a SDP of the MRS to the caller and prepares to play the corresponding warning tone and to collect the card number and the password of the caller.  
         [0081]     5. After performing the authentication for the service initiated by the caller, the application server AS 1  interacts with a database and issues the routing number of a next service to the soft switch  1  according to the service initiated by the caller, for example, the routing number is the access code of the next intelligent service B.  
         [0082]     6. The soft switch  1  acquires the soft switch  2  corresponding to the service according to the fact that the issued routing number is the access code of the service B (for simplification, the soft switch  1  and the soft switch  2  are combined as the soft switch in  FIG. 3 .), and sends the Invite Message containing a SDP of the caller through the soft switch  2  to report to and then trigger the application server AS 2  and then the procedure proceeds to the processing flow of the intelligent service B of the first callee.  
         [0083]     7. The application server AS 2  performs the internal service flow processing and sends the Invite Request Message to the End Office.  4   8 . After connecting to the first callee, the End Office returns the Ring Message  180  containing a SDP of the first callee; the Ring Message may also not include the SDP of the first callee, if not, the SDP of the first callee will be included in the later picked-up Answering Message.  
         [0084]     9. The application server AS 2  returns the Ring Message  180  to the soft switch  2 , which will return it to the soft switch  1 .  
         [0085]     10. The soft switch  1  transfers the Ring Message  180  to the application server AS 1 , then AS 1  sends the PRACK (the reliable transmission response message in SIP protocol) Message to the soft switch  1 , and the soft switch  1  returns the 200 OK Answering Message of the PRACK Message.  
         [0086]     11. The application server AS 1  sends the Invite Request Message containing a SDP of the caller to the MRS of the caller and requests to play the back tone for the caller.  
         [0087]     12. The MRS of the caller returns the 200 OK Confirmation Response Message containing its own SDP to the application server AS 1 .  
         [0088]     13. The application server AS 1  sends the Invite Message containing a SDP of the MRS at the caller side to the caller, performs the session negotiation with a caller and plays the ring back tone to the caller.  
         [0089]     14. The first call is picked up and returns the 200 OK Message containing a SDP of the first callee to the application server AS 2 .  
         [0090]     15. After receiving the Picked-up Message of the first callee, the application server AS 2  sends the re-Invite Message without its own SDP to the second callee for session renegotiation with the second callee; at this time, the call is forwarded to another terminal by the picked-up first callee, the real callee (i.e. the second callee) is the one after forwarding, so the SDP of the second callee can be obtained through the process of renegotiation.  
         [0091]     16. The second callee returns the 200 OK Response Message containing its own SDP.  
         [0092]     17. The application server AS 2  sends the Update Message to the soft switch  2 , which then returns the Update Message containing a SDP of the second callee to the soft switch  1 .  
         [0093]     18. The soft switch returns the Update Message containing a SDP of the second callee to the application server AS 1 .  
         [0094]     19. The application server AS 1  sends the re-Invite Message containing a SDP of the second callee to the caller and performs the session negotiation with the caller so as to update the SDP of the callee at the caller side.  
         [0095]     20. The caller updates the SDP of the callee, changes the SDP of the original connected MRS of the caller to the SDP of the second callee, and after the success of the update, returns the 200 OK Response Message containing its own SDP to the application server AS 1 .  
         [0096]     21. The application server AS 1  returns the 200 OK Response Message containing a SDP of the caller to the soft switch  1 , which then sends the Message to the soft switch  2 .  
         [0097]     22. The soft switch  2  returns the 200 OK Response Message containing a SDP of the caller to the application server AS 2 .  
         [0098]     23. The application server AS 2  sends the final ACK Message containing a SDP of the caller to the second callee and till then, a complete session renegotiation between the second callee and the caller is finished.  
         [0099]     24. The application server AS 2  returns the 200 OK Response Message for the picked-up first callee to the soft switch  2 , then the soft switch  2  sends the Message to the soft switch  1 , the soft switch  1  transfers it to the application server AS 1 , and after receiving the Picked-up Message of the first callee, the application server AS 1  sends Bye Message (ending playing the ring) to the MRS of the caller to stop playing the ring back tone to the caller.  
         [0100]     25. The application server AS 1  returns the final ACK Message to the caller.  
         [0101]     26. The application server AS 2  returns the final ACK Message through the soft switches  1  and  2  to the application server AS 2  and the communication between the caller and the second callee is established.  
         [0102]     It can be seen from the above procedure that in the multi-service nesting flow established by the call of the caller, after the first callee is picked up, the application server AS 2  of the first callee sends the re-invite Message without its SDP to a second callee and performs session renegotiation with the second callee, then the second callee returns the 200 OK Response Message containing its own SDP to the application server AS 2  of the first callee, and the application server AS 2  of the first callee sends the Update Message containing a SDP of the second callee to the application server AS 1  of the caller so as to realize the update of the SDP of the callee at the caller side and accordingly guarantee the communication is established between the caller and the second callee.  
         [0103]     The above is the illustration of the present invention with a typical example of forwarding the call once and triggering the application server twice. The present invention can also be applied to the case in which only the forwarding exists.  
         [0104]     In addition, when there is only the multi-service nesting but without forwarding, as shown in  FIG. 3 , the method in the present invention for realizing the communication between the caller and the callee includes the following flows:  
         [0105]     1. The caller dials the access code of service A and uses the Invite signaling containing its own SDP to request for triggering the service A flow and the request is sent to the application server AS 1  of the caller for controlling the service A flow.  
         [0106]     2. The application server AS 1  performs the corresponding service logic to send the Invite Message containing a SDP of the caller to the MRS of the caller and to request to collect the card number and the password of the caller.  
         [0107]     3. The MRS returns the 200 OK Response Message containing its own SDP to the application server AS 1 .  
         [0108]     4. The application server AS 1  transfers the 200 OK Response Message containing a SDP of the MRS to the caller and prepares to play the corresponding warning tone and to collect the card number and the password.  
         [0109]     5. After performing the authentication for the service initiated by the caller, the application server AS 1  interacts with a database and issues the routing number of a next service to the soft switch  1  according to the service initiated by the caller, for example, the routing number is the access code of the next intelligent service B.  
         [0110]     6. The soft switch  1  acquires the soft switch  2  corresponding to the service according to the fact that the issued routing number is the access code of the service B, and sends the Invite Message through the soft switch  2  to trigger the application server AS 2  and then the procedure proceeds to the processing flow of the intelligent service B of the callee.  
         [0111]     7. The application server AS 2  performs the internal service flow processing and sends the Invite Request Message to the End Office.  
         [0112]     8. After connecting to the callee, the End Office returns the Ring Message  180  containing a SDP of the callee. Alternatively, the Ring Message may also have the structure without the SDP of the callee, if without, the SDP of the callee will be included in the later Picked-up Answering Message.  
         [0113]     9. The application server AS 2  returns the Ring Message  180  to the soft switch  2 , which then returns it to the soft switch  1 .  
         [0114]     10. The soft switch  1  transfers the Ring Message  180  to the application server AS 1 , then AS 1  sends the PRACK (the reliable transmission response message in SIP protocol) Message to the soft switch  1 , and the soft switch  1  returns the 200 OK Answering Message of the PRACK Message.  
         [0115]     11. The application server AS 1  sends the Invite Request Message containing a SDP of the caller to the MRS of the caller and requests to play the ring back tone for the caller.  
         [0116]     12. The MRS of the caller returns the 200 OK Confirmation Response Message containing its own SDP to the application server AS 1 .  
         [0117]     13. The application server AS 1  sends the Invite Message containing a SDP of the MRS at the caller side to the caller, performs the session negotiation with a caller and plays the ring back tone for the caller.  
         [0118]     14. The callee is picked up and returns the 200 OK Message containing a SDP of the callee to the application server AS 2 .  
         [0119]     15. After receiving the Picked-up Message of the callee, the application server AS 2  sends the re-Invite Message without its own SDP to the callee for the session renegotiation with the callee so as to obtain the latest SDP of the callee.  
         [0120]     16. The callee returns the 200 OK Response Message containing its own SDP.  
         [0121]     17. The application server AS 2  sends the Update Message to the soft switch  2 , which then returns the Update Message containing a latest SDP of the callee to the soft switch  1 .  
         [0122]     18. The soft switch  1  returns the Update Message containing a SDP of the callee to the application server AS 1 .  
         [0123]     19. The application server AS 1  sends the re-Invite Message containing a SDP of the callee to the caller and performs the session negotiation with a caller so as to update the SDP of the callee at the caller side.  
         [0124]     20. The caller performs the update of the SDP of the callee, changes the SDP of the original connected MRS of the caller to the latest SDP of the callee, and after the success of the update, returns the 200 OK Response Message containing its own SDP to the application server AS 1 .  
         [0125]     21. The application server AS 1  returns the 200 OK Response Message containing a SDP of the caller to the soft switch  1 , which then sends the Message to the soft switch  2 .  
         [0126]     22. The soft switch  2  returns the 200 OK Response Message containing a SDP of the caller to the application server AS 2 .  
         [0127]     23. The application server AS 2  sends the final ACK Message containing a SDP of the caller to the callee and till then, a complete session renegotiation between the callee and the caller is finished.  
         [0128]     24. The application server AS 2  returns the 200 OK Response Message for the picked-up callee to the soft switch  2 , the soft switch  2  then sends the Message to the soft switch  1 , the soft switch  1  transfers it to the application server AS 1 , and after receiving the Picked-up Message of the callee, the application server AS 1  sends Bye Message (ending playing the ring) to the MRS of the caller to stop playing the ring back tone for the caller.  
         [0129]     25. The application server AS 1  returns the final ACK Message to the caller.  
         [0130]     26. The application server AS 2  returns the final ACK Message through the soft switches  1  and  2  to the application server AS 2  and the communication between the caller and the callee is established accordingly.  
         [0131]     It can be seen from the above procedure that in the multi-service nesting flow established by the call of the caller, after the callee is picked up, the application server AS 2  of the callee sends the re-Invite Message without its own SDP to the callee for the session renegotiation with the callee, then the callee returns the 200 OK Response Message containing its own SDP to the application server AS 2  of the callee server, and the application server AS 2  of the callee server sends the Update Message containing a SDP of the callee to the application server AS 1  of the caller so as to realize the update of the SDP of the callee at the caller side and accordingly guarantee the communication is established between the caller and the callee.  
         [0132]     The above embodiments illustrate the multi-service triggering in detail with an example of triggering two service flows (relating two soft switches and two application servers). The realization principle for nesting triggering more than two services or flows is the same with that for triggering two services or flows, and the only difference is that it may relate to more soft switches and application servers to transmit the above signalings level by level.  
         [0133]     Obviously, those skilled in the art may make improvements and modifications to the present invention without departing from the spirit and range of the present invention. It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.