WO2012071882A1 - Session detection method, device and session initiation protocol server - Google Patents

Session detection method, device and session initiation protocol server Download PDF

Info

Publication number
WO2012071882A1
WO2012071882A1 PCT/CN2011/075940 CN2011075940W WO2012071882A1 WO 2012071882 A1 WO2012071882 A1 WO 2012071882A1 CN 2011075940 W CN2011075940 W CN 2011075940W WO 2012071882 A1 WO2012071882 A1 WO 2012071882A1
Authority
WO
WIPO (PCT)
Prior art keywords
session
sip server
detection
message
sender
Prior art date
Application number
PCT/CN2011/075940
Other languages
French (fr)
Chinese (zh)
Inventor
贺晋宁
范珂
黄永平
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012071882A1 publication Critical patent/WO2012071882A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]

Definitions

  • the SIP server determines whether the user state detection needs to be initiated, and includes: the SIP server queries the local resource, and determines the sender of the message. In the case of another session, user state detection is initiated.
  • the SIP server initiates detection on the first session, and obtains a detection result that: the SIP server sends a message carrying the identifier information of the first session to the sender; the sender detects the location Determining whether the first session exists, and sending the detection result to the SIP server; the SIP server obtaining the detection result.
  • the session initiation protocol SIP server determines whether it is necessary to initiate user state detection after receiving a message for requesting to establish a service; if the SIP server needs to initiate user state detection, the message is The sender initiates detection in the first session existing on the SIP server, and obtains a detection result; the SIP server determines whether to establish the service according to the detection result.
  • the problem that the user initiates the service in the prior art may cause the service to fail, thereby improving the user experience.
  • the first determining module 32 is configured to: after receiving the message for requesting to establish the service, determine whether the user state detection needs to be initiated; the detection initiating module 34 is connected to the first determining module 32, and is configured to initiate the user state detection. Next, the first session that exists on the SIP server is sent to the sender of the message, and the detection result is obtained.
  • the second determining module 36 is connected to the detection initiation module 34, and is configured to determine whether to establish a service.
  • 4 is a structural block diagram of a preferred detection initiation module according to an embodiment of the present invention. As shown in FIG. 4, the detection initiation module 34 includes: a transmission module 342 and a reception module 344, which will be described below.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The present invention discloses a session detection method, device and a session initiation protocol server. The method includes the following steps: after receiving a request message for setting up a service, the session initiation protocol (SIP) server determines whether initiating a user state detection is needed; under the condition of needing initiating the user state detection, the SIP server initiates the detection to the previous first session of the message sender with the SIP server, and obtains the detection result; the SIP server determines whether to set up the service according to the detection result. The user experience is improved by the present invention.

Description

^^检测方法、 装置及^^初始协 ¾J 务器 技术领域 本发明涉及通信领域, 具体而言, 涉及一种会话检测方法、 装置及会话初 始协议服务器。 背景技术 会话初始化协议( Session Initiation Protocol, 简称为 SIP )凭借其简单、 易 于扩展、 便于实现等诸多优点逐步成为下一代网络( Next Generation Network , 简称为 NGN )和 IP多媒体子系统( IP Multimedia Subsystem, 简称为 IMS ) 中 的主流协议。 通常情况下, SIP服务器都会对 SIP终端以及其他连接设备进行对话内的 会话检测, 对资源 (例如, 用户状态、 数据区等) 进行实时的检测和控制。 但 是, 当网络异常或者终端设备异常造成消息丢失时, SIP服务器所保存的资源 信息与实际的信息状态不一致, 当用户再次发起新呼叫时, SIP服务器会根据 数据库中所保留的用户信息对请求做出错误的处理。 下面对此进行举例说明。 图 1是根据现有技术出现 SIP服务器端和终端 (或者其它设备, 为了描述 方便, 以下将终端或其他设备统称为终端)用户状态不一致情况产生的流程图, 如图 1所示, 该流程包括如下步骤: 步骤 S 101 ,代理服务器( Proxy Server )接收到终端请求建立呼叫的 INVITE 消息, 该条 INVITE消息没有 TO TAG, 属于对话外消息; 步 4聚 S 102 , Proxy Server转发 INVITE请求到另一侧; 步骤 S 103 , 终端接收到 INVITE ( dialogl ) 消息后, 同意建立会话, 发送 200 OK响应; 步骤 S 104 , Proxy Server转发 200 OK响应到另一侧; 步骤 S 105 , 终端对于 2OO OK表示确认, 发送 ACK, 实现 3方握手; 步骤 S 106, Proxy Server转发 ACK到另一侧; 步骤 S 107, 终端向 Proxy Server发送 BYE消息, 要求释放资源, 但是由 于网络异常或者其他原因, 该消息丢失, 导致 Proxy Server和终端上的资源信 息不一致; 步骤 S 108、 终端再次发起会话, 发送 INVITE ( dialog2 ) 到 Proxy Server; 步骤 S 109, Proxy Server检查用户状态, 发现用户正在通话, 如果用户没 有签约业务, 则回复 486, 如果用户签约了遇忙前转等业务, 则做业务操作。 步骤 S 110, 终端回复 ACK应答。 在协议 RFC4028 中, 为了解决上述问题提出了一种周期检测用户状态的 方法, 下面对此进行说明。 当服务器作为用户代理 (User Agent, 简称为 UA ) 时, 如果存在 4028检 测, 那需要等待会话定时器(session timer )超时, 才可以检测资源; 如果没有 此检测, 那么需要重起终端或者其他办法才能释放资源; 如果服务器作为代理 ( PROXY ), 当开启 4028检测时, 当 session timer到时, PROXY才可以释放 自己占用的资源, 但是不能发送 BYE 消息, 如果未开启, 则会一直占用。 尽 管在 RFC4028 提出了上述周期检测用户状态的方案, 但是, 对于传统网络来 说, 通常是不支持 4028检测的, 另夕卜, 即使支持 4028检测也需要一段时间才 能释放资源。 因此, 在现有技术中, 在用户发起业务时 (例如, 呼叫业务), 依然有可 能会导致该业务失败。 从而降低了用户体验。 发明内容 本发明的主要目的在于提供一种会话检测方法、 装置及 SIP服务器, 以至 少解决上述问题。 根据本发明的一个方面, 提供了一种会话检测方法, 包括: 会话初始协议TECHNICAL FIELD The present invention relates to the field of communications, and in particular to a session detection method, apparatus, and session initiation protocol server. BACKGROUND OF THE INVENTION The Session Initiation Protocol (SIP) is gradually becoming a Next Generation Network (NGN) and an IP Multimedia Subsystem (IP Multimedia Subsystem) due to its advantages such as simplicity, ease of expansion, and ease of implementation. Mainstream protocol in IMS). In general, the SIP server performs session detection in the session on the SIP terminal and other connected devices, and performs real-time detection and control on resources (for example, user status, data area, etc.). However, when the network is abnormal or the terminal device is abnormal and the message is lost, the resource information saved by the SIP server is inconsistent with the actual information status. When the user initiates a new call again, the SIP server will make a request according to the user information retained in the database. Wrong processing. This is illustrated below. FIG. 1 is a flow chart showing the inconsistency of user status of a SIP server and a terminal (or other device, which is referred to as a terminal or other device in the following for convenience of description) according to the prior art. As shown in FIG. 1, the process includes The following steps are as follows: Step S101: The proxy server (Proxy Server) receives the INVITE message that the terminal requests to establish a call, the INVITE message has no TO TAG, and belongs to the out-of-dialog message; Step 4 gathers S 102, and the Proxy Server forwards the INVITE request to another Step S103, after receiving the INVITE (dialogl) message, the terminal agrees to establish a session and sends a 200 OK response; Step S104, the Proxy Server forwards the 200 OK response to the other side; Step S105, the terminal confirms the 2OO OK Sending an ACK to implement a 3-way handshake; Step S106, the Proxy Server forwards the ACK to the other side; Step S107: The terminal sends a BYE message to the Proxy Server, requesting to release the resource, but the message is lost due to the network abnormality or other reasons, and the resource information on the Proxy Server and the terminal are inconsistent; Step S108, the terminal initiates the session again, and sends the INVITE. (dialog2) to the Proxy Server; Step S109, the Proxy Server checks the user status, and finds that the user is talking. If the user does not subscribe to the service, the user replies 486. If the user signs a service such as busy forwarding, the service operation is performed. Step S110, the terminal replies with an ACK response. In the protocol RFC4028, in order to solve the above problem, a method of periodically detecting the state of the user is proposed, which will be described below. When the server acts as a User Agent (UA Agent), if there is 4028 detection, it needs to wait for the session timer to time out before it can detect resources; if there is no such detection, then it needs to restart the terminal or other methods. In order to release the resource; if the server acts as a proxy (PROXY), when the 4028 detection is enabled, PROXY can release the resources it occupies when the session timer expires, but the BYE message cannot be sent. If it is not enabled, it will always be occupied. Although the above scheme for periodically detecting user status is proposed in RFC4028, for traditional networks, 4028 detection is usually not supported. In addition, even if 4028 detection is supported, it takes a while to release resources. Therefore, in the prior art, when a user initiates a service (for example, a call service), it is still possible to cause the service to fail. Thereby reducing the user experience. SUMMARY OF THE INVENTION A primary object of the present invention is to provide a session detecting method, apparatus, and SIP server to solve at least the above problems. According to an aspect of the present invention, a session detecting method is provided, including: a session initiation protocol
SIP服务器在接收到用于请求建立业务的消息之后, 确定是否需要发起用户状 态检测; 所述 SIP服务器在需要发起用户状态检测的情况下, 对所述消息的发 送方之前在所述 SIP 艮务器上存在的第一会话发起检测, 并获得检测结果; 所 述 SIP 艮务器 居所述检测结果确定是否建立所述业务。 所述 SIP 艮务器对所述第一会话发起检测,并获得检测结果包括:所述 SIP 服务器向所述发送方发送携带有所述第一会话的标识信息的消息, 指示所述发 送方对所述第一会话进行检测; 所述发送方进行检测并将所述检测结果发送给 所述 SIP服务器; 所述 SIP服务器获得所述检测结果。 所述 SIP月艮务器在接收到用于请求建立呼叫业务的消息情况下, 所述 SIP 服务器确定是否需要发起用户状态检测包括: 所述 SIP服务器查询本地资源, 在确定所述消息的发送方处于另一个会话的情况下, 发起用户状态检测。 所述 SIP 艮务器对所述第一会话发起检测,并获得检测结果包括:所述 SIP 服务器向所述发送方发送携带有所述第一会话的标识信息的消息; 所述发送方 检测所述第一会话是否存在, 并将所述检测结果发送给所述 SIP 艮务器; 所述 SIP服务器获得所述检测结果。 所述 SIP服务器根据所述检测结果确定是否建立所述业务包括: 所述 SIP 服务器在所述第一会话不存在的情况下, 更新其本地资源信息状态, 释放与所 述第一会话对应的资源, 并且建立所述呼叫业务; 所述 SIP 艮务器在所述第一 会话存在的情况下, 向所述发送方发送用于指示正忙的消息。 在所述 SIP服务器接收到用于建立呼叫业务的消息之后,还包括:所述 SIP 月艮务器向所述发送方发送用于向所述发送方指示所述 SIP月艮务器正在尝试建立 所述呼叫业务的消息。 根据本发明的另一方面, 还提供了一种会话检测装置, 包括: 第一确定模 块, 设置为在接收到用于请求建立业务的消息之后, 确定是否需要发起用户状 态检测; 检测发起模块, 设置为在需要发起用户状态检测的情况下, 对所述消 息的发送方之前在所述 SIP 艮务器上存在的第一会话发起检测, 并获得检测结 果; 第二确定模块, 设置为根据所述检测结果确定是否建立所述业务。 所述检测发起模块包括: 发送模块, 设置为向所述发送方发送携带有所述 第一会话的标识信息的消息, 指示所述发送方对所述第一会话进行检测; 接收 模块, 设置为接收所述发送方在进行检测之后发送的所述检测结果。 在所述 SIP服务器接收到用于建立呼叫业务的消息的情况下, 所述检测发 起模块, 设置为查询本地资源, 在确定所述消息的发送方处于另一个会话的情 况下, 发起用户^! 态检测。 才艮据本发明的再一个方面, 还提供了一种 SIP 艮务器, 包括上述的会话检 测装置。 通过本发明, 釆用了会话初始协议 SIP服务器在接收到用于请求建立业务 的消息之后, 确定是否需要发起用户状态检测; 所述 SIP服务器在需要发起用 户状态检测的情况下, 对所述消息的发送方之前在所述 SIP月艮务器上存在的第 一会话发起检测, 并获得检测结果; 所述 SIP 艮务器 居所述检测结果确定是 否建立所述业务。 解决了现有技术中用户发起业务有可能导致业务失败的问 题, 进而提高了用户体验。 附图说明 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部 分, 本发明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不 当限定。 在附图中: 图 1是根据现有技术出现 SIP服务器端和终端用户状态不一致情况产生的 流程图; 图 2是才艮据本发明实施例的会话检测方法的流程图; 图 3是根据本发明实施例的会话检测装置的结构框图; 图 4是根据本发明实施例优选的检测发起模块的结构框图; 图 5是根据本发明实施例的基于 SIP的检测用户发现呼叫已经释放时的处 理流程图; 图 6是根据本发明实施例的基于 SIP的检测用户发现呼叫资源还在占用时 的处理流程图。 具体实施方式 下文中将参考附图并结合实施例来详细说明本发明。 需要说明的是, 在不 冲突的情况下, 本申请中的实施例及实施例中的特征可以相互组合。 图 2是才艮据本发明实施例的会话检测方法的流程图, 如图 2所示, 该流程 包括如下步骤: 步骤 S202, SIP服务器在接收到用于请求建立业务的消息之后, 确定是否 需要发起用户状态检测。 步骤 S204, SIP服务器在需要发起用户状态检测的情况下, 对该消息的发 送方之前在该 SIP 艮务器上存在的第一会话发起检测, 并获得检测结果; 在此 需要说明的是,此处的 "第一会话"是为了描述方便而对该会话所起的一个名称, 其中的"第一"并没有实际的含义。 步骤 S206 , SIP服务器根据该检测结果确定是否建立业务。 通过上述步骤, 提出了在网络的异常情况下(例如, 当 dialog建立后, SIP 服务器由于某种异常导致终端和服务器之间信息不一致) 的资源快速释放方 式, SIP服务器在接收到消息之后, 即可发起对用户状态的检测, 相比于现有 技术中的周期检测的方式有了一定的进步, 可以提高用户体验。 例如, 可以利用后续新发起的请求作为一个触发条件, 如果由该请求触发 了 486的结果, 则 SIP服务器对于先前存在的会话发起检测, 检测成功, 则拒 绝新的呼叫, 检测失败, 则重新释放资源, 对呼叫进行接续。 SIP服务器对先前存在的会话的检测方式有很多种, 在本实施例中提供了 一种优选的检测方式, 在该方式中执行检测的是该消息的发送方, 下面对此进 行说明: SIP服务器向上述消息的发送方发送携带有第一会话的标识信息的消 息, 其中, 该消息用于指示发送方对第一会话进行检测; 发送方在接收到该消 息之后进行检测并将检测结果发送给 SIP服务器; 从而使 SIP服务器获得检测 结果。 下面以建立呼叫业务的消息 (或称为请求消息) 为例进行说明: SIP服务 器接收到用于建立呼叫业务的消息; SIP服务器查询本地资源, 在确定该消息 的发送方处于另一个会话的情况下, 发起用户状态检测。 此时, 优选地, SIP 服务器可以向发送方发送携带有第一会话的标识信息的消息; 发送方检测在本 地第一会话是否存在, 并将检测结果发送给 SIP服务器; SIP服务器获得检测 结果。 优选地, SIP月艮务器可以在第一会话不存在的情况下, 更新其本地资源信 息状态, 释放与第一会话对应的资源, 并且建立呼叫业务; SIP月艮务器在第一 会话存在的情况下, 向发送方发送用于指示正忙的消息。 优选地, 在 SIP服务器接收到用于建立呼叫业务的消息之后, SIP服务器 可以向发送方发送用于向发送方指示该 SIP服务器正在尝试建立呼叫业务的消 息, 以避免发送方重复发送用于建立呼叫业务的消息。 在本实施例中, 还提供了一种会话检测装置, 该装置设置为实现上述会话 检测方法, 已经进行过说明的在此不再赘述, 下面对该装置涉及到的模块进行 说明。 图 3是根据本发明实施例的会话检测装置的结构框图, 如图 3所示, 该 装置包括: 第一确定模块 32、 检测发起模块 34、 第二确定模块 36 , 下面对该 结构进行说明。 第一确定模块 32 , 设置为在接收到用于请求建立业务的消息之后, 确定是 否需要发起用户状态检测; 检测发起模块 34连接至第一确定模块 32 , 设置为 在需要发起用户状态检测的情况下, 对消息的发送方之前在 SIP服务器上存在 的第一会话发起检测, 并获得检测结果; 第二确定模块 36 连接至检测发起模 块 34 , 设置为 居检测结果确定是否建立业务。 图 4是根据本发明实施例优选的检测发起模块的结构框图, 如图 4所示, 检测发起模块 34包括: 发送模块 342和接收模块 344 , 下面对此进行说明。 发送模块 342 , 设置为向发送方发送携带有第一会话的标识信息的消息, 其中, 消息用于指示发送方对第一会话进行检测; 接收模块 344 , 设置为接收 发送方在进行检测之后发送的检测结果。 优选地, 在 SIP服务器接收到用于建立呼叫业务的消息的情况下, 检测发 起模块 34 , 设置为查询本地资源, 在确定消息的发送方处于另一个会话的情况 下, 发起用户^! 态检测。 当然, 上述装置可以位于代理月艮务器中, 当然也可以位于其他的 SIP月艮务 器中。 以下以位于代理月艮务器中为例进行说明。 图 5是根据本发明实施例的基于 SIP的检测用户发现呼叫已经释放时的处 理流程图, 该图描述了 SIP月艮务器和终端对于用户状态不一致时, SIP月艮务器 端主动发起状态检测事件, 通过对话内请求的发送以及后续响应判断资源状 态, 释放先前状态和 /或资源信息, 连接新通话资源的流程, 该流程也可以适用 于应用月艮务器或软交换领域。 如图 5所示, 该流程包括如下步骤: 步骤 S501 , Proxy Server接收到终端请求建立呼叫的 INVITE 消息, 该 INVITE消息没有 TO TAG, 属于对话外消息; 步骤 S502, Proxy Server回复 100 Trying, 以避免 INVITE消息的重发; 步骤 S503 , Proxy Server对资源故查询检测, 当发现用户处于另外的对话 ( DIALOG )中时, Proxy Server主动发起用户状态检测, 此处为了通用性和兼 容性, 优选使用对话内的 INVITE消息 (Re-INVITE ), 该 Re-INVITE消息的 DIALOG ID与步骤 S501中的 DIALOG ID要不一致, 应是用户所处于的另外 的对话的 ID, 需要说明的是, 在该步骤中所使用的消息是 Re-INVITE, 这只是 一种举例说明, 其他的对话内消息也可以用来检测会话, 在此不再——列举; 步骤 S504, 终端接收到 INVITE ( dialogl ) 消息后, 根据数据库中的对话 信息故相应的答复, 如果对话已经不存在了, 则回复 481响应; 步骤 S505 , Proxy Server对 481表示确认, 回复 ACK确认信息; 步骤 S506, 由于终端回复了 481响应, 表示对话已经不存在, 用户处于空 闲态, Proxy Server需要修正资源信息状态并释放资源; 步骤 S507, Proxy Server继续根据终端意愿, 建立呼叫, 发送 INVITE消 息到下一兆。 有上述实施例的步骤可以看出, 在 Proxy Server主动向终端发起了用户状 态检测, 从而检查了该用户资源状态, 在终端已经将先前对话的资源释放了的 情况下, Proxy Server释放对先前对话的资源, 并对连接用户新发起的会话进 行接续。 需要指出的是步骤 504中终端回复的 481响应, 该响应在此次检查中 表示在终端的先前对话已经不存在。 图 6是根据本发明实施例的基于 SIP的检测用户发现呼叫资源还在占用时 的处理流程图, 该图描述了 SIP服务器端发起状态检测事件, 通过对话内请求 的发送, 以及后续响应判断资源状态一致, 从而拒绝新呼叫请求的流程, 如图 6所示, 该流程包括如下步 4聚: 步骤 S601 , Proxy Server接收到终端请求建立呼叫的 INVITE消息, 该条 INVITE消息没有 TO TAG, 属于对话外消息; 步骤 S602, Proxy Server回复 100 Trying, 避免 INVITE消息的重发; 步骤 S603 , Proxy Server对资源故查询检测, 当发现用户处于对话内时, Proxy Server需要主动发起用户 态检测,该条 Re-INVITE消息的 DIALOG ID 与步骤 S601 中的 DIALOG ID要不一致, 应该是用户所处的对话的 ID, 需要 说明的是, 在该步骤中所使用的消息是 Re-INVITE, 这只是一种举例说明, 其 他的对话内消息也可以用来检测会话, 在此不再——列举; 步骤 S604, 终端收到 INVITE ( dialog 1 ) 消息后, 才艮据数据库中的对话信 息故相应的答复, 如果对话存在, 回复 200 响应; 步-骤 S605 , Proxy Server对 200表示确认, 回复 ACK确认信息; 步骤 S606, 由于终端回复了 200响应, 表示对话存在, 用户处于忙状态, Proxy Server 需要保持资源信息和状态, 对于建立新呼叫的对话请求 INVITE 消息回复 486, 在此需要说明的是, 此处的 486只是举例说明, 但是并不限于 此, 当然, 也可以触发业务 (例如, 遇忙前转等); 步骤 S607 , 终端回复 ACK确认信息。 有上述实施例可以看出,在 Proxy Server与终端的状态资源一致的情况下, Proxy Server通过检测, 继续保持着该月艮务器中的资源。 通过上述实施例, 解决了现有技术中检测周期未到时, 用户发起业务有可 能导致业务失败的问题, 进而提高了用户体验。 在另外一个实施例中, 还提供了一种软件, 该软件用于执行上述实施例及 优选实施方式中描述的技术方案。 在另外一个实施例中, 还提供了一种存储介质, 该存储介质中存储有上述 软件, 该存储介质包括但不限于: 光盘、 软盘、 硬盘、 可擦写存储器等。 显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可以 用通用的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多 个计算装置所组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码 来实现, 从而可以将它们存储在存储装置中由计算装置来执行, 或者将它们分 别制作成各个集成电路模块, 或者将它们中的多个模块或步骤制作成单个集成 电路模块来实现。 这样, 本发明不限制于任何特定的硬件和软件结合。 以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领 域的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的 ^"神和原则 之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之 内。 After receiving the message for requesting the establishment of the service, the SIP server determines whether the user state detection needs to be initiated; if the SIP server needs to initiate the user state detection, the sender of the message is previously in the SIP service. The first session existing on the device initiates detection, and obtains a detection result; the SIP server determines whether to establish the service according to the detection result. The SIP server initiates the detection of the first session, and obtains the detection result that the SIP server sends a message carrying the identifier information of the first session to the sender, indicating that the sender is The first session performs detection; the sender performs detection and sends the detection result to the SIP server; and the SIP server obtains the detection result. In the case that the SIP server receives the message for requesting the establishment of the call service, the SIP server determines whether the user state detection needs to be initiated, and includes: the SIP server queries the local resource, and determines the sender of the message. In the case of another session, user state detection is initiated. The SIP server initiates detection on the first session, and obtains a detection result that: the SIP server sends a message carrying the identifier information of the first session to the sender; the sender detects the location Determining whether the first session exists, and sending the detection result to the SIP server; the SIP server obtaining the detection result. The determining, by the SIP server, whether the service is established according to the detection result includes: the SIP server updating the state of the local resource information, and releasing the resource corresponding to the first session, if the first session does not exist And establishing the call service; the SIP server sending a message indicating that the busy is busy to the sender if the first session exists. After the SIP server receives the message for establishing the call service, the method further includes: the SIP server sending the sender to the sender to indicate that the SIP server is attempting to establish The message of the call service. According to another aspect of the present invention, a session detecting apparatus is further provided, including: a first determining module, configured to: after receiving a message for requesting to establish a service, determining whether user state detection needs to be initiated; detecting an initiating module, And being configured to initiate detection on the first session existing on the SIP server by the sender of the message, and obtain a detection result, where the user state detection needs to be initiated, and the second determining module is set to be The detection result determines whether the service is established. The detecting and initiating module includes: a sending module, configured to send, to the sending party, a message carrying the identifier information of the first session, instructing the sender to detect the first session; and the receiving module is configured to Receiving the detection result sent by the sender after performing the detection. In the case that the SIP server receives the message for establishing the call service, the detection initiation module is configured to query the local resource, and in the case that the sender of the message is determined to be in another session, the user is initiated! State detection. According to still another aspect of the present invention, there is also provided a SIP server comprising the above-described session detecting means. With the present invention, the session initiation protocol SIP server determines whether it is necessary to initiate user state detection after receiving a message for requesting to establish a service; if the SIP server needs to initiate user state detection, the message is The sender initiates detection in the first session existing on the SIP server, and obtains a detection result; the SIP server determines whether to establish the service according to the detection result. The problem that the user initiates the service in the prior art may cause the service to fail, thereby improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are set to illustrate,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a flow chart showing the occurrence of inconsistency between a SIP server end and an end user state according to the prior art; FIG. 2 is a flowchart of a session detecting method according to an embodiment of the present invention; FIG. FIG. 4 is a structural block diagram of a preferred detection initiation module according to an embodiment of the present invention; FIG. 5 is a flow chart of processing when a SIP-based detection user finds that a call has been released according to an embodiment of the present invention; Figure 6 is a flow chart showing the processing of SIP-based detection when a user finds that a call resource is still occupied, according to an embodiment of the present invention. BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the embodiments in the present application and the features in the embodiments may be combined with each other without conflict. FIG. 2 is a flowchart of a session detecting method according to an embodiment of the present invention. As shown in FIG. 2, the process includes the following steps: Step S202: After receiving the message for requesting to establish a service, the SIP server determines whether it is necessary to initiate user state detection. Step S204: The SIP server initiates detection on the first session existing on the SIP server before the sender of the message needs to initiate the user state detection, and obtains the detection result. The "first session" is a name given to the session for convenience of description, and the "first" has no practical meaning. Step S206: The SIP server determines whether to establish a service according to the detection result. Through the above steps, a quick release method for resources in the abnormal situation of the network (for example, the SIP server is inconsistent between the terminal and the server due to some abnormality after the dialog is established) is proposed. After receiving the message, the SIP server The detection of the state of the user can be initiated, and the user experience can be improved compared to the method of periodic detection in the prior art. For example, the subsequent newly initiated request may be used as a trigger condition. If the result of the 486 is triggered by the request, the SIP server initiates detection for the pre-existing session, and if the detection is successful, the new call is rejected, and the detection fails, and then the release is resumed. Resources, connect the call. There are many ways for the SIP server to detect the pre-existing session. In this embodiment, a preferred detection mode is provided. In this mode, the sender of the message is detected. The following describes: SIP The server sends a message carrying the identifier information of the first session to the sender of the message, where the message is used to instruct the sender to detect the first session; the sender performs the detection after receiving the message and sends the detection result. Give the SIP server; thus enabling the SIP server to obtain the test results. The following is an example of a message (or a request message) for establishing a call service: the SIP server receives a message for establishing a call service; the SIP server queries a local resource, and determines that the sender of the message is in another session. Next, initiate user status detection. At this time, preferably, the SIP server may send a message carrying the identification information of the first session to the sender; the sender detects whether the local first session exists, and sends the detection result to the SIP server; the SIP server obtains the detection result. Preferably, the SIP server can update its local resource information status, release the resource corresponding to the first session, and establish a call service if the first session does not exist; the SIP server exists in the first session. In the case, a message indicating that it is busy is sent to the sender. Preferably, after the SIP server receives the message for establishing the call service, the SIP server may send a message to the sender for indicating to the sender that the SIP server is trying to establish a call service, so as to prevent the sender from repeatedly sending for establishment. The message of the call service. In this embodiment, a session detecting apparatus is further provided, and the apparatus is configured to implement the above-mentioned session detecting method. The description has been omitted herein, and the modules involved in the apparatus will be described below. FIG. 3 is a structural block diagram of a session detecting apparatus according to an embodiment of the present invention. As shown in FIG. 3, the apparatus includes: a first determining module 32, a detecting initiating module 34, and a second determining module 36. . The first determining module 32 is configured to: after receiving the message for requesting to establish the service, determine whether the user state detection needs to be initiated; the detection initiating module 34 is connected to the first determining module 32, and is configured to initiate the user state detection. Next, the first session that exists on the SIP server is sent to the sender of the message, and the detection result is obtained. The second determining module 36 is connected to the detection initiation module 34, and is configured to determine whether to establish a service. 4 is a structural block diagram of a preferred detection initiation module according to an embodiment of the present invention. As shown in FIG. 4, the detection initiation module 34 includes: a transmission module 342 and a reception module 344, which will be described below. The sending module 342 is configured to send, to the sending party, a message carrying the identifier information of the first session, where the message is used to instruct the sender to detect the first session, and the receiving module 344 is configured to send the sending sender to send the detection. Test results. Preferably, in the case that the SIP server receives the message for establishing the call service, the detection initiation module 34 is configured to query the local resource, and in the case that the sender of the message is determined to be in another session, the user ^ is initiated! State detection. Of course, the above device may be located in the proxy server, and may of course be located in other SIP servers. The following is an example of the agent server. FIG. 5 is a flowchart of a process when a SIP-based detection user finds that a call has been released according to an embodiment of the present invention. The figure describes that when the SIP server and the terminal are inconsistent with the user status, the SIP server initiates the active state. The process of detecting an event, determining the state of the resource through the transmission of the request in the session and the subsequent response, releasing the previous state and/or resource information, and connecting the new call resource, the process may also be applicable to the application server or the softswitch domain. As shown in FIG. 5, the process includes the following steps: Step S501, the Proxy Server receives the INVITE message that the terminal requests to establish a call, and the INVITE message does not have a TO TAG, and belongs to the out-of-dialog message. In step S502, the Proxy Server replies with 100 Trying to avoid retransmission of the INVITE message; Step S503, Proxy Server The resource is inquired and detected. When the user is found to be in another session (DIALOG), the Proxy Server actively initiates user state detection. Here, for versatility and compatibility, it is preferable to use the INVITE message (Re-INVITE) in the session, the Re - The DIALOG ID of the INVITE message is inconsistent with the DIALOG ID in step S501, and should be the ID of another session in which the user is located. It should be noted that the message used in this step is Re-INVITE, which is just a kind of For example, other inter-session messages can also be used to detect the session, and no longer - enumerate; step S504, after receiving the INVITE (dialogl) message, the terminal responds according to the dialog information in the database, if the conversation has already been If it does not exist, reply 481 response; Step S505, the Proxy Server indicates confirmation to 481, and replies ACK confirmation information; Step S506, because the terminal replies with a 481 response, indicating that the session does not exist, the user is in an idle state, the Proxy Server needs to correct the resource information status and release the resource; Step S507, the Proxy Server continues to establish a call according to the intention of the terminal, and sends an INVITE message to the next One trillion. The steps of the foregoing embodiment can be seen that the Proxy Server actively initiates user state detection to the terminal, thereby checking the user resource status. When the terminal has released the resources of the previous session, the Proxy Server releases the previous conversation. Resources, and the connection to the newly initiated session of the connected user. It is noted that the 481 response replied by the terminal in step 504 indicates that the previous conversation at the terminal no longer exists in this check. FIG. 6 is a flowchart of a SIP-based detection process when a user finds that a call resource is still occupied according to an embodiment of the present invention. The figure describes a SIP server-side initiated state detection event, and the request is sent through a session, and a subsequent response is used to determine a resource. The process is consistent, and the process of rejecting the new call request is rejected. As shown in FIG. 6, the process includes the following steps: Step S601: The Proxy Server receives an INVITE message that the terminal requests to establish a call, and the INVITE message has no TO TAG, and belongs to the session. External message; Step S602, the Proxy Server replies with 100 Trying to avoid retransmission of the INVITE message; In step S603, the Proxy Server queries the resource for the query. When the user is found to be in the conversation, the Proxy Server needs to initiate the user state detection. The DIALOG ID of the Re-INVITE message is inconsistent with the DIALOG ID in step S601. The ID of the conversation in which it is located. It should be noted that the message used in this step is Re-INVITE. This is just an example. Other intra-session messages can also be used to detect the session. Step S604, after receiving the INVITE (dialog 1) message, the terminal responds according to the dialog information in the database, and if the dialog exists, responds with 200 response; Step S605, Proxy Server indicates confirmation to 200, reply ACK confirmation information; Step S606, because the terminal replies with a 200 response, indicating that the conversation exists, the user is in a busy state, the Proxy Server needs to maintain resource information and status, and the INVITE message reply 486 for establishing a new call session, which needs to be explained The 486 here is only an example, but it is not limited thereto. Of course, the service can also be triggered (for example, Waiting for a busy call, etc.); Step S607, the terminal replies with an ACK confirmation message. In the above embodiment, it can be seen that, when the Proxy Server and the terminal have the same state resource, the Proxy Server continues to maintain the resources in the server by detecting. Through the foregoing embodiments, the problem that the user initiates a service may cause a service failure when the detection period is not reached in the prior art is solved, thereby improving the user experience. In another embodiment, software is also provided for performing the technical solutions described in the above embodiments and preferred embodiments. In another embodiment, a storage medium is provided, the software being stored, including but not limited to: an optical disk, a floppy disk, a hard disk, a rewritable memory, and the like. Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device so that they may be stored in the storage device by the computing device, or they may be separately fabricated into individual integrated circuit modules, or Multiple modules or steps are made into a single integrated circuit module. Thus, the invention is not limited to any specific combination of hardware and software. The above is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the scope of the present invention are intended to be included within the scope of the present invention.

Claims

权 利 要 求 书 Claim
1. 一种会话检测方法, 包括: 1. A session detection method, comprising:
会话初始协议 SIP服务器在接收到用于请求建立业务的消息之后, 确定是否需要发起用户状态检测;  Session Initiation Protocol After receiving a message for requesting to establish a service, the SIP server determines whether it is necessary to initiate user state detection.
所述 SIP服务器在需要发起用户状态检测的情况下, 对所述消息的 发送方之前在所述 SIP 艮务器上存在的第一会话发起检测, 并获得检测 结果;  The SIP server initiates detection on the first session existing on the SIP server by the sender of the message, and obtains a detection result, if the user state detection needs to be initiated;
所述 SIP 艮务器 居所述检测结果确定是否建立所述业务。  The SIP server determines whether to establish the service according to the detection result.
2. 根据权利要求 1所述的方法, 其中, 所述 SIP服务器对所述第一会话发 起检测, 并获得检测结果包括: The method according to claim 1, wherein the SIP server sends a detection to the first session, and obtaining the detection result includes:
所述 SIP服务器向所述发送方发送携带有所述第一会话的标识信息 的消息, 指示所述发送方对所述第一会话进行检测;  Sending, by the SIP server, a message carrying the identifier information of the first session to the sender, instructing the sender to detect the first session;
所述发送方进行检测并将所述检测结果发送给所述 SIP 艮务器; 所述 SIP服务器获得所述检测结果。  The sender performs detection and sends the detection result to the SIP server; the SIP server obtains the detection result.
3. 根据权利要求 1或 2所述的方法, 其中, 所述 SIP服务器在接收到用于 请求建立呼叫业务的消息情况下, 所述 SIP服务器确定是否需要发起用 户^! 态检测包括: The method according to claim 1 or 2, wherein, in the case that the SIP server receives a message for requesting to establish a call service, the SIP server determines whether it is necessary to initiate a user^! State detection includes:
所述 SIP月艮务器查询本地资源, 在确定所述消息的发送方处于另一 个会话的情况下, 发起用户状态检测。  The SIP server queries the local resource, and initiates user state detection if it is determined that the sender of the message is in another session.
4. 根据权利要求 3所述的方法, 其中, 所述 SIP服务器对所述第一会话发 起检测, 并获得检测结果包括: The method according to claim 3, wherein the SIP server sends a detection to the first session, and obtaining a detection result includes:
所述 SIP服务器向所述发送方发送携带有所述第一会话的标识信息 的消息;  Sending, by the SIP server, a message carrying the identifier information of the first session to the sender;
所述发送方检测所述第一会话是否存在, 并将所述检测结果发送给 所述 SIP 艮务器;  The sender detects whether the first session exists, and sends the detection result to the SIP server;
所述 SIP服务器获得所述检测结果。 The SIP server obtains the detection result.
5. 根据权利要求 4所述的方法, 其中, 所述 SIP服务器根据所述检测结果 确定是否建立所述业务包括: The method according to claim 4, wherein the determining, by the SIP server, whether the service is established according to the detection result comprises:
所述 SIP 艮务器在所述第一会话不存在的情况下, 更新其本地资源 信息状态, 释放与所述第一会话对应的资源, 并且建立所述呼叫业务; 所述 SIP 艮务器在所述第一会话存在的情况下, 向所述发送方发送 用于指示正忙的消息。  The SIP server updates its local resource information status, releases resources corresponding to the first session, and establishes the call service if the first session does not exist; the SIP server is In the case where the first session exists, a message indicating that the busy is busy is sent to the sender.
6. 根据权利要求 3所述的方法, 其中, 在所述 SIP服务器接收到用于建立 呼叫业务的消息之后, 还包括: 所述 SIP月艮务器向所述发送方发送用于向所述发送方指示所述 SIP 服务器正在尝试建立所述呼叫业务的消息。 The method according to claim 3, wherein, after the SIP server receives the message for establishing a call service, the method further includes: sending, by the SIP server, the sender to the sender The sender indicates that the SIP server is attempting to establish a message for the call service.
7. —种会话检测装置, 包括: 7. A session detection device, comprising:
第一确定模块, 设置为在接收到用于请求建立业务的消息之后, 确 定是否需要发起用户状态检测;  a first determining module, configured to determine whether a user state detection needs to be initiated after receiving a message for requesting to establish a service;
检测发起模块, 设置为在需要发起用户状态检测的情况下, 对所述 消息的发送方之前在所述 SIP服务器上存在的第一会话发起检测, 并获 得检测结果;  The detecting and initiating module is configured to initiate detection on the first session existing on the SIP server by the sender of the message, and obtain the detection result, if the user state detection needs to be initiated;
第二确定模块, 设置为根据所述检测结果确定是否建立所述业务。  The second determining module is configured to determine whether to establish the service according to the detection result.
8. 根据权利要求 7所述的装置, 其中, 所述检测发起模块包括: The device according to claim 7, wherein the detection initiation module comprises:
发送模块, 设置为向所述发送方发送携带有所述第一会话的标识信 息的消息, 指示所述发送方对所述第一会话进行检测;  a sending module, configured to send, to the sender, a message carrying the identifier information of the first session, to instruct the sender to detect the first session;
接收模块, 设置为接收所述发送方在进行检测之后发送的所述检测 结果。  The receiving module is configured to receive the detection result sent by the sender after performing the detection.
9. 根据权利要求 7或 8所述的装置, 其中, 9. The device according to claim 7 or 8, wherein
在所述 SIP服务器接收到用于建立呼叫业务的消息的情况下, 所述 检测发起模块, 设置为查询本地资源, 在确定所述消息的发送方处于另 一个会话的情况下, 发起用户状态检测。  In the case that the SIP server receives a message for establishing a call service, the detection initiation module is configured to query a local resource, and initiate a user state detection if it is determined that the sender of the message is in another session. .
10. 一种 SIP服务器, 包括权利要求 7或 8所述的会话检测装置。 A SIP server comprising the session detecting apparatus of claim 7 or 8.
PCT/CN2011/075940 2010-12-02 2011-06-20 Session detection method, device and session initiation protocol server WO2012071882A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010571295.XA CN102487341B (en) 2010-12-02 2010-12-02 Talk detection method, device and session initial protocol server
CN201010571295.X 2010-12-02

Publications (1)

Publication Number Publication Date
WO2012071882A1 true WO2012071882A1 (en) 2012-06-07

Family

ID=46152797

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/075940 WO2012071882A1 (en) 2010-12-02 2011-06-20 Session detection method, device and session initiation protocol server

Country Status (2)

Country Link
CN (1) CN102487341B (en)
WO (1) WO2012071882A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179688A (en) * 2013-03-22 2013-06-26 北京久华信信息技术有限公司 Method for realizing resource release of wireless communication system based on SIP (Session Initiation Protocol)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954373B (en) * 2015-06-12 2019-01-18 广东天波信息技术股份有限公司 Unified Communication active SIP method of calling and system
CN111327562B (en) * 2018-12-13 2023-03-24 海能达通信股份有限公司 Session detection method, session system and storage medium
CN114679435B (en) * 2022-05-27 2022-08-30 武汉中科通达高新技术股份有限公司 Session management system, method, computer device and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060159245A1 (en) * 2005-01-19 2006-07-20 Yong-Shin Kim Testing user terminal status
CN1822599A (en) * 2005-02-16 2006-08-23 中兴通讯股份有限公司 Detecting method of terminal online state of meeting sponsered protocol server
CN1859361A (en) * 2005-05-08 2006-11-08 中兴通讯股份有限公司 Method for detecting terminal on-line state of meeting sponsored protocol server
CN101309277A (en) * 2008-06-19 2008-11-19 华为技术有限公司 SIP terminal, method and system for uploading state, method and apparatus for processing the uploaded state

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060159245A1 (en) * 2005-01-19 2006-07-20 Yong-Shin Kim Testing user terminal status
CN1822599A (en) * 2005-02-16 2006-08-23 中兴通讯股份有限公司 Detecting method of terminal online state of meeting sponsered protocol server
CN1859361A (en) * 2005-05-08 2006-11-08 中兴通讯股份有限公司 Method for detecting terminal on-line state of meeting sponsored protocol server
CN101309277A (en) * 2008-06-19 2008-11-19 华为技术有限公司 SIP terminal, method and system for uploading state, method and apparatus for processing the uploaded state

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179688A (en) * 2013-03-22 2013-06-26 北京久华信信息技术有限公司 Method for realizing resource release of wireless communication system based on SIP (Session Initiation Protocol)
CN103179688B (en) * 2013-03-22 2015-11-18 北京久华信信息技术有限公司 The method of wireless communication system resource release is realized based on Session Initiation Protocol

Also Published As

Publication number Publication date
CN102487341A (en) 2012-06-06
CN102487341B (en) 2015-10-21

Similar Documents

Publication Publication Date Title
JP4386905B2 (en) Efficient load balancing and heartbeat mechanism for telecommunications endpoints
JP5173607B2 (en) Communications system
US8374079B2 (en) Proxy server, communication system, communication method and program
US20060182255A1 (en) Resilient regisration with a call manager
CN102075545B (en) Registration instruction method and registration method for client and equipment thereof
CN101997850B (en) Call management method and device for IP (Internet Protocol) multimedia subsystem
WO2012071882A1 (en) Session detection method, device and session initiation protocol server
WO2007079647A1 (en) A method, apparatus and system for network level backup of sip application system
JP5841262B2 (en) SIP proxy failover method
WO2015172629A1 (en) Message transmission method, apparatus and system
CN102348291B (en) Based on session establishing method and the system of dialogue association identification
JP2010239216A (en) Call control method
CN110602339A (en) Fault detection method, system and storage medium based on voice gateway
WO2010115322A1 (en) Method and system for joining group session with pre-defined joining
EP2283628A1 (en) Ims performance monitoring
US9407671B2 (en) Acknowledgement message monitoring
JP4905325B2 (en) Content providing system and monitoring server
US8346269B2 (en) Mobile network system and guidance message providing method
US20070091870A1 (en) Method and system for releasing a TIF session for a SIP agent when a call process interface handler is interrupted
WO2016206299A1 (en) Session keep-alive method and device
WO2008080334A1 (en) Back to back user agent and the method for transmitting information thereof
JP4561791B2 (en) SIP server, control method thereof, and IP telephone system
JP2014007617A (en) Call control server, communication system, and call control method
WO2014166442A1 (en) Conference release method, device and system, and storage medium
CN102083052B (en) Member presence information subscription control method, system and device

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: 11845434

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11845434

Country of ref document: EP

Kind code of ref document: A1