WO2008025216A1 - Method and system for realizing release of resource - Google Patents

Method and system for realizing release of resource Download PDF

Info

Publication number
WO2008025216A1
WO2008025216A1 PCT/CN2007/002314 CN2007002314W WO2008025216A1 WO 2008025216 A1 WO2008025216 A1 WO 2008025216A1 CN 2007002314 W CN2007002314 W CN 2007002314W WO 2008025216 A1 WO2008025216 A1 WO 2008025216A1
Authority
WO
WIPO (PCT)
Prior art keywords
session
refresher
unit
header field
message
Prior art date
Application number
PCT/CN2007/002314
Other languages
French (fr)
Chinese (zh)
Inventor
Weiqiang Yang
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of WO2008025216A1 publication Critical patent/WO2008025216A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/30Connection release

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method and system for implementing resource release. Background technique
  • IMS is a voice and data service system that can shield users' access methods and control the openness of service capabilities according to user data, thus providing a multimedia communication experience.
  • IMS which combines innovative voice, data, and multimedia applications, can generate new services such as presence services, multimedia chat, conferencing, push to talk, and push to conference.
  • IMS IMS services
  • call control for controlling user registration, session control, etc.
  • media gateway control/IMS media gateway function MGCF I IM-MGW
  • CSCF call control
  • MGCF I IM-MGW media gateway control/IMS media gateway function
  • the main devices in the IMS include an application server (AS) that provides various business logic control functions and a home subscriber server (HSS) for centrally managing user subscription data.
  • AS application server
  • HSS home subscriber server
  • the CSCF is divided into: a current local proxy node (P-CSCF), a registered home domain service node (S-CSCF), and an information node (I-CSCF) according to functions in the network.
  • P-CSCF is the access point of the user in the IMS system, and all SIP signaling flows from the UE or to the UE must pass through the P-CSCF.
  • the I-CSCF is the point of contact for all users connected to this carrier in an operator network.
  • the S-CSCF is in the core control position in the IMS core network and is located in the home network. Responsible for the UE Registration authentication and session control, performing basic session routing functions for the calling end and the called end IMS user, and triggering corresponding rules according to the IMS signed by the user.
  • the user accesses the IMS through the current local proxy node P-CSCF, and the session and service trigger control and the service control interaction with the AS are completed by the home domain service node S-CSCF of the registered place; the IMS uses the SIP protocol as the application layer interaction signaling.
  • the interface protocol between the terminal and the CSCF, between the CSCF, and between the CSCF and the AS is the SIP protocol.
  • the SIP protocol does not define a protocol that enables the intermediate node to detect whether the session is active after the session is established. This causes the intermediate node in the IMS system to fail to release the resource when the terminal sends a release indication message.
  • the Session Timers protocol complements the SIP protocol for this issue and is an extension of the SIP protocol.
  • the Session Timers protocol allows a terminal in the session to initiate a session update request periodically to ensure that the session is active. If the session update request is not received within the period or the session update request fails to be sent, the session is already inactive. Then the terminal releases the relevant resources. Intermediate nodes in the IMS system, such as the P-CSCF or S-CSCF, directly release the session-related resources after a timeout. This ensures the timely release of relevant resources.
  • Session Timers protocol it is convenient to implement as a proxy server (PROXY).
  • PROXY proxy server
  • P-CSCF and S-CSCF are usually only used as PROXY units.
  • AS which is usually used as a back-to-back user agent (B2BUA) unit
  • B2BUA back-to-back user agent
  • the Session Timers protocol is not specified. If the protocol is directly hardened, the session update request is repeatedly meaninglessly forwarded or collided during the session. It cannot be implemented smoothly, so the resource release problem of the B2BUA unit has not been solved well.
  • FIG. 1 is a schematic diagram of a process of meaningless forwarding of a session update request by a calling terminal.
  • Step 100 The calling terminal sends a session establishment request message to the B2BUA1 unit.
  • the session establishment request message sent by the calling terminal includes a Session-Expires header field, and may also include a supported (timer) header field and/or a minimum session termination (Min_SE) header field.
  • a Session-Expires header field may also include a supported (timer) header field and/or a minimum session termination (Min_SE) header field.
  • Step 101 The B2BUA1 unit receives the session establishment request message and performs related processing specified by the Session Timers protocol.
  • the User Agent Server (UAS) side of the B2BUA1 unit checks if there is a supported :timer header field in the message.
  • the session establishment request message has a supported:timer header field and the value of the Session-Expires header field is less than the value of the local Min_SE header field, a response is sent to the calling terminal indicating that the session update interval is too short and is in response With the value of the local Min_SE header field, after receiving the reply response, the calling terminal changes the value of the Session-Expires header field to a value not less than the value of the Min_SE header field, and sends it to the B2BUA1 unit again.
  • the session establishment request message does not have a supported:timer header field, and the value of the Session-Expires header field is smaller than the value of the local Min_SE header field, when there is an Mm_SE header field in the message, the message will be in the Min_SE The value of the header field is increased to be equal to the value of the local Min_SE header field and is the value of the Session-Expires header field.
  • the Min_SE header field is inserted in the request message, and its value is the local Mm— The value of the SE header field, and this value is used as the value of the Session-Expires header field.
  • the value of the Session-Expires header field may not be modified or may be not less than The value of the Min_SE header field in the message is not less than the value of the local Mm_SE header field, and the value of the Session-Expires header field is appropriately reduced.
  • the User Agent Client (UAC) of the B2BUA1 unit constructs a new session establishment request message according to the session establishment request message processed by the UAS.
  • Step 102 The B2BUA1 unit sends the processed session establishment request message to the PROXY unit. If there are multiple PROXY units, each PROXY unit forwards the session establishment request message; if there is no PROXY unit, B2BUA1 directly sends a session establishment request message to B2BUA2.
  • Step 103 The PROXY unit sends the received session establishment request message to the AS (B2BUA2 unit).
  • Step 104 The B2BUA2 unit receives the session establishment request message and performs a Session Timers protocol. The relevant processing.
  • the processing is the same as the processing of step 101.
  • Step 105 The B2BUA2 unit sends the processed session establishment request message to the called terminal. If there is a PROXY unit between the B2BUA2 and the called terminal, the PROXY unit forwards the received session establishment request message.
  • Step 106 The called terminal sends a 200 response message indicating success to the B2BUA2 unit.
  • PROXY unit If there is a PROXY unit between B2BUA2 and the called terminal, the PROXY unit will receive
  • Step 107 The B2BUA2 unit receives the 200 response message and performs related processing specified by the Session Timers protocol.
  • the UAC end of the B2BUA2 unit sets the refresher to uac according to the time of the Session-Expires header field and the refresher parameter in the response message. Therefore, the UAC end of the B2BUA2 unit starts the session update request timer and the timeout release timing. Timer.
  • the UAS end of the B2BUA2 unit starts the timeout release timer according to the value of the Session-Expires header field.
  • the session negotiation sets the refresher to uac, so the UAS end of the B2BUA2 unit does not start the send session update request timer.
  • Step 108 The B2BUA2 unit sends the processed 200 response message to the PROXY unit.
  • Step 109 The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit). If there are multiple PROXY units, each PROXY unit forwards the message; if there is no PROXY unit, B2BUA2 sends the message directly to B2BUA1.
  • Step 110 The B2BUA1 unit receives the 200 response message for related processing specified by the Session Timers protocol.
  • the processing is the same as the processing of step 107.
  • Step 111 The B2BUA1 unit sends the processed 200 response message to the calling terminal.
  • Step 112 According to the parameter determined by the negotiation, the refresher is uac, and the calling terminal is responsible for initiating the session update request, and then the session update timer of the calling terminal expires (Session Expires / 2) seconds to notify the calling terminal to issue a session update to the B2BUA1 unit. request.
  • Step 113 According to the parameter determined during negotiation, the refresher is uac, and the UAC end of the B2BUA1 unit is responsible for initiating a session update request, and the session update timer of the B2BUA1 unit expires (SesExpires / 2) seconds to notify the UAC end of the B2BUA1 unit to issue a session to the PROXY unit. Update request.
  • Step 114 The B2BUA1 unit processes the session update sent by the calling terminal and sends it to the PROXY unit.
  • Step 115 The PROXY unit sends a session update request sent by the B2BUA1 unit to the AS (B2BUA2 unit).
  • Step 116 The PROXY unit sends a session update request sent by the B2BUA1 unit to the AS (B2BUA2 unit).
  • Step 117 According to the parameter determined by the negotiation, the refresher is uac, and the UAC end of the B2BUA2 unit is responsible for initiating a session update request, and the session update timer of the B2BUA2 unit expires (SessionExpires / 2) seconds to notify the B2BUA2 unit to issue a session update request to the called terminal. .
  • Step 118 The B2BUA2 unit processes the session update request sent by the PROXY unit and sends the session update request to the called terminal.
  • Step 119 The B2BUA2 unit processes the session update request sent by the PROXY unit and sends the session update request to the called terminal.
  • FIG. 1B is a schematic diagram of a collision process for issuing a session update request by a calling terminal.
  • Step 1000 The calling terminal sends a session establishment request message to the B2BUA1 unit.
  • the PROXY unit forwards the received session establishment request message.
  • Step 1001 The B2BUA1 unit receives the session establishment request message and performs related processing specified by the Session Timers protocol.
  • the UAS end of the B2BUA1 unit checks whether the message has the supported:timer header field.
  • the session establishment request message has a supported:timer header field, and Session-Expires If the value of the header field is smaller than the value of the local Min_SE header field, the response is sent to the calling terminal indicating that the session update interval is too short, and the value of the local Min SE header field is brought in the response, and the calling terminal receives the reply response. Change the value of the Session-Expires header field to a value no smaller than the Min_SE header field and send it back to the B2BUA1 unit.
  • the session establishment request message does not include the supported:timer header field, it indicates that the calling terminal does not support the Session Timers protocol, and the Session-Expires header i or the threshold is smaller than the local Min SE header field threshold, and there is a Min_SE in the message.
  • the value of the Mm_SE header field in the request message is increased to be equal to the value of the local Min SE header field and used as the value of the Session-Expires header field.
  • the Min_SE header field which is the value of the local Min_SE header field, and uses this value as the Session-Expires header; t or ⁇ ) value.
  • the value of the Session-Expires header field may not be modified or may be not less than The value of the Min-SE header field in the message is not less than the value of the local Mm_SE header field, and the value of the Session-Expires header field is appropriately reduced.
  • the UAC end of the B2BUA1 unit constructs a new request message according to the request message processed by the UAS.
  • Step 1002 The B2BUA1 unit sends the processed session establishment request message to the PROXY unit.
  • each PROXY unit forwards the session establishment request message; if there is no PROXY unit, B2BUA1 directly sends a session establishment request message to B2BUA2.
  • Step 1003 The PROXY unit sends the received session establishment request message to the AS (B2BUA2 unit).
  • Step 1004 The B2BUA2 unit receives the request message and performs related processing specified by the Session Timers protocol.
  • the processing is the same as the processing of step 1001.
  • Step 1005 The B2BUA2 unit sends the processed session establishment request message to the called terminal. If there is a PROXY unit between the B2BUA2 and the called terminal, the PROXY unit will receive The session establishment request message is forwarded.
  • Step 1006 The called terminal sends a 200 response message indicating success to the B2BUA2 unit.
  • the PROXY unit forwards the received 200 response message.
  • Step 1007 The B2BUA2 unit receives the 200 response message to perform the specified related processing.
  • the UAC end of the B2BUA2 unit sets the refresher between the B2BUA2 and the called terminal according to the time and session negotiation of the Session-Expires header field in the response message.
  • the UAS end of the B2BUA2 unit starts the related timer according to the value of the Session-Expires header field and the refresher parameter.
  • Step 1008 The B2BUA2 unit sends the processed 200 response message to the PROXY unit.
  • Step 1009 The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit). If there are multiple PROXY units, each PROXY unit forwards the message; if there is no PROXY unit, B2BUA2 sends the message directly to B2BUA1.
  • Step 1010 The B2BUA1 unit receives the 200 response message for related processing specified by the Session Timers protocol.
  • the UAC end of the B2BUA1 unit starts the relevant timer according to the time and refresher parameters of the Session-Expires header field in the response message.
  • the UAS end of the B2BUA1 unit starts the related timer according to the value of the Session-Expires header field and the refresher parameter.
  • Step 1011 The B2BUA1 unit sends the processed 200 response message to the calling terminal.
  • the session is successfully established and the Session Timers are also negotiated successfully.
  • the session update timer of the calling terminal starts timing.
  • the calling terminal is responsible for initiating a session update request, and the session update timer of the calling terminal (Session Expires / 2) seconds informs the calling terminal to issue a session update request to the B2BUA1 unit.
  • Step 1013 The B2BUA1 unit processes and processes the session update request sent by the calling terminal to the PROXY unit.
  • Step 1014 The PROXY unit sends a session update request sent by the B2BUA1 unit to the AS (B2BUA2 unit).
  • Step 1015 The B2BUA2 unit processes the session update request sent by the PROXY unit and sends the session update request to the called terminal.
  • the session update timer of the B2BUA2 unit expires (SessionExpires / 2) seconds to notify the B2BUA2 unit to issue a session update request to the PROXY unit.
  • Step 1017 The PROXY unit sends a session update request sent by the B2BUA2 unit to the AS (B2BUA1 unit).
  • Step 1018 The B2BUA1 unit processes the session update request sent by the PROXY unit and sends the session update request to the calling terminal.
  • the session update timer of the B2BUA2 unit expires (SessionExpires / 2) seconds to notify the B2BUA2 unit to send a call to the called terminal. Update request.
  • the session update request of step 1012 and step 1017 collides, and the B2BUA1 unit forwards the redundant session update request.
  • the session resource needs to be released, and the calling terminal or the called terminal is required to have at least one session that supports the Session Timers protocol, and the calling terminal that supports the Session Timers protocol is Call a session update request from the terminal. If neither the calling terminal nor the called terminal supports the Session Timers protocol, each B2BUA unit will not be able to release the resources allocated for the session.
  • each B2BUA unit receives a session update request, and therefore cannot generate a new session update request because it cannot determine whether the request message is a session update or a normal service negotiation message. And sending the received session update request and the new session update request to the next B2BUA unit of the session establishment path until the called terminal.
  • each B2BUA unit also sends the received session update request and the generated new session update request to the calling side until the calling terminal . Therefore, since each B2BUA unit forwards and initiates a session update request, the user terminal receives a large number of meaningless session update requests. If the B2BUA unit sends a new session update request to both sides after receiving the session update request, Will cause a collision of session update requests.
  • the main purpose of the embodiments of the present invention is to provide a method and a system for implementing resource release, so that when the terminal does not support the Session Timers protocol, the resource release can be implemented when the session is in an inactive state.
  • Another object of the present invention is to provide a back-to-back user agent device, which is applied to a resource release system. When the terminal does not support the Session Timers protocol, if the session is in an inactive state, resource release can be implemented.
  • the back-to-back user agent B2BUA unit determines whether the supported header field with the time timer tag is included. If yes, the session establishment request message is forwarded. Otherwise, the timer tag is added to the message. Supported header field, and forwards the session establishment request message;
  • the node device performs the refresher negotiation between the node devices to determine that the node device is the refresher. After the session is established, the node devices determined to be the refresher by the negotiation respectively initiate a session update request to the other network nodes.
  • a system for implementing resource release according to an embodiment of the present invention includes: one or more back-to-back user agent B2BUA units;
  • Each B2BUA unit is configured to: after receiving the session establishment request message, determine whether the supported header field with the time timer tag is included, and if yes, forward the session establishment request message; otherwise, add a timer to the message.
  • the network nodes on which the session is routed on both sides of the connection initiate a session update request.
  • the session protocol judging module is configured to: after receiving the session establishment request message, determine whether the received session establishment request message has a Supported header field with a timer tag, and if yes, directly forward the session establishment request message, otherwise, Adding a Supported header field with a timer tag to the session establishment request message, and forwarding the session establishment request message;
  • a refresher negotiation module configured to perform a refresher negotiation with the node device to determine whether it is a refresher
  • the session update request module is configured to, if it is determined that it is a refresher, initiate a session update request to the network node of the current session on both sides connected to itself after the session is established.
  • the B2BUA unit determined by the refresher negotiation initiates a session update request to the calling terminal and the called terminal, so that the resource release can be realized even if the calling terminal and the called terminal do not support the Session Timers protocol.
  • the behavior of other B2BUA units actively initiating a session update request is cancelled, and only the request is forwarded after receiving the session update request. It avoids the problem of meaningless forwarding and collision of session update requests during the session.
  • FIG. 1 is a schematic flowchart of a meaningless forwarding of a session update request issued by a calling terminal
  • FIG. 1B is a schematic flowchart of a session update request collision of a session update request by a calling terminal
  • FIG. 2 is a system for releasing resources according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a B2BUA device according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of a method for implementing resource release according to an embodiment of the present invention.
  • FIG. 5A is a schematic flow chart of a specific embodiment 1 for implementing the method of the present invention.
  • 5B is a schematic flow chart of a specific embodiment 2 of the method for implementing the present invention.
  • FIG. 6 is a schematic flow chart of a third embodiment of a method for implementing the method of the present invention.
  • FIG. 7 is a schematic flow chart of a fourth embodiment of a method for implementing the present invention.
  • FIG. 8 is a schematic structural diagram of a B2BUA device performing a refresher negotiation according to an embodiment of the present invention. detailed description
  • the B2BUA unit of the refresher actively initiates a session update request
  • the B2BUA unit of the refresher actively initiates a session update request.
  • the other B2BUA units do not initiate a session update request, thereby solving the above problem.
  • the B2BUA unit can actively initiate a session update request to the calling terminal and the called terminal, thereby realizing that both the calling terminal and the called terminal do not support the Session Timers protocol, Successfully established the Session Timers protocol.
  • the B2BUA unit determines the session. Whether the support request header field with the time timer tag is included in the request message, if yes, the session establishment request message is directly forwarded to the next node device; if not, the timer tag is added to the session establishment request message. The Supported header field will be added again. The session establishment request message of the Supported header field with the timer tag is forwarded to the next node device.
  • the refresher negotiation can also be performed between the node devices.
  • the refreshers determined by the negotiation respectively initiate a session update request to other node devices.
  • each node device After receiving the session update request, each node device sends a session update request to the upstream or downstream according to the received session update request until the calling terminal and the called terminal; each node device determines that the session is inactive. Next, release the resources that it has allocated for the session.
  • the B2BUA unit After the session is established, after the B2BUA unit receives the session establishment request message, if it determines that the message contains the Supported header field with the timer tag, the session update request is no longer generated, and only the session update is sent to the next node device of the session path. request.
  • FIG. 2 is a schematic structural diagram of a system for releasing resources according to an embodiment of the present invention.
  • the system of the present invention includes: one or more B2BUA units,
  • Each B2BUA unit is configured to: after receiving the session establishment request from the previous node device, determine whether the session establishment request carries a Supported header field of the timer tag, and if so, forward the session establishment request message to the next node device. Otherwise, a Supported header field with a timer tag is added to the session establishment request message, and the session establishment request message is forwarded to the next node device; after the session is established, if the session is determined to be inactive, the self is released. The resources allocated by the session.
  • the B2BUA unit After the session is established, if the B2BUA unit receives the session update request, the B2BUA unit is further configured to determine whether the session update request has a Supported header field with a timer tag, and if so, only according to the received session update request to the session. The next network node sends a session update request.
  • the B2BUA unit in the embodiment of the present invention includes: a session protocol determining module and a resource releasing module.
  • the session protocol judging module is configured to determine whether the received session establishment request message has a support header field with a timer tag, and if yes, directly forward the session establishment request message, otherwise, add the session establishment request message.
  • the Supported header field with a timer tag forwards the session establishment request message;
  • the source release module is configured to update the response message according to the received session Determine whether the session state is normal, and release the resources allocated for the session when the session is inactive.
  • the B2BUA unit may further include: a refresher negotiation module and a session update request module.
  • the refresher negotiation module is configured to add a refresher parameter in the session termination Session-Expires header field in the session establishment request message, and determine whether it is a refresher according to the received session establishment response message; the session update request module After the session is established, if it is determined that it is a refresher, a session update request is initiated to each of the network nodes that have established the session on both sides; if it is determined that it is not a refresher, it is determined whether the received session update request is carried.
  • the Supported header field of the timer tag if yes, sends a session update request only to the next network node of the session path.
  • FIG. 4 is a schematic diagram of a process for implementing resource release by using a first B2BUA unit to receive a session update request.
  • the first B2BUA unit is the first B2BUA unit that receives the session establishment request message during the session establishment process, and the other B2BUA units are similar to the first B2BUA unit method, and are not illustrated.
  • the method for implementing resource release in the embodiment of the present invention includes:
  • Step 400 After receiving the session establishment request message, the first B2BUA unit determines whether the message includes a Supported header field with a timer tag. If yes, indicating that the calling terminal supports the Session Timers protocol, step 401 is performed; otherwise, directly The session is forwarded to the next node device until the called terminal, and step 407 is performed.
  • Step 401 After receiving the session establishment request message, the first B2BUA unit inserts the supported:timer header field in the session establishment request message, and the refresh-expires header field in the session establishment request message Set to uac.
  • Step 402 The first B2BUA unit sends a support:timer header field session establishment request message to the next B2BUA unit.
  • Step 403 After receiving the session establishment request message, each B2BUA unit directly sends the session establishment request message to the next node device until the called terminal.
  • Step 404 After receiving the session establishment request message, the called terminal returns to the B2BUA unit connected thereto. After the session establishment response message is received, each B2BUA unit only starts the session timeout release timer, and sends the session establishment response message to the B2BUA unit to the first B2BUA unit.
  • Step 406 After the call is established, the first B2BUA unit initiates a session update request to both sides.
  • Step 407 After receiving the session update request, each B2BUA unit determines whether the session update request includes a Supported header field with a timer tag. If yes, and directly forwards the session update request to the next node device, no new session is generated here. For the session update request, go to step 410.
  • Step 408 After receiving the session establishment request message, the called terminal returns a session establishment response message to the B2BUA unit connected thereto. After receiving the session establishment request message, each B2BUA unit starts the session timeout release timer and establishes the session. The response message is sent to the B2BUA unit at the first level until the first
  • Step 409 After the call is established, the calling terminal or the called terminal sends a session update request to the B2BUA unit connected thereto, and step 410 is performed.
  • Step 410 When each B2BUA unit determines that the session is in an inactive state, it releases the resources allocated by itself for the session.
  • the above steps 401 ⁇ 405 are the process of the refresher negotiation.
  • the node device can perform refresher negotiation according to its own situation and determine that it is a refresher.
  • the process of the refresher negotiation between the first B2BUA unit and the called terminal can be implemented in the following two manners.
  • the B2BUA unit adds a refresher parameter in the Session-Expires header field in the session establishment request message forwarded to the node device of the session establishment path, and sets the refresher refresher as the user agent client uac for indicating the present
  • the B2BUA unit is responsible for initiating a session update request to the called terminal; (2) After the called terminal receives the session establishment request message and determines that it is not the refresher, the node device returns a session establishment response message to the B2BUA that is not the refresher.
  • the B2BUA unit After receiving the session establishment response message, the B2BUA unit determines that it is a refresher, and adds a refresher parameter in the Session-Expires header field in the session establishment response message replied to the calling terminal, and sets the refresher to User agent server side uas.
  • the B2BUA unit sends the session establishment request message to the node device in the path establishment session, and the support header field with the timer tag is received. After receiving the session establishment request message, each node device forwards the message to the next node device. Until the called terminal;
  • the node device After the called terminal receives the session establishment request message, if it determines that it is a refresher, the node device returns a session establishment response message to the B2BUA, where the Session-Expires header field is uas, and if it is determined that it is not refreshed Then, the node device returns a session establishment response message to the B2BUA that is not the refresher.
  • the B2BUA unit After receiving the session establishment response message, the B2BUA unit determines whether the called terminal is a refresher, and if yes, performs step (4), otherwise, it uses itself as a refresher, and performs step (4);
  • the B2BUA unit adds a refresher parameter in the Session-Expires header field in the session establishment response message replied to the calling terminal, and sets the refresher to the user proxy server side uaS o
  • the refresher is B2BUA1, and the B2BUA1 initiates a session update request to the calling and called terminals.
  • Step 500 The calling terminal sends a session establishment request message to the B2BUA1 unit.
  • Step 501 The B2BUA1 unit receives the session establishment request message, and the UAS end of the B2BUA1 unit checks whether the message carries the supported:timer header field.
  • the Session Timers protocol The specific process of processing the message by the Session Timers protocol is as follows:
  • the value of the Min_SE header field in the message is increased to be equal to the value of the local Min_SE header field and used as the value of the Session-Expires header field.
  • the request is made. Insert the Min_SE header field into the message, which is the value of the local Min_SE header field, and treat the value as
  • the processing method is the same as in the prior art.
  • Step 502 The B2BUA1 unit sends the processed session establishment request message to the PROXY unit.
  • Step 503 The PROXY unit sends the received session establishment request message to the AS (B2BUA2) unit.
  • Step 504 The B2BUA2 unit receives the session establishment request message, and the UAS end of the B2BUA2 unit compares the value of the Session-Expires header i or the value of the local Min SE header i or. ⁇ The value of the Session-Expires header field is small, and the response to the B2BUA1 unit indicates that the session update interval is too short and the value of the local Min_SE header field is brought in the response. After the B2BUA1 receives the reply response, the Session-Expires header field is obtained. The value is changed to the value of the Min_SE header field and sent to the B2BUA2 unit.
  • the processing method is the same as in the prior art.
  • the UAC end of the B2BUA2 unit constructs a new request message according to the session establishment request message processed by the UAS.
  • Step 505 The B2BUA2 unit sends the processed session establishment request message to the called terminal.
  • Step 506 The called terminal sends a 200 response message indicating success to the B2BUA2 unit.
  • Step 507 The B2BUA2 unit receives the 200 response message, and the UAC end of the B2BUA2 unit does not start the session timeout release timer according to the value of the Session-Expires header field and the refresher parameter in the response message. Session update timer.
  • the UAS end of the B2BUA2 unit starts the session timeout release timer according to the value of the Session-Expires header field, and does not start the session update timer.
  • Step 508 The B2BUA2 unit sends a 200 response message sent by the called terminal to the PROXY unit.
  • the UAS end of the B2BUA1 unit starts the session timeout release timer and the session update timer according to the value of the Session-Expires header field.
  • Step 511 The B2BUA1 unit sends a 200 response message to the calling terminal. After the calling terminal receives the 200 response message, the session is successfully established and the Session Timers protocol is negotiated successfully.
  • Step 513 The calling terminal receives the session update request, and returns a 200 response message to the B2BUA1.
  • Step 516 The PROXY unit sends the received session update request to the AS (B2BUA2 unit).
  • the related processing of the session update message by the B2BUA2 unit is the same as in the prior art.
  • Step 518 The called terminal receives the session update request and replies to the B2BUA2 unit with a 200 response message.
  • Step 520 The B2BUA2 unit sends the received 200 response message to the PROXY unit.
  • Step 521 The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit).
  • the refresher is the called terminal, and the called terminal initiates a session update request.
  • Step 5000 The calling terminal sends a session establishment request message to the B2BUA1 unit.
  • Step 5001 The B2BUA1 unit receives the session establishment request message, and the UAS end of the B2BUA1 unit checks whether the message carries the supported:timer header field.
  • the flow is skipped. Otherwise, the session is processed by the Session Timers protocol.
  • the steps for processing the Session Timers protocol include:
  • the value of the Session-Expires header field is less than the value of the local Min_SE header field, when the Min SE header field exists in the message, the value of the Min SE header field in the message is increased to the value of the local Min SE header field. And as the value of the Session-Expires header field, when there is no Min_SE header field in the message, insert the Min_SE header field in the request message, its value is the value of the local Min-SE header field, and the value is made The value for Session-Expires.
  • the processing method is the same as in the prior art.
  • the UAC end of the B2BUA1 unit inserts a supported:timer header field into the message according to the session establishment request message processed by the UAS, and constructs a new session establishment request message.
  • Step 5002 The B2BUA1 unit sends the processed session establishment request message to the PROXY unit.
  • Step 5004 The B2BUA2 unit receives the session establishment request message, and the UAS end of the B2BUA2 unit compares the value of the Session-Expires header i or the value of the local Min SE header i or. ⁇ The value of the Session-Expires header field is small, and the B2BUA1 unit is replied with a response indicating that the session update interval is too short and the value of the local Mm_SE header field is brought in the response. After the B2BUA1 receives the reply response, the Session-Expires header field is received. The value is changed to the value of the Min_SE header field and sent to the B2BUA2 unit.
  • the processing method is the same as in the prior art.
  • the UAC end of the B2BUA2 unit constructs a new session establishment request message according to the session establishment request message processed by the UAS.
  • Step 5005 The B2BUA2 unit sends the processed session establishment request message to the called terminal.
  • Step 5006: The called terminal sends a 200 response message indicating success to the B2BUA2 unit, and inserts a supported: timer header field in the response message, and sets the parameter refresher in the Session-Expires header field to refresher uas.
  • Step 5007 The B2BUA2 unit receives the 200 response message, and the UAC end of the B2BUA2 unit starts the session timeout release timer according to the value of the Session-Expires header field and the refresher parameter in the response message, and does not update the session timer.
  • the UAS end of the B2BUA2 unit does not start the session timeout release according to the value of the Session-Expires header field. Timer and session update timer.
  • Step 5008 The B2BUA2 unit sends a 200 response message sent by the called terminal to the PROXY unit.
  • Step 5009 The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit).
  • the UAS end of the B2BUA1 unit does not start the session timeout release timer and the session update timer according to the value of the Session-Expires header field.
  • Step 5011 The B2BUA1 unit sends a 200 response message to the calling terminal. After the calling terminal receives the 200 response message, the session is successfully established and the Session Timers protocol is negotiated successfully.
  • Step 5013 After receiving the session update request, the B2BUA2 unit determines that the message includes a support:timer header field, performs related processing on the message, and sends the message to the PROXY unit.
  • the processing related to the session update request by the B2BUA2 unit is the same as in the prior art.
  • Step 5014 The PROXY unit sends the received session update request to the AS (B2BUA1 unit).
  • Step 5015 After receiving the session update request, the B2BUA1 unit determines that the message includes a support:timer header field, performs related processing on the message, and sends the message to the calling terminal.
  • the processing related to the session update request by the B2BUA1 unit is the same as in the prior art.
  • Step 5016 The calling terminal receives the session update message and replies to the B2BUA1 unit with a 200 response message.
  • Step 5018 The B2BUA1 unit sends the received 200 response message to the PROXY unit.
  • Step 5019 The PROXY unit sends the received 200 response message to the AS (B2BUA2 unit).
  • Step 5020 The B2BUA2 unit receives the 200 response message, and determines whether the session is active according to the rules of the proxy server. If the session is active, the session timeout release timer is refreshed; if it is inactive, the resources allocated for the session are directly released, and the connection is terminated.
  • Step 5021 The B2BUA2 unit sends the received 200 response message to the called terminal.
  • the called terminal After the called terminal receives the 200 response message, it determines whether the session is active according to the rules of the refresher. If the session is active, the session timeout release timer is refreshed, the Session Timers completes the session update, and the session update request is sent to the B2BUA2 unit after (SessionExpires / 2) seconds, until the entire session ends normally, and the Session Timers protection is terminated; If it is inactive, it sends a session release request to the B2BUA2 unit, and releases the resources allocated for the session. The connection is terminated. After receiving the request, the B2BUA2 unit releases the resources allocated for the session and requests the request. After being sent to the PROXY unit, the PROXY unit releases the resource allocated for the session and sends the request to the B2BUA1 unit. After receiving the request, the B2BUA1 unit releases the resource allocated for the session.
  • Step 600 The calling terminal sends a session establishment request message to the B2BUA1.
  • Step 601 The B2BUA1 unit receives the session establishment request message, and the UAS end of the B2BUA1 unit checks whether the message carries the supported:timer header field.
  • the steps for processing the Session Timers protocol include:
  • the B2BUA1 unit sends.
  • the processing method is The prior art is the same.
  • the UAC end of the B2BUA1 unit constructs a new session establishment request message according to the session establishment request message processed by the UAS.
  • Step 602 The B2BUA1 unit sends the processed session establishment request message to the PROXY unit.
  • Step 603 The PROXY unit sends the received session establishment request message to the AS (B2BUA2 unit).
  • Step 604 The B2BUA2 unit receives the session establishment request message.
  • the UAS end of the B2BUA2 unit checks the value of the Session-Expires header field. ⁇ The value of the Session-Expires header i or less is less than the value of the local Min_SE header field, and the B2BUA1 replies to the calling terminal with a response indicating that the session update interval is too short and brings the locally allowed Min_SE header field in the response. Value, after receiving the reply response, the calling terminal changes the value of the Session-Expires header field to the value of the Min_SE header field and resends it.
  • the processing method is the same as in the prior art.
  • the UAC end of the B2BUA2 unit constructs a new session establishment request message according to the session establishment request message processed by the UAS.
  • Step 605 The B2BUA2 unit sends a session establishment request message to the called terminal.
  • Step 606 The called terminal agrees to send a request message sent by the B2BUA2 unit, and sends a 200 response message indicating success to the B2BUA2 unit.
  • Step 607 The B2BUA2 unit receives the 200 response message, and the UAC end of the B2BUA2 unit does not start the session timeout release timer and the session update timer according to the value of the Session-Expires header field and the refresher parameter in the response message.
  • the UAS end of the B2BUA2 unit starts the session timeout release timer according to the value of the Session-Expires header field, and does not start the session update timer.
  • Step 608 The B2BUA2 unit sends a 200 response message sent by the called terminal to the PROXY unit.
  • the UAS end of the B2BUA1 unit starts the session timeout release timer according to the value of the Session-Expires header field, and does not start the session update timer.
  • Step 611 The B2BUA1 unit sends the 200 response message sent by the PROXY unit to the calling terminal. After the calling terminal receives the 200 response message, the session is successfully established and the Session Timers are also negotiated successfully.
  • Step 613 After receiving the session update request, the B2BUA1 unit determines that the message includes a support: timer header field, performs related processing on the message, and sends the message to the PROXY unit.
  • the processing related to the session update request by the B2BUA1 unit is the same as in the prior art.
  • Step 614 The PROXY unit sends the received session update request to the AS (B2BUA2 unit).
  • the processing related to the session update request by the B2BUA2 unit is the same as in the prior art.
  • Step 616 The called terminal receives the session update message and replies to the B2BUA2 unit with a 200 response message.
  • Step 618 The B2BUA2 unit sends the received 200 response message to the PROXY unit.
  • Step 619 The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit).
  • Step 621 The B2BUA1 unit sends the received 200 response message to the calling terminal.
  • the calling terminal determines whether the session is active according to the rules of the refresher. If the session is active, the session timeout release timer is refreshed, the Session Timers completes the session update, and waits (SessionExpires / 2) seconds before sending a session update to the B2BUA1 unit. Request, until the entire session ends normally, the Session Timers protection is terminated; if it is inactive, it sends a session release request to the B2BUA1 unit, and releases the resources allocated for the session, and ends the connection. After receiving the request, the B2BUA1 unit receives the request. Release the resource allocated for the session and send the request to the PROXY unit. After receiving the request, the PROXY unit releases the resource allocated for the session and sends the request to the B2BUA2 unit. The B2BUA2 unit releases the request and then releases it. The resources that are themselves allocated for the session.
  • the embodiment shown in FIG. 6 is to issue a session update request by the calling terminal.
  • the parameter of the refresher is uac during the negotiation, and each B2BUA unit does not start the session update request timer, and does not generate new after receiving the session update request.
  • the session update request avoids the forwarding of redundant session update requests in FIGS. 1A and 1B, while solving the problem of message collision in FIG. 1B.
  • the embodiment shown in Fig. 7 is to issue a session update request by the called terminal.
  • the parameter of the refresher is uas during negotiation, but only in the direction of sending the request message with FIG.
  • the UAS starts the session timeout release timer. The other steps are the same.
  • Step 713 After receiving the session update request, the B2BUA2 unit determines that the message includes a support: timer header field, performs related processing on the message, and sends the message to the PROXY unit.
  • the processing related to the session update request by the B2BUA2 unit is the same as in the prior art.
  • Step 714 The PROXY unit sends the received session update request to the AS (B2BUA1 unit).
  • the processing related to the session update request by the B2BUA1 unit is the same as in the prior art.
  • Step 716 The calling terminal receives the session update message and returns a 200 response message to the B2BUA1 unit.
  • Step 718 The B2BUA1 unit sends the received 200 response message to the PROXY unit.
  • Step 719 The PROXY unit sends the received 200 response message to the AS (B2BUA2 unit).
  • Step 721 The B2BUA2 unit sends the received 200 response message to the called terminal.
  • the called terminal After the called terminal receives the 200 response message, it determines whether the session is active according to the rules of the refresher. If the session is active, the session timeout release timer is refreshed, the Session Timers completes the session update, and the session update request is sent to the B2BUA2 unit after (SessionExpires / 2) seconds, until the entire session ends normally, and the Session Timers protection is terminated; If it is inactive, it sends a session release request to the B2BUA2 unit, and releases the resources allocated for the session. The connection is terminated. After receiving the request, the B2BUA2 unit releases the resources allocated for the session and requests the request. After being sent to the PROXY unit, the PROXY unit releases the resource allocated for the session and sends the request to the B2BUA1 unit. After receiving the request, the B2BUA1 unit releases the resource allocated for the session.
  • the B2BUA device provided by the embodiment of the present invention includes: a session protocol determining module, a session update requesting module, and a refresher negotiation module.
  • the session protocol judging module is configured to: after receiving the session establishment request message, determine whether the received session establishment request message has a Supported header field with a timer tag, and if yes, directly forward the session establishment request message, otherwise, A Supported header field with a timer tag is added to the session establishment request message, and the session establishment request message is forwarded.
  • the refresher negotiation module is configured to perform a refresher negotiation with the node device to determine whether it is a refresher.
  • the session update request module is configured to, if it is determined that it is a refresher, initiate a session update request to the network node of the current session on both sides connected to itself after the session is established.
  • the B2BUA device may further include: a processing module, a forwarding module, and a resource release module.
  • the forwarding module is configured to: after receiving the session update request, when the session update request includes a Supported header field with a timer tag, send a session update to the next node device of the session path according to the received session update request.
  • the resource release module is configured to release the resource allocated for the session after the session is established, if it is determined that the session is inactive.
  • the refresher negotiation module may further include: an adding module and a receiving module.
  • the adding module is configured to add a session refresher parameter in the Session-Expires header field in the session establishment request message received by the session protocol determining module.
  • the receiving module is configured to determine, according to the received session establishment response message, whether it is a refresher, if the Supported header field with a timer tag in the session establishment response message determines that the self is not a refresher, if the session establishment response message does not The Supported header field of the timer tag determines that it is a refresher.

Abstract

A method for realizing the release of resource. The method includes: after the back-to-back user agent B2BUA unit receiving the establishing session request message of the Supported head field without the timer label, then adding the Supported head field with timer label into the request message; making refresher treat between the node device, informing the node device through which this session across that do not start the updating session request except the refresher; after establishing the session, determining the node device of the refresher separately to start the updating session request to the node device through which this session across by treating, this session connects to the two sides of itself. By the solution, it solves the matter of the transfer of the meaningless session update request during the session and the message conflict, thereby realizes the calling and the called terminal do not support the session timers protocol, and also can release the resource. The embodiment also discloses a system for realizing the release of resource.

Description

一种实现资源释放的方法和系统  Method and system for realizing resource release
技术领域 Technical field
本发明涉及通信技术领域, 特别涉及一种实现资源释放的方法和系统。 背景技术  The present invention relates to the field of communications technologies, and in particular, to a method and system for implementing resource release. Background technique
近年来, 随着移动通信技术的发展, 单一的语音通信方式已不能完全满足 用户的需要, 全新的多媒体通信方式正不断涌现。 这些多媒体通信不仅仅是简 单的视频、 音频通信, 还包括即时消息、 同址浏览、 协同工作、 流媒体等, 特 别是新的通信方式和传统语音相互融合的业务, 更被大众所接受。 在众多的基 于互联网和电信网络融合会话控制系统中, 大多数会话控制系统都采用初始会 话协议 (SIP )作为会话控制协议, 最具代表性的就是网际协议多媒体子系统 ( IMS )。  In recent years, with the development of mobile communication technology, a single voice communication method can not fully meet the needs of users, and new multimedia communication methods are emerging. These multimedia communications are not only simple video and audio communications, but also include instant messaging, peer-to-peer browsing, collaborative work, streaming media, etc., especially the new communication method and traditional voice integration services, which are more accepted by the public. In many Internet-based and telecommunication network-converged session control systems, most session control systems use the Initial Session Protocol (SIP) as the session control protocol, the most representative being the Internet Protocol Multimedia Subsystem (IMS).
IMS是语音和数据服务系统, 它可以按照用户数据, 屏蔽用户的接入方式, 控制业务能力的开放程度, 从而提供多媒体的通信体验。 而且综合了语音、 数 据和多媒体创新应用的 IMS可以产生对新服务的需求, 比如在线状态服务、 多 媒体聊天、 会议、 按键通话和按键会议等。  IMS is a voice and data service system that can shield users' access methods and control the openness of service capabilities according to user data, thus providing a multimedia communication experience. And IMS, which combines innovative voice, data, and multimedia applications, can generate new services such as presence services, multimedia chat, conferencing, push to talk, and push to conference.
IMS中主要的功能包括控制用户注册、会话控制等功能的呼叫控制(CSCF ) 和实现与电路交换网互通的媒体网关控制功能 / IMS 媒体网关功能 (MGCF I IM-MGW )。  The main functions in IMS include call control (CSCF) for controlling user registration, session control, etc., and media gateway control/IMS media gateway function (MGCF I IM-MGW) for interworking with circuit-switched networks.
IMS中主要的设备包括提供各种业务逻辑控制功能的应用服务器 (AS )和 用于集中管理用户签约数据的归属用户服务器 (HSS )。  The main devices in the IMS include an application server (AS) that provides various business logic control functions and a home subscriber server (HSS) for centrally managing user subscription data.
其中, CSCF根据在网络中的功能分为: 当前所在地代理节点 (P-CSCF )、 注册地的归属域服务节点 ( S-CSCF ) 以及问讯节点 ( I-CSCF )。 P-CSCF是 IMS 系统中用户的接入点,所有来自 UE或发往 UE的 SIP信令流都必须经过 P-CSCF。  Among them, the CSCF is divided into: a current local proxy node (P-CSCF), a registered home domain service node (S-CSCF), and an information node (I-CSCF) according to functions in the network. The P-CSCF is the access point of the user in the IMS system, and all SIP signaling flows from the UE or to the UE must pass through the P-CSCF.
I-CSCF是在一个运营商网络中为所有连接到这个运营商的用户提供的联系点。 The I-CSCF is the point of contact for all users connected to this carrier in an operator network.
S-CSCF在 IMS核心网中处于核心的控制地位, 它位于归属网络。 负责对 UE的 注册鉴权和会话控制,执行针对主叫端及被叫端 IMS用户的基本会话路由功能, 并根据用户签约的 IMS触发相应的规则。 The S-CSCF is in the core control position in the IMS core network and is located in the home network. Responsible for the UE Registration authentication and session control, performing basic session routing functions for the calling end and the called end IMS user, and triggering corresponding rules according to the IMS signed by the user.
用户通过当前所在地代理节点 P-CSCF接入 IMS ,会话和业务触发控制和与 AS的业务控制交互则由其注册地的归属域服务节点 S-CSCF完成; IMS采用 SIP 协议作为应用层交互信令, 终端和 CSCF之间、 CSCF之间、 CSCF与 AS之间 的接口协议均为 SIP协议。但是 SIP协议没有定义一种协议使得中间节点能够在 会话建立之后及时检测会话是否处于活动状态 , 这造成当终端发送释放指示消 息失败的情况下, IMS 系统中的中间节点可能使资源无法释放。 会话计时 ( Session Timers )协议则是针对此问题对 SIP协议的补充, 是 SIP协议的一个 扩展。 该 Session Timers协议让会话中的某个终端负责周期性的发起会话更新请 求以保证会话处于活动状态, 如果周期内没有收到会话更新请求或者会话更新 请求发送失败,则表明会话已经处于非活动状态,那么该终端释放相关资源。 IMS 系统中的中间节点,例如 P-CSCF或 S-CSCF则在超时后直接释放该会话相关资 源。 这样就保证了相关资源的及时释放。  The user accesses the IMS through the current local proxy node P-CSCF, and the session and service trigger control and the service control interaction with the AS are completed by the home domain service node S-CSCF of the registered place; the IMS uses the SIP protocol as the application layer interaction signaling. The interface protocol between the terminal and the CSCF, between the CSCF, and between the CSCF and the AS is the SIP protocol. However, the SIP protocol does not define a protocol that enables the intermediate node to detect whether the session is active after the session is established. This causes the intermediate node in the IMS system to fail to release the resource when the terminal sends a release indication message. The Session Timers protocol complements the SIP protocol for this issue and is an extension of the SIP protocol. The Session Timers protocol allows a terminal in the session to initiate a session update request periodically to ensure that the session is active. If the session update request is not received within the period or the session update request fails to be sent, the session is already inactive. Then the terminal releases the relevant resources. Intermediate nodes in the IMS system, such as the P-CSCF or S-CSCF, directly release the session-related resources after a timeout. This ensures the timely release of relevant resources.
按照 Session Timers协议的规定, 对于作为代理服务器 (PROXY ) 的节点 能够很方便的实现, 例如 P-CSCF和 S-CSCF通常只作为 PROXY单元。 但是对 于 AS这种通常作为背靠背用户代理 ( B2BUA )单元, Session Timers协议没有 进行规定, 如果直接硬套该协议的话, 在会话的过程中对会话更新请求进行多 次无意义的转发或者发生碰撞, 无法顺利实现,所以, B2BUA单元的资源释放问 题还没有很好地解决。  According to the Session Timers protocol, it is convenient to implement as a proxy server (PROXY). For example, P-CSCF and S-CSCF are usually only used as PROXY units. However, for the AS, which is usually used as a back-to-back user agent (B2BUA) unit, the Session Timers protocol is not specified. If the protocol is directly hardened, the session update request is repeatedly meaninglessly forwarded or collided during the session. It cannot be implemented smoothly, so the resource release problem of the B2BUA unit has not been solved well.
图 1 A为主叫终端发出会话更新请求的无意义转发的流程示意图。  FIG. 1 is a schematic diagram of a process of meaningless forwarding of a session update request by a calling terminal.
步骤 100、 主叫终端向 B2BUA1单元发出会话建立请求消息。  Step 100: The calling terminal sends a session establishment request message to the B2BUA1 unit.
主叫终端发出的会话建立请求消息中包含会话终止( Session-Expires )头域, 也可能包含带时间标签的支持 ( supported:timer ) 头域和 /或最小会话终止 ( Min_SE ) 头域。  The session establishment request message sent by the calling terminal includes a Session-Expires header field, and may also include a supported (timer) header field and/or a minimum session termination (Min_SE) header field.
如果主叫终端和 B2BUA1之间有 PROXY单元, 则 PROXY单元将收到的 会话建立请求消息进行转发。 步骤 101、 B2BUA1单元收到会话建立请求消息进行 Session Timers协议规定 的相关处理。 If there is a PROXY unit between the calling terminal and B2BUA1, the PROXY unit forwards the received session establishment request message. Step 101: The B2BUA1 unit receives the session establishment request message and performs related processing specified by the Session Timers protocol.
B2BUA1 单元的用户代理服务器 ( UAS ) 端检查消息中是否带有 supported :timer头域。  The User Agent Server (UAS) side of the B2BUA1 unit checks if there is a supported :timer header field in the message.
如果会话建立请求消息中带有 supported:timer 头域, 并且 Session-Expires 头域的值小于本地 Min— SE头域的值,则向主叫终端回复表明会话更新间隔太短 的响应并在响应中带上本地 Min_SE 头域的值, 主叫终端收到回复响应后将 Session-Expires头域的值改成不小于 Min_SE头域的值,重新向 B2BUA1单元发 送。  If the session establishment request message has a supported:timer header field and the value of the Session-Expires header field is less than the value of the local Min_SE header field, a response is sent to the calling terminal indicating that the session update interval is too short and is in response With the value of the local Min_SE header field, after receiving the reply response, the calling terminal changes the value of the Session-Expires header field to a value not less than the value of the Min_SE header field, and sends it to the B2BUA1 unit again.
如果会话建立奇求消息中不带有 supported:timer头域, 并且 Session-Expires 头域的值小于本地 Min— SE头域的值, 在消息中有 Mm— SE头域时, 将请求消息 中 Min_SE头域的值增加到与本地 Min— SE头域的值相等并作为 Session-Expires 头域的值, 在消息中没有 Min_SE头域时, 在请求消息中插入 Min_SE头域, 其 值为本地 Mm— SE头域的值, 并将该值做为 Session-Expires头域的值。  If the session establishment request message does not have a supported:timer header field, and the value of the Session-Expires header field is smaller than the value of the local Min_SE header field, when there is an Mm_SE header field in the message, the message will be in the Min_SE The value of the header field is increased to be equal to the value of the local Min_SE header field and is the value of the Session-Expires header field. When there is no Min_SE header field in the message, the Min_SE header field is inserted in the request message, and its value is the local Mm— The value of the SE header field, and this value is used as the value of the Session-Expires header field.
无论会话建立请求中是否带有 supported:timer 头域, 只要 Session-Expires 头域的值不小于本地 Min— SE头域的值,则可以不对 Session-Expires的值进行任 何修改,也可以在不小于消息中 Min_SE头域的值且不小于本地 Mm— SE头域的 值的基础上适当减小 Session-Expires头域的值。  Regardless of whether the session establishment request has a supported:timer header field, as long as the value of the Session-Expires header field is not less than the value of the local Min_SE header field, the value of the Session-Expires may not be modified or may be not less than The value of the Min_SE header field in the message is not less than the value of the local Mm_SE header field, and the value of the Session-Expires header field is appropriately reduced.
B2BUA1单元的用户代理客户 ( UAC )端根据 UAS端处理后的会话建立请 求消息构造新的会话建立请求消息。  The User Agent Client (UAC) of the B2BUA1 unit constructs a new session establishment request message according to the session establishment request message processed by the UAS.
步骤 102、B2BUA1单元将处理后的会话建立请求消息发送给 PROXY单元。 如果是多个 PROXY单元,则每个 PROXY单元都将会话建立请求消息进行 转发; 如果没有 PROXY单元, 则 B2BUA1 直接将会话建立请求消息发送给 B2BUA2。  Step 102: The B2BUA1 unit sends the processed session establishment request message to the PROXY unit. If there are multiple PROXY units, each PROXY unit forwards the session establishment request message; if there is no PROXY unit, B2BUA1 directly sends a session establishment request message to B2BUA2.
步骤 103、 PROXY单元将收到的会话建立请求消息发送给 AS ( B2BUA2 单元)。  Step 103: The PROXY unit sends the received session establishment request message to the AS (B2BUA2 unit).
步骤 104、 B2BUA2单元收到会话建立请求消息进行 Session Timers协议规 定的相关处理。 Step 104: The B2BUA2 unit receives the session establishment request message and performs a Session Timers protocol. The relevant processing.
处理过程与步骤 101的处理过程相同。  The processing is the same as the processing of step 101.
步骤 105、 B2BUA2单元将处理后的会话建立请求消息发送给被叫终端。 如果 B2BUA2和被叫终端之间有 PROXY单元, 则 PROXY单元将收到的 会话建立请求消息进行转发。  Step 105: The B2BUA2 unit sends the processed session establishment request message to the called terminal. If there is a PROXY unit between the B2BUA2 and the called terminal, the PROXY unit forwards the received session establishment request message.
步骤 106、 被叫终端向 B2BUA2单元发送表示成功的 200响应消息。  Step 106: The called terminal sends a 200 response message indicating success to the B2BUA2 unit.
如果 B2BUA2和被叫终端之间有 PROXY单元, 则 PROXY单元将收到的 If there is a PROXY unit between B2BUA2 and the called terminal, the PROXY unit will receive
200响应消息进行转发。 200 response message is forwarded.
步骤 107、 B2BUA2单元收到 200响应消息进行 Session Timers协议规定的 相关处理。  Step 107: The B2BUA2 unit receives the 200 response message and performs related processing specified by the Session Timers protocol.
B2BUA2单元的 UAC端根据响应消息中 Session-Expires头域的时间和刷新者 ( refresher )参数, 会话协商将刷新者设为 uac, 因此 B2BUA2单元的 UAC端启动 发起会话更新请求定时器和超时释放定时器时器。  The UAC end of the B2BUA2 unit sets the refresher to uac according to the time of the Session-Expires header field and the refresher parameter in the response message. Therefore, the UAC end of the B2BUA2 unit starts the session update request timer and the timeout release timing. Timer.
B2BUA2单元的 UAS端根据 Session-Expires头域的值启动超时释放定时器时 哭  The UAS end of the B2BUA2 unit starts the timeout release timer according to the value of the Session-Expires header field.
会话协商将刷新者为设为 uac, 因此 B2BUA2单元的 UAS端不启动发送会话 更新请求定时器。  The session negotiation sets the refresher to uac, so the UAS end of the B2BUA2 unit does not start the send session update request timer.
步骤 108、 B2BUA2单元将处理后的 200响应消息发送给 PROXY单元。  Step 108: The B2BUA2 unit sends the processed 200 response message to the PROXY unit.
步骤 109、 PROXY单元将收到的 200响应消息发送给 AS ( B2BUA1单元) 。 如果是多个 PROXY单元, 则每个 PROXY单元都将消息进行转发; 如果没 有 PROXY单元, 则 B2BUA2直接将消息发送给 B2BUA1。  Step 109: The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit). If there are multiple PROXY units, each PROXY unit forwards the message; if there is no PROXY unit, B2BUA2 sends the message directly to B2BUA1.
步骤 110、 B2BUA1单元收到 200响应消息进行 Session Timers协议规定的 相关处理。  Step 110: The B2BUA1 unit receives the 200 response message for related processing specified by the Session Timers protocol.
处理过程与步骤 107的处理过程相同。  The processing is the same as the processing of step 107.
步骤 111、 B2BUA1单元将处理的 200响应消息发送给主叫终端。  Step 111: The B2BUA1 unit sends the processed 200 response message to the calling terminal.
主叫终端收到 200响应消息后, 会话成功建立, 同时 Session Timers也协商 成功。 主叫终端的会话更新定时器启动计时。 步骤 112、 根据协商时确定的参数 refresher为 uac, 主叫终端负责发起会话 更新请求, 那么主叫终端的会话更新定时器过了 (Session Expires / 2 )秒通知主 叫终端向 B2BUA1单元发出会话更新请求。 After the calling terminal receives the 200 response message, the session is successfully established, and the Session Timers are also negotiated successfully. The session update timer of the calling terminal starts timing. Step 112: According to the parameter determined by the negotiation, the refresher is uac, and the calling terminal is responsible for initiating the session update request, and then the session update timer of the calling terminal expires (Session Expires / 2) seconds to notify the calling terminal to issue a session update to the B2BUA1 unit. request.
步骤 113、 根据协商时确定的参数 refresher为 uac, B2BUA1单元的 UAC 端负责发起会话更新请求, B2BUA1单元的会话更新定时器过了( SessionExpires / 2 )秒通知 B2BUA1单元的 UAC端向 PROXY单元发出会话更新请求。  Step 113: According to the parameter determined during negotiation, the refresher is uac, and the UAC end of the B2BUA1 unit is responsible for initiating a session update request, and the session update timer of the B2BUA1 unit expires (SesExpires / 2) seconds to notify the UAC end of the B2BUA1 unit to issue a session to the PROXY unit. Update request.
步骤 114、 B2BUA1单元将主叫终端发送的会话更新请求进行相关处理并发 送给 PROXY单元。  Step 114: The B2BUA1 unit processes the session update sent by the calling terminal and sends it to the PROXY unit.
步骤 115、 PROXY单元将 B2BUA1单元发送的会话更新请求发送给 AS ( B2BUA2单元) 。  Step 115: The PROXY unit sends a session update request sent by the B2BUA1 unit to the AS (B2BUA2 unit).
步骤 116、 PROXY单元将 B2BUA1 单元发送的会话更新请求发送给 AS ( B2BUA2单元)。  Step 116: The PROXY unit sends a session update request sent by the B2BUA1 unit to the AS (B2BUA2 unit).
步骤 117、 根据协商时确定的参数 refresher为 uac, B2BUA2单元的 UAC 端负责发起会话更新请求, B2BUA2单元的会话更新定时器过了( SessionExpires / 2 )秒通知 B2BUA2单元向被叫终端发出会话更新请求。  Step 117: According to the parameter determined by the negotiation, the refresher is uac, and the UAC end of the B2BUA2 unit is responsible for initiating a session update request, and the session update timer of the B2BUA2 unit expires (SessionExpires / 2) seconds to notify the B2BUA2 unit to issue a session update request to the called terminal. .
步骤 118、 B2BUA2单元将 PROXY单元发送的会话更新请求进行相关处理 并发送给被叫终端。  Step 118: The B2BUA2 unit processes the session update request sent by the PROXY unit and sends the session update request to the called terminal.
步骤 119、 B2BUA2单元将 PROXY单元发送的会话更新请求进行相关处理 并发送给被叫终端。  Step 119: The B2BUA2 unit processes the session update request sent by the PROXY unit and sends the session update request to the called terminal.
图 1B为主叫终端发出会话更新请求的碰撞流程示意图。  FIG. 1B is a schematic diagram of a collision process for issuing a session update request by a calling terminal.
步骤 1000、 主叫终端向 B2BUA1单元发出会话建立请求消息。  Step 1000: The calling terminal sends a session establishment request message to the B2BUA1 unit.
如果主叫终端和 B2BUA1之间有 PROXY单元, 则 PROXY单元将收到的 会话建立请求消息进行转发。  If there is a PROXY unit between the calling terminal and B2BUA1, the PROXY unit forwards the received session establishment request message.
步骤 1001、B2BUA1单元收到会话建立请求消息进行 Session Timers协议规定 的相关处理。  Step 1001: The B2BUA1 unit receives the session establishment request message and performs related processing specified by the Session Timers protocol.
B2BUA1单元的 UAS端检查消息中是否带有 supported:timer头域。  The UAS end of the B2BUA1 unit checks whether the message has the supported:timer header field.
如果会话建立请求消息中带有 supported:timer 头域, 并且 Session-Expires 头域的值小于本地 Min— SE头域的值,则向主叫终端回复表明会话更新间隔太短 的响应并在响应中带上本地 Min SE 头域的值, 主叫终端收到回复响应后将 Session-Expires头域的值改成不小于 Min_SE头域的值,重新向 B2BUA1单元发 送。 If the session establishment request message has a supported:timer header field, and Session-Expires If the value of the header field is smaller than the value of the local Min_SE header field, the response is sent to the calling terminal indicating that the session update interval is too short, and the value of the local Min SE header field is brought in the response, and the calling terminal receives the reply response. Change the value of the Session-Expires header field to a value no smaller than the Min_SE header field and send it back to the B2BUA1 unit.
如果会话建立请求消息中不带有 supported:timer头域,表示主叫终端不支持 Session Timers协议, 并且 Session-Expires头 i或 ό々值小于本地 Min SE头域 ό々值, 在消息中有 Min_SE 头域时, 将请求消息中 Mm— SE 头域的值增加到与本地 Min SE头域的值相等并作为 Session-Expires头域的值, 在消息中没有 Min_SE 头域时, 在请求消息中插入 Min_SE头域, 其值为本地 Min_SE头域的值, 并将 该值做为 Session-Expires头; t或^)值。  If the session establishment request message does not include the supported:timer header field, it indicates that the calling terminal does not support the Session Timers protocol, and the Session-Expires header i or the threshold is smaller than the local Min SE header field threshold, and there is a Min_SE in the message. In the header field, the value of the Mm_SE header field in the request message is increased to be equal to the value of the local Min SE header field and used as the value of the Session-Expires header field. When there is no Min_SE header field in the message, the request message is inserted. The Min_SE header field, which is the value of the local Min_SE header field, and uses this value as the Session-Expires header; t or ^) value.
无论会话建立请求消息中是否带有 supported:timer 头域 , 只要 Session-Expires 头域的值不小于本地 Min SE 头域的值, 则可以不对 Session-Expires的值进行任何修改, 也可以在不小于消息中 Min— SE头域的值且 不小于本地 Mm— SE头域的值的基础上适当减小 Session-Expires头域的值。  Regardless of whether the session establishment request message has a supported:timer header field, as long as the value of the Session-Expires header field is not less than the value of the local Min SE header field, the value of the Session-Expires may not be modified or may be not less than The value of the Min-SE header field in the message is not less than the value of the local Mm_SE header field, and the value of the Session-Expires header field is appropriately reduced.
B2BUA1单元的 UAC端根据 UAS端处理后的请求消息构造新的请求消息。 步骤 1002、 B2BUA1单元将处理后的会话建立请求消息发送给 PROXY单 元。  The UAC end of the B2BUA1 unit constructs a new request message according to the request message processed by the UAS. Step 1002: The B2BUA1 unit sends the processed session establishment request message to the PROXY unit.
如果是多个 PROXY单元,则每个 PROXY单元都将会话建立请求消息进行 转发; 如果没有 PROXY单元, 则 B2BUA1 直接将会话建立请求消息发送给 B2BUA2。  If there are multiple PROXY units, each PROXY unit forwards the session establishment request message; if there is no PROXY unit, B2BUA1 directly sends a session establishment request message to B2BUA2.
步骤 1003、 PROXY单元将收到的会话建立请求消息发送给 AS ( B2BUA2 单元)。  Step 1003: The PROXY unit sends the received session establishment request message to the AS (B2BUA2 unit).
步骤 1004、B2BUA2单元收到请求消息进行 Session Timers协议规定的相关 处理。  Step 1004: The B2BUA2 unit receives the request message and performs related processing specified by the Session Timers protocol.
处理过程与步骤 1001的处理过程相同。  The processing is the same as the processing of step 1001.
步骤 1005、 B2BUA2单元将处理后的会话建立请求消息发送给被叫终端。 如果 B2BUA2和被叫终端之间有 PROXY单元, 则 PROXY单元将收到的 会话建立请求消息进行转发。 Step 1005: The B2BUA2 unit sends the processed session establishment request message to the called terminal. If there is a PROXY unit between the B2BUA2 and the called terminal, the PROXY unit will receive The session establishment request message is forwarded.
步骤 1006、 被叫终端向 B2BUA2单元发送表示成功的 200响应消息。  Step 1006: The called terminal sends a 200 response message indicating success to the B2BUA2 unit.
如果 B2BUA2和被叫终端之间有 PROXY单元, 则 PROXY单元将收到的 200响应消息进行转发。  If there is a PROXY unit between B2BUA2 and the called terminal, the PROXY unit forwards the received 200 response message.
步骤 1007、 B2BUA2单元收到 200响应消息进行规定的相关处理。  Step 1007: The B2BUA2 unit receives the 200 response message to perform the specified related processing.
B2BUA2单元的 UAC端根据响应消息中 Session-Expires头域的时间和 会话协商将 B2BUA2与被叫终端之间的 refresher设置为
Figure imgf000009_0001
The UAC end of the B2BUA2 unit sets the refresher between the B2BUA2 and the called terminal according to the time and session negotiation of the Session-Expires header field in the response message.
Figure imgf000009_0001
定时器。 Timer.
B2BUA2单元的 UAS端根据 Session-Expires头域的值和 refresher 参数启动相 关定时器。  The UAS end of the B2BUA2 unit starts the related timer according to the value of the Session-Expires header field and the refresher parameter.
会话协商将 B2BUA1与 B2BUA2之间的 refresher设置为 refresher=uas, 因此
Figure imgf000009_0002
Session negotiation sets the refresher between B2BUA1 and B2BUA2 to refresh=uas, so
Figure imgf000009_0002
步骤 1008、 B2BUA2单元将处理后的 200响应消息发送给 PROXY单元。  Step 1008: The B2BUA2 unit sends the processed 200 response message to the PROXY unit.
步骤 1009、 PROXY单元将收到的 200响应消息发送给 AS ( B2BUA1单元) 。 如果是多个 PROXY单元, 则每个 PROXY单元都将消息进行转发; 如果没 有 PROXY单元, 则 B2BUA2直接将消息发送给 B2BUA1。  Step 1009: The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit). If there are multiple PROXY units, each PROXY unit forwards the message; if there is no PROXY unit, B2BUA2 sends the message directly to B2BUA1.
步骤 1010、 B2BUA1单元收到 200响应消息进行 Session Timers协议规定 的相关处理。  Step 1010: The B2BUA1 unit receives the 200 response message for related processing specified by the Session Timers protocol.
B2BUA1单元的 UAC端根据响应消息中 Session-Expires头域的时间和 refresher参数, 启动相关定时器。  The UAC end of the B2BUA1 unit starts the relevant timer according to the time and refresher parameters of the Session-Expires header field in the response message.
会话协商将 B2BUA1与 B2BUA2之间的 refresher设置为 refresher=uas, 因 此 B2BUA1单元的 UAC端不启动会话更新定时器和会话超时释放定时器。  The session negotiation sets the refresher between B2BUA1 and B2BUA2 to refresher=uas. Therefore, the UAC end of the B2BUA1 unit does not start the session update timer and the session timeout release timer.
B2BUA1单元的 UAS端根据 Session-Expires头域的值和 refresher 参数启动相 关定时器。  The UAS end of the B2BUA1 unit starts the related timer according to the value of the Session-Expires header field and the refresher parameter.
会话协商将 B2BUA1与 B2BUA2之间的 refresher设置为 refresher=uas, 因此 B2BUA2单元的 UAS端不启动会话更新定时器和会话超时释放定时器。 步骤 1011、 B2BUA1单元将处理的 200响应消息发送给主叫终端。 The session negotiation sets the refresher between B2BUA1 and B2BUA2 to refresh=uas, so the UAS end of the B2BUA2 unit does not start the session update timer and the session timeout release timer. Step 1011: The B2BUA1 unit sends the processed 200 response message to the calling terminal.
主叫终端收到 200响应消息后, 会话成功建立, 同时 Session Timers也协商 成功。 主叫终端的会话更新定时器启动计时。  After the calling terminal receives the 200 response message, the session is successfully established and the Session Timers are also negotiated successfully. The session update timer of the calling terminal starts timing.
步骤 1012、 根据协商时确定的参数 refresher, 主叫终端到 B2BUA1 之间 refresher=uac, B2BUA1与 B2BUA2之间 refresher=uas, B2BUA2与被叫终端之 间
Figure imgf000010_0001
么主叫终端负责发起会话更新请求, 主叫终端的会话更新定 时器过了( SessionExpires / 2 )秒通知主叫终端向 B2BUA1单元发出会话更新请 求。
Step 1012: According to the parameter refresher determined at the time of negotiation, between the calling terminal and B2BUA1, refresher=uac, between B2BUA1 and B2BUA2, refresher=uas, between B2BUA2 and the called terminal
Figure imgf000010_0001
The calling terminal is responsible for initiating a session update request, and the session update timer of the calling terminal (Session Expires / 2) seconds informs the calling terminal to issue a session update request to the B2BUA1 unit.
步骤 1013、 B2BUA1单元将主叫终端发送的会话更新请求进行相关处理并 发送给 PROXY单元。  Step 1013: The B2BUA1 unit processes and processes the session update request sent by the calling terminal to the PROXY unit.
步骤 1014、 PROXY单元将 B2BUA1 单元发送的会话更新请求发送给 AS ( B2BUA2单元)。  Step 1014: The PROXY unit sends a session update request sent by the B2BUA1 unit to the AS (B2BUA2 unit).
步骤 1015、 B2BUA2单元将 PROXY单元发送的会话更新请求进行相关处 理并发送给被叫终端。  Step 1015: The B2BUA2 unit processes the session update request sent by the PROXY unit and sends the session update request to the called terminal.
步骤 1016、 根据协商时确定的参数 refresher, 主叫终端到 B2BUA1 之间 refresher=uac, B2BUA1与 B2BUA2之间 refresher=uas, B2BUA2与被叫终端之 间 refresher=uac,那么 B2BUA2单元负责发起会话更新请求, B2BUA2单元的会 话更新定时器过了( SessionExpires / 2 )秒通知 B2BUA2单元向 PROXY单元发 出会话更新请求。  Step 1016: According to the parameter refresher determined during the negotiation, the calling terminal reaches the refrers=uac between the B2BUA1, the refresher=uas between the B2BUA1 and the B2BUA2, and the refresher=uac between the B2BUA2 and the called terminal, then the B2BUA2 unit is responsible for initiating the session update request. The session update timer of the B2BUA2 unit expires (SessionExpires / 2) seconds to notify the B2BUA2 unit to issue a session update request to the PROXY unit.
步骤 1017、 PROXY单元将 B2BUA2单元发送的会话更新请求发送给 AS ( B2BUA1单元)。  Step 1017: The PROXY unit sends a session update request sent by the B2BUA2 unit to the AS (B2BUA1 unit).
步骤 1018、 B2BUA1单元将 PROXY单元发送的会话更新请求进行相关处 理并发送给主叫终端。  Step 1018: The B2BUA1 unit processes the session update request sent by the PROXY unit and sends the session update request to the calling terminal.
步骤 1019、 根据协商时确定的参数 refresher, 主叫终端到 B2BUA1 之间 refresher=uac, B2BUA1与 B2BUA2之间 refresher=uas, B2BUA2与被叫终端之 间 refresher=uac,那么 B2BUA2单元负责发起会话更新请求, B2BUA2单元的会 话更新定时器过了( SessionExpires / 2 )秒通知 B2BUA2单元向被叫终端发出会 话更新请求。 Step 1019: According to the parameter refresher determined during the negotiation, the calling terminal reaches the refrers=uac between the B2BUA1, the refresher=uas between the B2BUA1 and the B2BUA2, and the refresher=uac between the B2BUA2 and the called terminal, then the B2BUA2 unit is responsible for initiating the session update request. The session update timer of the B2BUA2 unit expires (SessionExpires / 2) seconds to notify the B2BUA2 unit to send a call to the called terminal. Update request.
从图 IB中可以看出, 在 B2BUA1单元上, 步骤 1012和步骤 1017的会话 更新请求发生碰撞, 并且 B2BUA1单元转发多余的会话更新请求。  As can be seen from Figure IB, on the B2BUA1 unit, the session update request of step 1012 and step 1017 collides, and the B2BUA1 unit forwards the redundant session update request.
现有技术中还可能从被叫终端发出会话更新请求, 则主叫终端到 B2BUA1 之间 refresher=uas, B2BUA1与 B2BUA2之间 refresher=uac , B2BUA2与被叫终 端之间 refresher=uas, B2BUA2单元附近会话更新请求发生碰撞, B2BUA2单元 转发多余的会话更新请求。  In the prior art, it is also possible to issue a session update request from the called terminal, and the calling terminal is between resher=uas between B2BUA1, refreshher=uac between B2BUA1 and B2BUA2, and near the resher=uas, B2BUA2 unit between B2BUA2 and the called terminal. The session update request collides, and the B2BUA2 unit forwards the redundant session update request.
综上所述, 在现有技术中, 如果会话处于非活动状态, 需要释放会话资源, 要求主叫终端或被叫终端至少有一个支持 Session Timers协议, 由支持 Session Timers 协议的主叫终端或被叫终端发出的会话更新请求。 如果主叫终端或被叫 终端都不支持 Session Timers协议, 每个 B2BUA单元将无法释放为该会话分配 的资源。  In summary, in the prior art, if the session is in an inactive state, the session resource needs to be released, and the calling terminal or the called terminal is required to have at least one session that supports the Session Timers protocol, and the calling terminal that supports the Session Timers protocol is Call a session update request from the terminal. If neither the calling terminal nor the called terminal supports the Session Timers protocol, each B2BUA unit will not be able to release the resources allocated for the session.
而且, 如果由主叫终端发送会话更新请求, 则每个 B2BUA单元收到会话更新 请求后, 由于无法判断当前该请求消息是会话更新请还是普通的业务协商消息, 因此都生成一个新会话更新请求, 并将收到的会话更新请求和新会话更新请求 发送给会话建立所途径的下一 B2BUA单元, 直至被叫终端。 同样, 如果由被叫终 端发送会话更新请求, 则每个 B2BUA单元收到会话更新请求后, 也都将收到的会 话更新请求和生成的新会话更新请求向主叫侧发送, 直至主叫终端。 因此, 由 于每个 B2BUA单元都会转发并发起会话更新请求, 最后用户终端会收到大量无意 义的会话更新请求, 如果 B2BUA单元在收到会话更新请求后向两侧发送新的会话 更新请求, 还会造成会话更新请求的碰撞。  Moreover, if the session update request is sent by the calling terminal, each B2BUA unit receives a session update request, and therefore cannot generate a new session update request because it cannot determine whether the request message is a session update or a normal service negotiation message. And sending the received session update request and the new session update request to the next B2BUA unit of the session establishment path until the called terminal. Similarly, if the session update request is sent by the called terminal, after receiving the session update request, each B2BUA unit also sends the received session update request and the generated new session update request to the calling side until the calling terminal . Therefore, since each B2BUA unit forwards and initiates a session update request, the user terminal receives a large number of meaningless session update requests. If the B2BUA unit sends a new session update request to both sides after receiving the session update request, Will cause a collision of session update requests.
发明内容 Summary of the invention
本发明实施例的主要目的是提供一种实现资源释放的方法和系统, 使其在 终端不支持 Session Timers协议的情况下, 在会话处于非活动状态时, 能实现资 源释放。 本发明实施例的另一个目的是还提供一种背靠背用户代理装置, 应用于资 源释放系统中,在终端不支持 Session Timers协议时,如果会话处于非活动状态, 能实现资源释放。 The main purpose of the embodiments of the present invention is to provide a method and a system for implementing resource release, so that when the terminal does not support the Session Timers protocol, the resource release can be implemented when the session is in an inactive state. Another object of the present invention is to provide a back-to-back user agent device, which is applied to a resource release system. When the terminal does not support the Session Timers protocol, if the session is in an inactive state, resource release can be implemented.
本发明实施例提供的一种实现资源释放的方法包括:  A method for implementing resource release according to an embodiment of the present invention includes:
背靠背用户代理 B2BUA单元接收到会话建立请求消息后,判断其中是否含 有带时间 timer标签的支持 Supported头域, 如果是, 将该会话建立请求消息转 发出去, 否则, 在该消息中增加带 timer标签的 Supported头域, 并将该会话建 立请求消息转发出去;  After receiving the session establishment request message, the back-to-back user agent B2BUA unit determines whether the supported header field with the time timer tag is included. If yes, the session establishment request message is forwarded. Otherwise, the timer tag is added to the message. Supported header field, and forwards the session establishment request message;
节点设备之间进行刷新者协商, 确定一节点设备为刷新者, 在会话建立后, 由协商确定为刷新者的节点设备分别向其他网络节点发起会话更新请求。  The node device performs the refresher negotiation between the node devices to determine that the node device is the refresher. After the session is established, the node devices determined to be the refresher by the negotiation respectively initiate a session update request to the other network nodes.
本发明实施例提供的一种实现资源释放的系统包括: 一个或一个以上背靠 背用户代理 B2BUA单元;  A system for implementing resource release according to an embodiment of the present invention includes: one or more back-to-back user agent B2BUA units;
每个 B2BUA单元, 用于接收到会话建立请求消息后, 判断其中是否含有带 时间 timer标签的支持 Supported头域, 如果是, 将该会话建立请求消息转发出 去, 否则, 在该消息中增加带 timer标签的 Supported头域, 并将该会话建立请 求消息转发出去; 与节点设备之间进行刷新者协商, 确定自身是否为刷新者; 如果确定自身为刷新者, 则在会话建立后, 分别向与自身连接的两侧本次会话 所途径的网络节点发起会话更新请求。  Each B2BUA unit is configured to: after receiving the session establishment request message, determine whether the supported header field with the time timer tag is included, and if yes, forward the session establishment request message; otherwise, add a timer to the message. The Supported header field of the label, and forwarding the session establishment request message; performing refresher negotiation with the node device to determine whether it is a refresher; if it is determined that it is a refresher, after the session is established, respectively The network nodes on which the session is routed on both sides of the connection initiate a session update request.
本发明实施例提供的一种背靠背用户代理装置包括:  A back-to-back user agent device provided by an embodiment of the present invention includes:
会话协议判断模块, 用于接收到会话建立请求消息后, 判断收到的会话建 立请求消息中是否带 timer标签的 Supported头域, 如果是, 直接将该会话建立 请求消息转发出去, 否则, 在该会话建立请求消息中添加带 timer 标签的 Supported头域, 将该会话建立请求消息转发出去;  The session protocol judging module is configured to: after receiving the session establishment request message, determine whether the received session establishment request message has a Supported header field with a timer tag, and if yes, directly forward the session establishment request message, otherwise, Adding a Supported header field with a timer tag to the session establishment request message, and forwarding the session establishment request message;
刷新者协商模块, 用于与节点设备之间进行刷新者协商, 确定自身是否为 刷新者;  a refresher negotiation module, configured to perform a refresher negotiation with the node device to determine whether it is a refresher;
会话更新请求模块, 用于如果确定自身为刷新者, 则在会话建立后, 分别 向与自身连接的两侧本次会话所途径的网络节点发起会话更新请求。 本发明实施例通过刷新者协商所确定的 B2BUA单元向主叫终端和被叫终 端发起会话更新请求, 实现了主叫终端和被叫终端都不支持 Session Timers协议 的情况下也能实现资源释放,取消了其他 B2BUA单元主动发起会话更新请求的 行为, 在收到会话更新请求后只转发该请求。 避免了会话过程中会话更新请求 无意义的转发和碰撞的问题。 附图说明 The session update request module is configured to, if it is determined that it is a refresher, initiate a session update request to the network node of the current session on both sides connected to itself after the session is established. In the embodiment of the present invention, the B2BUA unit determined by the refresher negotiation initiates a session update request to the calling terminal and the called terminal, so that the resource release can be realized even if the calling terminal and the called terminal do not support the Session Timers protocol. The behavior of other B2BUA units actively initiating a session update request is cancelled, and only the request is forwarded after receiving the session update request. It avoids the problem of meaningless forwarding and collision of session update requests during the session. DRAWINGS
图 1 A为主叫终端发出会话更新请求的无意义转发的流程示意图; 图 1B为主叫终端发出会话更新请求的会话更新请求碰撞的流程示意图; 图 2为本发明实施例的资源释放的系统结构示意图;  FIG. 1 is a schematic flowchart of a meaningless forwarding of a session update request issued by a calling terminal; FIG. 1B is a schematic flowchart of a session update request collision of a session update request by a calling terminal; FIG. 2 is a system for releasing resources according to an embodiment of the present invention; Schematic;
图 3为本发明实施例的 B2BUA装置的结构示意图;  3 is a schematic structural diagram of a B2BUA device according to an embodiment of the present invention;
图 4为本发明实施例实现资源释放方法的流程示意图;  4 is a schematic flowchart of a method for implementing resource release according to an embodiment of the present invention;
图 5A为实现本发明方法的具体实施例一的流程示意图;  FIG. 5A is a schematic flow chart of a specific embodiment 1 for implementing the method of the present invention; FIG.
图 5B为实现本发明方法的具体实施例二的流程示意图;  5B is a schematic flow chart of a specific embodiment 2 of the method for implementing the present invention;
图 6为实现本发明方法的具体实施例三的流程示意图;  6 is a schematic flow chart of a third embodiment of a method for implementing the method of the present invention;
图 7为实现本发明方法的具体实施例四的流程示意图;  7 is a schematic flow chart of a fourth embodiment of a method for implementing the present invention;
图 8为本发明实施例提供的 B2BUA装置进行刷新者协商的结构示意图。 具体实施方式  FIG. 8 is a schematic structural diagram of a B2BUA device performing a refresher negotiation according to an embodiment of the present invention. detailed description
针对目前在通信技术领域中, B2BUA单元上实现 Session Timers协议存在 会话更新请求信息发生多次无意义的转发和碰撞问题, 本发明实施例中, 为刷 新者的 B2BUA单元主动发起会话更新请求, 而其他 B2BUA单元不发起会话更 新请求, 从而解决了上述问题。 并且会话建立过程中, 通过改变 B2BUA单元, 使其能主动向主叫终端和被叫终端发起会话更新请求, 从而实现了在主叫终端 和被叫终端都不支持 Session Timers 协议的情况下, 也能成功建立起 Session Timers协议。  In the embodiment of the present invention, the B2BUA unit of the refresher actively initiates a session update request, and the B2BUA unit of the refresher actively initiates a session update request. The other B2BUA units do not initiate a session update request, thereby solving the above problem. And during the session establishment process, by changing the B2BUA unit, it can actively initiate a session update request to the calling terminal and the called terminal, thereby realizing that both the calling terminal and the called terminal do not support the Session Timers protocol, Successfully established the Session Timers protocol.
在会话建立过程中, B2BUA单元接收到会话建立请求消息后, 判断该会话 建立请求消息中是否含有带时间 timer标签的支持 Supported头域, 如果含有, 则直接将该会话建立请求消息向下一节点设备转发; 如果不含有, 则在该会话 建立请求消息中添加带 timer标签的 Supported头域, 再将增力。带 timer标签的 Supported头域的会话建立请求消息向下一节点设备转发。 During the session establishment process, after receiving the session establishment request message, the B2BUA unit determines the session. Whether the support request header field with the time timer tag is included in the request message, if yes, the session establishment request message is directly forwarded to the next node device; if not, the timer tag is added to the session establishment request message. The Supported header field will be added again. The session establishment request message of the Supported header field with the timer tag is forwarded to the next node device.
在会话建立过程中, 节点设备之间还可以进行刷新者协商。 在会话建立后, 由协商所确定的刷新者分别向其他节点设备发起会话更新请求。 每个节点设备 收到会话更新请求后, 根据收到的会话更新请求向上游或下游发送会话更新请 求, 直至主叫终端和被叫终端; 每个节点设备在确定该会话处于非活动状态的 情况下, 释放掉自身为该会话分配的资源。  During the session establishment process, the refresher negotiation can also be performed between the node devices. After the session is established, the refreshers determined by the negotiation respectively initiate a session update request to other node devices. After receiving the session update request, each node device sends a session update request to the upstream or downstream according to the received session update request until the calling terminal and the called terminal; each node device determines that the session is inactive. Next, release the resources that it has allocated for the session.
在会话建立后, 当 B2BUA单元接收到会话建立请求消息后, 如果确定消息 中含有带 timer标签的 Supported头域, 则不再生成会话更新请求, 只向会话所 途径的下一节点设备发送会话更新请求。  After the session is established, after the B2BUA unit receives the session establishment request message, if it determines that the message contains the Supported header field with the timer tag, the session update request is no longer generated, and only the session update is sent to the next node device of the session path. request.
图 2为本发明实施例资源释放的系统结构示意图。 如图 2所示, 本发明的 系统包括: 一个或一个以上 B2BUA单元,  FIG. 2 is a schematic structural diagram of a system for releasing resources according to an embodiment of the present invention. As shown in FIG. 2, the system of the present invention includes: one or more B2BUA units,
每个 B2BUA单元, 用于接收到来自上一节点设备的会话建立请求后, 判断 该会话建立请求中是否携带 timer标签的 Supported头域, 如果含有, 将该会话 建立请求消息向下一节点设备转发, 否则, 在会话建立请求消息中添加带 timer 标签的 Supported头域, 将该会话建立请求消息向下一节点设备转发; 在会话建 立后, 如果确定该会话处于非活动状态, 释放掉自身为该会话分配的资源。  Each B2BUA unit is configured to: after receiving the session establishment request from the previous node device, determine whether the session establishment request carries a Supported header field of the timer tag, and if so, forward the session establishment request message to the next node device. Otherwise, a Supported header field with a timer tag is added to the session establishment request message, and the session establishment request message is forwarded to the next node device; after the session is established, if the session is determined to be inactive, the self is released. The resources allocated by the session.
在会话建立后, 如果 B2BUA单元收到会话更新请求, B2BUA单元还进一 步用于判断会话更新请求中是否带 timer标签的 Supported头域, 如果是, 则只 根据收到的会话更新请求向会话所途径的下一网络节点发送会话更新请求。  After the session is established, if the B2BUA unit receives the session update request, the B2BUA unit is further configured to determine whether the session update request has a Supported header field with a timer tag, and if so, only according to the received session update request to the session. The next network node sends a session update request.
如图 3所示, 本发明实施例的 B2BUA单元包括: 会话协议判断模块和资源 释放模块。 其中, 会话协议判断模块, 用于判断收到的会话建立请求消息中是 否带 timer标签的 Supported头域, 如果是, 直接将该会话建立请求消息转发出 去, 否则, 在该会话建立请求消息中添加带 timer标签的 Supported头域, 将该 会话建立请求消息转发出去; 源释放模块, 用于根据收到的会话更新响应消息 判断会话状态是否正常, 在该会话处于非活动状态, 释放掉自身为该会话分配 的资源。 As shown in FIG. 3, the B2BUA unit in the embodiment of the present invention includes: a session protocol determining module and a resource releasing module. The session protocol judging module is configured to determine whether the received session establishment request message has a support header field with a timer tag, and if yes, directly forward the session establishment request message, otherwise, add the session establishment request message. The Supported header field with a timer tag forwards the session establishment request message; the source release module is configured to update the response message according to the received session Determine whether the session state is normal, and release the resources allocated for the session when the session is inactive.
当然, 为了进行刷新者协商, B2BUA单元还可以进一步包括: 刷新者协商 模块和会话更新请求模块。 其中, 刷新者协商模块, 用于将该会话建立请求消 息中的会话终止 Session-Expires 头域中添加刷新者参数, 并根据收到的会话建 立响应消息确定自身是否为刷新者; 会话更新请求模块, 用于在会话建立后, 如果确定自身为刷新者, 分别向两侧本次会话建立所途径的网络节点发起会话 更新请求; 如果确定自身不是刷新者, 判断收到的会话更新请求中是否带 timer 标签的 Supported头域, 如果是, 则只向会话所途径的下一网络节点发送会话更 新请求。  Of course, for the refresher negotiation, the B2BUA unit may further include: a refresher negotiation module and a session update request module. The refresher negotiation module is configured to add a refresher parameter in the session termination Session-Expires header field in the session establishment request message, and determine whether it is a refresher according to the received session establishment response message; the session update request module After the session is established, if it is determined that it is a refresher, a session update request is initiated to each of the network nodes that have established the session on both sides; if it is determined that it is not a refresher, it is determined whether the received session update request is carried. The Supported header field of the timer tag, if yes, sends a session update request only to the next network node of the session path.
图 4为以第一 B2BUA单元收到会话更新请求为例,本发明实施例实现资源 释放的流程示意图。 其中, 第一 B2BUA单元为在会话建立过程中第一个收到会 话建立请求消息的 B2BUA单元, 其余 B2BUA单元与第一 B2BUA单元方法类 似, 不再举例。  FIG. 4 is a schematic diagram of a process for implementing resource release by using a first B2BUA unit to receive a session update request. The first B2BUA unit is the first B2BUA unit that receives the session establishment request message during the session establishment process, and the other B2BUA units are similar to the first B2BUA unit method, and are not illustrated.
参见图 4所示, 本发明实施例实现资源释放的方法包括:  As shown in FIG. 4, the method for implementing resource release in the embodiment of the present invention includes:
步骤 400、 第一 B2BUA单元收到会话建立请求消息后, 判断消息中是否含有 带 timer标签的 Supported头域, 如果有,表明主叫终端是支持 Session Timers协议, 则执行步骤 401 ; 否则, 直接将该会话请求向下一节点设备转发, 直到被叫终端, 执行步骤 407。  Step 400: After receiving the session establishment request message, the first B2BUA unit determines whether the message includes a Supported header field with a timer tag. If yes, indicating that the calling terminal supports the Session Timers protocol, step 401 is performed; otherwise, directly The session is forwarded to the next node device until the called terminal, and step 407 is performed.
步骤 401、 第一 B2BUA单元收到会话建立请求消息后, 第一 B2BUA单元的 UAC端在会话建立请求消息中插入 supported:timer头域, 并将会话建立请求消息 中的 Session-Expires 头域中 refresheri殳置为 uac。  Step 401: After receiving the session establishment request message, the first B2BUA unit inserts the supported:timer header field in the session establishment request message, and the refresh-expires header field in the session establishment request message Set to uac.
步骤 402、 第一 B2BUA单元向下一 B2BUA单元发送增加 supported:timer头域 会话建立请求消息。  Step 402: The first B2BUA unit sends a support:timer header field session establishment request message to the next B2BUA unit.
步驟 403、 每个 B2BUA单元收到会话建立请求消息后, 直接将会话建立请求 消息发送给下一节点设备, 直到被叫终端。  Step 403: After receiving the session establishment request message, each B2BUA unit directly sends the session establishment request message to the next node device until the called terminal.
步骤 404、 被叫终端收到会话建立请求消息后, 向与其连接的 B2BUA单元返 回会话建立响应消息, 每个 B2BUA单元收到会话建立请求消息后, 只启动会话 超时释放定时器, 并将会话建立响应消息向上一级 B2BUA单元发送, 直到第一 B2BUA单元。 Step 404: After receiving the session establishment request message, the called terminal returns to the B2BUA unit connected thereto. After the session establishment response message is received, each B2BUA unit only starts the session timeout release timer, and sends the session establishment response message to the B2BUA unit to the first B2BUA unit.
步骤 405、 第一 B2BUA单元收到该会话建立响应消息后, 如果确定自身为刷 新者, 则在会话建立响应消息中插入 supported:timer头域, 并将 Session-Expires 头域中的参数 refresher设置为 refresher=uas, 并将该会话建立响应消息发送给主 叫终端。  Step 405: After receiving the session establishment response message, if the first B2BUA unit determines that it is a refresher, insert a supported:timer header field in the session establishment response message, and set the parameter refresher in the Session-Expires header field to Refresher=uas, and send the session establishment response message to the calling terminal.
步驟 406、 在呼叫建立后, 第一 B2BUA单元向两侧发起会话更新请求。  Step 406: After the call is established, the first B2BUA unit initiates a session update request to both sides.
步骤 407、 每个 B2BUA单元收到会话更新请求后, 判断会话更新请求中是否 含有带 timer标签的 Supported头域, 如果有, 并直接向下一节点设备转发该会话 更新请求, 这里不产生新的会话更新请求, 执行步骤 410。  Step 407: After receiving the session update request, each B2BUA unit determines whether the session update request includes a Supported header field with a timer tag. If yes, and directly forwards the session update request to the next node device, no new session is generated here. For the session update request, go to step 410.
步骤 408、 被叫终端收到会话建立请求消息后, 向与其连接的 B2BUA单元返 回会话建立响应消息, 每个 B2BUA单元收到会话建立请求消息后, 只启动会话 超时释放定时器, 并将会话建立响应消息向上一级 B2BUA单元发送, 直到第一 Step 408: After receiving the session establishment request message, the called terminal returns a session establishment response message to the B2BUA unit connected thereto. After receiving the session establishment request message, each B2BUA unit starts the session timeout release timer and establishes the session. The response message is sent to the B2BUA unit at the first level until the first
B2BUA单元。 B2BUA unit.
步骤 409、 在呼叫建立后, 由主叫终端或被叫终端向与其相连的 B2BUA单元 发送会话更新请求, 执行步骤 410。  Step 409: After the call is established, the calling terminal or the called terminal sends a session update request to the B2BUA unit connected thereto, and step 410 is performed.
步骤 410、 每个 B2BUA单元确定会话为非活动状态时, 释放掉自身为该会话 分配的资源。  Step 410: When each B2BUA unit determines that the session is in an inactive state, it releases the resources allocated by itself for the session.
上述步骤 401 ~ 405为刷新者协商的过程。  The above steps 401 ~ 405 are the process of the refresher negotiation.
节点设备可以根据自身情况, 进行刷新者协商, 确定自身为刷新方。  The node device can perform refresher negotiation according to its own situation and determine that it is a refresher.
例如:第一 B2BUA单元与被叫终端进行刷新者协商过程可以通过以下两种 方式实现。  For example, the process of the refresher negotiation between the first B2BUA unit and the called terminal can be implemented in the following two manners.
第一种方式:  The first way:
( 1 ) B2BUA单元在向会话建立所途径的节点设备转发的该会话建立请求 消息中的 Session-Expires头域中添加刷新者参数, 将刷新者 refresher设置为用 户代理客户端 uac,用于表明本 B2BUA单元负责向被叫终端发起会话更新请求; ( 2 )被叫终端收到该会话建立请求消息后, 确定自身不为刷新者, 则通过 节点设备向该 B2BUA返回自身不为刷新者的会话建立响应消息; (1) The B2BUA unit adds a refresher parameter in the Session-Expires header field in the session establishment request message forwarded to the node device of the session establishment path, and sets the refresher refresher as the user agent client uac for indicating the present The B2BUA unit is responsible for initiating a session update request to the called terminal; (2) After the called terminal receives the session establishment request message and determines that it is not the refresher, the node device returns a session establishment response message to the B2BUA that is not the refresher.
( 3 )该 B2BUA单元收到该会话建立响应消息后, 确定自身为刷新者, 则 在向主叫终端回复的会话建立响应消息中的 Session-Expires 头域中添加刷新者 参数, 将 refresher设置为用户代理服务器端 uas。  (3) After receiving the session establishment response message, the B2BUA unit determines that it is a refresher, and adds a refresher parameter in the Session-Expires header field in the session establishment response message replied to the calling terminal, and sets the refresher to User agent server side uas.
第二种方式:  The second way:
( 1 ) B2BUA单元向会话建立所途径的节点设备发送该会话建立请求消息, 其中含有带 timer标签的 Supported头域, 每个节点设备收到该会话建立请求消 息后, 向下一节点设备转发, 直到被叫终端;  (1) The B2BUA unit sends the session establishment request message to the node device in the path establishment session, and the support header field with the timer tag is received. After receiving the session establishment request message, each node device forwards the message to the next node device. Until the called terminal;
( 2 )被叫终端收到该会话建立请求消息后, 如果确定自身为刷新者, 则通 过节点设备向该 B2BUA返回会话建立响应消息, 其中 Session-Expires 头域为 uas, 如果确定自身不为刷新者, 则通过节点设备向该 B2BUA返回自身不为刷 新者的会话建立响应消息;  (2) After the called terminal receives the session establishment request message, if it determines that it is a refresher, the node device returns a session establishment response message to the B2BUA, where the Session-Expires header field is uas, and if it is determined that it is not refreshed Then, the node device returns a session establishment response message to the B2BUA that is not the refresher.
( 3 )该 B2BUA单元收到会话建立响应消息后, 判断被叫终端是否为刷新 者, 如果是, 执行步骤 (4 ), 否则, 将自身作为刷新者, 执行步骤 (4 );  (3) After receiving the session establishment response message, the B2BUA unit determines whether the called terminal is a refresher, and if yes, performs step (4), otherwise, it uses itself as a refresher, and performs step (4);
( 4 ) 该 B2BUA 单元在向主叫终端回复的会话建立响应消息中 Session-Expires 头域中添加刷新者参数, 将 refresher设置为用户代理服务器端 uaS o  (4) The B2BUA unit adds a refresher parameter in the Session-Expires header field in the session establishment response message replied to the calling terminal, and sets the refresher to the user proxy server side uaS o
为了便于理解本发明, 以下举具体实例进一步说明本发明的技术方案。 如图 5 A所示, 本实施例一实现资源释放的处理流程如下:  In order to facilitate the understanding of the present invention, the technical solutions of the present invention will be further described below by way of specific examples. As shown in FIG. 5A, the process of implementing resource release in the first embodiment is as follows:
本实施例刷新者为 B2BUA1 , 由 B2BUA1向主叫和被叫终端发起会话更新请 求。  In this embodiment, the refresher is B2BUA1, and the B2BUA1 initiates a session update request to the calling and called terminals.
步骤 500、 主叫终端向 B2BUA1单元发送会话建立请求消息。  Step 500: The calling terminal sends a session establishment request message to the B2BUA1 unit.
步骤 501、 B2BUA1单元收到会话建立请求消息, B2BUA1单元的 UAS端 检查消息中是否带 supported:timer头域。  Step 501: The B2BUA1 unit receives the session establishment request message, and the UAS end of the B2BUA1 unit checks whether the message carries the supported:timer header field.
如果会话建立请求消息中有 supported:timer头域, 则跳出本流程, 否则, 对 该消息进行 Session Timers协议的处理。 对该消息进行 Session Timers协议的处理的具体过程为: If there is a supported: timer header field in the session establishment request message, the flow is skipped. Otherwise, the message is processed by the Session Timers protocol. The specific process of processing the message by the Session Timers protocol is as follows:
如果 Session-Expires头域的值小于本地 Min— SE头域的值, 在消息中存在 If the value of the Session-Expires header field is less than the value of the local Min-SE header field, it exists in the message.
Min SE头域时, 将消息中 Min_SE头域的值增大到与本地 Min— SE头域的值相 等并作为 Session-Expires头域的值, 在消息中没有 Mm— SE头域时, 在请求消息 中插入 Min_SE 头域, 其值为本地 Min— SE 头域的值, 并将该值做为When the Min SE header field is used, the value of the Min_SE header field in the message is increased to be equal to the value of the local Min_SE header field and used as the value of the Session-Expires header field. When there is no Mm-SE header field in the message, the request is made. Insert the Min_SE header field into the message, which is the value of the local Min_SE header field, and treat the value as
Session-Expires的值。 The value of Session-Expires.
如果 Session-Expires头域的值不小于本地 Min_SE头域的值,则处理方法与 现有技术相同。  If the value of the Session-Expires header field is not less than the value of the local Min_SE header field, the processing method is the same as in the prior art.
B2BUA1单元的 UAC端根据 UAS端处理后的会话建立请求消息, 在该消 息中插入 supported:timer头域,并将 Session-Expires头域中的参数 refresher设置 为 refersher=uac , 构造出新的会话建立请求消息。  The UAC end of the B2BUA1 unit is configured according to the session establishment request message processed by the UAS, inserts the supported:timer header field in the message, and sets the parameter refresher in the Session-Expires header field to prefersher=uac to construct a new session establishment. Request message.
步骤 502、 B2BUA1单元将处理后的会话建立请求消息发送给 PROXY单元。 步骤 503、 PROXY单元将收到的会话建立请求消息发送给 AS(B2BUA2 )单 元。  Step 502: The B2BUA1 unit sends the processed session establishment request message to the PROXY unit. Step 503: The PROXY unit sends the received session establishment request message to the AS (B2BUA2) unit.
步骤 504、 B2BUA2单元收到会话建立请求消息, B2BUA2单元的 UAS端 比较 Session-Expires头 i或的值和本地 Min SE头 i或的值。 ^口果 Session-Expires头 域的值小, 则向 B2BUA1单元回复表明会话更新间隔太短的响应并在响应中带 上本地 Min_SE头域的值, B2BUA1收到回复响应后将 Session-Expires头域的值 改成 Min_SE头域的值, 向 B2BUA2单元发送。  Step 504: The B2BUA2 unit receives the session establishment request message, and the UAS end of the B2BUA2 unit compares the value of the Session-Expires header i or the value of the local Min SE header i or. ^ The value of the Session-Expires header field is small, and the response to the B2BUA1 unit indicates that the session update interval is too short and the value of the local Min_SE header field is brought in the response. After the B2BUA1 receives the reply response, the Session-Expires header field is obtained. The value is changed to the value of the Min_SE header field and sent to the B2BUA2 unit.
如果 Session-Expires头域的值不小于本地 Min_SE头域的值,则处理方法与 现有技术相同。  If the value of the Session-Expires header field is not less than the value of the local Min_SE header field, the processing method is the same as in the prior art.
B2BUA2单元的 UAC端根据 UAS端处理后的会话建立请求消息构造新的 请求消息。  The UAC end of the B2BUA2 unit constructs a new request message according to the session establishment request message processed by the UAS.
步骤 505、 B2BUA2单元将处理后的会话建立请求消息发送给被叫终端。 步骤 506、 被叫终端向 B2BUA2单元发送表示成功的 200响应消息。  Step 505: The B2BUA2 unit sends the processed session establishment request message to the called terminal. Step 506: The called terminal sends a 200 response message indicating success to the B2BUA2 unit.
步骤 507、 B2BUA2单元收到 200响应消息, B2BUA2单元的 UAC端根据响应 消息中 Session-Expires头域的值和 refresher参数, 不启动会话超时释放定时器和 会话更新定时器。 Step 507: The B2BUA2 unit receives the 200 response message, and the UAC end of the B2BUA2 unit does not start the session timeout release timer according to the value of the Session-Expires header field and the refresher parameter in the response message. Session update timer.
B2BUA2单元的 UAS端根据 Session-Expires头域的值启动会话超时释放定时 器, 不启动会话更新定时器。  The UAS end of the B2BUA2 unit starts the session timeout release timer according to the value of the Session-Expires header field, and does not start the session update timer.
步骤 508、 B2BUA2单元将被叫终端发出的 200响应消息发送给 PROXY单元。 步骤 509、 PROXY单元将收到的 200响应消息发送给 AS ( B2BUA1单元)。 步骤 510、 B2BUA1单元收到 200响应消息, B2BUA1单元的 UAC端根据响应 消息中 Session-Expires头域的值和 refresher参数 , 启动会话超时释放定时器和会 话更新定时器。  Step 508: The B2BUA2 unit sends a 200 response message sent by the called terminal to the PROXY unit. Step 509: The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit). Step 510: The B2BUA1 unit receives the 200 response message, and the UAC end of the B2BUA1 unit starts the session timeout release timer and the session update timer according to the value of the Session-Expires header field and the refresher parameter in the response message.
B2BUA1单元的 UAS端根据 Session-Expires头域的值启动会话超时释放定时 器和会话更新定时器。  The UAS end of the B2BUA1 unit starts the session timeout release timer and the session update timer according to the value of the Session-Expires header field.
B2BUA1单元的 UAS端在 200响应消息中插入 supported :timer头域, 并将 Session-Expires头域中的参 #iefresher殳置为 refersher=uas。  The UAS end of the B2BUA1 unit inserts the supported :timer header field in the 200 response message, and sets the reference #iefresher殳 in the Session-Expires header field to referenceher=uas.
步骤 511、 B2BUA1单元将 200响应消息发送给主叫终端。 主叫终端收到 200 响应消息后, 会话成功建立, 同时 Session Timers协议也协商成功。  Step 511: The B2BUA1 unit sends a 200 response message to the calling terminal. After the calling terminal receives the 200 response message, the session is successfully established and the Session Timers protocol is negotiated successfully.
步骤 512、 根据协商时确定的参数 refresher = uas, B2BUA1单元 UAS端的会 话更新定时器过了 ( SessionExpires / 2 )秒通知 B2BUA1单元向主叫终端发出会 话更新请求。  Step 512: According to the parameter determined during the negotiation, refresher = uas, the session update timer of the UAS end of the B2BUA1 unit (SessionExpires / 2) seconds informs the B2BUA1 unit to send a session update request to the calling terminal.
步骤 513、 主叫终端收到会话更新请求, 向 B2BUA1回复 200响应消息。 步骤 514、 B2BUA1单元收到 200响应消息,根据刷新者的规则判断会话是否 处于活动状态。 如果会话处于活动状态, 则对会话超时释放定时器和会话更新 定时器进行刷新, 等到下个( SessionExpires / 2 )秒再向主叫终端发出会话更新 请求, 直到整个会话正常结束, Session Timers保护终止; 如果处于非活动状态, 则主动发送结束指令, 并释放掉自身为该会话分配的资源, 结束连接。  Step 513: The calling terminal receives the session update request, and returns a 200 response message to the B2BUA1. Step 514: The B2BUA1 unit receives the 200 response message, and determines whether the session is active according to the rules of the refresher. If the session is active, the session timeout release timer and the session update timer are refreshed, and the session update request is sent to the calling terminal until the next session (SesExpires / 2) seconds, until the entire session ends normally, and the Session Timers protection is terminated. If it is inactive, it will automatically send an end instruction, release its own resources allocated for the session, and end the connection.
步骤 515、 根据协商时确定的参数 refresher = uac, B2BUA1单元 UAC端的会 话更新定时器过了( SessionExpires / 2 )秒通知 B2BUA1单元向 PROXY单元发出 会话更新请求。  Step 515: According to the parameter determined during negotiation, refresher = uac, the session update timer of the U2 end of the B2BUA1 unit (SessionExpires / 2) seconds informs the B2BUA1 unit to issue a session update request to the PROXY unit.
步骤 516、 PROXY单元将收到的会话更新请求发送给 AS ( B2BUA2单元)。 步骤 517、 B2BUA2单元收到会话更新请求判断消息中含有 supported:timer 头域, 对消息进行相关处理并将该消息发送给被叫终端。 Step 516: The PROXY unit sends the received session update request to the AS (B2BUA2 unit). Step 517: The B2BUA2 unit receives the session update request judgment message, which includes a supported: timer header field, performs related processing on the message, and sends the message to the called terminal.
B2BUA2单元对会话更新消息的相关处理和现有技术中是一样的。  The related processing of the session update message by the B2BUA2 unit is the same as in the prior art.
步骤 518、 被叫终端收到会话更新请求向 B2BUA2单元回复 200响应消息。 步骤 519、 B2BUA2单元收到 200响应消息,根据代理服务器的规则判断会话 是否处于活动状态。 如果会话处于活动状态, 则对会话超时释放定时器进行刷 新; 如果处于非活动状态, 则直接释放掉自身为该会话分配的资源, 结束连接。  Step 518: The called terminal receives the session update request and replies to the B2BUA2 unit with a 200 response message. Step 519: The B2BUA2 unit receives the 200 response message, and determines whether the session is active according to the rules of the proxy server. If the session is active, the session timeout release timer is refreshed; if it is inactive, the resources allocated for the session are directly released, and the connection is terminated.
步骤 520、 B2BUA2单元将收到的 200响应消息发送给 PROXY单元。  Step 520: The B2BUA2 unit sends the received 200 response message to the PROXY unit.
步骤 521、 PROXY单元将收到的 200响应消息发送给 AS ( B2BUA1单元)。 步骤 522、 B2BUA1单元的 UAC端收到 200响应消息,根据刷新者的规则判断 会话是否处于活动状态。 如果会话处于活动状态, 则对会话超时释放定时器和 会话更新定时器进行刷新操作, 等到下个 ( Session Expires / 2 ) 秒再向 PROXY 单元发出会话更新请求, 直到整个会话正常结束, Session Timers保护终止; 如 果处于非活动状态, 则主动向主叫终端和 PROXY单元发送给会话释放请求, 并 释放掉自身为该会话分配的资源, 结束连接, PROXY单元收到请求后释放掉自 身为该会话分配的资源并将该请求发送给 B2BUA2单元, B2BUA2单元收到请求 后释放掉自身为该会话分配的资源。  Step 521: The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit). Step 522: The UAC end of the B2BUA1 unit receives the 200 response message, and determines whether the session is active according to the rules of the refresher. If the session is active, refresh the session timeout release timer and the session update timer, and wait until the next (Session Expires / 2) seconds to issue a session update request to the PROXY unit until the entire session ends normally. Session Timers protection Termination; if inactive, actively send the session release request to the calling terminal and the PROXY unit, and release the resources allocated for the session, terminate the connection, and the PROXY unit releases the request for the session after receiving the request. The resource is sent to the B2BUA2 unit, and the B2BUA2 unit releases the resource allocated for the session after receiving the request.
如图 5B所示, 本实施例二实现资源释放的处理流程如下:  As shown in FIG. 5B, the process of implementing resource release in the second embodiment is as follows:
本实施例刷新者为被叫终端, 由被叫终端发起会话更新请求。  In this embodiment, the refresher is the called terminal, and the called terminal initiates a session update request.
步骤 5000、 主叫终端向 B2BUA1单元发送会话建立请求消息。  Step 5000: The calling terminal sends a session establishment request message to the B2BUA1 unit.
步骤 5001、 B2BUA1单元收到会话建立请求消息, B2BUA1单元的 UAS端 检查消息中是否带 supported:timer头域。  Step 5001: The B2BUA1 unit receives the session establishment request message, and the UAS end of the B2BUA1 unit checks whether the message carries the supported:timer header field.
如果会话建立请求消息中有 supported:timer头域, 则跳出本流程, 否则对该 消息进行 Session Timers协议的处理。  If there is a supported:timer header field in the session establishment request message, the flow is skipped. Otherwise, the session is processed by the Session Timers protocol.
进行 Session Timers协议的处理的步骤包括:  The steps for processing the Session Timers protocol include:
如果 Session-Expires头域的值小于本地 Min— SE头域的值, 在消息中存在 Min SE头域时, 将消息中 Min SE头域的值增大到与本地 Min SE头域的值相 等并作为 Session-Expires头域的值, 在消息中没有 Min— SE头域时, 在请求消息 中插入 Min— SE 头域, 其值为本地 Min— SE 头域的值, 并将该值做为 Session-Expires的值。 If the value of the Session-Expires header field is less than the value of the local Min_SE header field, when the Min SE header field exists in the message, the value of the Min SE header field in the message is increased to the value of the local Min SE header field. And as the value of the Session-Expires header field, when there is no Min_SE header field in the message, insert the Min_SE header field in the request message, its value is the value of the local Min-SE header field, and the value is made The value for Session-Expires.
如果 Session-Expires头域的值不小于本地 Mm_SE头域的值,则处理方法与 现有技术相同。  If the value of the Session-Expires header field is not less than the value of the local Mm_SE header field, the processing method is the same as in the prior art.
B2BUA1单元的 UAC端根据 UAS端处理后的会话建立请求消息, 在该消 息中插入 supported:timer头域, 构造出新的会话建立请求消息。  The UAC end of the B2BUA1 unit inserts a supported:timer header field into the message according to the session establishment request message processed by the UAS, and constructs a new session establishment request message.
步骤 5002、 B2BUA1单元将处理后的会话建立请求消息发送给 PROXY单元。 步骤 5003、 PROXY单元将收到的会话建立请求消息发送给 AS ( B2BUA2单 元)。  Step 5002: The B2BUA1 unit sends the processed session establishment request message to the PROXY unit. Step 5003: The PROXY unit sends the received session establishment request message to the AS (B2BUA2 unit).
步骤 5004、 B2BUA2单元收到会话建立请求消息, B2BUA2单元的 UAS端 比较 Session-Expires头 i或的值和本地 Min SE头 i或的值。 ^口果 Session-Expires头 域的值小, 则向 B2BUA1单元回复表明会话更新间隔太短的响应并在响应中带 上本地 Mm_SE头域的值, B2BUA1收到回复响应后将 Session-Expires头域的值 改成 Min_SE头域的值, 向 B2BUA2单元发送。  Step 5004: The B2BUA2 unit receives the session establishment request message, and the UAS end of the B2BUA2 unit compares the value of the Session-Expires header i or the value of the local Min SE header i or. ^ The value of the Session-Expires header field is small, and the B2BUA1 unit is replied with a response indicating that the session update interval is too short and the value of the local Mm_SE header field is brought in the response. After the B2BUA1 receives the reply response, the Session-Expires header field is received. The value is changed to the value of the Min_SE header field and sent to the B2BUA2 unit.
如果 Session-Expires头域的值不小于本地 Min_SE头域的值,则处理方法与 现有技术相同。  If the value of the Session-Expires header field is not less than the value of the local Min_SE header field, the processing method is the same as in the prior art.
B2BUA2单元的 UAC端根据 UAS端处理后的会话建立请求消息构造新的 会话建立请求消息。  The UAC end of the B2BUA2 unit constructs a new session establishment request message according to the session establishment request message processed by the UAS.
步骤 5005、 B2BUA2单元将处理后的会话建立请求消息发送给被叫终端。 步骤 5006、 被叫终端向 B2BUA2单元发送表示成功的 200响应消息, 并在响 应消息中插入 supported:timer头域, 将 Session-Expires头域中的参数 refresher殳置 为 refresher=uas。  Step 5005: The B2BUA2 unit sends the processed session establishment request message to the called terminal. Step 5006: The called terminal sends a 200 response message indicating success to the B2BUA2 unit, and inserts a supported: timer header field in the response message, and sets the parameter refresher in the Session-Expires header field to refresher=uas.
步骤 5007、 B2BUA2单元收到 200响应消息, B2BUA2单元的 UAC端根据响 应消息中 Session-Expires头域的值和 refresher参数, 启动会话超时释放定时器, 不会话更新定时器。  Step 5007: The B2BUA2 unit receives the 200 response message, and the UAC end of the B2BUA2 unit starts the session timeout release timer according to the value of the Session-Expires header field and the refresher parameter in the response message, and does not update the session timer.
B2BUA2单元的 UAS端根据 Session-Expires头域的值不启动会话超时释放定 时器和会话更新定时器。 The UAS end of the B2BUA2 unit does not start the session timeout release according to the value of the Session-Expires header field. Timer and session update timer.
步骤 5008、 B2BUA2单元将被叫终端发出的 200响应消息发送给 PROXY单 元。  Step 5008: The B2BUA2 unit sends a 200 response message sent by the called terminal to the PROXY unit.
步骤 5009、 PROXY单元将收到的 200响应消息发送给 AS ( B2BUA1单元)。 步骤 5010、 B2BUA1单元收到 200响应消息, B2BUA1单元的 UAC端根据响 应消息中 Session-Expires头域的值和 refresher参数, 启动会话超时释放定时器, 不启动会话更新定时器。  Step 5009: The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit). Step 5010: The B2BUA1 unit receives the 200 response message, and the UAC end of the B2BUA1 unit starts the session timeout release timer according to the value of the Session-Expires header field and the refresher parameter in the response message, and does not start the session update timer.
B2BUA1单元的 UAS端根据 Session-Expires头域的值不启动会话超时释放定 时器和会话更新定时器。  The UAS end of the B2BUA1 unit does not start the session timeout release timer and the session update timer according to the value of the Session-Expires header field.
步骤 5011、 B2BUA1单元将 200响应消息发送给主叫终端。 主叫终端收到 200 响应消息后, 会话成功建立 , 同时 Session Timers协议也协商成功。  Step 5011: The B2BUA1 unit sends a 200 response message to the calling terminal. After the calling terminal receives the 200 response message, the session is successfully established and the Session Timers protocol is negotiated successfully.
步骤 5012、根据刷新者协商设定的参数 refresher=uas,被叫终端的会话更新定 时器过了 ( SessionExpires / 2 ) 秒通知被叫终端向 B2BUA2单元发出会话更新请 求。  Step 5012: According to the parameter refresher=uas set by the refresher, the session update timer of the called terminal passes (SessionExpires / 2) seconds to notify the called terminal to issue a session update request to the B2BUA2 unit.
步骤 5013、 B2BUA2单元收到会话更新请求后判断消息中含有 support :timer 头域, 对消息进行相关处理并将该消息发送给 PROXY单元。  Step 5013: After receiving the session update request, the B2BUA2 unit determines that the message includes a support:timer header field, performs related processing on the message, and sends the message to the PROXY unit.
B2BUA2单元对会话更新请求的相关处理和现有技术中是一样的。  The processing related to the session update request by the B2BUA2 unit is the same as in the prior art.
步骤 5014、 PROXY单元将收到的会话更新请求发送给 AS ( B2BUA1单元)。 步骤 5015、 B2BUA1单元收到会话更新请求后判断消息中含有 support :timer 头域, 对消息进行相关处理并将该消息发送给主叫终端。  Step 5014: The PROXY unit sends the received session update request to the AS (B2BUA1 unit). Step 5015: After receiving the session update request, the B2BUA1 unit determines that the message includes a support:timer header field, performs related processing on the message, and sends the message to the calling terminal.
B2BUA1单元对会话更新请求的相关处理和现有技术中是一样的。  The processing related to the session update request by the B2BUA1 unit is the same as in the prior art.
步骤 5016、 主叫终端收到会话更新消息向 B2BUA1单元回复 200响应消息。 步骤 5017、 B2BUA1单元收到 200响应消息, 根据代理服务器的规则判断会 话是否处于活动状态。 如果会话处于活动状态, 则对会话超时释放定时器进行 刷新; 如果处于非活动状态, 则直接释放掉自身为该会话分配的资源, 结束连 接。  Step 5016: The calling terminal receives the session update message and replies to the B2BUA1 unit with a 200 response message. Step 5017: The B2BUA1 unit receives the 200 response message, and determines whether the session is active according to the rules of the proxy server. If the session is active, the session timeout release timer is refreshed; if it is inactive, the resources allocated for the session are directly released, and the connection is terminated.
步骤 5018、 B2BUA1单元将收到的 200响应消息发送给 PROXY单元。 步骤 5019、 PROXY单元将收到的 200响应消息发送给 AS ( B2BUA2单元)。 步骤 5020、 B2BUA2单元收到 200响应消息, 根据代理服务器的规则判断会 话是否处于活动状态。 如果会话处于活动状态, 则对会话超时释放定时器进行 刷新; 如果处于非活动状态, 则直接释放掉自身为该会话分配的资源, 结束连 接。 Step 5018: The B2BUA1 unit sends the received 200 response message to the PROXY unit. Step 5019: The PROXY unit sends the received 200 response message to the AS (B2BUA2 unit). Step 5020: The B2BUA2 unit receives the 200 response message, and determines whether the session is active according to the rules of the proxy server. If the session is active, the session timeout release timer is refreshed; if it is inactive, the resources allocated for the session are directly released, and the connection is terminated.
步骤 5021、 B2BUA2单元将收到的 200响应消息发送给被叫终端。  Step 5021: The B2BUA2 unit sends the received 200 response message to the called terminal.
被叫终端收到 200响应消息后根据刷新者的规则判断会话是否处于活动状 态。如果会话处于活动状态, 则对会话超时释放定时器进行刷新, Session Timers 完成会话更新, 等到 (SessionExpires / 2 )秒后再向 B2BUA2单元发送会话更新 请求, 直到整个会话正常结束, Session Timers保护终止; 如果处于非活动状态, 则主动向 B2BUA2单元发送给会话释放请求, 并释放掉自身为该会话分配的资 源, 结束连接, B2BUA2单元收到请求后释放掉自身为该会话分配的资源并将该 请求发送给 PROXY单元, PROXY单元收到请求后释放掉自身为该会话分配的资 源并将该请求发送给 B2BUA1单元, B2BUA1单元收到请求后释放掉自身为该会 话分配的资源。  After the called terminal receives the 200 response message, it determines whether the session is active according to the rules of the refresher. If the session is active, the session timeout release timer is refreshed, the Session Timers completes the session update, and the session update request is sent to the B2BUA2 unit after (SessionExpires / 2) seconds, until the entire session ends normally, and the Session Timers protection is terminated; If it is inactive, it sends a session release request to the B2BUA2 unit, and releases the resources allocated for the session. The connection is terminated. After receiving the request, the B2BUA2 unit releases the resources allocated for the session and requests the request. After being sent to the PROXY unit, the PROXY unit releases the resource allocated for the session and sends the request to the B2BUA1 unit. After receiving the request, the B2BUA1 unit releases the resource allocated for the session.
如图 6所示, 本实施例三的处理流程如下:  As shown in FIG. 6, the processing flow of the third embodiment is as follows:
步骤 600、 主叫终端向 B2BUA1发送会话建立请求消息。  Step 600: The calling terminal sends a session establishment request message to the B2BUA1.
步骤 601、 B2BUA1单元收到会话建立请求消息, B2BUA1单元的 UAS端 检查消息中是否带 supported:timer头域。  Step 601: The B2BUA1 unit receives the session establishment request message, and the UAS end of the B2BUA1 unit checks whether the message carries the supported:timer header field.
如果会话建立请求消息中没有 supported:timer头域, 则跳出本流程, 否则对 该消息进行 Session Timers协议的处理。  If there is no supported:timer header field in the session establishment request message, the flow is skipped. Otherwise, the message is processed by the Session Timers protocol.
进行 Session Timers协议的处理的步骤包括:  The steps for processing the Session Timers protocol include:
如果 Session-Expires头域的值小于本地 Min— SE头域的值,则向主叫终端回 主叫终端收到回复响应后将 Session-Expires头域的值改成 Min_SE头域的值,重 新向 B2BUA1单元发送。  If the value of the Session-Expires header field is smaller than the value of the local Min_SE header field, return the value of the Session-Expires header field to the value of the Min_SE header field after receiving the reply response from the calling terminal to the calling terminal. The B2BUA1 unit sends.
如果 Session-Expires头域的值不小于本地 Min_SE头域的值,则处理方法与 现有技术相同。 If the value of the Session-Expires header field is not less than the value of the local Min_SE header field, then the processing method is The prior art is the same.
B2BUA1单元的 UAC端根据 UAS端处理后的会话建立请求消息构造新的 会话建立请求消息。  The UAC end of the B2BUA1 unit constructs a new session establishment request message according to the session establishment request message processed by the UAS.
步骤 602、 B2BUA1单元将处理后的会话建立请求消息发送给 PROXY单元。 步骤 603、 PROXY单元将收到的会话建立请求消息发送给 AS ( B2BUA2单 元)。  Step 602: The B2BUA1 unit sends the processed session establishment request message to the PROXY unit. Step 603: The PROXY unit sends the received session establishment request message to the AS (B2BUA2 unit).
步骤 604、 B2BUA2单元收到会话建立请求消息 B2BUA2单元的 UAS端查 看 Session-Expires头域的值。 ^口果 Session-Expires头 i或的值小于本地 Min— SE头 域的值, 则通过 B2BUA1向主叫终端回复表明会话更新间隔太短的响应并在响 应中带上本地允许的 Min_SE 头域的值, 主叫终端收到回复响应后将 Session-Expires头域的值改成 Min_SE头域的值, 重新发送。  Step 604: The B2BUA2 unit receives the session establishment request message. The UAS end of the B2BUA2 unit checks the value of the Session-Expires header field. ^The value of the Session-Expires header i or less is less than the value of the local Min_SE header field, and the B2BUA1 replies to the calling terminal with a response indicating that the session update interval is too short and brings the locally allowed Min_SE header field in the response. Value, after receiving the reply response, the calling terminal changes the value of the Session-Expires header field to the value of the Min_SE header field and resends it.
如果 Session-Expires头域的值不小于本地 Min_SE头域的值,则处理方法与 现有技术相同。  If the value of the Session-Expires header field is not less than the value of the local Min_SE header field, the processing method is the same as in the prior art.
B2BUA2单元的 UAC端根据 UAS端处理后的会话建立请求消息构造新的 会话建立请求消息。  The UAC end of the B2BUA2 unit constructs a new session establishment request message according to the session establishment request message processed by the UAS.
步骤 605、 B2BUA2单元将会话建立请求消息发送给被叫终端。  Step 605: The B2BUA2 unit sends a session establishment request message to the called terminal.
步骤 606、 被叫终端同意 B2BUA2单元发送的请求消息发出的 , 向 B2BUA2 单元发送表示成功的 200响应消息。  Step 606: The called terminal agrees to send a request message sent by the B2BUA2 unit, and sends a 200 response message indicating success to the B2BUA2 unit.
步骤 607、 B2BUA2单元收到 200响应消息, B2BUA2单元的 UAC端根据响应 消息中 Session-Expires头域的值和 refresher参数, 不启动会话超时释放定时器和 会话更新定时器。  Step 607: The B2BUA2 unit receives the 200 response message, and the UAC end of the B2BUA2 unit does not start the session timeout release timer and the session update timer according to the value of the Session-Expires header field and the refresher parameter in the response message.
B2BUA2单元的 UAS端根据 Session-Expires头域的值启动会话超时释放定时 器, 不启动会话更新定时器。  The UAS end of the B2BUA2 unit starts the session timeout release timer according to the value of the Session-Expires header field, and does not start the session update timer.
步骤 608、 B2BUA2单元将被叫终端发送的 200响应消息发送给 PROXY单元。 步骤 609、 PROXY单元将收到 200响应消息发送给 AS ( B2BUA1单元)。 步骤 610、 B2BUA1单元收到 200响应消息, B2BUA1单元的 UAC端根据响应 消息中 Session-Expires头域的值和 refresher参数, 不启动会话超时释放定时器和 会话更新定时器。 Step 608: The B2BUA2 unit sends a 200 response message sent by the called terminal to the PROXY unit. Step 609: The PROXY unit sends a 200 response message to the AS (B2BUA1 unit). Step 610: The B2BUA1 unit receives the 200 response message, and the UAC end of the B2BUA1 unit does not start the session timeout release timer according to the value of the Session-Expires header field and the refresher parameter in the response message. Session update timer.
B2BUA1单元的 UAS端根据 Session-Expires头域的值启动会话超时释放定时 器, 不启动会话更新定时器。  The UAS end of the B2BUA1 unit starts the session timeout release timer according to the value of the Session-Expires header field, and does not start the session update timer.
步骤 611、 B2BUA1单元将 PROXY单元发送的 200响应消息发送给主叫终端。 主叫终端收到 200响应消息后, 会话成功建立, 同时 Session Timers也协商成功。  Step 611: The B2BUA1 unit sends the 200 response message sent by the PROXY unit to the calling terminal. After the calling terminal receives the 200 response message, the session is successfully established and the Session Timers are also negotiated successfully.
步骤 612、 根据会话协商设定的参数 refresher=uac,主叫终端的会话更新定时 器过了( SessionExpires / 2 )秒通知主叫终端向 B2BUA1单元发出会话更新请求。  Step 612: According to the parameter refresher=uac set by the session negotiation, the session update timer of the calling terminal passes (SessionExpires / 2) seconds to notify the calling terminal to issue a session update request to the B2BUA1 unit.
步骤 613、 B2BUA1单元收到会话更新请求后判断消息中含有 support:timer 头域, 对消息进行相关处理并将该消息发送给 PROXY单元。  Step 613: After receiving the session update request, the B2BUA1 unit determines that the message includes a support: timer header field, performs related processing on the message, and sends the message to the PROXY unit.
B2BUA1单元对会话更新请求的相关处理和现有技术中是一样的。  The processing related to the session update request by the B2BUA1 unit is the same as in the prior art.
步骤 614、 PROXY单元将收到的会话更新请求发送给 AS ( B2BUA2单元)。 步骤 615、 B2BUA2单元收到会话更新请求后判断消息中含有 support:timer 头域, 对消息进行相关处理并将该消息发送给被叫终端。  Step 614: The PROXY unit sends the received session update request to the AS (B2BUA2 unit). Step 615: After receiving the session update request, the B2BUA2 unit determines that the message includes a support: timer header field, performs related processing on the message, and sends the message to the called terminal.
B2BUA2单元对会话更新请求的相关处理和现有技术中是一样的。  The processing related to the session update request by the B2BUA2 unit is the same as in the prior art.
步骤 616、 被叫终端收到会话更新消息向 B2BUA2单元回复 200响应消息。 步骤 617、 B2BUA2单元收到 200响应消息,根据代理服务器的规则判断会话 是否处于活动状态。 如果会话处于活动状态, 则对会话超时释放定时器进行刷 新; 如果处于非活动状态, 则直接释放掉自身为该会话分配的资源, 结束连接。  Step 616: The called terminal receives the session update message and replies to the B2BUA2 unit with a 200 response message. Step 617: The B2BUA2 unit receives the 200 response message, and determines whether the session is active according to the rules of the proxy server. If the session is active, the session timeout release timer is refreshed; if it is inactive, the resources allocated for the session are directly released, and the connection is terminated.
步骤 618、 B2BUA2单元将收到的 200响应消息发送给 PROXY单元。  Step 618: The B2BUA2 unit sends the received 200 response message to the PROXY unit.
步骤 619、 PROXY单元将收到的 200响应消息发送给 AS ( B2BUA1单元)。 步骤 620、 B2BUA1单元收到 200响应消息,根据代理服务器的规则判断会话 是否处于活动状态。 如果会话处于活动状态, 则对会话超时释放定时器进行刷 新; 如果处于非活动状态, 则直接释放掉自身为该会话分配的资源, 结束连接。  Step 619: The PROXY unit sends the received 200 response message to the AS (B2BUA1 unit). Step 620: The B2BUA1 unit receives the 200 response message, and determines whether the session is active according to the rules of the proxy server. If the session is active, the session timeout release timer is refreshed; if it is inactive, the resources allocated for the session are directly released, and the connection is terminated.
步骤 621、 B2BUA1单元将收到的 200响应消息发送给主叫终端。  Step 621: The B2BUA1 unit sends the received 200 response message to the calling terminal.
主叫终端收到 200响应消息后根据刷新者的规则判断会话是否处于活动状 态。如果会话处于活动状态, 则对会话超时释放定时器进行刷新, Session Timers 完成会话更新, 等到 (SessionExpires / 2 )秒后再向 B2BUA1单元发送会话更新 请求, 直到整个会话正常结束, Session Timers保护终止; 如果处于非活动状态, 则主动向 B2BUA1单元发送给会话释放请求, 并释放掉自身为该会话分配的资 源, 结束连接, B2BUA1单元收到请求后释放掉自身为该会话分配的资源并将该 请求发送给 PROXY单元, PROXY单元收到请求后释放掉自身为该会话分配的资 源并将该请求发送给 B2BUA2单元, B2BUA2单元收到请求后释放掉自身为该会 话分配的资源。 After receiving the 200 response message, the calling terminal determines whether the session is active according to the rules of the refresher. If the session is active, the session timeout release timer is refreshed, the Session Timers completes the session update, and waits (SessionExpires / 2) seconds before sending a session update to the B2BUA1 unit. Request, until the entire session ends normally, the Session Timers protection is terminated; if it is inactive, it sends a session release request to the B2BUA1 unit, and releases the resources allocated for the session, and ends the connection. After receiving the request, the B2BUA1 unit receives the request. Release the resource allocated for the session and send the request to the PROXY unit. After receiving the request, the PROXY unit releases the resource allocated for the session and sends the request to the B2BUA2 unit. The B2BUA2 unit releases the request and then releases it. The resources that are themselves allocated for the session.
图 6所示的实施例是由主叫终端发出会话更新请求 , 在协商时 refresher的参 数是 uac, 每个 B2BUA单元不会启动会话更新请求定时器, 在收到会话更新请求 后不会生成新的会话更新请求, 从而避免了图 1A和图 1B中转发多余的会话更新 请求, 同时解决了图 1B中消息碰撞的问题。  The embodiment shown in FIG. 6 is to issue a session update request by the calling terminal. The parameter of the refresher is uac during the negotiation, and each B2BUA unit does not start the session update request timer, and does not generate new after receiving the session update request. The session update request avoids the forwarding of redundant session update requests in FIGS. 1A and 1B, while solving the problem of message collision in FIG. 1B.
图 7所示的实施例是由被叫终端发出会话更新请求, 在协商时 refresher的 参数是 uas, 只是与图 6在发送请求消息的方向上发生了变化。  The embodiment shown in Fig. 7 is to issue a session update request by the called terminal. The parameter of the refresher is uas during negotiation, but only in the direction of sending the request message with FIG.
如图 7所示, 本实施例四的处理流程如下:  As shown in FIG. 7, the processing flow of the fourth embodiment is as follows:
步骤 700至步骤 711与步骤 600至步骤 611除了在会话协商中设定的参数 refresher=uas, 由被叫终端发出会话更新请求, B2BUA1单元和 B2BUA2单元的 In step 700 to step 711 and step 600 to step 611, in addition to the parameter refresher=uas set in the session negotiation, the called terminal issues a session update request, the B2BUA1 unit and the B2BUA2 unit.
UAS端启动会话超时释放定时器, 其他步骤相同。 The UAS starts the session timeout release timer. The other steps are the same.
步骤 712、 根据会话协商设定的参数 refresher=uas,被叫终端的会话更新定时 器过了( SessionExpires / 2 )秒通知被叫终端向 B2BUA2单元发出会话更新请求。  Step 712: According to the parameter refresher=uas set by the session negotiation, the session update timer of the called terminal passes (SessionExpires / 2) seconds to notify the called terminal to issue a session update request to the B2BUA2 unit.
步骤 713、 B2BUA2单元收到会话更新请求后判断消息中含有 support:timer 头域, 对消息进行相关处理并将该消息发送给 PROXY单元。  Step 713: After receiving the session update request, the B2BUA2 unit determines that the message includes a support: timer header field, performs related processing on the message, and sends the message to the PROXY unit.
B2BUA2单元对会话更新请求的相关处理和现有技术中是一样的。  The processing related to the session update request by the B2BUA2 unit is the same as in the prior art.
步骤 714、 PROXY单元将收到的会话更新请求发送给 AS ( B2BUA1单元)。 步骤 715、 B2BUA1单元收到会话更新请求后判断消息中含有 support:timer 头域, 对消息进行相关处理并将该消息发送给主叫终端。  Step 714: The PROXY unit sends the received session update request to the AS (B2BUA1 unit). Step 715: After receiving the session update request, the B2BUA1 unit determines that the message includes a support: timer header field, performs related processing on the message, and sends the message to the calling terminal.
B2BUA1单元对会话更新请求的相关处理和现有技术中是一样的。  The processing related to the session update request by the B2BUA1 unit is the same as in the prior art.
步骤 716、 主叫终端收到会话更新消息向 B2BUA1单元回复 200响应消息。 步骤 717、 B2BUA1单元收到 200响应消息 ,根据代理服务器的规则判断会话 是否处于活动状态。 如果会话处于活动状态, 则对会话超时释放定时器进行刷 新; 如果处于非活动状态, 则直接释放掉自身为该会话分配的资源, 结束连接。 Step 716: The calling terminal receives the session update message and returns a 200 response message to the B2BUA1 unit. Step 717: The B2BUA1 unit receives the 200 response message, and determines the session according to the rules of the proxy server. Is it active? If the session is active, the session timeout release timer is refreshed; if it is inactive, the resources allocated for the session are directly released, and the connection is terminated.
步骤 718、 B2BUA1单元将收到的 200响应消息发送给 PROXY单元。  Step 718: The B2BUA1 unit sends the received 200 response message to the PROXY unit.
步骤 719、 PROXY单元将收到的 200响应消息发送给 AS ( B2BUA2单元)。 步骤 720、 B2BUA2单元收到 200响应消息,根据代理服务器的规则判断会话 是否处于活动状态。 如果会话处于活动状态, 则对会话超时释放定时器进行刷 新; 如果处于非活动状态, 则直接释放掉自身为该会话分配的资源, 结束连接。  Step 719: The PROXY unit sends the received 200 response message to the AS (B2BUA2 unit). Step 720: The B2BUA2 unit receives the 200 response message, and determines whether the session is active according to the rules of the proxy server. If the session is active, the session timeout release timer is refreshed; if it is inactive, the resources allocated for the session are directly released, and the connection is terminated.
步骤 721、 B2BUA2单元将收到的 200响应消息发送给被叫终端。  Step 721: The B2BUA2 unit sends the received 200 response message to the called terminal.
被叫终端收到 200响应消息后根据刷新者的规则判断会话是否处于活动状 态。如果会话处于活动状态, 则对会话超时释放定时器进行刷新, Session Timers 完成会话更新, 等到 (SessionExpires / 2 )秒后再向 B2BUA2单元发送会话更新 请求, 直到整个会话正常结束, Session Timers保护终止; 如果处于非活动状态, 则主动向 B2BUA2单元发送给会话释放请求, 并释放掉自身为该会话分配的资 源, 结束连接, B2BUA2单元收到请求后释放掉自身为该会话分配的资源并将该 请求发送给 PROXY单元, PROXY单元收到请求后释放掉自身为该会话分配的资 源并将该请求发送给 B2BUA1单元, B2BUA1单元收到请求后释放掉自身为该会 话分配的资源。  After the called terminal receives the 200 response message, it determines whether the session is active according to the rules of the refresher. If the session is active, the session timeout release timer is refreshed, the Session Timers completes the session update, and the session update request is sent to the B2BUA2 unit after (SessionExpires / 2) seconds, until the entire session ends normally, and the Session Timers protection is terminated; If it is inactive, it sends a session release request to the B2BUA2 unit, and releases the resources allocated for the session. The connection is terminated. After receiving the request, the B2BUA2 unit releases the resources allocated for the session and requests the request. After being sent to the PROXY unit, the PROXY unit releases the resource allocated for the session and sends the request to the B2BUA1 unit. After receiving the request, the B2BUA1 unit releases the resource allocated for the session.
如图 8所示, 本发明实施例提供的 B2BUA装置的结构包括: 会话协议判断模 块、 会话更新请求模块和刷新者协商模块。  As shown in FIG. 8, the B2BUA device provided by the embodiment of the present invention includes: a session protocol determining module, a session update requesting module, and a refresher negotiation module.
其中, 会话协议判断模块, 用于接收到会话建立请求消息后, 判断收到的 会话建立请求消息中是否带 timer标签的 Supported头域, 如果是, 直接将该会 话建立请求消息转发出去, 否则, 在该会话建立请求消息中添加带 timer标签的 Supported头域, 将该会话建立请求消息转发出去。  The session protocol judging module is configured to: after receiving the session establishment request message, determine whether the received session establishment request message has a Supported header field with a timer tag, and if yes, directly forward the session establishment request message, otherwise, A Supported header field with a timer tag is added to the session establishment request message, and the session establishment request message is forwarded.
刷新者协商模块, 用于与节点设备之间进行刷新者协商, 确定自身是否为 刷新者。  The refresher negotiation module is configured to perform a refresher negotiation with the node device to determine whether it is a refresher.
会话更新请求模块, 用于如果确定自身为刷新者, 则在会话建立后, 分别 向与自身连接的两侧本次会话所途径的网络节点发起会话更新请求。 当然, 为了实现资源释放, B2BUA装置还可以进一步包括: 处理模块、 转 发模块和资源释放模块。 The session update request module is configured to, if it is determined that it is a refresher, initiate a session update request to the network node of the current session on both sides connected to itself after the session is established. Of course, in order to implement resource release, the B2BUA device may further include: a processing module, a forwarding module, and a resource release module.
其中, 转发模块, 用于收到会话更新请求后, 在所述会话更新请求中含有 带 timer标签的 Supported头域时, 根据收到的会话更新请求向会话所途径的下 一节点设备发送会话更新请求;  The forwarding module is configured to: after receiving the session update request, when the session update request includes a Supported header field with a timer tag, send a session update to the next node device of the session path according to the received session update request. Request
资源释放模块, 用于在会话建立后, 如果确定该会话处于非活动状态, 则 释放掉自身为该会话分配的资源。  The resource release module is configured to release the resource allocated for the session after the session is established, if it is determined that the session is inactive.
刷新者协商模块还可以进一步包括: 添加模块和接收模块。  The refresher negotiation module may further include: an adding module and a receiving module.
添加模块, 用于将会话协议判断模块接收的会话建立请求消息中的会话终 止 Session-Expires头域中添力口刷新者参数。  The adding module is configured to add a session refresher parameter in the Session-Expires header field in the session establishment request message received by the session protocol determining module.
接收模块, 用于根据收到的会话建立响应消息确定自身是否为刷新者,如果 会话建立响应消息中带 timer标签的 Supported头域, 则确定自身不为刷新者, 如 果会话建立响应消息中不带 timer标签的 Supported头域, 则确定自身为刷新者。  The receiving module is configured to determine, according to the received session establishment response message, whether it is a refresher, if the Supported header field with a timer tag in the session establishment response message determines that the self is not a refresher, if the session establishment response message does not The Supported header field of the timer tag determines that it is a refresher.
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。  It is apparent that those skilled in the art can make various modifications and variations to the invention without departing from the spirit and scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of the inventions

Claims

权 利 要 求 Rights request
1、 一种实现资源释放的方法, 其特征在于, 该方法包括:  A method for implementing resource release, the method comprising:
背靠背用户代理 B2BUA单元接收到会话建立请求消息后,判断其中是否含 有带时间 timer标签的支持 Supported头域, 如果是, 将该会话建立请求消息转 发出去, 否则, 在该消息中增加带 timer标签的 Supported头域, 并将该会话建 立请求消息转发出去;  After receiving the session establishment request message, the back-to-back user agent B2BUA unit determines whether the supported header field with the time timer tag is included. If yes, the session establishment request message is forwarded. Otherwise, the timer tag is added to the message. Supported header field, and forwards the session establishment request message;
节点设备之间进行刷新者协商, 确定一节点设备为刷新者, 在会话建立后, 由协商确定为刷新者的节点设备分别向其他网络节点发起会话更新请求。  The node device performs the refresher negotiation between the node devices to determine that the node device is the refresher. After the session is established, the node devices determined to be the refresher by the negotiation respectively initiate a session update request to the other network nodes.
2、 根据权利要求 1所述的方法, 其特征在于, 在会话建立后, 该方法还包 括:  2. The method according to claim 1, wherein after the session is established, the method further comprises:
由协商确定为刷新者的节点设备以及收到所述会话更新请求的节点设备在 确定会话处于非活动状态的情况下后, 释放掉自身为该会话分配的资源。  The node device determined to be the refresher by negotiation and the node device receiving the session update request release the resources allocated for the session after determining that the session is in an inactive state.
3、 根据权利要求 1所述的方法, 其特征在于, 由协商确定为刷新者的节点 设备分别向其他网络节点发起会话更新请求之后还包括:  The method according to claim 1, wherein after the node device determined to be the refresher by the negotiation initiates the session update request to the other network node, the method further includes:
每个节点设备收到会话更新请求后, 在所述会话更新请求中含有带 timer标 签的 Supported头域时,根据收到的会话更新请求向会话所途径的下一节点设备 发送会话更新请求。  After receiving the session update request, each node device sends a session update request to the next node device of the session path according to the received session update request when the session update request includes a Supported header field with a timer tag.
4、 根据权利要求 1所述的方法, 其特征在于, 所述会话建立请求消息是由 主叫终端发送给所述 B2BUA单元的,或由主叫终端发出经过节点设备转发至所 述 B2BUA单元。  The method according to claim 1, wherein the session establishment request message is sent by the calling terminal to the B2BUA unit, or is sent by the calling terminal to the B2BUA unit via the node device.
5、 根据权利要求 1所述的方法, 其特征在于, 所述节点设备之间进行刷新 者协商, 确定一节点设备为刷新者的步骤包括:  The method according to claim 1, wherein the step of performing refresher negotiation between the node devices to determine that a node device is a refresher comprises:
All , B2BUA单元在向会话建立所途径的节点设备转发的该会话建立请求 消息中的会话终止 Session-Expires 头域中添加刷新者参数, 将刷新者 refresher 设置为用户代理客户端 uac, 用于表明本 B2BUA单元负责向被叫终端发起会话 更新请求;  All, the B2BUA unit adds a refresher parameter in the session termination Session-Expires header field in the session establishment request message forwarded to the node device of the session establishment path, and sets the refresher refresher as the user proxy client uac for indicating The B2BUA unit is responsible for initiating a session update request to the called terminal;
A12、 被叫终端收到该会话建立请求消息后, 确定自身不为刷新者, 则通过 节点设备向该 B2BUA返回自身不为刷新者的会话建立响应消息;A12. After receiving the session establishment request message, the called terminal determines that it is not a refresher, and then passes the The node device returns a session establishment response message to the B2BUA that is not itself a refresher;
A 13、 该 B2BUA单元收到该会话建立响应消息后, 确定自身为刷新者, 则 在向主叫终端回复的会话建立响应消息中的 Session-Expires 头域中添加刷新者 参数, 将 refresher设置为用户代理服务器端 uas。 A 13. After receiving the session establishment response message, the B2BUA unit determines that it is a refresher, and adds a refresher parameter in the Session-Expires header field in the session establishment response message replied to the calling terminal, and sets the refresher to User agent server side uas.
6、 根据权利要求 1所述的方法, 其特征在于, 所述节点设备之间进行刷新 者协商, 确定一节点设备为刷新者的步骤包括:  The method according to claim 1, wherein the step of performing refresher negotiation between the node devices to determine that a node device is a refresher comprises:
A 21、 B2BUA单元向会话建立所途径的节点设备发送该会话建立请求消息 , 其中含有带 timer标签的 Supported头域, 每个节点设备收到该会话建立请求消 息后, 向下一节点设备转发, 直到被叫终端;  A 21. The B2BUA unit sends the session establishment request message to the node device in the session establishment path, where the support header field with the timer tag is received, and after receiving the session establishment request message, each node device forwards the message to the next node device. Until the called terminal;
A22、 被叫终端收到该会话建立请求消息后, 如果确定自身为刷新者, 则通 过节点设备向该 B2BUA返回会话建立响应消息, 其中 Session-Expires 头域为 uas, 如果确定自身不为刷新者, 则通过节点设备向该 B2BUA返回自身不为刷 新者的会话建立响应消息;  A22. After receiving the session establishment request message, if the called terminal determines that it is a refresher, the node device returns a session establishment response message to the B2BUA, where the Session-Expires header field is uas, and if it is determined that it is not a refresher And returning, by the node device, a session establishment response message to the B2BUA that is not a refresher;
A23、 该 B2BUA单元收到会话建立响应消息后, 判断被叫终端是否为刷新 者, 如果是, 执行步骤 A24, 否则, 将自身作为刷新者, 执行步骤 A24;  A23, after receiving the session establishment response message, the B2BUA unit determines whether the called terminal is a refresher, if yes, executing step A24, otherwise, using itself as a refresher, performing step A24;
A24、 该 B2BUA 单元在向主叫终端回复的会话建立响应消息中的 Session-Expires 头域中添加刷新者参数, 将 refresher设置为用户代理服务器端 uaS o  A24. The B2BUA unit adds a refresher parameter in the Session-Expires header field in the session establishment response message replied to the calling terminal, and sets the refresher to the user proxy server side uaS o
7、 根据权利要求 6所述的方法, 其特征在于, 步骤 A22中, 所述自身不为 刷新者的会话建立响应消息为不含有带 timer标签的 Supported头域的会话建立 响应消息;  The method according to claim 6, wherein, in step A22, the session establishment response message that is not itself a refresher is a session establishment response message that does not include a Supported header field with a timer tag;
步骤 A22中,所述自身为刷新者的会话建立响应消息为含有带 timer标签的 Supported头域的会话建立响应消息,其中 Session-Expires头域的 refresher为 uas。  In step A22, the session establishment response message of the refresher is a session establishment response message containing a Supported header field with a timer tag, where the refresher of the Session-Expires header field is uas.
8、 一种实现资源释放的系统, 其特征在于, 该系统包括: 一个或一个以上 背靠背用户代理 B2BUA单元;  8. A system for implementing resource release, the system comprising: one or more back-to-back user agent B2BUA units;
每个 B2BUA单元, 用于接收到会话建立请求消息后, 判断其中是否含有带 时间 timer标签的支持 Supported头域, 如果是, 将该会话建立请求消息转发出 去, 否则, 在该消息中增加带 timer标签的 Supported头域, 并将该会话建立请 求消息转发出去; 与节点设备之间进行刷新者协商, 确定自身是否为刷新者; 如果确定自身为刷新者, 则在会话建立后, 分别向与自身连接的两侧本次会话 所途径的网络节点发起会话更新请求。 Each B2BUA unit is configured to: after receiving the session establishment request message, determine whether the supported header field with the time timer tag is included, and if yes, forward the session establishment request message. Go, otherwise, add a Supported header field with a timer tag to the message, and forward the session establishment request message; perform a refresher negotiation with the node device to determine whether it is a refresher; if it is determined to be a refresher Then, after the session is established, a session update request is initiated to the network node that is connected to the session on both sides of the session.
9、 根据权利要求 8所述的方法, 其特征在于, 所述会话建立请求消息是由 主叫终端发送给所述 B2BUA单元的,或由主叫终端发出经过节点设备转发至所 述 B2BUA单元。  The method according to claim 8, wherein the session establishment request message is sent by the calling terminal to the B2BUA unit, or is sent by the calling terminal to the B2BUA unit via the node device.
10、 根据权利要求 8所述的系统, 其特征在于, 所述 B2BUA单元包括: 会话协议判断模块, 用于接收到会话建立请求消息后, 判断收到的会话建 立请求消息中是否带 timer标签的 Supported头域, 如果是, 直接将该会话建立 请求消息转发出去, 否则, 在该会话建立请求消息中添加带 timer 标签的 Supported头域, 将该会话建立请求消息转发出去;  The system according to claim 8, wherein the B2BUA unit comprises: a session protocol determining module, configured to: after receiving the session establishment request message, determine whether the received session establishment request message carries a timer tag The Supported header field, if yes, forwards the session establishment request message directly, otherwise, adds a Supported header field with a timer tag in the session establishment request message, and forwards the session establishment request message;
刷新者协商模块, 用于与节点设备之间进行刷新者协商, 确定自身是否为 刷新者;  a refresher negotiation module, configured to perform a refresher negotiation with the node device to determine whether it is a refresher;
会话更新请求模块, 用于如果确定自身为刷新者, 则在会话建立后, 分别 向与自身连接的两侧本次会话所途径的网络节点发起会话更新请求。  The session update request module is configured to initiate a session update request to the network node of the session in which the session is connected to each other after the session is established, if it is determined to be the refresher.
11、 根据权利要求 8所述的系统, 其特征在于, 所述 B2BUA单元进一步包 括:  The system according to claim 8, wherein the B2BUA unit further comprises:
转发模块, 用于收到会话更新请求后, 在所述会话更新请求中含有带 timer 标签的 Supported头域时,根据收到的会话更新请求向会话所途径的下一节点设 备发送会话更新请求;  a forwarding module, configured to: after receiving the session update request, when the session update request includes a Supported header field with a timer tag, send a session update request to the next node device of the session path according to the received session update request;
资源释放模块, 用于在会话建立后, 如果确定该会话处于非活动状态, 则 释放掉自身为该会话分配的资源。  The resource release module is configured to release the resource allocated for the session after the session is established, if it is determined that the session is inactive.
12、 根据权利要求 8 所述的系统, 其特征在于, 所述刷新者协商模块还进 一步包括:  12. The system according to claim 8, wherein the refresher negotiation module further comprises:
添加模块, 用于将所述会话建立请求消息中的会话终止 Session-Expires 头 域中添加刷新者参数; 接收模块, 用于根据收到的会话建立响应消息确定自身是否为刷新者,如果 所述会话建立响应消息中带 timer标签的 Supported头域,则确定自身不为刷新者, 如果所述会话建立响应消息中不带 timer标签的 Supported头域, 则确定自身为刷 新者。 An adding module, configured to add a refresher parameter in a Session Ending Session-Expires header field in the session establishment request message; a receiving module, configured to determine, according to the received session establishment response message, whether it is a refresher, if the Supported header field with a timer tag in the session establishment response message determines that it is not a refresher, if the session establishes a response The Supported header field without the timer tag in the message determines that it is the refresher.
13、 一种背靠背用户代理装置, 其特征在于, 该装置包括:  13. A back-to-back user agent device, the device comprising:
会话协议判断模块, 用于接收到会话建立请求消息后, 判断收到的会话建 立请求消息中是否带 timer标签的 Supported头域, 如果是, 直接将该会话建立 请求消息转发出去, 否则, 在该会话建立请求消息中添加带 timer 标签的 Supported头域, 将该会话建立请求消息转发出去;  The session protocol judging module is configured to: after receiving the session establishment request message, determine whether the received session establishment request message has a Supported header field with a timer tag, and if yes, directly forward the session establishment request message, otherwise, Adding a Supported header field with a timer tag to the session establishment request message, and forwarding the session establishment request message;
刷新者协商模块, 用于与节点设备之间进行刷新者协商, 确定自身是否为 刷新者;  a refresher negotiation module, configured to perform a refresher negotiation with the node device to determine whether it is a refresher;
会话更新请求模块, 用于如果确定自身为刷新者, 则在会话建立后, 分别 向与自身连接的两侧本次会话所途径的网络节点发起会话更新请求。  The session update request module is configured to initiate a session update request to the network node of the session in which the session is connected to each other after the session is established, if it is determined to be the refresher.
14、根据权利要求 13所述的装置,其特征在于,所述背靠背用户代理 B2BUA 装置进一步包括:  14. The apparatus of claim 13, wherein the back-to-back user agent B2BUA device further comprises:
转发模块, 用于收到会话更新请求后, 在所述会话更新请求中含有带 timer 标签的 Supported头域时,根据收到的会话更新请求向会话所途径的下一节点设 备发送会话更新请求;  a forwarding module, configured to: after receiving the session update request, when the session update request includes a Supported header field with a timer tag, send a session update request to the next node device of the session path according to the received session update request;
资源释放模块, 用于在会话建立后, 如果确定该会话处于非活动状态, 则 释放掉自身为该会话分配的资源。  The resource release module is configured to release the resource allocated for the session after the session is established, if it is determined that the session is inactive.
15、 根据权利要求 13所述的装置, 其特征在于, 所述刷新者协商模块还进 一步包括:  The device according to claim 13, wherein the refresher negotiation module further comprises:
添加模块, 用于将所述会话建立请求消息中的会话终止 Session-Expires 头 域中添加刷新者参数;  Adding a module, configured to add a refresher parameter in a Session Ending Session-Expires header field in the session establishment request message;
接收模块, 用于根据收到的会话建立响应消息确定自身是否为刷新者,如果 所述会话建立响应消息中带 timer标签的 Supported头域,则确定自身不为刷新者, 如果所述会话建立响应消息中不带 timer标签的 Supported头域, 则确定自身为刷 a receiving module, configured to determine, according to the received session establishment response message, whether it is a refresher, if the Supported header field with a timer tag in the session establishment response message determines that it is not a refresher, if the session establishes a response The Supported header field without the timer tag in the message determines that it is a brush
tUZOO/LOOZSiD/IDd OAV tUZOO/LOOZSiD/IDd OAV
PCT/CN2007/002314 2006-08-28 2007-08-01 Method and system for realizing release of resource WO2008025216A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200610111582.6 2006-08-28
CN200610111582A CN101137104B (en) 2006-08-28 2006-08-28 Method and system for implementing resource release

Publications (1)

Publication Number Publication Date
WO2008025216A1 true WO2008025216A1 (en) 2008-03-06

Family

ID=39135494

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2007/002314 WO2008025216A1 (en) 2006-08-28 2007-08-01 Method and system for realizing release of resource

Country Status (2)

Country Link
CN (1) CN101137104B (en)
WO (1) WO2008025216A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103002593A (en) * 2011-09-16 2013-03-27 普天信息技术研究院有限公司 Method and system for achieving relay between base stations through back-to-back terminals

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102131285B (en) * 2010-12-28 2013-09-11 华为技术有限公司 Registering method and network equipment
CN103812762B (en) * 2013-11-27 2017-12-01 大唐移动通信设备有限公司 A kind of method and system for sending instant message
CN103685286A (en) * 2013-12-18 2014-03-26 大唐移动通信设备有限公司 Method and device for releasing session resources
CN104168283B (en) * 2014-08-22 2017-10-31 中国联合网络通信集团有限公司 Update the method and device of SIP session status
CN105429812A (en) * 2014-09-12 2016-03-23 中兴通讯股份有限公司 Node state detection method and device
CN104468506A (en) * 2014-10-28 2015-03-25 大唐移动通信设备有限公司 Session state detection method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1528745A1 (en) * 2003-10-30 2005-05-04 Hewlett-Packard Development Company, L.P. Communication method and apparatus
GB2421156A (en) * 2004-12-10 2006-06-14 Ericsson Telefon Ab L M Maintaining session across network address/port translation firewall in the event of an address change with a session manager
US20060146798A1 (en) * 2005-01-06 2006-07-06 Cisco Technology, Inc. System and method for providing a recovery mode in a session initiation protocol (SIP) environment
US20060176805A1 (en) * 2005-02-08 2006-08-10 Michael Peters Method of providing fault tolerance in a sip based contact handling environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1528745A1 (en) * 2003-10-30 2005-05-04 Hewlett-Packard Development Company, L.P. Communication method and apparatus
GB2421156A (en) * 2004-12-10 2006-06-14 Ericsson Telefon Ab L M Maintaining session across network address/port translation firewall in the event of an address change with a session manager
US20060146798A1 (en) * 2005-01-06 2006-07-06 Cisco Technology, Inc. System and method for providing a recovery mode in a session initiation protocol (SIP) environment
US20060176805A1 (en) * 2005-02-08 2006-08-10 Michael Peters Method of providing fault tolerance in a sip based contact handling environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103002593A (en) * 2011-09-16 2013-03-27 普天信息技术研究院有限公司 Method and system for achieving relay between base stations through back-to-back terminals

Also Published As

Publication number Publication date
CN101137104A (en) 2008-03-05
CN101137104B (en) 2010-05-12

Similar Documents

Publication Publication Date Title
JP5606074B2 (en) Dynamic service trigger in communication networks
JP5865404B2 (en) Gateway for enterprise network survivability using SIP
EP2107714B1 (en) Method and apparatus for implementing a multimedia ring back tone service and multimedia caller identification service
CA2605475C (en) Session initiation from application servers in an ip multimedia subsystem
US20050213580A1 (en) System and method for enforcing policies directed to session-mode messaging
US7730127B2 (en) Method, system and apparatus for video sharing
WO2006010312A1 (en) A method of informing the capability change of the terminal to the network
US20060014556A1 (en) Method and apparatus for processing call in PTT over cellular (PoC) system
WO2007090347A1 (en) A carrying method, system and device for ip multimedia system service
WO2008025216A1 (en) Method and system for realizing release of resource
WO2011017889A1 (en) Multimedia conference implementation method and system
WO2010069176A1 (en) A method for calling a conference when hard terminals have been bound to pc clients, a login server thereof, a conference server thereof and a pc client thereof
WO2008000134A1 (en) Method and device for transmitting request message in multimedia system
CN100550884C (en) Based in the business procedure of retry mechanism to Session Initiation Protocol processing of request method
WO2008011790A1 (en) Method, system and network apparatus for setting up session
US9258367B2 (en) Technique for managing sessions with entities in a communication network
WO2011018017A1 (en) Session processing method and device and communication system
EP2230814B1 (en) Method for realizing a call hold
WO2008080297A1 (en) A method, equipment and system for relating the session
WO2007095814A1 (en) A method and system for obtaining the session capability of the session participant in the multi-party communication system
EP2200254B1 (en) Mobile network system and guidance message providing method
US20080288643A1 (en) Session Initiation Protocol Signalling
WO2008110110A1 (en) Ip multimedia subsystem service providing method and system
WO2009121310A1 (en) Method, system and device for selecting a gateway
JP2010525623A (en) Method and apparatus for use in a communication network

Legal Events

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

Ref document number: 07785228

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07785228

Country of ref document: EP

Kind code of ref document: A1