发明内容
有鉴于此,本发明的一个目的在于提供一种结束聊天会话的方法及***,以解决用户不能调用电信能力结束聊天会话的问题。
为了解决上述问题,本发明提供了一种结束聊天会话的方法,该方法基于电信网络域提供的表象化状态转变(REST)应用编程接口(API),包括:
客户端向服务器发送结束聊天会话请求消息,消息中携带使用的动作和资源的信息,所述资源用资源统一资源位置符(URL)标示;
服务器收到所述结束聊天会话请求消息后,结束所述聊天会话,向客户端返回结束聊天会话响应消息。
较佳地,
使用的所述动作为超文本转换协议(HTTP)的布置(POST)动作,标示所述资源的HTTP URL中包含参与者用户标示符和聊天会话标示符中的至少一个,所述消息中还包含表示要结束聊天会话的结束参数。
较佳地,
使用的所述动作为HTTP的删除(DELETE)动作,使用的所述资源用HTTPURL标示,所述HTTP URL中包含参与者用户标示符和聊天会话标示符中的至少一个。
较佳地,
所述结束聊天会话响应消息中包含以下信息中的至少一种:所述聊天会话的资源URL、所述聊天会话的聊天会话标示符、所述聊天会话的参与者信息、所述聊天会话的聊天状态、所述聊天会话的聊天模式以及所述聊天会话的主题。
较佳地,
所述聊天会话的参与者信息包含以下信息中的至少一种:参与者地址、参与者姓名、参与者状态、参与者标示符、参与者的启动时间、参与者的参与时长、参与者的结束原因和参与者的资源URL。
较佳地,
所述客户端发送结束聊天会话请求消息之前,按以下方式生成所述结束聊天会话请求消息:
以HTTP的布置(POST)动作为使用的动作,以结束聊天会话为使用的资源,生成消息头,其中,标示所述资源的资源ULR中包含源端参与者用户标示符和/或聊天会话标示符;
根据结束参数的表示“结束”的取值,生成结束参数的数据结构,作为消息体;
根据所述消息头和消息体生成结束聊天会话请求消息;
所述服务器结束聊天会话成功,返回结束聊天会话响应消息之前,按以下方式生成所述结束聊天会话响应消息:
根据HTTP表示“无内容(No Content)”的响应符,生成消息头;
根据所述消息头生成结束聊天会话响应消息。
较佳地,
所述客户端发送结束聊天会话请求消息之前,按以下方式生成所述结束聊天会话请求消息:
使用HTTP的删除(Delete)动作和请求结束的聊天会话的资源,生成消息头,其中,标示所述资源的HTTP ULR中包含源端参与者用户标示符和/或聊天会话标示符;
根据所述消息头生成结束聊天会话请求消息。
较佳地,
所述服务器结束聊天会话成功,返回结束聊天会话响应消息之前,按以下方式生成所述结束聊天会话响应消息:
根据HTTP表示“成功(OK)”的响应符生成消息头;
对所述聊天会话的每一个参与者,根据该参与者的参与者信息生成一个聊天会话参与者信息的数据结构;并根据生成的所有聊天会话参与者信息的数据结构,以及所述聊天会话的聊天状态、聊天模式、主题和资源URL中的至少一个,生成一个聊天会话信息的数据结构,作为消息体;
根据所述消息头和消息体生成结束聊天会话响应消息。
相应地,本发明提供的结束聊天会话的***,服务器和客户端基于电信网络域提供的表象化状态转变(REST)应用编程接口(API)交互,该***包括:
客户端中的消息生成装置,用于生成结束聊天会话请求消息;
客户端中的消息发送装置,用于向服务器发送所述结束聊天会话请求消息;
服务器中的消息接收和处理装置,用于在收到所述结束聊天会话请求消息后进行解析和处理,结束所述聊天会话;
服务器中的消息生成装置,用于生成结束聊天会话响应消息;
服务器中的消息发送装置,用于向所述客户端返回所述结束聊天会话响应消息。
较佳地,
所述客户端中的消息生成装置又包括:
消息头生成子装置,用于使用HTTP的布置(POST)动作和创建的结束聊天会话的资源,生成消息头,其中,标示所述资源的HTTP ULR中包含源端参与者用户标示符和/或聊天会话标示符;
消息体生成子装置,用于根据结束参数的表示“结束”的取值,生成结束参数的数据结构,作为消息体;
消息生成子装置,用于根据所述消息头和消息体生成所述结束聊天会话请求消息;
所述服务器中的消息生成装置又包括:
消息头生成子装置,用于根据HTTP表示“无内容(No Content)”的响应符,生成消息头;
消息生成子装置,用于根据所述消息头生成所述结束聊天会话响应消息。
较佳地,
所述客户端中的消息生成装置又包括:
消息头生成子装置,用于使用HTTP的删除(Delete)动作和请求结束的聊天会话的资源,生成消息头,其中,标示所述资源的HTTP ULR中包含源端参与者用户标示符和/或聊天会话标示符;
消息生成子装置,用于根据所述消息头生成结束聊天会话请求消息;
所述服务器中的消息生成装置又包括:
消息头生成子装置,用于根据HTTP表示“成功”的响应符生成消息头;
消息体生成子装置,用于根据所述聊天会话的每一个参与者的参与者信息,生成一个聊天会话参与者信息的数据结构;并根据生成的所有聊天会话参与者信息的数据结构,以及所述聊天会话的聊天状态、聊天模式、主题和资源URL中的至少一个,生成一个聊天会话信息的数据结构,作为消息体;
消息生成子装置,用于根据所述消息头和消息体生成所述结束聊天会话响应消息。
基于上述方案,Web开发商、第三方开发者或业务提供商等用户可以通过客户端,使用REST API访问调用电信运营商网络域中的电信能力,对服务器进行结束聊天会话的相关控制。
本发明的另一个目的在于提供一种获取聊天会话信息的方法及***,以解决用户不能调用电信能力获取聊天会话信息的问题。
为了解决上述问题,本发明提供了一种获取聊天会话信息的方法,该方法基于电信网络域提供的表象化状态转变(REST)应用编程接口(API)实现,包括:
客户端以参与的聊天会话为使用的资源,向服务器发送获取聊天会话信息请求消息,消息中携带标示所述资源的超文本转换协议(HTTP)统一资源位置符(URL);
服务器收到所述获取聊天会话信息请求消息后,获取所述聊天会话的信息,向客户端返回获取聊天会话信息响应消息。
较佳地,
所述获取聊天会话信息请求消息中还包含使用的动作的信息,所述动作为HTTP的获取(GET)动作,标示所述资源的HTTP URL包含源端参与者用户标示符和聊天会话标示符中的至少一个。
较佳地,
所述获取聊天会话信息响应消息中携带以下聊天会话信息中的至少一种:聊天会话的参与者信息、聊天会话状态、聊天会话模式、聊天会话的主题、聊天会话标示符和聊天会话的资源URL。
较佳地,
所述聊天会话的参与者信息包括以下信息中的至少一种:参与者地址、参与者姓名、参与者状态、参与者标示符、参与者的启动时间、参与者的资源URL、源端参与者的消息会话转播协议(MSRP)客户端路径信息和源端参与者的MSRP服务器路径信息。
较佳地,
所述客户端发送获取聊天会话信息请求消息之前,按以下方式生成所述获取聊天会话信息请求消息:
以HTTP的获取(GET)为使用的动作,以源端参与者参与的聊天会话为使用的资源,根据使用的所述动作和资源生成消息头,所述资源用HTTP ULR标示,所述HTTP ULR包含源端参与者用户标示符和/或聊天会话标示符;
根据所述消息头生成获取聊天会话信息请求消息。
较佳地,
所述服务器获取聊天会话信息成功,返回获取聊天会话信息响应消息之前,按以下方式生成所述获取聊天会话信息响应消息:
根据HTTP表示“成功”的响应符生成消息头;
对所述聊天会话的每一个参与者,根据该参与者的参与者信息生成一个聊天会话参与者信息的数据结构;并根据生成的所有聊天会话参与者信息的数据结构,以及所述聊天会话的聊天状态、聊天模式、主题和资源URL中的至少一个,生成一个聊天会话信息的数据结构,作为消息体;
根据所述消息头和消息体生成获取聊天会话信息响应消息。
相应地,本发明提供的获取聊天会话信息的***,服务器和客户端基于电信网络域提供的表象化状态转变(REST)应用编程接口(API)交互,该***包括:
客户端中的消息生成装置,用于生成获取聊天会话信息请求消息;
客户端中的消息发送装置,用于向服务器发送所述获取聊天会话信息请求消息;
服务器中的消息接收和处理装置,用于在收到获取聊天会话信息请求消息后进行解析,获取相应聊天会话的信息;
服务器中的消息生成装置,用于生成获取聊天会话信息响应消息;
服务器中的消息发送装置,用于向所述客户端返回所述获取聊天会话信息响应消息。
较佳地,
所述客户端中的消息生成装置又包括:
消息头生成子装置,用于以HTTP的获取(GET)为使用的动作,以源端参与者参与的聊天会话为使用的资源,根据使用的所述动作和资源生成消息头,标示所述资源的HTTP ULR包含源端参与者用户标示符和/或聊天会话标示符;
消息生成子装置,用于根据所述消息头生成获取聊天会话信息请求消息;
所述服务器中的消息生成装置又包括:
消息头生成子装置,用于根据HTTP表示“成功”的响应符生成消息头;
消息体生成子装置,用于对所述聊天会话的每一个参与者,根据该参与者的参与者信息生成一个聊天会话参与者信息的数据结构;并根据生成的所有聊天会话参与者信息的数据结构,以及所述聊天会话的聊天状态、聊天模式、主题和资源URL中的至少一个,生成一个聊天会话信息的数据结构,作为消息体;
消息生成子装置,用于根据所述消息头和消息体生成获取聊天会话信息响应消息。
基于上述方案,Web开发商、第三方开发者或业务提供商等用户可以通过客户端,使用REST API访问调用电信网络域中的电信能力,对服务器进行获取聊天会话信息的相关控制。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例一
图1示出了本实施例开放即时消息业务电信能力接口的***结构。如图所示,电信网络域包含IMS核心网和业务层,业务层包含短信业务服务器、彩信业务服务器、即时消息业务服务器(如RCS即时消息业务引擎)以及其他业务服务器等各种业务网络设备,但是,本发明用于即时消息业务的服务器也可以同时用于其他多种业务,并不局限于专用的服务器。这些服务器向Web开发商、第三方开发者、业务提供商等提供开放的REST API,Web开发商、第三方开发者、业务提供商等用户的客户端可以使用REST API访问电信网络域,调用电信网络域的RCS业务能力和IMS网络能力,实现电信业务的Web 2.0Widget轻量级应用与Mashup的开发。
本实施例中,Web开发商、第三方开发者、业务提供商等用户开发的应用程序可以通过客户端,使用本实施例提供的REST API对服务器进行结束聊天会话的相关控制。客户端可以位于业务提供商的网络设备中,也可以位于终端用户设备如移动终端、固定终端等中。本发明适用的用户也不限于上述类型,可以是基于互联网服务、WEB服务的任何有控制权限的即时消息参与者。
本实施例中REST API使用的资源、动作和数据结构的相关定义如下:
资源统一资源位置符链接中,serverRoot表示服务器路径,apiVersion表示API版本,Chat表示聊天,Originating表示源端,OriginatingID表示源端参与者用户标示符,如可以是源端参与者地址。
在聊天会话中发起请求(结束聊天会话请求或获取聊天会话信息请求)的参与者为源端参与者。
上述REST API使用的数据结构类型定义如下:
数据结构类型Type:ChatSessionInformation聊天会话信息
其中,聊天会话的资源URL可以包含源端参与者用户标示符和聊天会话标示符中的至少一种。
数据结构类型Type:ChatParticipantInformation聊天会话参与者信息
其中,聊天会话参与者的资源URL包含源端参与者用户标示符、聊天会话标示符和参与者标示符中的至少一种。
数据结构类型Type:TerminationParameters结束参数
Enumeration枚举值 |
Description描述 |
Termination结束 |
xsd:boolean布尔值 |
枚举Enumeration:ChatStatus聊天会话状态
Enumeration枚举值 |
Description描述 |
ChatBuilt |
The chat is built and used聊天会话已建立并使用中 |
ChatTerminated |
The chat is terminated聊天会话已结束 |
ChatInviting |
The chat is inviting聊天会话邀请进行中 |
枚举Enumeration:ChatMode聊天模式
枚举Enumeration:ChatParticipantStatus聊天会话参与者状态
枚举Enumeration:ChatParticipantTerminationCause聊天会话参与者结束原因
图2为本实施例基于REST API结束聊天会话的流程图,包括以下步骤:
步骤S201:客户端向服务器发送结束聊天会话请求消息(POST动作),携带使用的动作和资源的信息,所述资源用资源URL标示;
本实施例的结束聊天会话请求消息中,消息头中包括使用的动作和资源,消息体中包括结束参数的数据结构。
客户端可以通过以下方式生成该消息:
以HTTP的布置(POST)动作为使用的动作,以结束聊天会话为使用的资源,生成消息头;其中,所述资源的资源URL包含参与者用户标示符(如源端参与者标示符)和聊天会话标示符中的至少一个;
按照XML格式,根据结束参数的表示“结束”的取值,生成结束参数的数据结构,作为消息体;
根据所述消息头和消息体生成结束聊天会话请求消息。
各实施例涉及的几个消息中的消息体,也可以采用XML外的其他专用格式如Java脚本对象符号(JSON)。
下面用一个示例来说明一下生成的结束聊天会话请求消息。
假定源端参与者为用户Max Muster(SIP:user1example.com),该用户结束聊天会话,聊天会话标示符为{chatSessionId1}。
以下为结束聊天会话请求消息内容的示例及说明:
POST http://{serverRoot}/{apiVersion}/Chat/Originating/SIP:user1example.com/chatSessions/
{chatSessionId1}/terminate HI″IP/1.1\\动作+资源URL
Content-Type:application/xml
Accept:application/xml
Host:example.com:80
<?xml version=″1.0″encoding=″UTF-8″?>
<chat:terminationParameters xmlns:chat=″urnoma:xml:rest:chat:1″>\\结束参数数据结构的开始
<Termination>true</Termination>
</chat:terminationParameters>\\结束参数数据结构的结束
在本申请给出的若干消息内容的示例中,对REST API中定义的动作、资源、数据结构和部分信息作了说明,其他内容如数据结构中定义的信息,消息头中的其他内容等,请参照上文和Web中的规定。
步骤S202:服务器收到结束聊天会话请求消息后,结束所述聊天会话,向客户端返回结束聊天会话响应消息。
本实施例中,因为使用POST动作,服务器结束聊天会话会继续保留所述聊天会话的信息。
结束聊天会话响应消息中,消息头包括HTTP的响应符,可以不携带消息体。
结束聊天会话成功时,服务器可以通过以下方式来生成该消息:
根据HTTP表示“无内容(No Cotent)”的响应符,生成消息头;
根据所述消息头生成结束聊天会话响应消息。
以下为结束聊天会话成功时,结束聊天会话响应消息内容的示例:
HTTP/1.1204No Content
Date:Mon,28Jun 201017:51:59GMT
实施例二
本实施例是基于电信网络域提供的REST API实现结束聊天会话的另一实施例,所基于的***与实施例一相同,资源、动作和数据结构的相关定义请参照实施例一中的说明。
与实施例一不同的是,本实施例结束聊天会话请求中使用的动作为Delete,在消息内容上也有一定的差别。
如图3所示,本实施例的流程包括以下步骤:
步骤S301:客户端向服务器发送结束聊天会话请求消息(DELETE动作),携带使用的动作和资源的信息,所述资源用资源URL标示;
本实施例的结束聊天会话请求消息中,消息头中包括使用的动作和资源,可以不携带消息体。
客户端可以通过以下方式生成该消息:
以HTTP的删除(DELETE)动作为使用的动作,以请求结束的聊天会话为使用的资源,生成消息头;其中,所述资源的资源URL包含参与者用户标示符(如源端参与者标示符)和聊天会话标示符中的至少一个;
根据所述消息头生成结束聊天会话请求消息。
下面用一个示例来说明一下本实施例生成的结束聊天会话请求消息。
假定源端参与者为用户Peter E.Xample(SIP:user2example.com),该用户结束聊天会话,聊天会话标示符为{chatSessionId1}。
以下为结束聊天会话请求消息内容的示例:
DELETE http://{serverRoot}/{apiVersion}/Chat/Originating/SIP:user2example.com/chatSessions/
{chatSessionId1}HTTP/1.1\\动作+资源URL
Accept:application/xml
Host:example.com:80
步骤320:服务器收到结束聊天会话请求消息后,结束所述聊天会话,向客户端返回结束聊天会话响应消息。
本实施例中,因为使用DELETE动作,服务器结束聊天会话会删除所述聊天会话的信息。
结束聊天会话响应消息中,消息头包括HTTP的响应符,消息体中携带聊天会话信息的数据结构。
服务器可以通过以下方式来生成该消息:
根据HTTP表示“成功”的响应符,生成消息头;
按照XML格式,对结束的聊天会话的每一个参与者,根据该参与者的信息如参与者地址、参与者姓名、参与者状态、启动时间、参与时长、结束原因和资源URL中的至少一个,生成一个聊天会话参与者信息的数据结构;然后根据生成的所有聊天会话参与者信息的数据结构,以及结束的聊天会话的聊天状态、聊天模式、主题和资源URL中的至少一个,生成一个聊天会话信息的数据结构,作为消息体;
根据所述消息头和消息体生成结束聊天会话响应消息。
以下为结束聊天会话成功时,结束聊天会话响应消息内容的示例和说明:
假定聊天会话标示符为{chatSessionId1},聊天会话的状态为会话已结束;用户Max Muster(SIP:user1example.com)和Peter E.Xample(SIP:user2example.com)的状态为聊天会话参与者已终止,结束原因是聊天会话参与者结束聊天。
HTTP/1.1200OK
Content-Type:application/xml
Content-Length:1234
Date:Mon,28Jun 201017:51:59GMT
<?xml version=″1.0″encoding=″UTF-8″?>
<chat:ChatSessionInformation xmlns:chat=″urnoma:xml:rest:chat:1″>\\聊天会话信息数据结构的开始
<participant>\\聊天会话参与者信息(其中一个)数据结构的开始
<participantAddress>SIP:user1example.com</participantAddress>
<participantName>Max Muster</participantName>
<participantStatus>ChatParticipantTermmated</participantStatus>
<startTime>2010-06-28T17:50:51</startTime>
<duration>135</duration>
<termmationCause>ChatParticipantEndChat</termmationCause>
<resourceURL>
http://{serverRoot}/{apiVersion}/Chat/Originating/SIP:user2example.com/chatSessions/{chatSessionId1}/participants/{participantId1}\\聊天会话参与者的资源URL
</resourceURL>
</participant>\\聊天会话参与者信息数据结构的结束
<participant>\\聊天会话参与者信息(另一个)数据结构的开始
<participantAddress>SIP:user2example.com</participantAddress>
<participantName>Peter E.Xample</participantName>
<participantStatus>ChatParticipantTermmated</participantStatus>
<startTime>2010-06-28T17:50:51</startTime>
<duration>135</duration>
<terminationCause>ChatParticipantEndChat</terminationCause>
<resourceURL>
http://{serverRoot}/{apiVersion}/Chat/Originating/SIP:user2example.com/chatSessions/{chatSessionId1}/participants/{participantId2}\\聊天会话参与者的资源URL
</resourceURL>
</participant>\\聊天会话参与者信息(另一个)数据结构的开始
<chatStatus>ChatTerminated</chatStatus>\\聊天状态
<ChatMode>1-1chat</ChatMode>\\聊聊天模式
<subject>example1</subject>\\主题
<clientCorrelator>104567</clientCorrelator>\\客户端相关标签
<resourceURL>http://{serverRoot}/{apiVersion}/Chat/Originating/SIP:user2example.com/chatSessions/{chatSessionId1}</resourceURL>\\聊天会话的资源URL
</chat:ChatSessionInformation>\\聊天会话信息数据结构的结束
实施例三
本实施例涉及基于电信网络域提供的REST API获取聊天会话信息的相关控制。所基于的***与实施例一相同,资源、动作和数据结构的相关定义请参照实施例一中的说明。
图4为本实施例基于REST API获取聊天会话信息的流程图,包括以下步骤:
步骤S401:客户端以源端参与者参与的聊天会话为使用的资源,向服务器发送获取聊天会话信息请求消息,携带标示所述资源的资源URL;
本步骤中,源端参与者请求获取所参与的聊天会话的信息。
获取聊天会话信息请求消息的消息头包括使用的动作和资源,可以不携带消息体。
客户端可以通过以下方式来生成该消息:
根据获取聊天会话信息请求使用的资源和动作生成消息头,其中,所述动作为HTTP的GET(获取)动作,所述资源的资源URL包含源端参与者用户标示符和聊天会话标示符中的至少一个;
根据所述消息头生成获取聊天会话信息请求消息。
下面用一个示例来说明一下生成的获取聊天会话信息请求消息。
假定源端参与者为用户Max Muster(SIP:user1example.com),该请求为获取该用户的聊天会话{chatSessionId1}。
以下为获取聊天会话信息请求消息内容的示例及说明:
GET http://{serverRoot}/{apiVersion}/Chat/Originating/SIP:user1example.com/chatSessions/{chatSessionId1}HTTP/1.1
Accept:application/xml
Host:example.com:80
步骤S402:服务器收到获取聊天会话信息请求消息后,获取所述聊天会话的信息,向客户端返回获取聊天会话信息响应消息。
获取聊天会话信息成功时,获取聊天会话信息响应消息的消息头包括HTTP的响应符,消息体中包括聊天会话参与者列表信息的数据结构。可以通过以下方式来生成:
根据HTTP表示“成功”的响应符生成消息头;
按照XML格式,对所述聊天会话的每一个参与者,根据该参与者的信息如参与者地址、参与者姓名、参与者状态、启动时间和资源URL中的至少一种,生成一个聊天会话参与者信息的数据结构;对于源端参与者,上述参与者的信息还可以包括参与者的MSRP客户端路径信息和MSRP服务器路径信息;
按照XML格式,根据生成的所有聊天会话参与者信息的数据结构,以及所述聊天会话的聊天状态、聊天模式、主题和资源URL中的至少一个,生成一个聊天会话信息的数据结构,作为消息体;
根据所述消息头和消息体生成获取聊天会话信息响应消息。
假定,用户Max Muster(SIP:user1example.com)获取聊天会话信息成功,聊天会话标示符为{chatSessionId1},聊天会话的状态为会话已建立并使用中,聊天会话的模式为一对一聊天会话,主题为example1;用户MaxMuster(SIP:user1example.com)的状态为聊天会话参与者已连接,标示符为{participantId1};用户Peter E.Xample(SIP:user2example.com)的状态为聊天会话参与者已连接,标示符为{participantId2}。用户本人的MSRP路径信息返回。
以下为获取聊天会话信息成功时,获取聊天会话信息响应消息内容的示例,其中聊天会话信息的数据结构可以参见上文的说明:
HTTP/1.1200OK
Content-Type:application/xml
Content-Length:1234
Date:Mon,28Jun 201017:51:59GMT
<?xml version=″1.0″encoding=″UTF-8″?>
<chat:ChatSessionInformation xmlns:chat=″urn:oma:xml:rest:chat:1″>
<participant>
<participantAddress>SIP:user1example.com</participantAddress>
<participantName>Max Muster</participantName>
<participantStatus>ChatParticipantConnected</participantStatus>
<startTime>2010-06-28T17:50:51</startTime>
<MSRPClientPath>msrp://Max Muster.example.com:7777/iau39soe2843z;tcp</MSRPClientPath>
<MSRPServerPath>msrp://Server.example.com:4000/amFDknQZ7OIi;tcp</MSRPServerPath>
<resourceURL>
http://{serverRoot}/{apiVersion}/Chat/Originating/SIP:user1example.com/chatSessions/{chatSessionId1}/participants/{participantId1}
</resourceURL>
</participant>
<participant>
<participantAddress>SIP:user2example.com</participantAddress>
<participantName>Peter E.Xample</participantName>
<participantStatus>ChatParticipantConnected</participantStatus>
<startTime>2010-06-28T17:50:51</startTime>
<resourceURL>
http://{serverRoot}/{apiVersion}/Chat/Originating/SIP:user1example.com/chatSessions/{chatSessionId1}/participants/{participantId2}
</resourceURL>
</participant>
<chatStatus>ChatBuilt</chatStatus>
<ChatMode>1-1chat</ChatMode>
<subject>example1</subject>
<clientCorrelator>104367</clientCorrelator>
<resourceURL>http://{serverRoot}/{apiVersion}/Chat/Originating/SIP:user1example.com/chatSessions/{chatSessionId1}</resourceURL>
</chat:ChatSessionInformation>
图5为综合上述实施例的,客户端和服务器之间实现结束聊天会话、获取聊天会话信息的操作示意图。
聊天会话建立成功,聊天会话进行中;之后,用户通过客户端请求结束聊天会话,包括以下步骤:
客户端生成结束聊天会话请求消息;
客户端向服务器发送结束聊天会话请求消息;
服务器收到结束聊天会话请求消息后进行解析和处理,结束聊天会话;
服务器生成结束聊天会话响应消息;
服务器向所述客户端返回结束聊天会话响应消息。
聊天会话建立成功,聊天会话进行中;之后,用户通过客户端请求获取聊天会话信息,包括以下步骤:
客户端生成获取聊天会话信息请求消息;
客户端向服务器发送获取聊天会话信息请求消息;
服务器收到获取聊天会话信息请求消息后进行解析和处理,获取相关的聊天会话的信息;
服务器生成获取聊天会话信息响应消息;
服务器向客户端返回获取聊天会话信息响应消息。
上述各个消息的内容和生成方法请参见上文中的描述,不再重复。
上述方案中,具体说明了结束聊天会话和获取聊天会话信息的开放电信能力接口,各个消息的内容即可以满足即时消息业务的需要,又可以适用于现有的开放电信能力的相关规范如OMA中的相关规范、IEFT即时消息协议等。大大方便了Web开发商、第三方开发者或业务提供商等以REST风格的API灵活地对服务器进行结束聊天会话、获取聊天会话信息的相关控制。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。