WO2017157144A1 - Sip over tcp/tls-based communication method and associated device - Google Patents

Sip over tcp/tls-based communication method and associated device Download PDF

Info

Publication number
WO2017157144A1
WO2017157144A1 PCT/CN2017/074382 CN2017074382W WO2017157144A1 WO 2017157144 A1 WO2017157144 A1 WO 2017157144A1 CN 2017074382 W CN2017074382 W CN 2017074382W WO 2017157144 A1 WO2017157144 A1 WO 2017157144A1
Authority
WO
WIPO (PCT)
Prior art keywords
association
sbc
terminal
network
media stream
Prior art date
Application number
PCT/CN2017/074382
Other languages
French (fr)
Chinese (zh)
Inventor
徐永国
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2017157144A1 publication Critical patent/WO2017157144A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/25Maintenance of established connections

Definitions

  • the present invention relates to the field of communication technologies, and more particularly to a SIP over TCP/TLS based communication technology.
  • IMS IP Multimedia System IP Multimedia Subsystem
  • SIP Over TCP/TLS Smart terminal mobility, data security, and power consumption requirements require SIP Over TCP/TLS.
  • SIP Over TCP/TLS technology also involves a Session Border Controller (SBC) and Call Session Control Function (CSCF) network element.
  • SBC Session Border Controller
  • CSCF Call Session Control Function
  • the terminal In the process of terminal movement, flashing, switching (Wifi, 3G/4G mutual cutting), returning from Wifi edge to Wifi coverage area (collectively referred to as network interruption) will cause TCP interrupt, for SIP Over TCP
  • the terminal re-initiates registration and re-initiates the service to the SBC.
  • the SBC will use the new contact address Contact header field to register with the CSCF.
  • the CSCF finds that it is a new Contact ID and considers it to be an offsite login.
  • the existing call service and its session resources are removed. If the call service connection is required, the terminal needs to re-initiate the call, which consumes traffic and increases service delay, which greatly reduces the user experience.
  • the purpose of the embodiments of the present invention is to provide a SIP over TCP/TLS-based communication method and related device to implement call service connection and reduce service delay.
  • an embodiment of the present application provides a SIP over TCP/TLS based communication method, in which, after a network interruption, both the mobile terminal and the SBC keep the call service from hanging up, and the SBC does not release the allocated for the mobile terminal. Session resources. After the network is restored, the SBC uses the associated information provided by the mobile terminal to perform association validity detection. If the detection is successful, the SBC initiates periodic registration with the CSCF using the session resources allocated for the mobile terminal before the network interruption. After the network is restored, the mobile terminal also sends media stream data to the SBC, so that after the detection is successful, the SBC performs the first packet learning.
  • the CSCF Since the session resources used for periodic registration after recovery are the same as those before the interruption, the CSCF does not perceive the network change and does not release the existing call service. After the network is restored, the media stream can be immediately transmitted, and the new address after the network recovery is obtained through the first packet learning, and the destination address of the media stream sent by the subsequent SBC to the terminal side is also the new address. Since the call service is not released before the timeout, and the first packet learning is resumed, the call service connection can be realized without re-initiating the call, and the service interruption time is reduced, and the service experience is improved.
  • the SBC reassigns the session resources to the terminal after the association legitimacy detection fails.
  • the reassigned session resources initiate periodic registration with the CSCF.
  • the SBC will then initiate periodic registration with the CSCF using the reassigned session resources. This makes communication better.
  • the SBC regardless of whether the association validity check is successful, the SBC generates and returns the association ID used in the next association validity check. More specifically, the association ID for the next association legitimacy detection may be carried in the success response message returned by the SBC. Further, taking the success response message as an example, the nextAssociateId field may be added in the Contact header field of the success response message, and the value in the nextAssociateId field is the association ID. By adding a field to the existing SIP message to carry the association ID, the SBC process is simple and consumes no performance, and there is no additional signaling overhead. Alternatively, the association ID used for the next association validity check may also be carried in the newly added SIP message returned by the SBC. This design does not need to change the format of the original SIP message. In one example, the association ID can be a call ID or a service cookie. In another example, the association ID may be generated by the SBC according to the set generation rules.
  • the SBC obtains the associated information by receiving a registration message carrying the associated information or a new SIP message carrying the associated information. More specifically, the associationId field may be included in the registration message or the new SIP message, and the field value is associated information. This makes it better to implement call connection.
  • the foregoing association validity detection may include: searching for a corresponding session resource according to the association ID. If the association validity check is successful, the association validity detection fails. This makes it better to implement call connection.
  • the association information further includes an MD5 value obtained by performing, by the terminal, an MD5Hash operation on the random password, where the random password is allocated together with the association ID before the network interruption
  • the terminal's The SBC obtains the associated information by receiving an RTCP message carrying the associated information.
  • the RTCP message is used to activate the SBC to re-learn the first packet of the media stream, which can reduce the disconnection time of the call after the network flash recovery.
  • the foregoing association validity detection may include: searching for a corresponding session resource according to the association ID; performing MD5 verification on the MD5 value in the RTCP message; if the corresponding session resource is found and the MD5 verification succeeds, The association validity check is successful, otherwise the association legality detection fails.
  • the introduction of MD5 verification can improve the security of call connection.
  • the SBC will also generate and return the associated ID and random password used in the next association validity check.
  • the association ID and random password may be carried in a SIP message returned by the SBC, such as a success response message (200 OK message) or a new SIP message.
  • the nextAssociateId field may be added in the Contact header field of 200 OK, and the value in the nextAssociateId field is the associated ID.
  • an embodiment of the present invention provides an SBC having a function of realizing the SBC behavior in the above method.
  • the functions may be implemented by hardware or by corresponding software implemented by hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • the structure of the SBC includes a processor, a memory, the processor executing the above method by running a software program stored in the memory, invoking data stored in the memory.
  • an embodiment of the present invention provides a terminal, where the terminal has a function of implementing CSU behavior in the actual method.
  • the functions may be implemented by hardware or by corresponding software implemented by hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • the structure of the terminal includes: a processor, a memory, the processor, by running a software program stored in the memory, calling data stored in the memory, performing at least: after a network interruption And maintaining the call service on the terminal side is not released; after the network is restored, sending the association information to the SBC; the association information is used by the SBC to perform association validity detection, where the association information includes at least an association ID, and the association The ID indicates the session resource allocated to the terminal by the SBC before the network is interrupted.
  • the session resource indicated by the association ID is used by the SBC to initiate periodic registration with the CSCF;
  • the media stream data corresponding to the call service is transmitted to the SBC, and the media stream data is sent by using a new address, and the first packet in the media stream data is used by the SBC to learn the new address.
  • an embodiment of the present invention provides a computer storage medium for storing computer software instructions for use in the SBC, including a program designed to perform the above aspects.
  • an embodiment of the present invention provides a computer storage medium for storing computer software instructions for use in the terminal, including a program designed to perform the above aspects.
  • both the mobile terminal and the SBC keep the call service from hanging up, and the SBC does not release the session resources allocated for the mobile terminal.
  • the mobile terminal provides the associated information to the SBC, and the SBC uses the associated information to perform association validity detection. If the detection is successful, the SBC initiates periodic registration with the CSCF using the session resources allocated for the mobile terminal before the network interruption. Since the session resources used for periodic registration after recovery are the same as those before the interruption, the CSCF does not perceive the network change and does not release the existing call service.
  • the media stream can be immediately transmitted, and the new address after the network recovery is obtained through the first packet learning, and the destination address of the media stream sent by the subsequent SBC to the terminal side is also the new address. Since the call service is not released before the timeout, and the first packet learning is resumed, the call service connection can be realized without re-initiating the call, and the service interruption time is reduced, and the service experience is improved.
  • FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present disclosure
  • FIG. 2a-2b, FIG. 3, FIG. 4a-4c, FIG. 5a-5b, and FIG. 6 are schematic diagrams of interaction of a SIP over TCP/TLS based communication method according to an embodiment of the present invention
  • FIG. 7a and 7b are schematic diagrams showing possible structures of an SBC according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a terminal according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic diagram of another possible structure of an SBC or a terminal according to an embodiment of the present invention.
  • the embodiment of the present invention provides a SIP over TCP/TLS-based communication method and related device, so as to implement call service connection after network recovery, and at the same time, does not reduce the processing performance of the SBC or other IMS network elements.
  • Related devices involved in the embodiments of the present invention include a mobile terminal, an SBC, and a CSCF.
  • Figure 1 shows an application scenario of the above mobile terminal (MB), SBC and CSCF: during the mobile process, the mobile terminal recovers after an interruption, such as network flashing and network switching, and its public network address is changed from IP1 to IP1. IP2.
  • an interruption such as network flashing and network switching
  • FIG. 1 exemplarily shows a mobile terminal.
  • the number of mobile terminals is not limited to one, and may be more.
  • the change of the IP network accessed by the mobile terminal can also be considered as a network handover.
  • the mobile terminal is mainly responsible for logging in to the server, initiating a call, and transmitting an audio and video RTP media stream.
  • the SBC is primarily responsible for signaling and media agents for terminal access.
  • the CSCF is mainly responsible for signaling control during user login and processing of a multimedia call session.
  • SIP protocol is a Client/Sever protocol, so SIP messages can be divided into two types: request messages and response messages.
  • the SIP request message related to the present invention is as follows:
  • INVITE indicates that the calling user initiates a session request and invites other users to join a session. It can also be used to update the session after the call is established (the INVITE is also called Re-invite at this time);
  • REGISTER Indicates the address information registered in the To field.
  • the response message in the SIP protocol is used to respond to the request message, indicating the success or failure status of the call.
  • the response message involved in the present invention is as follows:
  • An embodiment of the present invention provides a SIP over TCP/TLS based communication method, and a mobile terminal, a BSC, and a CSCF based on the method.
  • 2a is a schematic diagram of interaction of a communication method according to an embodiment of the present invention, which may generally include several sub-processes: an initial registration process, a call process, a network interruption process, a re-registration process after network recovery, and a call connection process.
  • FIG. 3 shows the signaling interaction
  • the initial registration process can include the following parts:
  • Part 200 The terminal (UE) registers using Sip Over Tcp/TLS in accordance with standard procedures.
  • the SYN and ACK messages in Figure 3 represent the TCP networking process.
  • the SBC allocates session resources to the terminal.
  • the session resource includes a contact ID (indicated by contact ID1 in FIG. 3), and initiates a periodic registration to the CSCF (initiating a REGISTER message including contact ID1).
  • the periodic registration is used to maintain the registration session, which is equivalent to the heartbeat.
  • the signaling of the three interactions involves a REGISTER message, a 401 response message, and a 200 OK message.
  • Section 201 After successful registration, the SBC returns an association identifier (ID) to the terminal.
  • ID association identifier
  • the association ID may be carried in the SIP message returned by the SBC, for example, a success response message (200 OK message).
  • the nextAssociateId field may be added in the Contact header field of the 200 OK, and the value in the nextAssociateId field is the associated ID.
  • association ID may also be carried in the newly added SIP message.
  • nextAssociateId field may be set in the Contact header field of the newly added SIP message, and the value in the nextAssociateId field is the association ID. At this point, you need to redefine the detection interface and associated information. This does not change the original SIP message format.
  • the association ID may indicate the session resource allocated by the SBC to the terminal, or the association ID represents a correspondence between the terminal and the session resource allocated by the SBC.
  • the association ID can be used for the next association validity check.
  • the related legality detection will be introduced later in this paper.
  • the SBC can generate an association ID according to the set generation rule and return it to the terminal.
  • the terminal only transparently transmits the association ID, and the SBC can customize the content of the association ID.
  • the call process is reflected in section 202. Reference may be made to existing technologies such as call setup and media stream data transmission, and details are not described herein. It should be noted that the current address of the media stream data is IP1. After a subsequent network interruption and recovery, its address will be changed to IP2.
  • the address here refers specifically to the IP address of the public network NAT corresponding to the terminal. In fact, most of the terminals send messages in the wifi scenario.
  • the IP address used is the private network IP address. After the media stream or data sent by the terminal reaches the public network, it will correspond to the IP address of the public network NAT. This address is initially SBC and The terminal does not know. The SBC needs to learn the IP header of the media stream or data (that is, the initial IP packets), obtain the IP address of the public network NAT corresponding to the terminal, and record it.
  • the call process signaling involves at least an INVITE message and a 200 OK message.
  • the network interrupt processing process can include the following parts:
  • Part 203 After the network is interrupted, the terminal does not immediately release the call on the terminal side (maintaining VoIP), the purpose of which is to make the call not hang up.
  • the terminal can keep the existing call service on the terminal side from being released within 15-30 seconds (which can be longer or shorter).
  • Part 204 After detecting the TCP abnormality on the terminal side, the SBC does not release the corresponding session resources before waiting for the timeout, and keeps the call service corresponding to the terminal from being released (that is, the call is not hanged).
  • section 204 the associated ID of the terminal is not released until the timeout is waited.
  • the SBC if waiting for a timeout, the SBC will release the associated ID, session resources, and release call service corresponding to the terminal.
  • the terminal generally sends the media stream in the normal call process. Therefore, the SBC can release the association ID, the session resource, and the call service after the media stream is not timed out, and the associated ID is not released until the media stream expires. , session resources and call services.
  • the re-registration process after network recovery can include the following parts:
  • Section 205 After the network is restored, the terminal initiates registration.
  • the association ID assigned to the SBC can be carried in the registration message. More specifically, an associateId field may be added to the REGISTER message, and the field value is a value in the 201 part of the nextAssociateId field.
  • the new SIP request message can also be used to carry the association ID.
  • the associateId field may be set in the newly added SIP message, and the field value is a value in the 201 part of the nextAssociateId field.
  • Section 206 The SBC uses the association ID for association validity detection.
  • the SBC can find the corresponding session resource according to the association ID. If the association is found, the association validity check is successful, otherwise the association legality detection fails.
  • Section 207 If the association validity check is successful, the SBC initiates periodic registration with the CSCF using the session resource indicated by the association ID.
  • the SBC will initiate periodic registration with the CSCF using the previous ContactID1. Since the ContactID1 remains unchanged before and after the network interruption, the CSCF does not perceive the network change and does not release the existing call.
  • the SBC will re-allocate the session resources (part 2071) for the terminal.
  • the session resource includes a contact ID, and the reassigned contact ID can be referred to as contact ID2.
  • the SBC will then initiate a periodic registration (part 2,072) to the CSCF using the reassigned session resource (contact ID2).
  • Section 208 The SBC generates and returns the association ID used in the next association validity check.
  • the SBC may carry the associated ID used in the next association legitimacy check in the next AssociatedId of the registered 200 OK.
  • the 200 OK may also carry the association legality detection identifier assFlag, which is used to notify the terminal whether the validity check of the association is successful.
  • the SBC generates and returns the association ID used in the next association validity check.
  • the call connection process can include the following parts:
  • Section 209 The terminal transmits media stream data corresponding to the call service.
  • the terminal may transmit media stream data corresponding to the call service after confirming that the association validity detection is successful.
  • association legality detection identifier assFlag may be carried in the 200 OK, and is used to notify the terminal whether the validity check of the association is successful.
  • the terminal can confirm whether the association legality detection is successful according to the assFlag.
  • the terminal may also send the association information and the media stream data at the same time. After confirming that the association validity detection fails, the terminal stops transmitting the media stream data.
  • the current address of the media stream data is IP1, and in the 209 part, the address is changed to IP2, that is, the new address.
  • Part 210 The SBC learns the first packet of media stream data and obtains a new address.
  • the SBC will find the relevant call service according to the current subscriber number of the mobile terminal, and support the new address.
  • the media stream data of the call service is received, and the first packet of the media stream data is learned to obtain a new address.
  • the SBC will receive the relevant data of the above call service with the new address.
  • the destination address of the media stream sent by the SBC to the terminal side is also the new address.
  • the first package of learning is a relatively mature technology, and will not be described here.
  • Section 211 The terminal initiates re-Invite to maintain the original call.
  • the re-invite is initiated to maintain the session heartbeat of the call, and try to keep the information on the terminal and the server side consistent.
  • both the mobile terminal and the SBC keep the call service from hanging up, and release the session resources allocated for the mobile terminal.
  • the mobile terminal provides the associated information to the SBC, and the SBC uses the associated information to perform association validity detection. If the detection is successful, the SBC initiates periodic registration with the CSCF using the session resources allocated for the mobile terminal before the network interruption. Since the session resources used for periodic registration after recovery are the same as those before the interruption, the CSCF does not perceive the network change and does not release the existing call service.
  • the media stream can be immediately transmitted, and the new address after the network recovery is obtained through the first packet learning, and the destination address of the media stream sent by the subsequent SBC to the terminal side is also the new address. Since the call service is not released before the timeout, and the first packet learning is resumed, the call service connection can be realized without re-initiating the call, and the service interruption time is reduced, and the service experience is improved.
  • the session information may also be used as an association ID, for example, a Call ID (Call ID is a random string generated according to a certain rule) or a service cookie (Service Side Session Mapping Information) as an association ID.
  • a Call ID is a random string generated according to a certain rule
  • a service cookie Service Side Session Mapping Information
  • the terminal (UE) registers using Sip Over Tcp/TLS in accordance with standard procedures.
  • Figure 4b shows the signaling interaction
  • the 400 part is similar to the 200 part and will not be described here.
  • the SBC will not need to generate the association ID specifically, and there is no need to add the nextAssociateId to the returned SIP message as in the embodiment (part 201) shown in Figures 2a, 2b and 3. Field.
  • Part 401 The terminal initiates a call.
  • Part 402 After the network is interrupted, the terminal does not immediately release the call on the terminal side (maintaining VoIP), the purpose of which is to make the call not hang up.
  • Section 402 is similar to Section 203 and will not be described here.
  • Section 403 After detecting the TCP abnormality on the terminal side, the SBC does not release the corresponding session resources before waiting for the timeout, and keeps the call service corresponding to the terminal from being released (that is, the call is not hanged).
  • Section 403 is similar to Section 204 and will not be described here.
  • Section 404 After the network is restored, the terminal initiates registration.
  • Part 405 The SBC uses the association ID (ie, call ID) for association validity detection.
  • association ID ie, call ID
  • the SBC can find the corresponding session resource according to the association ID. If the association is found, the association validity check is successful, otherwise the association legality detection fails.
  • Part 406 If the association validity check is successful, the SBC initiates periodic registration with the CSCF using the session resource indicated by the association ID.
  • Section 406 is similar to Section 207 and will not be repeated here.
  • the SBC will reallocate the session resources (part 2061) for the terminal.
  • the session resource includes a contact ID, and the reassigned contact ID can be referred to as contact ID2.
  • the SBC will then initiate periodic registration (part 2062) to the CSCF using the reassigned session resource (contact ID2).
  • Part 407 The SBC returns a SIP message.
  • the SIP message may carry the association legality detection identifier assFlag, and is used to notify the terminal whether the validity check of the association is successful.
  • Section 408 The terminal transmits media stream data corresponding to the call service.
  • the terminal may transmit the media stream data corresponding to the call service, and after confirming that the association validity check fails, the terminal does not start to transmit the media stream data corresponding to the call service. Operation ( Figure 4c).
  • the terminal may also send the association information and the media stream data at the same time, and after confirming that the association validity detection fails, the terminal stops transmitting the media stream data.
  • the terminal may also send the association information and the media stream data at the same time, and after confirming that the association validity detection fails, the terminal stops transmitting the media stream data.
  • Part 409 If the association validity check is successful, the SBC learns the first packet of the media stream data to obtain a new address.
  • Section 409 is similar to section 210 and will not be repeated here.
  • Part 410 If the association validity check is successful, the terminal initiates re-Invite to maintain the original call.
  • Section 410 is similar to Section 211 and will not be described here.
  • FIG. 5a and 6 illustrate yet another exemplary interaction process of the above communication method
  • FIG. 6 embodies the signaling interaction involved in the interaction process shown in FIG. 5a
  • FIG. 5a may generally include several sub-processes: initial registration process, call Process, network interruption processing, first packet re-learning process after network recovery, and call connection process.
  • Figure 6 illustrates the signaling interaction.
  • the interaction between the SBC and the CSCF is the same as that of all the foregoing embodiments. Therefore, the interaction between the SBC and the CSCF is omitted in FIGS. 5a and 6.
  • FIGS. 5a and 6 For details, refer to all the foregoing embodiments.
  • the initial registration process can include the following parts:
  • Part 500 The terminal (UE) registers using Sip Over Tcp/TLS in accordance with standard procedures.
  • the SBC allocates session resources to the terminal and initiates periodic registration to the CSCF (initiating a REGISTER message, including the contact ID).
  • the SBC After the periodic registration is successful, the SBC will return a 200 OK message.
  • the association ID is not returned, but the association ID is returned during the call.
  • the call process includes at least the following parts:
  • Section 501 After the registration is successful, the terminal sends an INVITE message to the SBC to establish a call;
  • Section 502 The SBC generates and returns an association ID and a random password (pwd) to the terminal.
  • the association ID and random password can be carried in the SIP message returned by the SBC, for example, a success response message (200 OK for invite message).
  • the nextAssociateId field may be added in the Contact header field of the 200 OK, and the value in the nextAssociateId field is the association ID and the random password (pwd).
  • association ID and the random password can also be carried in the newly added SIP message.
  • nextAssociateId field can be set in the Contact header field of the newly added SIP message, and the value in the nextAssociateId field is the association ID and the random password.
  • the SBC can generate an association ID according to the set generation rule.
  • the terminal only transparently transmits the association ID, and the SBC can customize the content of the association ID.
  • the association ID is server-cookie.
  • the network interrupt processing process can include the following parts:
  • Section 503 After the network is interrupted, the terminal does not immediately release the call on the terminal side (maintaining VoIP), the purpose of which is to make the call not hang up.
  • Section 504 After detecting the TCP abnormality on the terminal side, the SBC does not release the corresponding session resource and association ID before waiting for the timeout, and keeps the call service corresponding to the terminal from being released (that is, the call is not hanged).
  • Sections 503-504 are identical to sections 203-204 and will not be described here.
  • FIG. 6 omits the network interrupt processing procedure.
  • the first packet re-learning process after network recovery includes at least the following parts:
  • Section 505 The terminal sends an RTCP (Real Time Transmission Control Protocol) message carrying the associated information to the SBC.
  • RTCP Real Time Transmission Control Protocol
  • the first, second, and fourth in the first packet re-learning process shown in FIG. 6 are standard protocol flows, in which Nonce and next nonce are used for authentication in registration.
  • the third process corresponds to "the terminal sends an RTCP message carrying the associated information to the SBC.”
  • the association information includes the association ID and the MD5 value (that is, MD5-Auth).
  • the MD5 value is obtained by the terminal performing MD5Hash operation on the random password obtained during the call.
  • an associateId field may be added to the RTCP message, and the field value is the association ID and the MD5 value returned by the 502 part.
  • Section 506 At the same time, the terminal sends a media stream corresponding to the call service to the SBC.
  • the address here refers specifically to the IP address of the public network NAT corresponding to the terminal. In fact, most of the terminals are in the wifi scene. Send the message, the IP address used is the private network IP address. After the media stream or data sent by the terminal reaches the public network, it will correspond to the IP address of the public network NAT. This address is not known to the SBC and the terminal at first. The SBC needs to learn the IP header (that is, the first packet) of the media stream or data, and obtain the IP address of the public network NAT corresponding to the terminal.
  • Section 507 The SBC uses the associated ID and MD5 values for association validity detection.
  • the SBC searches for the corresponding session resource according to the association ID, and performs MD5 check on the MD5 value in the RTCP message; if the corresponding session resource is found and the MD5 check succeeds, the association legality detection succeeds, otherwise the association legality The test failed.
  • the MD5 check can include:
  • the SBC performs the MD5 value obtained by the MD5Hash operation using the random password previously assigned to the terminal.
  • the MD5 value generated by the terminal and sent to the SBC can be referred to as the first MD5 value
  • the MD5 generated by the SBC is referred to as the second MD5 value.
  • the SBC compares the first MD5 value with the second MD5 value. If the two are equal, the MD5 check succeeds, otherwise the MD5 check fails.
  • Section 508 If the association validity check is successful, the SBC supports receiving media stream data from the new address, re-learning the first packet of the media stream data, and obtaining a new address.
  • the SBC after the association validity check is successful, the SBC also initiates periodic registration with the CSCF using the session resource indicated by the association ID.
  • the SBC will re-allocate the session resources (part 5081) for the terminal.
  • the session resource includes a contact ID, and the reassigned contact ID can be referred to as contact ID2.
  • the SBC will then initiate periodic registration (Part 5082) to the CSCF using the reassigned session resource (contact ID2).
  • the SBC will not perform the first packet learning, and discard the received media stream corresponding to the call service of the terminal (part 5083).
  • Section 509 The terminal initiates re-Invite to maintain the original call.
  • Section 510 The SBC generates and returns to the terminal the association ID and random password (pwd) used in the next association validity check.
  • the association ID and random password can be carried in the SIP message returned by the SBC, for example, a success response message (200 OK for invite message).
  • the nextAssociateId field may be added in the Contact header field of the 200 OK, and the value in the nextAssociateId field is the association ID and the random password (pwd).
  • association ID and the random password can also be carried in the newly added SIP message.
  • nextAssociateId field can be set in the Contact header field of the newly added SIP message, and the value in the nextAssociateId field is the association ID and the random password.
  • the SBC generates and returns the association ID used in the next association validity check.
  • this embodiment using the RTCP message to activate the SBC to re-learn the first packet of the media stream, the call disconnection time of the call after the network flash recovery is reduced.
  • this embodiment introduces MD5 check, which can improve the security of call connection.
  • the STG tunneling scheme is generally adopted, and this scheme requires a tunnel between the mobile terminal and the STG server.
  • the STG server is deployed separately or the SBC built-in STG server, and the mobile terminal side needs to be embedded in the STG client.
  • the program is started, one or more tunnels are established between the mobile terminal and the STG server, and SIP messages and media stream data are transmitted on the tunnel.
  • the STG client embedded in the mobile terminal re-establishes the tunnel.
  • the information such as the virtual IP address and port that the STG client provides to the service remains the same as before, and the network interruption is not reflected for the service. In this way, SIP messages and media stream data can continue to be transmitted without perceiving the process of network interruption, thereby achieving call continuity.
  • the technical solution provided by the present invention does not need to establish a tunnel, and does not need to deploy an STG server or deploy an STG server in the SBC.
  • the IMS network element such as the CSCF does not need to perform additional processing, and the SBC does not add too much processing, so This will result in a decrease in the processing performance of the SBC.
  • FIG. 7a is a schematic diagram showing a possible structure of an SBC involved in the above embodiment, including:
  • the holding unit 701 is configured to: after the network interruption is detected, before the timeout is waited, the session resources corresponding to the terminal are not released, and the call service corresponding to the terminal is not released;
  • the session resource is allocated to the terminal before the network is interrupted by the SBC; and after the network is interrupted, the terminal will also keep the call service on the terminal side from being released.
  • the first receiving unit 702 is configured to receive association information from the terminal, where the association information includes at least an association ID, where the association ID indicates a session resource allocated by the SBC to the terminal before the network is interrupted;
  • the association legality detecting unit 703 is configured to perform association legality detection by using the foregoing association information.
  • the registration unit 704 is configured to initiate a periodic registration to the CSCF by using the session resource indicated by the association ID when the association validity check is successful.
  • a second receiving unit 705, configured to receive media stream data corresponding to the foregoing call service; the media stream data is sent by using a new address;
  • the learning unit 706 is configured to learn the first packet of the media stream data to obtain the new address.
  • the foregoing SBC may further include a generating unit 707, configured to generate and Returns the association ID used in the next association validity check.
  • the holding unit 701 can be used to perform the 204 portion shown in Figures 2a and 2b, the 403 portion shown in Figures 4a and 4c, and the 504 portion shown in Figures 5a and 5b.
  • the first receiving unit 702 can be configured to receive association information transmitted by the terminal in the portion 205 shown in Figures 2a and 2b, the portion 404 shown in Figures 4a and 4c, and the portion 505 shown in Figures 5a and 5b.
  • the second receiving unit 705 can be configured to receive media stream data transmitted by the terminal in the portion 209 shown in FIG. 2a, the portion 408 shown in FIG. 4a, and the portion 506 shown in FIGS. 5a and 5b, and in other embodiments, the receiving terminal transmits Media stream data.
  • the association legitimacy detecting unit 703 can be used to execute the 206 portion shown in Figs. 2a and 2b, the 405 portion shown in Figs. 4a and 4c, and the 507 portion shown in Figs. 5a and 5b.
  • the registration unit 704 can be used to perform the 200 and 207 portions shown in FIG. 2a, the 200 portion, the 2071 portion, and the 2072 portion shown in FIG. 2b, the 400 portion and the 406 portion shown in FIG. 4a, and the 400 portion shown in FIG. 4c.
  • the learning unit 706 can be used to perform the 210 portion shown in Figure 2a, the 409 portion shown in Figure 4a, the 508 portion shown in Figure 5a, and the 5084 portion shown in Figure 5b.
  • the generating unit 707 can be used to perform the 201 part and the 208 part shown in FIGS. 2a and 2b, the 502 part and the 510 part shown in FIG. 5a, the 502 part and the 5083 part shown in FIG. 5b, and further, the generating unit can also be used to execute the figure. Section 407 shown in 4a and 4c.
  • FIG. 8 is a schematic structural diagram of a terminal involved in the foregoing embodiment, including:
  • the holding unit 801 is configured to keep the call service on the terminal side from being released after the network is interrupted;
  • the first sending unit 802 is configured to send association information to the SBC after the network is restored;
  • the association information is used by the SBC to perform association validity detection, where the association information includes at least an association ID, and the association ID indicates a session resource allocated by the SBC to the terminal before the network interruption, and after the association validity detection is successful,
  • the session resource indicated by the foregoing association ID is used by the SBC to initiate periodic registration with the CSCF;
  • the second sending unit 803 is configured to: after the network is restored, transmit media stream data corresponding to the call service to the SBC, where the media stream data is sent by using a new address, and the first packet in the media stream data is used by the SBC to learn the foregoing. new address.
  • the holding unit 801 can be used to execute the portion 203 shown in Figs. 2a and 2b, the portion 402 shown in Figs. 4a and 4c, and the portion 503 shown in Figs. 5a and 5b.
  • the first transmitting unit 802 can be used to perform the 209 portion shown in FIG. 2a, the 404 portion shown in FIGS. 4a and 4c, and the 505 portion shown in FIGS. 5a and 5b.
  • the second transmitting unit 803 can be used to perform the 205 portion shown in Figures 2a and 2b, the 408 portion shown in Figure 4a, the 506 portion shown in Figures 5a and 5b, and the 5085 portion shown in Figure 5b.
  • the terminal may further include a calling unit, configured to complete call setup, and media stream data transmission during the call.
  • the call unit can be used to perform the 202 and 211 portions shown in Figure 2a, the 202 portion shown in Figure 2b, the 401 portion and the 410 portion shown in Figure 4a, the 401 portion shown in Figure 4c, and the 501 portion shown in Figure 5a. And part 509, part 501 shown in Figure 5b.
  • FIG. 9 is a schematic diagram showing another possible structure of the SBC/terminal involved in the foregoing embodiment, including:
  • controller/processor 1 memory 2, communication interface 3, input device 4, and output device 5.
  • the processor 1, the memory 2, the communication interface 3, the input device 4, and the output device 5 are connected to each other through a bus. among them:
  • the bus can include a path for communicating information between various components of the computer system.
  • the controller/processor 1 may be a general-purpose processor, such as a general-purpose central processing unit (CPU), a network processor (NP Processor, NP for short, a microprocessor, etc., or an application-specific integrated circuit. , ASIC), or one or more integrated circuits for controlling the execution of the program of the present invention. It can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components.
  • the controller/processor 1 can also be a combination of computing functions, such as one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
  • the program for executing the technical solution of the present invention is stored in the memory 2, and an operating system and other applications can also be saved.
  • the program can include program code, the program code including computer operating instructions.
  • the memory 2 may be a read-only memory (ROM), other types of static storage devices that can store static information and instructions, random access memory (RAM), storable information, and Other types of dynamic storage devices, disk storage, and the like.
  • Input device 4 may include means for receiving data and information input by a user, such as a keyboard, mouse, camera, scanner, light pen, voice input device, touch screen, and the like.
  • Output device 5 may include devices that allow output of information to the user, such as a display screen, printer, speaker, and the like.
  • Communication interface 3 may include devices that use any type of transceiver to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), and the like.
  • RAN Radio Access Network
  • WLAN Wireless Local Area Network
  • the controller/processor of the SBC can be used to perform the processes of the SBCs of Figures 2a-2b, 3, 4a-4c, 5a-5b, 6 and/or other processes for the techniques described herein. .
  • the controller/processor can also be used to implement the functions of the holding unit 701, the first receiving unit 702, the associated legitimacy detecting unit 703, the registration unit 704, the second receiving unit 705, the learning unit 706, and the generating unit 707.
  • the SBC's communication interface is used to support the SBC to communicate with other devices.
  • the OBU is used to support communication with other devices shown in Figures 2a-2b, 3, 4a-4c, 5a-5b, and 6.
  • the controller/processor of the terminal can be used to perform the processes involved in the terminal of Figures 2a-2b, 3, 4a-4c, 5a-5b, 6 and/or other processes for the techniques described herein .
  • the controller/processor of the RSU can also be used to implement the functions of the holding unit 801, the first transmitting unit 802, the second transmitting unit 803, and the calling unit.
  • the communication interface of the terminal is used to support the terminal to communicate with other devices.
  • the support terminal is in communication with other devices shown in Figures 2a-2b, 3, 4a-4c, 5a-5b, and 6.
  • Figure 9 only shows a simplified design of the SBC or terminal.
  • the SBC or terminal may include any number of transmitters, receivers, processors, controllers, memories, communication interfaces, etc., and all SBCs or terminals that can implement the present invention are within the scope of the present invention. .
  • the steps of a method or algorithm described in connection with the present disclosure may be implemented in a hardware, or may be implemented by a processor executing software instructions.
  • the software instructions may be composed of corresponding software modules, which may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, Mobile hard disk, CD-ROM or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor to enable the processor to read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and the storage medium can be located in an ASIC. Additionally, the ASIC can be located in the user equipment.
  • the processor and the storage medium may also reside as discrete components in the user equipment.
  • the functions described herein can be implemented in hardware, software, firmware, or any combination thereof.
  • the functions may be stored in a computer readable medium or transmitted as one or more instructions or code on a computer readable medium.
  • Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another.
  • a storage medium may be any available media that can be accessed by a general purpose or special purpose computer.

Abstract

The invention relates to the field of communications, and in particular, to a session initiation protocol (SIP) over transmission control protocol (TCP)/ transport layer security (TLS)-based communication method and an associated device. The communication method comprises: after a network disconnection, a mobile terminal and a session border controller (SBC) maintain a service alive, and the SBC does not release a session resource allocated to the mobile terminal; after a network connection recovers, the SBC checks, using association information provided by the mobile terminal, association validity, if the association validity passes, the SBC uses the session resource allocated to the mobile terminal prior to the network disconnection to initiate to a call session control function (CSCF) a periodic registration; and after the network connection recovers, the mobile terminal further transmits to the SBC medium stream data to enable the SBC to learn from a first packet once the association validity passes. Accordingly, the terminal can realize calling service continuation without re-initiating another call, reducing service downtime, and increasing service experience.

Description

基于SIP over TCP/TLS的通信方法及相关装置Communication method based on SIP over TCP/TLS and related device
本申请要求于2016年3月14日提交中国专利局、申请号为201610143258.6、发明名称为“基于SIP over TCP/TLS的通信方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. 201610143258.6, entitled "SIP over TCP/TLS based communication method and related device", filed on March 14, 2016, the entire contents of which are hereby incorporated by reference. Combined in this application.
技术领域Technical field
本发明涉及通信技术领域,更具体地说,涉及基于SIP over TCP/TLS的通信技术。The present invention relates to the field of communication technologies, and more particularly to a SIP over TCP/TLS based communication technology.
背景技术Background technique
随着智能终端和VoIP的迅速发展,基于IMS(IP Multimedia System IP多媒体子系统)SIP呼叫的应用越来越多。With the rapid development of smart terminals and VoIP, more and more applications based on IMS (IP Multimedia System IP Multimedia Subsystem) SIP calls.
智能终端的移动性,数据安全以及耗电要求,需要使用SIP Over TCP/TLS。SIP Over TCP/TLS技术还涉及会话边界控制器(SBC)和呼叫会话控制功能(CSCF)网元。Smart terminal mobility, data security, and power consumption requirements require SIP Over TCP/TLS. The SIP Over TCP/TLS technology also involves a Session Border Controller (SBC) and Call Session Control Function (CSCF) network element.
在终端移动的过程中,闪断、切换(Wifi、3G/4G互切)、从Wifi边缘回到Wifi覆盖区等情况(可统称为网络中断)均会引起TCP中断,对于SIP Over TCP的音视频呼叫业务,TCP中断后,终端向SBC重新发起注册、重新发起业务。SBC会使用新的联系地址Contact头域向CSCF注册,CSCF发现是新的Contact ID,认为是异地登录,拆除已有呼叫业务及其会话资源。如果需要呼叫业务接续,终端需要重新发起呼叫,这样既耗流量,又增加了业务时延,大大降低用户体验。In the process of terminal movement, flashing, switching (Wifi, 3G/4G mutual cutting), returning from Wifi edge to Wifi coverage area (collectively referred to as network interruption) will cause TCP interrupt, for SIP Over TCP After the video is interrupted, the terminal re-initiates registration and re-initiates the service to the SBC. The SBC will use the new contact address Contact header field to register with the CSCF. The CSCF finds that it is a new Contact ID and considers it to be an offsite login. The existing call service and its session resources are removed. If the call service connection is required, the terminal needs to re-initiate the call, which consumes traffic and increases service delay, which greatly reduces the user experience.
发明内容Summary of the invention
有鉴于此,本发明实施例的目的在于提供基于SIP over TCP/TLS的通信方法及相关装置,以实现呼叫业务接续,减少业务时延。In view of this, the purpose of the embodiments of the present invention is to provide a SIP over TCP/TLS-based communication method and related device to implement call service connection and reduce service delay.
一方面,本申请的实施例提供基于SIP over TCP/TLS的通信方法中,在该方法中,网络中断后,移动终端和SBC均保持呼叫业务不挂断,SBC也不释放为移动终端分配的会话资源。在网络恢复后,SBC使用移动终端提供的关联信息进行关联合法性检测,若检测成功,SBC使用网络中断前为移动终端分配的会话资源向CSCF发起周期性注册。在网络恢复后,移动终端还向SBC发送媒体流数据,以便检测成功后,SBC进行首包学习。由于恢复后进行周期性注册采用的会话资源与中断前的相同,这使得CSCF感知不到网络变化,不会释放已有的呼叫业务。网络恢复后可以立即传送媒体流,通过首包学习得到网络恢复后的新地址,后续SBC往终端侧发送的媒体流的目的地址,也是该新地址。由于在超时前不会释放呼叫业务,并重新进行了首包学习,所以无需重新发起呼叫就可以实现呼叫业务接续,并且减少了业务中断时间,提升了业务体验。In one aspect, an embodiment of the present application provides a SIP over TCP/TLS based communication method, in which, after a network interruption, both the mobile terminal and the SBC keep the call service from hanging up, and the SBC does not release the allocated for the mobile terminal. Session resources. After the network is restored, the SBC uses the associated information provided by the mobile terminal to perform association validity detection. If the detection is successful, the SBC initiates periodic registration with the CSCF using the session resources allocated for the mobile terminal before the network interruption. After the network is restored, the mobile terminal also sends media stream data to the SBC, so that after the detection is successful, the SBC performs the first packet learning. Since the session resources used for periodic registration after recovery are the same as those before the interruption, the CSCF does not perceive the network change and does not release the existing call service. After the network is restored, the media stream can be immediately transmitted, and the new address after the network recovery is obtained through the first packet learning, and the destination address of the media stream sent by the subsequent SBC to the terminal side is also the new address. Since the call service is not released before the timeout, and the first packet learning is resumed, the call service connection can be realized without re-initiating the call, and the service interruption time is reduced, and the service experience is improved.
在一个可能的设计中,SBC在关联合法性检测失败后,为终端重新分配会话资源,使用 重新分配的会话资源向CSCF发起周期性注册。之后,SBC将使用重新分配的会话资源向CSCF发起周期性注册。这样可更好得实现通信。In a possible design, the SBC reassigns the session resources to the terminal after the association legitimacy detection fails. The reassigned session resources initiate periodic registration with the CSCF. The SBC will then initiate periodic registration with the CSCF using the reassigned session resources. This makes communication better.
在一个可能的设计中,无论关联合法性检测是否成功,SBC均生成并返回在下一次关联合法性检测中使用的关联ID。更具体的,用于下一次关联合法性检测的关联ID可携带于由SBC返回的成功响应消息。进一步的,以成功响应消息为例,可在成功响应消息的Contact头域中增加nextAssociateId字段,在nextAssociateId字段中的值为关联ID。通过在现有的SIP消息中新增字段来携带关联ID,SBC处理简单不耗性能,并且也没有额外增加信令开销。或者,上述用于下一次关联合法性检测的关联ID亦可携带于由SBC返回的新增SIP消息中,这种设计可不必改变原有SIP消息的格式。在一个示例中,关联ID可为call ID或service cookie。在另一个示例中,关联ID可由SBC根据设定的生成规则生成。In one possible design, regardless of whether the association validity check is successful, the SBC generates and returns the association ID used in the next association validity check. More specifically, the association ID for the next association legitimacy detection may be carried in the success response message returned by the SBC. Further, taking the success response message as an example, the nextAssociateId field may be added in the Contact header field of the success response message, and the value in the nextAssociateId field is the association ID. By adding a field to the existing SIP message to carry the association ID, the SBC process is simple and consumes no performance, and there is no additional signaling overhead. Alternatively, the association ID used for the next association validity check may also be carried in the newly added SIP message returned by the SBC. This design does not need to change the format of the original SIP message. In one example, the association ID can be a call ID or a service cookie. In another example, the association ID may be generated by the SBC according to the set generation rules.
在一个可能的设计中,SBC通过接收携带关联信息的注册消息或携带关联信息的新增SIP消息来获取关联信息。更具体的,可在注册消息或新增SIP消息中具有associateId字段,字段值为关联信息。这样可更好得实现呼叫接续。In one possible design, the SBC obtains the associated information by receiving a registration message carrying the associated information or a new SIP message carrying the associated information. More specifically, the associationId field may be included in the registration message or the new SIP message, and the field value is associated information. This makes it better to implement call connection.
在一个可能的设计中,上述关联合法性检测可包括:根据关联ID查找相应的会话资源,若查找到,关联合法性检测成功,否则关联合法性检测失败。这样可更好得实现呼叫接续。In a possible design, the foregoing association validity detection may include: searching for a corresponding session resource according to the association ID. If the association validity check is successful, the association validity detection fails. This makes it better to implement call connection.
在一个可能的设计中,关联信息还包括MD5值;该MD5值是所述终端对随机密码进行MD5Hash运算得到的,所述随机密码是所述SBC在网络中断前连同所述关联ID一同分配给所述终端的。SBC则通过接收携带关联信息的RTCP消息来获取关联信息。本实施例使用RTCP消息激活SBC重新对媒体流的首包进行学习,可以减少网络闪断恢复后呼叫的断话时间。In a possible design, the association information further includes an MD5 value obtained by performing, by the terminal, an MD5Hash operation on the random password, where the random password is allocated together with the association ID before the network interruption The terminal's. The SBC obtains the associated information by receiving an RTCP message carrying the associated information. In this embodiment, the RTCP message is used to activate the SBC to re-learn the first packet of the media stream, which can reduce the disconnection time of the call after the network flash recovery.
在一个可能的设计中,上述关联合法性检测可包括:根据关联ID查找相应的会话资源;对上述RTCP消息中的MD5值进行MD5校验;若查找到相应的会话资源并且MD5校验成功,则关联合法性检测成功,否则关联合法性检测失败。引入MD5校验,可提高呼叫接续的安全性。In a possible design, the foregoing association validity detection may include: searching for a corresponding session resource according to the association ID; performing MD5 verification on the MD5 value in the RTCP message; if the corresponding session resource is found and the MD5 verification succeeds, The association validity check is successful, otherwise the association legality detection fails. The introduction of MD5 verification can improve the security of call connection.
在一个可能的设计中,SBC还将生成并返回在下一次关联合法性检测中使用的关联ID和随机密码。作为一个示例,关联ID和随机密码可承载在SBC返回的SIP消息中,例如,成功响应消息(200OK消息)或新增SIP消息。更具体的,可在200OK的Contact头域中增加nextAssociateId字段,在nextAssociateId字段中的值为关联ID。通过在现有的SIP消息中新增字段来携带关联ID,SBC处理简单不耗性能,并且也没有额外增加信令开销。In one possible design, the SBC will also generate and return the associated ID and random password used in the next association validity check. As an example, the association ID and random password may be carried in a SIP message returned by the SBC, such as a success response message (200 OK message) or a new SIP message. More specifically, the nextAssociateId field may be added in the Contact header field of 200 OK, and the value in the nextAssociateId field is the associated ID. By adding a field to the existing SIP message to carry the association ID, the SBC process is simple and consumes no performance, and there is no additional signaling overhead.
另一方面,本发明实施例提供了一种SBC,该SBC具有实现上述方法实际中SBC行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。On the other hand, an embodiment of the present invention provides an SBC having a function of realizing the SBC behavior in the above method. The functions may be implemented by hardware or by corresponding software implemented by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
在一个可能的设计中,SBC的结构包括:处理器、存储器、所述处理器通过运行存储在所述存储器内的软件程序、调用存储在所述存储器内的数据,执行上述方法。In one possible design, the structure of the SBC includes a processor, a memory, the processor executing the above method by running a software program stored in the memory, invoking data stored in the memory.
又一方面,本发明实施例提供了一种终端,该终端具有实现上述方法实际中CSU行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。 In another aspect, an embodiment of the present invention provides a terminal, where the terminal has a function of implementing CSU behavior in the actual method. The functions may be implemented by hardware or by corresponding software implemented by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
在一个可能的设计中,终端的结构包括:处理器、存储器、所述处理器通过运行存储在所述存储器内的软件程序、调用存储在所述存储器内的数据,至少执行:在网络中断后,保持终端侧的呼叫业务不释放;在网络恢复后,向SBC发送关联信息;所述关联信息用于所述SBC进行关联合法性检测,其中,所述关联信息至少包括关联ID,所述关联ID指示了所述SBC在网络中断前分配给所述终端的会话资源,在关联合法性检测成功后,所述关联ID指示的会话资源将被所述SBC用于向CSCF发起周期性注册;在网络恢复后,向所述SBC传输与所述呼叫业务对应的媒体流数据,所述媒体流数据以新地址发送,所述媒体流数据中的首包用于所述SBC学习所述新地址。In a possible design, the structure of the terminal includes: a processor, a memory, the processor, by running a software program stored in the memory, calling data stored in the memory, performing at least: after a network interruption And maintaining the call service on the terminal side is not released; after the network is restored, sending the association information to the SBC; the association information is used by the SBC to perform association validity detection, where the association information includes at least an association ID, and the association The ID indicates the session resource allocated to the terminal by the SBC before the network is interrupted. After the association validity check succeeds, the session resource indicated by the association ID is used by the SBC to initiate periodic registration with the CSCF; After the network is restored, the media stream data corresponding to the call service is transmitted to the SBC, and the media stream data is sent by using a new address, and the first packet in the media stream data is used by the SBC to learn the new address.
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述SBC所用的计算机软件指令,其包含用于执行上述方面所设计的程序。In still another aspect, an embodiment of the present invention provides a computer storage medium for storing computer software instructions for use in the SBC, including a program designed to perform the above aspects.
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述终端所用的计算机软件指令,其包含用于执行上述方面所设计的程序。In still another aspect, an embodiment of the present invention provides a computer storage medium for storing computer software instructions for use in the terminal, including a program designed to perform the above aspects.
在本发明实施例中,网络中断后,移动终端和SBC均保持呼叫业务不挂断,SBC也不释放为移动终端分配的会话资源。在网络恢复后,移动终端向SBC提供关联信息,SBC使用关联信息进行关联合法性检测,若检测成功,SBC使用网络中断前为移动终端分配的会话资源向CSCF发起周期性注册。由于恢复后进行周期性注册采用的会话资源与中断前的相同,这使得CSCF感知不到网络变化,不会释放已有的呼叫业务。网络恢复后可以立即传送媒体流,通过首包学习得到网络恢复后的新地址,后续SBC往终端侧发送的媒体流的目的地址,也是该新地址。由于在超时前不会释放呼叫业务,并重新进行了首包学习,所以无需重新发起呼叫就可以实现呼叫业务接续,并且减少了业务中断时间,提升了业务体验。In the embodiment of the present invention, after the network is interrupted, both the mobile terminal and the SBC keep the call service from hanging up, and the SBC does not release the session resources allocated for the mobile terminal. After the network is restored, the mobile terminal provides the associated information to the SBC, and the SBC uses the associated information to perform association validity detection. If the detection is successful, the SBC initiates periodic registration with the CSCF using the session resources allocated for the mobile terminal before the network interruption. Since the session resources used for periodic registration after recovery are the same as those before the interruption, the CSCF does not perceive the network change and does not release the existing call service. After the network is restored, the media stream can be immediately transmitted, and the new address after the network recovery is obtained through the first packet learning, and the destination address of the media stream sent by the subsequent SBC to the terminal side is also the new address. Since the call service is not released before the timeout, and the first packet learning is resumed, the call service connection can be realized without re-initiating the call, and the service interruption time is reduced, and the service experience is improved.
附图说明DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description are only It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any creative work.
图1为本发明实施例提供的应用场景示意图;FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present disclosure;
图2a-2b、图3、图4a-4c、图5a-5b、图6为本发明实施例提供的基于SIP over TCP/TLS的通信方法的交互示例图;2a-2b, FIG. 3, FIG. 4a-4c, FIG. 5a-5b, and FIG. 6 are schematic diagrams of interaction of a SIP over TCP/TLS based communication method according to an embodiment of the present invention;
图7a和图7b为本发明实施例提供的SBC的可能的结构示意图;7a and 7b are schematic diagrams showing possible structures of an SBC according to an embodiment of the present invention;
图8为本发明实施例提供的终端的可能的结构示意图;FIG. 8 is a schematic structural diagram of a terminal according to an embodiment of the present disclosure;
图9为本发明实施例提供的SBC或终端的另一种可能的结构示意图。FIG. 9 is a schematic diagram of another possible structure of an SBC or a terminal according to an embodiment of the present invention.
具体实施方式detailed description
本发明实施例提供了基于SIP over TCP/TLS的通信方法及相关装置,以实现网络恢复后的呼叫业务接续,同时,不降低SBC或其他IMS网元的处理性能。 The embodiment of the present invention provides a SIP over TCP/TLS-based communication method and related device, so as to implement call service connection after network recovery, and at the same time, does not reduce the processing performance of the SBC or other IMS network elements.
本发明实施例所涉及到的相关装置包括移动终端、SBC和CSCF。Related devices involved in the embodiments of the present invention include a mobile terminal, an SBC, and a CSCF.
图1给出了上述移动终端(MB)、SBC和CSCF的一种应用场景:移动终端在移动过程中,发生中断后又恢复,例如网络闪断、网络切换,其公网地址由IP1变为IP2。Figure 1 shows an application scenario of the above mobile terminal (MB), SBC and CSCF: during the mobile process, the mobile terminal recovers after an interruption, such as network flashing and network switching, and its public network address is changed from IP1 to IP1. IP2.
需要说明的是,图1示例性的显示了一个移动终端,在实际应用场景中,移动终端的数目并不仅局限于一个,其可以更多。此外,移动终端所接入的IP网络的变更也可认为是网络切换。It should be noted that FIG. 1 exemplarily shows a mobile terminal. In an actual application scenario, the number of mobile terminals is not limited to one, and may be more. In addition, the change of the IP network accessed by the mobile terminal can also be considered as a network handover.
其中,移动终端主要负责登录服务器,发起呼叫,发送音视频RTP媒体流。The mobile terminal is mainly responsible for logging in to the server, initiating a call, and transmitting an audio and video RTP media stream.
SBC主要负责终端接入的信令和媒体代理。The SBC is primarily responsible for signaling and media agents for terminal access.
CSCF主要负责用户登录、处理多媒体呼叫会话过程中的信令控制。The CSCF is mainly responsible for signaling control during user login and processing of a multimedia call session.
需要说明的是,SIP协议是一个Client/Sever协议,因此SIP消息具体可分两种:请求消息和响应消息。It should be noted that the SIP protocol is a Client/Sever protocol, so SIP messages can be divided into two types: request messages and response messages.
本发明涉及的SIP请求消息如下:The SIP request message related to the present invention is as follows:
INVITE:表示主叫用户发起会话请求,邀请其他用户加入一个会话。也可以用在呼叫建立后用于更新会话(此时该INVITE又称为Re-invite);INVITE: indicates that the calling user initiates a session request and invites other users to join a session. It can also be used to update the session after the call is established (the INVITE is also called Re-invite at this time);
ACK:证实已经收到了对INVITE请求的最终响应;ACK: Confirm that the final response to the INVITE request has been received;
REGISTER:表示注册列在To字段中的地址信息。REGISTER: Indicates the address information registered in the To field.
SIP协议中的响应消息用于对请求消息进行响应,指示呼叫的成功或失败状态。本发明中涉及到的响应消息如下:The response message in the SIP protocol is used to respond to the request message, indicating the success or failure status of the call. The response message involved in the present invention is as follows:
200:成功响应(OK);200: Successful response (OK);
401:未授权(Unauthorized)。401: Unauthorized.
下面将基于上面所述的本发明涉及的共性方面,对本发明实施例进一步详细说明。The embodiments of the present invention will be further described in detail below based on the common aspects of the invention described above.
本发明的一个实施例提供一种基于SIP over TCP/TLS的通信方法,和基于这个方法的移动终端、BSC、CSCF。An embodiment of the present invention provides a SIP over TCP/TLS based communication method, and a mobile terminal, a BSC, and a CSCF based on the method.
下面结合附图2a和图3,对本发明的实施例提供的方案进行说明。The solution provided by the embodiment of the present invention will be described below with reference to FIG. 2a and FIG. 3.
图2a为本发明实施例提供的通信方法的交互示意图,其大体可包括几个子过程:初始注册过程、呼叫过程、网络中断处理过程、网络恢复后的重注册过程以及呼叫接续过程。2a is a schematic diagram of interaction of a communication method according to an embodiment of the present invention, which may generally include several sub-processes: an initial registration process, a call process, a network interruption process, a re-registration process after network recovery, and a call connection process.
图3体现的是信令交互。Figure 3 shows the signaling interaction.
其中,初始注册过程可包括如下部分:Among them, the initial registration process can include the following parts:
200部分:终端(UE)按照标准流程,使用Sip Over Tcp/TLS进行注册。Part 200: The terminal (UE) registers using Sip Over Tcp/TLS in accordance with standard procedures.
图3中的SYN、ACK消息体现的是TCP的建链过程。The SYN and ACK messages in Figure 3 represent the TCP networking process.
在初始注册部分,SBC会为终端分配会话资源,会话资源中包括contact ID(图3中以contact ID1表示),并向CSCF发起周期性注册(发起REGISTER消息,该消息中包括contact ID1)。In the initial registration part, the SBC allocates session resources to the terminal. The session resource includes a contact ID (indicated by contact ID1 in FIG. 3), and initiates a periodic registration to the CSCF (initiating a REGISTER message including contact ID1).
需要说明的是,周期性注册是保持注册会话用的,相当于心跳。It should be noted that the periodic registration is used to maintain the registration session, which is equivalent to the heartbeat.
初始注册期间,三者交互的信令涉及到REGISTER消息、401响应消息和200OK消息。 During the initial registration, the signaling of the three interactions involves a REGISTER message, a 401 response message, and a 200 OK message.
201部分:注册成功后,SBC向终端返回关联标识(ID)。Section 201: After successful registration, the SBC returns an association identifier (ID) to the terminal.
具体的,关联ID可承载在SBC返回的SIP消息中,例如,成功响应消息(200OK消息)。具体的,可在200OK的Contact头域中增加nextAssociateId字段,在nextAssociateId字段中的值为关联ID。通过在现有的SIP消息中新增字段来携带关联ID,SBC处理简单不耗性能,并且也没有额外增加信令开销。Specifically, the association ID may be carried in the SIP message returned by the SBC, for example, a success response message (200 OK message). Specifically, the nextAssociateId field may be added in the Contact header field of the 200 OK, and the value in the nextAssociateId field is the associated ID. By adding a field to the existing SIP message to carry the association ID, the SBC process is simple and consumes no performance, and there is no additional signaling overhead.
此外,关联ID也可承载在新增的SIP消息中,进一步的,可在新增的SIP消息的Contact头域中设置nextAssociateId字段,在nextAssociateId字段中的值为关联ID。此时,需要重新定义检测接口和关联信息。这样可不改变原来的SIP消息格式。In addition, the association ID may also be carried in the newly added SIP message. Further, the nextAssociateId field may be set in the Contact header field of the newly added SIP message, and the value in the nextAssociateId field is the association ID. At this point, you need to redefine the detection interface and associated information. This does not change the original SIP message format.
关联ID可指示SBC为终端分配的会话资源,或者说,关联ID表征了终端与SBC为其分配的会话资源之间的对应关系。The association ID may indicate the session resource allocated by the SBC to the terminal, or the association ID represents a correspondence between the terminal and the session resource allocated by the SBC.
关联ID可用于下一次的关联合法性检测,本文后续将对关联合法性检测进行介绍。The association ID can be used for the next association validity check. The related legality detection will be introduced later in this paper.
SBC可根据设定的生成规则生成关联ID并返回给终端。事实上,终端对关联ID仅是透传,SBC可自定义关联ID的内容。The SBC can generate an association ID according to the set generation rule and return it to the terminal. In fact, the terminal only transparently transmits the association ID, and the SBC can customize the content of the association ID.
呼叫过程体现在202部分。可参考现有的呼叫建立、媒体流数据发送等技术,在此不作赘述。需要说明的是,媒体流数据当前的地址为IP1。后续发生网络中断再恢复后,其地址将变更为IP2。The call process is reflected in section 202. Reference may be made to existing technologies such as call setup and media stream data transmission, and details are not described herein. It should be noted that the current address of the media stream data is IP1. After a subsequent network interruption and recovery, its address will be changed to IP2.
这里的地址具体指终端对应的公网NAT的IP地址。实际上,终端大都是在wifi场景下发送消息,所使用的IP地址为私有网络IP地址,终端发送的媒体流或数据到达公网后,会对应公网NAT的IP地址,这个地址起初SBC和终端都不知道。SBC需要学习媒体流或数据的IP头(也即初始的几个IP包),获得终端对应的公网NAT的IP地址并记录下来。The address here refers specifically to the IP address of the public network NAT corresponding to the terminal. In fact, most of the terminals send messages in the wifi scenario. The IP address used is the private network IP address. After the media stream or data sent by the terminal reaches the public network, it will correspond to the IP address of the public network NAT. This address is initially SBC and The terminal does not know. The SBC needs to learn the IP header of the media stream or data (that is, the initial IP packets), obtain the IP address of the public network NAT corresponding to the terminal, and record it.
呼叫过程信令至少涉及INVITE消息和200OK消息。The call process signaling involves at least an INVITE message and a 200 OK message.
网络中断处理过程可包括如下部分:The network interrupt processing process can include the following parts:
203部分:在网络中断后,终端不立即释放终端侧的呼叫(保持VoIP),其目的是让呼叫不挂断。Part 203: After the network is interrupted, the terminal does not immediately release the call on the terminal side (maintaining VoIP), the purpose of which is to make the call not hang up.
更具体的,终端可在15-30秒的时间内(也可更长或更短)保持终端侧已有的呼叫业务不释放。More specifically, the terminal can keep the existing call service on the terminal side from being released within 15-30 seconds (which can be longer or shorter).
204部分:SBC检测到终端侧TCP异常后,在等待超时前,不释放相应的会话资源,同时保持终端对应的呼叫业务不释放(也即让呼叫不挂断)。Part 204: After detecting the TCP abnormality on the terminal side, the SBC does not release the corresponding session resources before waiting for the timeout, and keeps the call service corresponding to the terminal from being released (that is, the call is not hanged).
在204部分,在等待超时前,也不释放终端对应的关联ID。In section 204, the associated ID of the terminal is not released until the timeout is waited.
在本发明其他实施例中,若等待超时,SBC将释放与终端相应的关联ID、会话资源和释放呼叫业务。In other embodiments of the present invention, if waiting for a timeout, the SBC will release the associated ID, session resources, and release call service corresponding to the terminal.
具体的,由于在正常呼叫过程中,终端一般会发送媒体流,因此,SBC可在无媒体流超时后再释放关联ID、会话资源和呼叫业务,在无媒体流超时之前,则不释放关联ID、会话资源和呼叫业务。Specifically, the terminal generally sends the media stream in the normal call process. Therefore, the SBC can release the association ID, the session resource, and the call service after the media stream is not timed out, and the associated ID is not released until the media stream expires. , session resources and call services.
当然,若SBC未检测到异常,则保持关联ID不变。Of course, if the SBC does not detect an abnormality, the associated ID remains unchanged.
网络恢复后的重注册过程可包括如下部分: The re-registration process after network recovery can include the following parts:
205部分:在网络恢复后,终端发起注册。Section 205: After the network is restored, the terminal initiates registration.
在一个示例中,请参见图3,可在注册消息中携带SBC为其分配的关联ID。更具体的,可在REGISTER消息中新增associateId字段,字段值为201部分nextAssociateId字段中的值。In one example, referring to FIG. 3, the association ID assigned to the SBC can be carried in the registration message. More specifically, an associateId field may be added to the REGISTER message, and the field value is a value in the 201 part of the nextAssociateId field.
在另一个示例中,也可使用新增的SIP请求消息携带关联ID。更具体的,可在新增的SIP消息中设置associateId字段,字段值为201部分nextAssociateId字段中的值。In another example, the new SIP request message can also be used to carry the association ID. More specifically, the associateId field may be set in the newly added SIP message, and the field value is a value in the 201 part of the nextAssociateId field.
206部分:SBC使用关联ID进行关联合法性检测。Section 206: The SBC uses the association ID for association validity detection.
更具体的,SBC可根据关联ID查找相应的会话资源,若查找到,则关联合法性检测成功,否则关联合法性检测失败。More specifically, the SBC can find the corresponding session resource according to the association ID. If the association is found, the association validity check is successful, otherwise the association legality detection fails.
207部分:若关联合法性检测成功,SBC使用关联ID指示的会话资源向CSCF发起周期性注册。Section 207: If the association validity check is successful, the SBC initiates periodic registration with the CSCF using the session resource indicated by the association ID.
更具体的,SBC将使用之前的ContactID1向CSCF发起周期性注册。由于网络中断前后均保持ContactID1不变,CSCF感知不到网络变化,不会释放已有的呼叫。More specifically, the SBC will initiate periodic registration with the CSCF using the previous ContactID1. Since the ContactID1 remains unchanged before and after the network interruption, the CSCF does not perceive the network change and does not release the existing call.
在本发明其他实施例中,请参见图2b,若关联合法性检测失败,则SBC将为终端重新分配会话资源(2071部分)。前已述及,会话资源包括contact ID,重新分配的contact ID可称为contact ID2。In other embodiments of the present invention, referring to FIG. 2b, if the association validity detection fails, the SBC will re-allocate the session resources (part 2071) for the terminal. As mentioned above, the session resource includes a contact ID, and the reassigned contact ID can be referred to as contact ID2.
之后,SBC将使用重新分配的会话资源(contact ID2)向CSCF发起周期性注册(2072部分)。The SBC will then initiate a periodic registration (part 2,072) to the CSCF using the reassigned session resource (contact ID2).
208部分:SBC生成并返回在下一次关联合法性检测中使用的关联ID。Section 208: The SBC generates and returns the association ID used in the next association validity check.
在一个示例中,SBC可在注册的200OK的nextAssociateId中携带在下一次关联合法性检测中使用的关联ID。此外,200OK还可携带关联合法性检测标识assFlag,用于通知终端关联合法性检测是否成功。In one example, the SBC may carry the associated ID used in the next association legitimacy check in the next AssociatedId of the registered 200 OK. In addition, the 200 OK may also carry the association legality detection identifier assFlag, which is used to notify the terminal whether the validity check of the association is successful.
需要说明的是,无论关联合法性检测是否成功,SBC均会生成并返回在下一次关联合法性检测中使用的关联ID。It should be noted that regardless of whether the association validity check is successful, the SBC generates and returns the association ID used in the next association validity check.
呼叫接续过程可包括如下部分:The call connection process can include the following parts:
209部分:终端传输与呼叫业务对应的媒体流数据。Section 209: The terminal transmits media stream data corresponding to the call service.
在一个示例中,终端可在确认关联合法性检测成功后,传输与呼叫业务对应的媒体流数据。In an example, the terminal may transmit media stream data corresponding to the call service after confirming that the association validity detection is successful.
前述提及了,200OK中可携带关联合法性检测标识assFlag,用于通知终端关联合法性检测是否成功。终端可根据该assFlag确认关联合法性检测是否成功。As mentioned above, the association legality detection identifier assFlag may be carried in the 200 OK, and is used to notify the terminal whether the validity check of the association is successful. The terminal can confirm whether the association legality detection is successful according to the assFlag.
在另一个示例中,终端也可同时发送关联信息与媒体流数据,在确认关联合法性检测失败后,终端再停止发送媒体流数据。本领域技术人员可根据实际需要进行灵活设计。In another example, the terminal may also send the association information and the media stream data at the same time. After confirming that the association validity detection fails, the terminal stops transmitting the media stream data. Those skilled in the art can flexibly design according to actual needs.
需要说明的是,网络中断前,媒体流数据当前的地址为IP1,在209部分,地址变更为IP2,也即新地址。It should be noted that before the network is interrupted, the current address of the media stream data is IP1, and in the 209 part, the address is changed to IP2, that is, the new address.
210部分:SBC对媒体流数据的首包进行学习,得到新地址。Part 210: The SBC learns the first packet of media stream data and obtains a new address.
更具体的,SBC会根据移动终端的当前用户号码找到相关的呼叫业务,支持从新的地址 上接收该呼叫业务的媒体流数据,对媒体流数据的首包进行学习,得到新地址。More specifically, the SBC will find the relevant call service according to the current subscriber number of the mobile terminal, and support the new address. The media stream data of the call service is received, and the first packet of the media stream data is learned to obtain a new address.
之后,SBC将以该新地址接收上述呼叫业务的相关数据。SBC往终端侧发送的媒体流的目的地址,也是该新地址。After that, the SBC will receive the relevant data of the above call service with the new address. The destination address of the media stream sent by the SBC to the terminal side is also the new address.
首包学习是比较成熟的技术,在此不作赘述。The first package of learning is a relatively mature technology, and will not be described here.
211部分:终端发起re-Invite,保持原有呼叫。Section 211: The terminal initiates re-Invite to maintain the original call.
发起re-invite是为了维持呼叫的会话心跳,尽量保持终端与服务器侧的信息一致。The re-invite is initiated to maintain the session heartbeat of the call, and try to keep the information on the terminal and the server side consistent.
需要说明的是,现有技术中也有re-Invite流程,但是由定时器驱动,可能要等很长。本实施例中则是网络恢复后就发起re-Invite。It should be noted that there are also re-Invite processes in the prior art, but driven by timers, it may take a long time. In this embodiment, re-Invite is initiated after the network is restored.
需要说明的是,关联合法性检测失败后,SBC将不再进行首包学习,呼叫中断。因此,请参见图2b,在确认关联合法性检测失败后,终端将不会发起re-Invite。It should be noted that after the association validity test fails, the SBC will not perform the first packet learning and the call is interrupted. Therefore, referring to Figure 2b, after confirming that the association validity check fails, the terminal will not initiate re-Invite.
在本发明实施例中,网络中断后,移动终端和SBC均保持呼叫业务不挂断,也不释放为移动终端分配的会话资源。在网络恢复后,移动终端向SBC提供关联信息,SBC使用关联信息进行关联合法性检测,若检测成功,SBC使用网络中断前为移动终端分配的会话资源向CSCF发起周期性注册。由于恢复后进行周期性注册采用的会话资源与中断前的相同,这使得CSCF感知不到网络变化,不会释放已有的呼叫业务。网络恢复后可以立即传送媒体流,通过首包学习得到网络恢复后的新地址,后续SBC往终端侧发送的媒体流的目的地址,也是该新地址。由于在超时前不会释放呼叫业务,并重新进行了首包学习,所以无需重新发起呼叫就可以实现呼叫业务接续,并且减少了业务中断时间,提升了业务体验。In the embodiment of the present invention, after the network is interrupted, both the mobile terminal and the SBC keep the call service from hanging up, and release the session resources allocated for the mobile terminal. After the network is restored, the mobile terminal provides the associated information to the SBC, and the SBC uses the associated information to perform association validity detection. If the detection is successful, the SBC initiates periodic registration with the CSCF using the session resources allocated for the mobile terminal before the network interruption. Since the session resources used for periodic registration after recovery are the same as those before the interruption, the CSCF does not perceive the network change and does not release the existing call service. After the network is restored, the media stream can be immediately transmitted, and the new address after the network recovery is obtained through the first packet learning, and the destination address of the media stream sent by the subsequent SBC to the terminal side is also the new address. Since the call service is not released before the timeout, and the first packet learning is resumed, the call service connection can be realized without re-initiating the call, and the service interruption time is reduced, and the service experience is improved.
在本发明其他实施例中,还可将会话信息作为关联ID,例如将Call ID(Call ID是按一定规则生成的随机字符串)或service cookie(服务侧会话映射信息)作为关联ID。In other embodiments of the present invention, the session information may also be used as an association ID, for example, a Call ID (Call ID is a random string generated according to a certain rule) or a service cookie (Service Side Session Mapping Information) as an association ID.
请参见图4a和图4b所示的另一种交互流程:See another interaction process shown in Figure 4a and Figure 4b:
在400部分:终端(UE)按照标准流程,使用Sip Over Tcp/TLS进行注册。In section 400: The terminal (UE) registers using Sip Over Tcp/TLS in accordance with standard procedures.
图4b体现的是信令交互。Figure 4b shows the signaling interaction.
400部分与200部分相类似,在此不作赘述。The 400 part is similar to the 200 part and will not be described here.
需要说明的是,如将Call ID作为关联ID,SBC将不用专门生成关联ID,也无需如图2a、2b和图3所示的实施例(201部分)那样,在返回的SIP消息中增加nextAssociateId字段。It should be noted that if the Call ID is used as the association ID, the SBC will not need to generate the association ID specifically, and there is no need to add the nextAssociateId to the returned SIP message as in the embodiment (part 201) shown in Figures 2a, 2b and 3. Field.
401部分:终端发起呼叫。Part 401: The terminal initiates a call.
可参考现有的呼叫建立、媒体流数据发送等技术,在此不作赘述。Reference may be made to existing technologies such as call setup and media stream data transmission, and details are not described herein.
402部分:在网络中断后,终端不立即释放终端侧的呼叫(保持VoIP),其目的是让呼叫不挂断。Part 402: After the network is interrupted, the terminal does not immediately release the call on the terminal side (maintaining VoIP), the purpose of which is to make the call not hang up.
402部分与203部分相类似,在此不作赘述。Section 402 is similar to Section 203 and will not be described here.
403部分:SBC检测到终端侧TCP异常后,在等待超时前,不释放相应的会话资源,同时保持终端对应的呼叫业务不释放(也即让呼叫不挂断)。Section 403: After detecting the TCP abnormality on the terminal side, the SBC does not release the corresponding session resources before waiting for the timeout, and keeps the call service corresponding to the terminal from being released (that is, the call is not hanged).
403部分与204部分相类似,在此不作赘述。Section 403 is similar to Section 204 and will not be described here.
404部分:在网络恢复后,终端发起注册。 Section 404: After the network is restored, the terminal initiates registration.
在重注册过程,由于本来就需要将Call ID携带在REGISTER消息中,因此,也无需如图2a、2b和图3所示的实施例(205部分)那样,在REGISTER消息中新增associateId字段,这样可进一步简化SBC的处理。In the re-registration process, since the Call ID is originally required to be carried in the REGISTER message, there is no need to add the associateId field to the REGISTER message as in the embodiment (part 205) shown in Figures 2a, 2b and 3, This further simplifies the processing of the SBC.
405部分:SBC使用关联ID(也即call ID)进行关联合法性检测。Part 405: The SBC uses the association ID (ie, call ID) for association validity detection.
更具体的,SBC可根据关联ID查找相应的会话资源,若查找到,则关联合法性检测成功,否则关联合法性检测失败。More specifically, the SBC can find the corresponding session resource according to the association ID. If the association is found, the association validity check is successful, otherwise the association legality detection fails.
406部分:若关联合法性检测成功,SBC使用关联ID指示的会话资源向CSCF发起周期性注册。Part 406: If the association validity check is successful, the SBC initiates periodic registration with the CSCF using the session resource indicated by the association ID.
406部分与207部分相类似,在此不作赘述。Section 406 is similar to Section 207 and will not be repeated here.
在本发明其他实施例中,请参见图4c,若关联合法性检测失败,则SBC将为终端重新分配会话资源(2061部分)。前已述及,会话资源包括contact ID,重新分配的contact ID可称为contact ID2。In other embodiments of the present invention, referring to FIG. 4c, if the association validity detection fails, the SBC will reallocate the session resources (part 2061) for the terminal. As mentioned above, the session resource includes a contact ID, and the reassigned contact ID can be referred to as contact ID2.
之后,SBC将使用重新分配的会话资源(contact ID2)向CSCF发起周期性注册(2062部分)。The SBC will then initiate periodic registration (part 2062) to the CSCF using the reassigned session resource (contact ID2).
407部分:SBC返回SIP消息。Part 407: The SBC returns a SIP message.
该SIP消息可携带关联合法性检测标识assFlag,用于通知终端关联合法性检测是否成功。The SIP message may carry the association legality detection identifier assFlag, and is used to notify the terminal whether the validity check of the association is successful.
408部分:终端传输与呼叫业务对应的媒体流数据。Section 408: The terminal transmits media stream data corresponding to the call service.
在一个示例中,终端可在确认关联合法性检测成功后,传输与呼叫业务对应的媒体流数据,而在确认关联合法性检测失败后,终端将不启动传输与呼叫业务对应的媒体流数据的操作(图4c)。In an example, after confirming that the association validity check is successful, the terminal may transmit the media stream data corresponding to the call service, and after confirming that the association validity check fails, the terminal does not start to transmit the media stream data corresponding to the call service. Operation (Figure 4c).
在另一个示例中,终端也可同时发送关联信息与媒体流数据,并在确认关联合法性检测失败后,终端再停止发送媒体流数据。本领域技术人员可根据实际需要进行灵活设计。In another example, the terminal may also send the association information and the media stream data at the same time, and after confirming that the association validity detection fails, the terminal stops transmitting the media stream data. Those skilled in the art can flexibly design according to actual needs.
409部分:若关联合法性检测成功,SBC对媒体流数据的首包进行学习,得到新地址。Part 409: If the association validity check is successful, the SBC learns the first packet of the media stream data to obtain a new address.
409部分与210部分相类似,在此不作赘述。Section 409 is similar to section 210 and will not be repeated here.
410部分:若关联合法性检测成功,终端发起re-Invite,保持原有呼叫。Part 410: If the association validity check is successful, the terminal initiates re-Invite to maintain the original call.
410部分与211部分相类似,在此不作赘述。 Section 410 is similar to Section 211 and will not be described here.
图5a和图6示出了上述通信方法又一种示例性交互流程(图6体现了图5a所示交互流程中涉及的信令交互),其大体可包括几个子过程:初始注册过程、呼叫过程、网络中断处理过程、网络恢复后的首包重学习过程以及呼叫接续过程。图6体现的是信令交互。需要说明的是,SBC与CSCF的交互与前述所有实施例相同,因此,在图5a和6中省略了SBC与CSCF的交互,相关细节请参见前述所有实施例。5a and 6 illustrate yet another exemplary interaction process of the above communication method (FIG. 6 embodies the signaling interaction involved in the interaction process shown in FIG. 5a), which may generally include several sub-processes: initial registration process, call Process, network interruption processing, first packet re-learning process after network recovery, and call connection process. Figure 6 illustrates the signaling interaction. It should be noted that the interaction between the SBC and the CSCF is the same as that of all the foregoing embodiments. Therefore, the interaction between the SBC and the CSCF is omitted in FIGS. 5a and 6. For details, refer to all the foregoing embodiments.
其中,初始注册过程可包括如下部分:Among them, the initial registration process can include the following parts:
500部分:终端(UE)按照标准流程,使用Sip Over Tcp/TLS进行注册。Part 500: The terminal (UE) registers using Sip Over Tcp/TLS in accordance with standard procedures.
在初始注册部分,SBC会为终端分配会话资源,并向CSCF发起周期性注册(发起REGISTER消息,该消息中包括contact ID)。 In the initial registration part, the SBC allocates session resources to the terminal and initiates periodic registration to the CSCF (initiating a REGISTER message, including the contact ID).
周期性注册成功后,SBC会返回200OK消息。After the periodic registration is successful, the SBC will return a 200 OK message.
与图2a、2b和图3所示初始注册过程不同的是,在本实施例的初始注册过程中,并不返回关联ID,而是在呼叫过程中返回关联ID。Different from the initial registration process shown in FIGS. 2a, 2b and FIG. 3, in the initial registration process of this embodiment, the association ID is not returned, but the association ID is returned during the call.
呼叫过程至少包括如下部分:The call process includes at least the following parts:
501部分:注册成功后,终端向SBC发送INVITE消息,以建立呼叫;Section 501: After the registration is successful, the terminal sends an INVITE message to the SBC to establish a call;
502部分:SBC生成并向终端返回关联ID和随机密码(pwd)。Section 502: The SBC generates and returns an association ID and a random password (pwd) to the terminal.
关联ID和随机密码可承载在SBC返回的SIP消息中,例如,成功响应消息(200OK for invite消息)。具体的,可在200OK的Contact头域中增加nextAssociateId字段,在nextAssociateId字段中的值为关联ID和随机密码(pwd)。通过在现有的SIP消息中新增字段来携带关联ID和随机密码(pwd),SBC处理简单不耗性能,并且也没有额外增加信令开销。The association ID and random password can be carried in the SIP message returned by the SBC, for example, a success response message (200 OK for invite message). Specifically, the nextAssociateId field may be added in the Contact header field of the 200 OK, and the value in the nextAssociateId field is the association ID and the random password (pwd). By adding a field to the existing SIP message to carry the association ID and the random password (pwd), the SBC process is simple and consumes no performance, and there is no additional signaling overhead.
此外,关联ID和随机密码也可承载在新增的SIP消息中,进一步的,可在新增的SIP消息的Contact头域中设置nextAssociateId字段,在nextAssociateId字段中的值为关联ID和随机密码。此时,需要重新定义检测接口和关联信息。这样可不改变原来的SIP消息格式。In addition, the association ID and the random password can also be carried in the newly added SIP message. Further, the nextAssociateId field can be set in the Contact header field of the newly added SIP message, and the value in the nextAssociateId field is the association ID and the random password. At this point, you need to redefine the detection interface and associated information. This does not change the original SIP message format.
SBC可根据设定的生成规则生成关联ID。终端对关联ID仅是透传,SBC可自定义关联ID的内容,在本实施例中,关联ID为server-cookie。关联ID的其他相关内容请参见前述201部分的介绍,在此不作赘述。The SBC can generate an association ID according to the set generation rule. The terminal only transparently transmits the association ID, and the SBC can customize the content of the association ID. In this embodiment, the association ID is server-cookie. For other related content of the association ID, please refer to the introduction in section 201 above, and no further details are provided here.
网络中断处理过程可包括如下部分:The network interrupt processing process can include the following parts:
503部分:在网络中断后,终端不立即释放终端侧的呼叫(保持VoIP),其目的是让呼叫不挂断。Section 503: After the network is interrupted, the terminal does not immediately release the call on the terminal side (maintaining VoIP), the purpose of which is to make the call not hang up.
504部分:SBC检测到终端侧TCP异常后,在等待超时前,不释放相应的会话资源、关联ID,同时保持与终端对应的呼叫业务不释放(也即让呼叫不挂断)。Section 504: After detecting the TCP abnormality on the terminal side, the SBC does not release the corresponding session resource and association ID before waiting for the timeout, and keeps the call service corresponding to the terminal from being released (that is, the call is not hanged).
503-504部分与203-204部分相同,在此不作赘述。Sections 503-504 are identical to sections 203-204 and will not be described here.
需要说明的是,为简单起见,图6省略了网络中断处理过程。It should be noted that, for the sake of simplicity, FIG. 6 omits the network interrupt processing procedure.
网络恢复后的首包重学习过程至少包括如下部分:The first packet re-learning process after network recovery includes at least the following parts:
505部分:终端向SBC发送携带关联信息的RTCP(实时传输控制协议)消息。Section 505: The terminal sends an RTCP (Real Time Transmission Control Protocol) message carrying the associated information to the SBC.
图6所示的首包重学习过程中的第1、2、4为标准协议流程,其中的Nonce和next nonce是在注册中鉴权用的。第3过程则与“终端向SBC发送携带关联信息的RTCP消息”对应。The first, second, and fourth in the first packet re-learning process shown in FIG. 6 are standard protocol flows, in which Nonce and next nonce are used for authentication in registration. The third process corresponds to "the terminal sends an RTCP message carrying the associated information to the SBC."
关联信息包括关联ID和MD5值(也即MD5-Auth)。其中,MD5值是终端对呼叫过程中获取的随机密码进行MD5Hash运算得到的。The association information includes the association ID and the MD5 value (that is, MD5-Auth). The MD5 value is obtained by the terminal performing MD5Hash operation on the random password obtained during the call.
更具体的,可在RTCP消息中新增associateId字段,字段值为502部分返回的关联ID和MD5值。More specifically, an associateId field may be added to the RTCP message, and the field value is the association ID and the MD5 value returned by the 502 part.
506部分:与此同时,终端向SBC发送与呼叫业务对应的媒体流。Section 506: At the same time, the terminal sends a media stream corresponding to the call service to the SBC.
需要说明的是,网络中断前,媒体流数据当前的地址为IP1,恢复后,地址变更为IP2。It should be noted that before the network is interrupted, the current address of the media stream data is IP1. After the recovery, the address is changed to IP2.
这里的地址具体指终端对应的公网NAT的IP地址。实际上,终端大都是在wifi场景 下发送消息,所使用的IP地址为私有网络IP地址,终端发送的媒体流或数据到达公网后,会对应公网NAT的IP地址,这个地址起初SBC和终端都不知道。SBC需要学习媒体流或数据的IP头(也即首包),获得终端对应的公网NAT的IP地址。The address here refers specifically to the IP address of the public network NAT corresponding to the terminal. In fact, most of the terminals are in the wifi scene. Send the message, the IP address used is the private network IP address. After the media stream or data sent by the terminal reaches the public network, it will correspond to the IP address of the public network NAT. This address is not known to the SBC and the terminal at first. The SBC needs to learn the IP header (that is, the first packet) of the media stream or data, and obtain the IP address of the public network NAT corresponding to the terminal.
507部分:SBC使用关联ID和MD5值进行关联合法性检测。Section 507: The SBC uses the associated ID and MD5 values for association validity detection.
具体的,SBC根据关联ID查找相应的会话资源,并对RTCP消息中的MD5值进行MD5校验;若查找到相应的会话资源并且MD5校验成功,则关联合法性检测成功,否则关联合法性检测失败。Specifically, the SBC searches for the corresponding session resource according to the association ID, and performs MD5 check on the MD5 value in the RTCP message; if the corresponding session resource is found and the MD5 check succeeds, the association legality detection succeeds, otherwise the association legality The test failed.
其中,MD5校验可包括:Among them, the MD5 check can include:
SBC使用之前分配给终端的随机密码进行MD5Hash运算得到的MD5值。为与终端发送的MD5值相区分,可将终端生成并发送给SBC的MD5值称为第一MD5值,将SBC生成的MD5称为第二MD5值。The SBC performs the MD5 value obtained by the MD5Hash operation using the random password previously assigned to the terminal. To distinguish from the MD5 value sent by the terminal, the MD5 value generated by the terminal and sent to the SBC can be referred to as the first MD5 value, and the MD5 generated by the SBC is referred to as the second MD5 value.
SBC将第一MD5值和第二MD5值进行比较,如二者相等,则MD5校验成功,否则MD5校验失败。The SBC compares the first MD5 value with the second MD5 value. If the two are equal, the MD5 check succeeds, otherwise the MD5 check fails.
508部分:若关联合法性检测成功,SBC支持从新的地址接收媒体流数据,对媒体流数据的首包重新学习,得到新地址。Section 508: If the association validity check is successful, the SBC supports receiving media stream data from the new address, re-learning the first packet of the media stream data, and obtaining a new address.
在一个示例中,在关联合法性检测成功后,SBC还会使用关联ID指示的会话资源向CSCF发起周期性注册。In one example, after the association validity check is successful, the SBC also initiates periodic registration with the CSCF using the session resource indicated by the association ID.
在本发明其他实施例中,请参见图5b,若关联合法性检测失败,则SBC将为终端重新分配会话资源(5081部分)。前已述及,会话资源包括contact ID,重新分配的contact ID可称为contact ID2。之后,SBC将使用重新分配的会话资源(contact ID2)向CSCF发起周期性注册(5082部分)。In other embodiments of the present invention, referring to FIG. 5b, if the association validity detection fails, the SBC will re-allocate the session resources (part 5081) for the terminal. As mentioned above, the session resource includes a contact ID, and the reassigned contact ID can be referred to as contact ID2. The SBC will then initiate periodic registration (Part 5082) to the CSCF using the reassigned session resource (contact ID2).
需要说明的是,若关联合法性检测失败,SBC将不进行首包学习,对接收到的与该终端的呼叫业务对应的媒体流进行丢弃(5083部分)。It should be noted that if the association validity check fails, the SBC will not perform the first packet learning, and discard the received media stream corresponding to the call service of the terminal (part 5083).
509部分:终端发起re-Invite,保持原有呼叫。Section 509: The terminal initiates re-Invite to maintain the original call.
510部分:SBC生成并向终端返回在下一次关联合法性检测中使用的关联ID和随机密码(pwd)。Section 510: The SBC generates and returns to the terminal the association ID and random password (pwd) used in the next association validity check.
关联ID和随机密码可承载在SBC返回的SIP消息中,例如,成功响应消息(200OK for invite消息)。具体的,可在200OK的Contact头域中增加nextAssociateId字段,在nextAssociateId字段中的值为关联ID和随机密码(pwd)。通过在现有的SIP消息中新增字段来携带关联ID和随机密码(pwd),SBC处理简单不耗性能,并能也没有额外增加信令开销。The association ID and random password can be carried in the SIP message returned by the SBC, for example, a success response message (200 OK for invite message). Specifically, the nextAssociateId field may be added in the Contact header field of the 200 OK, and the value in the nextAssociateId field is the association ID and the random password (pwd). By adding a field to the existing SIP message to carry the association ID and the random password (pwd), the SBC process is simple and does not consume performance, and can also increase the signaling overhead.
此外,关联ID和随机密码也可承载在新增的SIP消息中,进一步的,可在新增的SIP消息的Contact头域中设置nextAssociateId字段,在nextAssociateId字段中的值为关联ID和随机密码。此时,需要重新定义检测接口和关联信息。这样可不改变原来的SIP消息格式。In addition, the association ID and the random password can also be carried in the newly added SIP message. Further, the nextAssociateId field can be set in the Contact header field of the newly added SIP message, and the value in the nextAssociateId field is the association ID and the random password. At this point, you need to redefine the detection interface and associated information. This does not change the original SIP message format.
需要说明的是,无论关联合法性检测是否成功,SBC均会生成并返回在下一次关联合法性检测中使用的关联ID。 It should be noted that regardless of whether the association validity check is successful, the SBC generates and returns the association ID used in the next association validity check.
在本实施例中,使用RTCP消息激活SBC重新对媒体流的首包进行学习,可以减少网络闪断恢复后呼叫的断话时间。此外,本实施例引入MD5校验,可提高呼叫接续的安全性。In this embodiment, using the RTCP message to activate the SBC to re-learn the first packet of the media stream, the call disconnection time of the call after the network flash recovery is reduced. In addition, this embodiment introduces MD5 check, which can improve the security of call connection.
需要说明的是,为实现网络闪断呼叫的连续性。现有一般采用STG隧道方案,此方案需要移动终端和STG服务器之间建立隧道。其中,STG服务器单独部署或者SBC内置STG服务器,移动终端侧则需嵌入STG客户端。在程序启动后,移动终端和STG服务器之间建立一条或多条隧道,SIP消息和媒体流数据都传输在隧道之上。It should be noted that the continuity of the network flash call is implemented. The STG tunneling scheme is generally adopted, and this scheme requires a tunnel between the mobile terminal and the STG server. Among them, the STG server is deployed separately or the SBC built-in STG server, and the mobile terminal side needs to be embedded in the STG client. After the program is started, one or more tunnels are established between the mobile terminal and the STG server, and SIP messages and media stream data are transmitted on the tunnel.
当网络恢复后,移动终端内嵌的STG客户端重新建立隧道。STG客户端提供给业务的虚拟IP和端口等信息保持和之前一致,对业务不体现网络中断。这样,SIP消息和媒体流数据可以继续传输,不会感知网络中断的过程,从而实现呼叫的连续性。When the network is restored, the STG client embedded in the mobile terminal re-establishes the tunnel. The information such as the virtual IP address and port that the STG client provides to the service remains the same as before, and the network interruption is not reflected for the service. In this way, SIP messages and media stream data can continue to be transmitted without perceiving the process of network interruption, thereby achieving call continuity.
然而,单独部署STG服务器,成本很高。而在SBC内置STG服务器,会严重影响SBC的性能,使得SBC支持的能力急剧下降。并且,采用STG隧道的方案,需要等隧道建立成功后才可以接续,增加了业务中断的时间。However, deploying STG servers separately is costly. The built-in STG server in the SBC will seriously affect the performance of the SBC, making the ability of the SBC support drastically reduced. Moreover, the scheme of adopting the STG tunnel needs to wait for the tunnel to be successfully established before it can be connected, thereby increasing the time of service interruption.
而本发明所提供的技术方案无需建立隧道,也不需要额外部署STG服务器或在SBC内部署STG服务器,CSCF等IMS网元也无需进行额外处理,SBC也不会增加太多的处理,从而不会导致SBC的处理性能下降。However, the technical solution provided by the present invention does not need to establish a tunnel, and does not need to deploy an STG server or deploy an STG server in the SBC. The IMS network element such as the CSCF does not need to perform additional processing, and the SBC does not add too much processing, so This will result in a decrease in the processing performance of the SBC.
需要说明的是,上述技术方案也同样适用于TLS。It should be noted that the above technical solution is also applicable to TLS.
上述主要从各个装置之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个装置,例如SBC、终端等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。The foregoing provides an introduction to the solution provided by the embodiments of the present invention from the perspective of interaction between the various devices. It can be understood that various devices, such as SBCs, terminals, etc., in order to implement the above functions, include hardware structures and/or software modules corresponding to the respective functions. Those skilled in the art will readily appreciate that the present invention can be implemented in a combination of hardware or hardware and computer software in combination with the elements and algorithm steps of the various examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
图7a示出了上述实施例中所涉及的SBC的一种可能的结构示意图,包括:FIG. 7a is a schematic diagram showing a possible structure of an SBC involved in the above embodiment, including:
保持单元701,用于在检测到网络中断后、等待超时之前,保持终端对应的会话资源不释放,并保持上述终端对应的呼叫业务不释放;The holding unit 701 is configured to: after the network interruption is detected, before the timeout is waited, the session resources corresponding to the terminal are not released, and the call service corresponding to the terminal is not released;
其中,上述会话资源是SBC在网络中断前分配给终端的;而终端在网络中断后,也将保持终端侧的呼叫业务不释放。The session resource is allocated to the terminal before the network is interrupted by the SBC; and after the network is interrupted, the terminal will also keep the call service on the terminal side from being released.
第一接收单元702,用于接收来自上述终端的关联信息,上述关联信息至少包括关联ID,上述关联ID指示了上述SBC在网络中断前分配给上述终端的会话资源;The first receiving unit 702 is configured to receive association information from the terminal, where the association information includes at least an association ID, where the association ID indicates a session resource allocated by the SBC to the terminal before the network is interrupted;
关联合法性检测单元703,用于使用上述关联信息进行关联合法性检测;The association legality detecting unit 703 is configured to perform association legality detection by using the foregoing association information.
注册单元704,用于在关联合法性检测成功时,使用上述关联ID指示的会话资源向CSCF发起周期性注册;The registration unit 704 is configured to initiate a periodic registration to the CSCF by using the session resource indicated by the association ID when the association validity check is successful.
第二接收单元705,用于接收与上述呼叫业务对应的媒体流数据;上述媒体流数据以新地址发送;a second receiving unit 705, configured to receive media stream data corresponding to the foregoing call service; the media stream data is sent by using a new address;
学习单元706,用于对上述媒体流数据的首包进行学习,得到上述新地址。The learning unit 706 is configured to learn the first packet of the media stream data to obtain the new address.
在本发明其他实施例中,请参见图7b,上述SBC还可包括生成单元707,用于生成并 返回在下一次关联合法性检测中使用的关联ID。In other embodiments of the present invention, referring to FIG. 7b, the foregoing SBC may further include a generating unit 707, configured to generate and Returns the association ID used in the next association validity check.
其中,保持单元701可用于执行图2a和2b所示的204部分,图4a和4c所示的403部分、图5a和5b所示的504部分。Therein, the holding unit 701 can be used to perform the 204 portion shown in Figures 2a and 2b, the 403 portion shown in Figures 4a and 4c, and the 504 portion shown in Figures 5a and 5b.
第一接收单元702可用于接收终端在图2a和2b所示的205部分、图4a和4c所示的404部分、图5a和5b所示的505部分发送的关联信息。The first receiving unit 702 can be configured to receive association information transmitted by the terminal in the portion 205 shown in Figures 2a and 2b, the portion 404 shown in Figures 4a and 4c, and the portion 505 shown in Figures 5a and 5b.
第二接收单元705可用于接收终端在图2a所示的209部分、图4a所示的408部分、图5a和5b所示的506部分发送的媒体流数据,以及在其他实施例中接收终端发送的媒体流数据。The second receiving unit 705 can be configured to receive media stream data transmitted by the terminal in the portion 209 shown in FIG. 2a, the portion 408 shown in FIG. 4a, and the portion 506 shown in FIGS. 5a and 5b, and in other embodiments, the receiving terminal transmits Media stream data.
关联合法性检测单元703可用于执行图2a和2b所示的206部分,图4a和4c所示的405部分、图5a和5b所示的507部分。The association legitimacy detecting unit 703 can be used to execute the 206 portion shown in Figs. 2a and 2b, the 405 portion shown in Figs. 4a and 4c, and the 507 portion shown in Figs. 5a and 5b.
注册单元704可用于执行图2a所示的200部分和207部分、图2b所示的200部分、2071部分和2072部分,图4a所示的400部分和406部分、图4c所示的400部分、4061部分和4062部分、图5a所示的500部分、图5b所示的500部分、5081部分和5082部分。The registration unit 704 can be used to perform the 200 and 207 portions shown in FIG. 2a, the 200 portion, the 2071 portion, and the 2072 portion shown in FIG. 2b, the 400 portion and the 406 portion shown in FIG. 4a, and the 400 portion shown in FIG. 4c. Section 4061 and Section 4062, Section 500 shown in Figure 5a, Section 500, Section 5081, and Section 5082 shown in Figure 5b.
学习单元706可用于执行图2a所示的210部分、图4a所示的409部分、图5a所示的508部分、图5b所示的5084部分。The learning unit 706 can be used to perform the 210 portion shown in Figure 2a, the 409 portion shown in Figure 4a, the 508 portion shown in Figure 5a, and the 5084 portion shown in Figure 5b.
生成单元707可用于执行图2a和2b所示的201部分和208部分,图5a所示的502部分和510部分、图5b所示的502部分和5083部分,此外,生成单元还可用于执行图4a和4c所示的407部分。The generating unit 707 can be used to perform the 201 part and the 208 part shown in FIGS. 2a and 2b, the 502 part and the 510 part shown in FIG. 5a, the 502 part and the 5083 part shown in FIG. 5b, and further, the generating unit can also be used to execute the figure. Section 407 shown in 4a and 4c.
图8示出了上述实施例中所涉及的终端的一种可能的结构示意图,包括:FIG. 8 is a schematic structural diagram of a terminal involved in the foregoing embodiment, including:
保持单元801,用于在网络中断后,保持终端侧的呼叫业务不释放;The holding unit 801 is configured to keep the call service on the terminal side from being released after the network is interrupted;
第一发送单元802,用于在网络恢复后,向SBC发送关联信息;The first sending unit 802 is configured to send association information to the SBC after the network is restored;
上述关联信息用于上述SBC进行关联合法性检测,其中,上述关联信息至少包括关联ID,上述关联ID指示了上述SBC在网络中断前分配给上述终端的会话资源,在关联合法性检测成功后,上述关联ID指示的会话资源将被上述SBC用于向CSCF发起周期性注册;The association information is used by the SBC to perform association validity detection, where the association information includes at least an association ID, and the association ID indicates a session resource allocated by the SBC to the terminal before the network interruption, and after the association validity detection is successful, The session resource indicated by the foregoing association ID is used by the SBC to initiate periodic registration with the CSCF;
第二发送单元803,用于在网络恢复后,向上述SBC传输与上述呼叫业务对应的媒体流数据,上述媒体流数据以新地址发送,上述媒体流数据中的首包用于上述SBC学习上述新地址。The second sending unit 803 is configured to: after the network is restored, transmit media stream data corresponding to the call service to the SBC, where the media stream data is sent by using a new address, and the first packet in the media stream data is used by the SBC to learn the foregoing. new address.
其中,保持单元801可用于执行图2a和2b所示的203部分、图4a和4c所示的402部分、图5a和5b所示的503部分。Among them, the holding unit 801 can be used to execute the portion 203 shown in Figs. 2a and 2b, the portion 402 shown in Figs. 4a and 4c, and the portion 503 shown in Figs. 5a and 5b.
第一发送单元802可用于执行图2a所示的209部分、图4a和4c所示的404部分、图5a和5b所示的505部分。The first transmitting unit 802 can be used to perform the 209 portion shown in FIG. 2a, the 404 portion shown in FIGS. 4a and 4c, and the 505 portion shown in FIGS. 5a and 5b.
第二发送单元803可用于执行图2a和2b所示的205部分、图4a所示的408部分、图5a和5b所示的506部分,以及,图5b所示的5085部分。The second transmitting unit 803 can be used to perform the 205 portion shown in Figures 2a and 2b, the 408 portion shown in Figure 4a, the 506 portion shown in Figures 5a and 5b, and the 5085 portion shown in Figure 5b.
在本发明其他实施例中,上述终端还可包括呼叫单元,用于完成呼叫建立,以及呼叫过程中的媒体流数据发送等。呼叫单元可用于执行图2a所示的202部分和211部分、图2b所示的202部分、图4a所示的401部分和410部分、图4c所示的401部分、图5a所示的501部分和509部分、图5b所示的501部分。 In other embodiments of the present invention, the terminal may further include a calling unit, configured to complete call setup, and media stream data transmission during the call. The call unit can be used to perform the 202 and 211 portions shown in Figure 2a, the 202 portion shown in Figure 2b, the 401 portion and the 410 portion shown in Figure 4a, the 401 portion shown in Figure 4c, and the 501 portion shown in Figure 5a. And part 509, part 501 shown in Figure 5b.
图9示出了上述实施例中所涉及的SBC/终端的另一种可能的结构示意图,包括:FIG. 9 is a schematic diagram showing another possible structure of the SBC/terminal involved in the foregoing embodiment, including:
总线、控制器/处理器1、存储器2、通信接口3、输入设备4和输出设备5。处理器1、存储器2、通信接口3、输入设备4和输出设备5通过总线相互连接。其中:Bus, controller/processor 1, memory 2, communication interface 3, input device 4, and output device 5. The processor 1, the memory 2, the communication interface 3, the input device 4, and the output device 5 are connected to each other through a bus. among them:
总线可包括一通路,在计算机系统各个部件之间传送信息。The bus can include a path for communicating information between various components of the computer system.
控制器/处理器1可以是通用处理器,例如通用中央处理器(CPU)、网络处理器(Network Processor,简称NP)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器1也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。The controller/processor 1 may be a general-purpose processor, such as a general-purpose central processing unit (CPU), a network processor (NP Processor, NP for short, a microprocessor, etc., or an application-specific integrated circuit. , ASIC), or one or more integrated circuits for controlling the execution of the program of the present invention. It can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The controller/processor 1 can also be a combination of computing functions, such as one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
存储器2中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器2可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器等等。The program for executing the technical solution of the present invention is stored in the memory 2, and an operating system and other applications can also be saved. In particular, the program can include program code, the program code including computer operating instructions. More specifically, the memory 2 may be a read-only memory (ROM), other types of static storage devices that can store static information and instructions, random access memory (RAM), storable information, and Other types of dynamic storage devices, disk storage, and the like.
输入设备4可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏等。 Input device 4 may include means for receiving data and information input by a user, such as a keyboard, mouse, camera, scanner, light pen, voice input device, touch screen, and the like.
输出设备5可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。Output device 5 may include devices that allow output of information to the user, such as a display screen, printer, speaker, and the like.
通信接口3可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。 Communication interface 3 may include devices that use any type of transceiver to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), and the like.
SBC的控制器/处理器可用于执行图2a-2b、图3、图4a-4c、图5a-5b、图6中涉及SBC的处理过程和/或用于本申请所描述的技术的其他过程。控制器/处理器也可用于实现保持单元701、第一接收单元702、关联合法性检测单元703、注册单元704、第二接收单元705、学习单元706和生成单元707的功能。The controller/processor of the SBC can be used to perform the processes of the SBCs of Figures 2a-2b, 3, 4a-4c, 5a-5b, 6 and/or other processes for the techniques described herein. . The controller/processor can also be used to implement the functions of the holding unit 701, the first receiving unit 702, the associated legitimacy detecting unit 703, the registration unit 704, the second receiving unit 705, the learning unit 706, and the generating unit 707.
SBC的通信接口则用于支持SBC与其他装置进行通信。例如,用于支持OBU与图2a-2b、图3、图4a-4c、图5a-5b、图6中示出的其他装置进行通信。The SBC's communication interface is used to support the SBC to communicate with other devices. For example, the OBU is used to support communication with other devices shown in Figures 2a-2b, 3, 4a-4c, 5a-5b, and 6.
终端的控制器/处理器可用于执行图2a-2b、图3、图4a-4c、图5a-5b、图6中涉及终端的处理过程和/或用于本申请所描述的技术的其他过程。RSU的控制器/处理器也可用于实现保持单元801、第一发送单元802、第二发送单元803和呼叫单元的功能。The controller/processor of the terminal can be used to perform the processes involved in the terminal of Figures 2a-2b, 3, 4a-4c, 5a-5b, 6 and/or other processes for the techniques described herein . The controller/processor of the RSU can also be used to implement the functions of the holding unit 801, the first transmitting unit 802, the second transmitting unit 803, and the calling unit.
终端的通信接口则用于支持终端与其他装置进行通信。例如,用于支持终端与图2a-2b、图3、图4a-4c、图5a-5b、图6中示出的其他装置进行通信。The communication interface of the terminal is used to support the terminal to communicate with other devices. For example, the support terminal is in communication with other devices shown in Figures 2a-2b, 3, 4a-4c, 5a-5b, and 6.
可以理解的是,图9仅仅示出了SBC或终端的简化设计。在实际应用中,SBC或终端可以包含任意数量的发射器,接收器,处理器,控制器,存储器,通信接口等,而所有可以实现本发明的SBC或终端都在本发明的保护范围之内。It will be appreciated that Figure 9 only shows a simplified design of the SBC or terminal. In practical applications, the SBC or terminal may include any number of transmitters, receivers, processors, controllers, memories, communication interfaces, etc., and all SBCs or terminals that can implement the present invention are within the scope of the present invention. .
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、 移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。The steps of a method or algorithm described in connection with the present disclosure may be implemented in a hardware, or may be implemented by a processor executing software instructions. The software instructions may be composed of corresponding software modules, which may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, Mobile hard disk, CD-ROM or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor to enable the processor to read information from, and write information to, the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC. Additionally, the ASIC can be located in the user equipment. Of course, the processor and the storage medium may also reside as discrete components in the user equipment.
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。Those skilled in the art will appreciate that in one or more examples described above, the functions described herein can be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored in a computer readable medium or transmitted as one or more instructions or code on a computer readable medium. Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another. A storage medium may be any available media that can be accessed by a general purpose or special purpose computer.
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。 The specific embodiments of the present invention have been described in detail with reference to the preferred embodiments of the present invention. The scope of the protection, any modifications, equivalent substitutions, improvements, etc., which are made on the basis of the technical solutions of the present invention, are included in the scope of the present invention.

Claims (26)

  1. 一种基于SIP over TCP/TLS的通话方法,其特征在于,包括:A SIP over TCP/TLS based call method, comprising:
    SBC在检测到网络中断后、等待超时之前,保持终端对应的会话资源不释放,并保持所述终端对应的呼叫业务不释放;其中,所述会话资源是所述SBC在网络中断前分配给所述终端的;所述终端在网络中断后,保持终端侧的呼叫业务不释放;After detecting the network interruption and waiting for the timeout, the SBC keeps the session resources corresponding to the terminal from being released, and keeps the call service corresponding to the terminal from being released; wherein the session resource is allocated to the SBC before the network is interrupted. Said terminal; after the network is interrupted, the terminal keeps the call service on the terminal side from being released;
    所述SBC接收来自所述终端的关联信息,所述关联信息至少包括关联ID,所述关联ID指示了所述SBC在网络中断前分配给所述终端的会话资源;The SBC receives association information from the terminal, the association information includes at least an association ID, and the association ID indicates a session resource allocated by the SBC to the terminal before a network interruption;
    所述SBC使用所述关联信息进行关联合法性检测;The SBC uses the associated information to perform association validity detection;
    若关联合法性检测成功,所述SBC使用所述关联ID指示的会话资源向CSCF发起周期性注册;If the association validity check is successful, the SBC initiates periodic registration with the CSCF by using the session resource indicated by the association ID;
    所述SBC接收与所述呼叫业务对应的媒体流数据;所述媒体流数据以新地址发送;The SBC receives media stream data corresponding to the call service; the media stream data is sent at a new address;
    所述SBC对所述媒体流数据的首包进行学习,得到所述新地址。The SBC learns the first packet of the media stream data to obtain the new address.
  2. 如权利要求1所述的方法,其特征在于,还包括:The method of claim 1 further comprising:
    若关联合法性检测失败,所述SBC为所述终端重新分配会话资源,使用重新分配的会话资源向CSCF发起周期性注册。If the association validity check fails, the SBC re-allocates the session resources for the terminal, and initiates periodic registration with the CSCF by using the re-allocated session resources.
  3. 如权利要求1所述的方法,其特征在于,所述关联合法性检测包括:根据所述关联ID查找相应的会话资源,若查找到,关联合法性检测成功,否则关联合法性检测失败。The method according to claim 1, wherein the association validity detection comprises: searching for a corresponding session resource according to the association ID, and if found, the association legality detection is successful, otherwise the association legality detection fails.
  4. 如权利要求3所述的方法,其特征在于,所述接收来自所述终端的关联信息包括:接收携带所述关联信息的注册消息或新增SIP消息。The method according to claim 3, wherein the receiving the association information from the terminal comprises: receiving a registration message carrying the association information or adding a SIP message.
  5. 如权利要求1所述的方法,其特征在于,还包括:所述SBC生成并返回在下一次关联合法性检测中使用的关联ID。The method of claim 1 further comprising: said SBC generating and returning an association ID for use in the next association validity check.
  6. 如权利要求1所述的方法,其特征在于,所述接收来自所述终端的关联信息包括:The method of claim 1, wherein the receiving the associated information from the terminal comprises:
    接收携带所述关联信息的RTCP消息,所述关联信息还包括MD5值;所述MD5值是所述终端对随机密码进行MD5 Hash运算得到的,所述随机密码是所述SBC在网络中断前连同所述关联ID一同分配给所述终端的。Receiving an RTCP message carrying the association information, where the association information further includes an MD5 value; the MD5 value is obtained by performing, by the terminal, an MD5 Hash operation on the random password, where the random password is the SBC before the network is interrupted The association ID is assigned to the terminal together.
  7. 如权利要求6所述的方法,其特征在于,所述关联合法性检测包括:The method of claim 6 wherein said associating legality detection comprises:
    根据所述关联ID查找相应的会话资源;Finding a corresponding session resource according to the association ID;
    对所述RTCP消息中的MD5值进行MD5校验;Performing MD5 check on the MD5 value in the RTCP message;
    若查找到相应的会话资源并且MD5校验成功,则关联合法性检测成功,否则关联合法性检测失败。If the corresponding session resource is found and the MD5 check succeeds, the association legality detection succeeds, otherwise the association legality detection fails.
  8. 如权利要求7所述的方法,其特征在于,还包括:所述SBC生成并返回在下一次关联 合法性检测中使用的关联ID和随机密码。The method of claim 7 further comprising: said SBC generating and returning the next association The correlation ID and random password used in the legality test.
  9. 如权利要求5或8所述的方法,其特征在于,A method according to claim 5 or 8, wherein
    所述用于下一次关联合法性检测的关联ID携带于由所述SBC返回的成功响应消息或新增SIP消息中;或者,The association ID for the next association validity check is carried in the success response message or the newly added SIP message returned by the SBC; or
    所述用于下一次关联合法性检测的关联ID和随机密码携带于由所述SBC返回的成功响应消息或新增SIP消息中。The association ID and random password for the next association validity check are carried in a success response message or a new SIP message returned by the SBC.
  10. 如权利要求1所述的方法,其特征在于,所述关联ID为call ID或service cookie。The method of claim 1 wherein the association ID is a call ID or a service cookie.
  11. 一种基于SIP over TCP/TLS的通信方法,其特征在于,包括:A SIP over TCP/TLS based communication method, comprising:
    终端在网络中断后,保持终端侧的呼叫业务不释放;After the network is interrupted, the terminal keeps the call service on the terminal side from being released;
    在网络恢复后,所述终端向SBC发送关联信息;所述关联信息用于所述SBC进行关联合法性检测,其中,所述关联信息至少包括关联ID,所述关联ID指示了所述SBC在网络中断前分配给所述终端的会话资源,在关联合法性检测成功后,所述关联ID指示的会话资源将被所述SBC用于向CSCF发起周期性注册;After the network is restored, the terminal sends association information to the SBC; the association information is used by the SBC to perform association validity detection, where the association information includes at least an association ID, and the association ID indicates that the SBC is The session resource allocated to the terminal before the network is interrupted. After the association validity check is successful, the session resource indicated by the association ID is used by the SBC to initiate periodic registration with the CSCF.
    在网络恢复后,所述终端向所述SBC传输与所述呼叫业务对应的媒体流数据,所述媒体流数据以新地址发送,所述媒体流数据中的首包用于所述SBC学习所述新地址。After the network is restored, the terminal transmits media stream data corresponding to the call service to the SBC, where the media stream data is sent by using a new address, and the first packet in the media stream data is used by the SBC learning station. State the new address.
  12. 如权利要求11所述的方法,其特征在于,所述向SBC发送关联信息包括:向所述SBC发送携带所述关联信息的注册消息或新增SIP消息。The method according to claim 11, wherein the sending the association information to the SBC comprises: sending a registration message carrying the association information or adding a SIP message to the SBC.
  13. 如权利要求11所述的方法,其特征在于,所述向SBC发送关联信息包括:The method of claim 11, wherein the transmitting the associated information to the SBC comprises:
    所述终端向所述SBC发送携带所述关联信息的RTCP消息;Transmitting, by the terminal, an RTCP message carrying the association information to the SBC;
    所述关联信息还包括MD5值;所述MD5值是所述终端对随机密码进行MD5 Hash运算得到的,所述随机密码是所述SBC在网络中断前连同所述关联ID一同分配给所述终端的。The association information further includes an MD5 value obtained by performing, by the terminal, an MD5 hash operation on the random password, where the random password is allocated to the terminal together with the association ID before the network interruption. of.
  14. 一种会话边界控制器SBC,其特征在于,包括:A session border controller SBC, comprising:
    保持单元,用于在检测到网络中断后、等待超时之前,保持终端对应的会话资源不释放,并保持所述终端对应的呼叫业务不释放;其中,所述会话资源是所述SBC在网络中断前分配给所述终端的;所述终端在网络中断后,保持终端侧的呼叫业务不释放;a holding unit, configured to keep the session resource corresponding to the terminal from being released after the network interruption is detected, and wait for the timeout, and keep the call service corresponding to the terminal from being released; wherein the session resource is the SBC in the network interruption The terminal is allocated to the terminal; after the network is interrupted, the terminal keeps the call service on the terminal side from being released;
    第一接收单元,用于接收来自所述终端的关联信息,所述关联信息至少包括关联ID,所述关联ID指示了所述SBC在网络中断前分配给所述终端的会话资源;a first receiving unit, configured to receive association information from the terminal, where the association information includes at least an association ID, where the association ID indicates a session resource allocated by the SBC to the terminal before a network interruption;
    关联合法性检测单元,用于使用所述关联信息进行关联合法性检测;An association legality detecting unit, configured to perform association legality detection by using the associated information;
    注册单元,用于在关联合法性检测成功时,使用所述关联ID指示的会话资源向CSCF发起周期性注册;a registration unit, configured to initiate a periodic registration to the CSCF by using the session resource indicated by the association ID when the association validity detection is successful;
    第二接收单元,用于接收与所述呼叫业务对应的媒体流数据;所述媒体流数据以新地址 发送;a second receiving unit, configured to receive media stream data corresponding to the call service; the media stream data is a new address send;
    学习单元,用于对所述媒体流数据的首包进行学习,得到所述新地址。And a learning unit, configured to learn the first packet of the media stream data, to obtain the new address.
  15. 如权利要求14所述的SBC,其特征在于,所述注册单元还用于:The SBC of claim 14, wherein the registration unit is further configured to:
    在关联合法性检测失败时,为所述终端重新分配会话资源,使用重新分配的会话资源向CSCF发起周期性注册。When the association legality detection fails, the terminal resources are re-allocated for the terminal, and the re-allocated session resources are used to initiate periodic registration with the CSCF.
  16. 如权利要求15所述的SBC,其特征在于,在关联合法性检测的方面,所述关联合法性检测单元用于:根据所述关联ID查找相应的会话资源,若查找到,关联合法性检测成功,否则关联合法性检测失败。The SBC according to claim 15, wherein in the aspect of association validity detection, the association legality detecting unit is configured to: search for a corresponding session resource according to the association ID, and if found, correlate legality detection Successful, otherwise the association legality test failed.
  17. 如权利要求16所述的SBC,其特征在于,在所述接收来自所述终端的关联信息的方面,所述第一接收单元用于:接收携带所述关联信息的注册消息或新增SIP消息。The SBC according to claim 16, wherein in the aspect of receiving the association information from the terminal, the first receiving unit is configured to: receive a registration message carrying the association information or add a SIP message. .
  18. 如权利要求14所述的SBC,其特征在于,还包括:The SBC of claim 14 further comprising:
    生成单元,用于生成并返回在下一次关联合法性检测中使用的关联ID。A generation unit for generating and returning the association ID used in the next association validity check.
  19. 如权利要求18所述的SBC,其特征在于,在所述接收来自所述终端的关联信息的方面,所述第一接收单元用于:接收携带所述关联信息的RTCP消息,所述关联信息还包括MD5值;所述MD5值是所述终端对随机密码进行MD5 Hash运算得到的,所述随机密码是所述生成单元在网络中断前连同所述关联ID一同分配给所述终端的。The SBC according to claim 18, wherein in the receiving the association information from the terminal, the first receiving unit is configured to: receive an RTCP message carrying the association information, the association information The MD5 value is further obtained by the terminal performing an MD5 hash operation on the random password, where the random password is allocated to the terminal together with the association ID before the network interruption.
  20. 如权利要求19所述的SBC,其特征在于,在关联合法性检测的方面,所述关联合法性检测单元用于:The SBC according to claim 19, wherein in the aspect of association legality detection, the association legality detecting unit is configured to:
    根据所述关联ID查找相应的会话资源;Finding a corresponding session resource according to the association ID;
    对所述RTCP消息中的MD5值进行MD5校验;Performing MD5 check on the MD5 value in the RTCP message;
    若查找到相应的会话资源并且MD5校验成功,则关联合法性检测成功,否则关联合法性检测失败。If the corresponding session resource is found and the MD5 check succeeds, the association legality detection succeeds, otherwise the association legality detection fails.
  21. 如权利要求18或19所述的SBC,其特征在于,The SBC according to claim 18 or 19, characterized in that
    用于下一次关联合法性检测的关联ID携带于由所述生成单元返回的成功响应消息或新增SIP消息中;或者,The association ID used for the next association validity check is carried in the success response message or the newly added SIP message returned by the generating unit; or
    用于下一次关联合法性检测的关联ID和随机密码携带于由所述生成单元返回的成功响应消息或新增SIP消息中。The association ID and the random password for the next association validity check are carried in the success response message or the newly added SIP message returned by the generation unit.
  22. 一种终端,其特征在于,包括:A terminal, comprising:
    保持单元,用于在网络中断后,保持终端侧的呼叫业务不释放;a holding unit, configured to keep the call service on the terminal side from being released after the network is interrupted;
    第一发送单元,用于在网络恢复后,向SBC发送关联信息;所述关联信息用于所述SBC进行关联合法性检测,其中,所述关联信息至少包括关联ID,所述关联ID指示了所述SBC在网络中断前分配给所述终端的会话资源,在关联合法性检测成功后,所述关联ID指示的会 话资源将被所述SBC用于向CSCF发起周期性注册;a first sending unit, configured to send association information to the SBC after the network is restored; the association information is used by the SBC to perform association validity detection, where the association information includes at least an association ID, and the association ID indicates The session resource allocated to the terminal by the SBC before the network is interrupted. After the association validity detection is successful, the association ID indicates the session. The voice resource will be used by the SBC to initiate periodic registration with the CSCF;
    第二发送单元,用于在网络恢复后,向所述SBC传输与所述呼叫业务对应的媒体流数据,所述媒体流数据以新地址发送,所述媒体流数据中的首包用于所述SBC学习所述新地址。a second sending unit, configured to: after the network is restored, transmit media stream data corresponding to the call service to the SBC, where the media stream data is sent by using a new address, where the first packet in the media stream data is used for The SBC learns the new address.
  23. 如权利要求22所述的终端,其特征在于,在所述向SBC发送关联信息的方面,所述第一发送单元用于:向所述SBC发送携带所述关联信息的注册消息或新增SIP消息。The terminal according to claim 22, wherein, in the aspect of transmitting the association information to the SBC, the first sending unit is configured to: send a registration message carrying the association information or add a SIP to the SBC Message.
  24. 如权利要求22所述的终端,其特征在于,在所述向SBC发送关联信息的方面,所述第一发送单元用于:The terminal according to claim 22, wherein in the aspect of transmitting the association information to the SBC, the first sending unit is configured to:
    向所述SBC发送携带所述关联信息的RTCP消息;Sending, to the SBC, an RTCP message carrying the associated information;
    所述关联信息还包括MD5值;所述MD5值是所述终端对随机密码进行MD5 Hash运算得到的,所述随机密码是所述SBC在网络中断前连同所述关联ID一同分配给所述终端的。The association information further includes an MD5 value obtained by performing, by the terminal, an MD5 hash operation on the random password, where the random password is allocated to the terminal together with the association ID before the network interruption. of.
  25. 一种会话边界控制器SBC,其特征在于,包括处理器和存储器,其中,所述处理器通过运行存储在所述存储器内的软件程序、调用存储在所述存储器内的数据,至少执行如下步骤:A session border controller SBC, comprising: a processor and a memory, wherein the processor performs at least the following steps by running a software program stored in the memory, calling data stored in the memory :
    在检测到网络中断后、等待超时之前,保持终端对应的会话资源不释放,并保持所述终端对应的呼叫业务不释放;其中,所述会话资源是所述SBC在网络中断前分配给所述终端的;所述终端在网络中断后,保持终端侧的呼叫业务不释放;After detecting the network interruption and waiting for the timeout, the session resources corresponding to the terminal are not released, and the call service corresponding to the terminal is not released; wherein the session resource is allocated to the SBC before the network is interrupted. After the network is interrupted, the terminal keeps the call service on the terminal side from being released;
    接收来自所述终端的关联信息,所述关联信息至少包括关联ID,所述关联ID指示了所述SBC在网络中断前分配给所述终端的会话资源;Receiving association information from the terminal, the association information including at least an association ID, the association ID indicating a session resource allocated by the SBC to the terminal before a network interruption;
    使用所述关联信息进行关联合法性检测;Using the associated information to perform association legality detection;
    在关联合法性检测成功时,使用所述关联ID指示的会话资源向CSCF发起周期性注册;When the association validity check is successful, the session resource indicated by the association ID is used to initiate periodic registration with the CSCF;
    接收与所述呼叫业务对应的媒体流数据;所述媒体流数据以新地址发送;Receiving media stream data corresponding to the call service; the media stream data is sent at a new address;
    对所述媒体流数据的首包进行学习,得到所述新地址。Learning the first packet of the media stream data to obtain the new address.
  26. 一种终端,其特征在于,包括处理器和存储器,其中,所述处理器通过运行存储在所述存储器内的软件程序、调用存储在所述存储器内的数据,至少执行如下步骤:A terminal, comprising: a processor and a memory, wherein the processor performs at least the following steps by running a software program stored in the memory, calling data stored in the memory:
    在网络中断后,保持终端侧的呼叫业务不释放;After the network is interrupted, the call service on the terminal side is not released;
    在网络恢复后,向SBC发送关联信息;所述关联信息用于所述SBC进行关联合法性检测,其中,所述关联信息至少包括关联ID,所述关联ID指示了所述SBC在网络中断前分配给所述终端的会话资源,在关联合法性检测成功后,所述关联ID指示的会话资源将被所述SBC用于向CSCF发起周期性注册;After the network is restored, the association information is sent to the SBC; the association information is used by the SBC to perform association validity detection, where the association information includes at least an association ID, and the association ID indicates that the SBC is before the network is interrupted. The session resource allocated to the terminal, after the association of the validity of the association is successful, the session resource indicated by the association ID is used by the SBC to initiate periodic registration with the CSCF;
    在网络恢复后,向所述SBC传输与所述呼叫业务对应的媒体流数据,所述媒体流数据以新地址发送,所述媒体流数据中的首包用于所述SBC学习所述新地址。 After the network is restored, the media stream data corresponding to the call service is transmitted to the SBC, where the media stream data is sent by using a new address, and the first packet in the media stream data is used by the SBC to learn the new address. .
PCT/CN2017/074382 2016-03-14 2017-02-22 Sip over tcp/tls-based communication method and associated device WO2017157144A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610143258.6 2016-03-14
CN201610143258.6A CN105813228B (en) 2016-03-14 2016-03-14 Communication means and relevant apparatus based on SIP over TCP/TLS

Publications (1)

Publication Number Publication Date
WO2017157144A1 true WO2017157144A1 (en) 2017-09-21

Family

ID=56468264

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/074382 WO2017157144A1 (en) 2016-03-14 2017-02-22 Sip over tcp/tls-based communication method and associated device

Country Status (2)

Country Link
CN (1) CN105813228B (en)
WO (1) WO2017157144A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979980A (en) * 2021-12-14 2022-08-30 中移互联网有限公司 SIP message communication method, terminal equipment and network equipment thereof

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105813228B (en) * 2016-03-14 2019-04-26 华为技术有限公司 Communication means and relevant apparatus based on SIP over TCP/TLS
CN108617037B (en) * 2017-01-10 2020-08-18 大唐移动通信设备有限公司 Resource release method and device based on LTE system
CN110351224A (en) * 2018-04-03 2019-10-18 成都鼎桥通信技术有限公司 A kind of dissemination method and device of SIP status service
CN110809014B (en) * 2018-08-06 2023-03-03 中兴通讯股份有限公司 Service request, negotiation and response method, device, network equipment and system
CN114124907B (en) * 2020-08-14 2023-07-21 中国移动通信集团浙江有限公司 SIP signaling front-end processor, service upgrading method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2111701A1 (en) * 2007-01-31 2009-10-28 Broadsoft M6, LLC System and method for reestablishing, with a client device, a signaling session associated with a call in progress
CN103685226A (en) * 2012-09-20 2014-03-26 美商迪尔亚科技股份有限公司 Method of Internet Protocol (IP) to IP handover
WO2015046099A1 (en) * 2013-09-24 2015-04-02 株式会社Nttドコモ Ip multimedia subsystem, proxy session control apparatus, and communication control method
US9197674B1 (en) * 2006-03-27 2015-11-24 Alcatel Lucent Inter-domain user and service mobility in SIP/SIMPLE systems
CN105813228A (en) * 2016-03-14 2016-07-27 华为技术有限公司 Communication method and related device based on SIP over TCP/TLS

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070002764A1 (en) * 2005-06-30 2007-01-04 Siemens Aktiengesellschaft Network arrangement and method for handling sessions in a telecommunications network
CN103166766B (en) * 2011-12-12 2015-10-07 中国移动通信集团北京有限公司 A kind of charging method, equipment and system
CN102577510B (en) * 2011-12-28 2014-09-03 华为技术有限公司 Method and device for maintaining call continuity
US9867098B2 (en) * 2014-05-29 2018-01-09 T-Mobile Usa, Inc. Wi-Fi calling using SIP-IMS handset and evolved packet data gateway
CN104767751A (en) * 2015-04-02 2015-07-08 大唐移动通信设备有限公司 Session control method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197674B1 (en) * 2006-03-27 2015-11-24 Alcatel Lucent Inter-domain user and service mobility in SIP/SIMPLE systems
EP2111701A1 (en) * 2007-01-31 2009-10-28 Broadsoft M6, LLC System and method for reestablishing, with a client device, a signaling session associated with a call in progress
CN103685226A (en) * 2012-09-20 2014-03-26 美商迪尔亚科技股份有限公司 Method of Internet Protocol (IP) to IP handover
WO2015046099A1 (en) * 2013-09-24 2015-04-02 株式会社Nttドコモ Ip multimedia subsystem, proxy session control apparatus, and communication control method
CN105813228A (en) * 2016-03-14 2016-07-27 华为技术有限公司 Communication method and related device based on SIP over TCP/TLS

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979980A (en) * 2021-12-14 2022-08-30 中移互联网有限公司 SIP message communication method, terminal equipment and network equipment thereof
CN114979980B (en) * 2021-12-14 2023-07-21 中移互联网有限公司 Communication method of SIP message, terminal equipment and network equipment thereof

Also Published As

Publication number Publication date
CN105813228B (en) 2019-04-26
CN105813228A (en) 2016-07-27

Similar Documents

Publication Publication Date Title
US10862863B2 (en) Session identifier for a communication session
WO2017157144A1 (en) Sip over tcp/tls-based communication method and associated device
US8601144B1 (en) Systems and methods for automatic ICE relay candidate creation
US20160380966A1 (en) Media Relay Server
JP5969689B2 (en) Redundancy for real-time communication
US20160380789A1 (en) Media Relay Server
US10230771B2 (en) Media session
WO2016107454A1 (en) Turn relay service reuse for nat traversal during media session resumption
EP2991318B1 (en) Hybrid cloud architecture for media communications
US9357014B2 (en) Service-based networking
US20180132291A1 (en) SIP Call Continuity Upon Failure
US20230319148A1 (en) Minimizing connection delay for a data session
WO2022166742A1 (en) Network registration method and apparatus, and user equipment
WO2014101159A1 (en) Method, device and server for setting and processing interactive connectivity establishment address
JP5840575B2 (en) Multi-home communication method and system
US10972514B2 (en) Reestablishment of session initiation protocol (SIP) dialogs
CN115696325A (en) Session method, device, server and storage medium
WO2016201973A1 (en) Disaster tolerance method and apparatus, and communication system
WO2023011056A1 (en) Communication method and apparatus
EP4228223A1 (en) Communication control mechanism with cloud based call state control function
WO2015131533A1 (en) Recording method, call control server and recording system

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17765686

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17765686

Country of ref document: EP

Kind code of ref document: A1