结束文件传输会话和获取文件传输会话信息的方法及系统 【技术领域】
本发明涉及文件传输, 尤其涉及一种结束文件传输会话和获取会话信息的方法及系统。 背景技术 面对信息通信产业周期的演进以及消费者模式的变迁大潮, 面对互联网的骨灰级 创新模式以及新媒体的广泛传播、 甚至是 IT 厂商、 内容整合者与消费电子厂商向运营领域 的渗透, 电信运营商正在采取一种积极的融合、 开放的态度, 努力尝试开放其电信能力, 集 思广益, 发挥第三方企业与个人的创新能力, 打造丰富的增值应用 ; 另一方面, 借用这种电 信服务的二次分发渠道, 促进基本电信服务的销售。尤其是终端与软件厂商在在线应用商 店市场烽烟四起之时, 运营商必须要利用电信能力 ( 可靠的通信服务 ; 用户数据 ; 情境 ; 认 证; 计费等 ) 打造一条新的差异化的道路。
1998 年 Parlay 组织成立致力于为电话网络开发 API( 应用编程接口 )。借助这些 API, 第三方机构可以创建自己的应用。Parlay 组织在这方面做了统一的标准化工作, 制定 了基于 CORBA( 公共对象资源代理架构 ) 的 Parlay/OSA( 开放服务架构 )API, 对各种电信能 力的使用进行编程方面的统一工作。另外 Parlay/OSA API 也获得了 ETSI( 欧洲电信标准 协会 ) 与 3GPP( 第三代移动通信合作伙伴计划标准组织 ) 共同协助。在 3GPP 中, Parlay 被 当成开放服务架构 (OSA) 的一部分。Parlay X 是 Parlay、 3GPP 和 OMA( 开放移动联盟 ) 颁 发的基于 SOAP( 简单对象访问协议 )Web 服务的 API 标准规范。Parlay REST( 面向 Parlay X 的 RESTful 约束 ), 是 OMA 最新颁发的一套 API 标准规范, 旨在为 OMA 中的 Parlay X Web 服务规范 ( 子 ) 集指定 REST Web 服务约束。
在 Web 2.0 领域, 支持 Ajax( 异步 JavaScript 脚本和 XML 可扩展标签语言 ) 技术 的 API 相对应用比较广泛, 风格为 REST(REpresentational StateTransfer, 表象化状态转 变 )。REST 不是一种新技术, 也不是一种标准, 而是一组设计原则 ; 与基于 SOAP 的 Web 服务 ( 如 Parlay X) 相比, REST API 更加轻量级, 具有更优良的开发者友好性, 便于 Web 应用的 开发和 Mashup。因此越来越多的 Web 服务开始采用 REST 风格设计和实现。例如, Amazon. com 提供接近 REST 风格的 Web 服务进行图书查找 ; 雅虎提供的 Web 服务也是 REST 风格的 ( 维基百科 )。
GSMA( 全球移动系统协会 )RCS( 富通信套件 ) 是基于现有 IMS(IP 多媒体子系统 ) 网络设施和开发协议搭建出来的提供可互操作的丰富通信功能的业务包, 主要包括增强型 地址簿、 增强型呼叫、 增强型融合消息等业务, 使用户可以对自己的呈现 ( 如个人图片、 留 言、 推荐链接以及状态 ) 进行更新, 也可以在手机的通讯录中实时看到好友的呈现情况, 并 实现短信、 彩信、 聊天 ( 即时消息 )、 文件传输等多种通信需求。RCS 是包括运营商、 设备商 和手机终端厂商共同支持的统一的技术及实现标准, 因此它不但容易培养消费者较为一致 的使用习惯, 而且可以实现不同国家、 不同运营商的互联互通。后续阶段, RCS 将进一步引 入社交网络、 开放式 REST API 应用编程接口、 与互联网集成应用商店等内容。RCS REST 风
格 API 的目标用户是典型的 Web 开发商、 第三方开发者、 业务提供商, 通过 API 可以将电信 运营商的 RCS 业务能力和 IMS 网络能力开放, 更适合 Web 2.0Widget 轻量级应用与 Mashup 的开发, 迎合 Web 应用的发展趋势。
目前, 电信运营商短信、 彩信的业务能力已经可以通过 OMA( 开放移动联盟 ) 制定 的 ParlayREST2.0 协议标准开放, 而文件传输业务能力还没有制定相应的协议标准开放, 用户还不能够调用电信能力来结束文件传输会话和获取会话信息。 发明内容
有鉴于此, 本发明的一个目的在于提供一种结束文件传输会话的方法及系统, 以 解决用户不能调用电信能力结束文件传输会话的问题。
为了解决上述问题, 本发明提供了一种结束文件传输会话的方法, 该方法基于电 信网络域提供的表象化状态转变 (REST) 应用编程接口 (API) 实现, 包括 :
客户端向服务器发送结束文件传输会话请求消息, 携带使用的动作和资源的信 息, 所述资源用统一资源位置符 (URL) 标示 ;
所述服务器收到结束文件传输会话请求消息后, 结束文件传输会话, 向所述客户 端返回结束文件传输会话响应消息。 较佳地,
使用的所述动作为超文本转换协议 (HTTP) 的布置 (POST) 动作, 标示所述资源的 资源 URL 包含以下信息中的至少一种 : 请求结束文件传输会话的参与者的用户标示符和请 求结束的文件传输会话的标示符, 所述消息中还包含表示结束文件传输的结束参数。
较佳地,
使用的所述动作为 HTTP 的删除 (DELETE) 动作, 标示所述资源的资源 URL 包含以 下信息中的至少一种 : 请求结束文件传输会话的参与者的用户标示符、 请求结束的文件传 输会话的标示符。
较佳地,
所述结束文件传输会话响应消息中包含所述文件传输会话的以下信息中的至 少一种 : 参与者信息、 文件传输会话状态、 文件传输会话的标示符和文件传输会话的资源 URL, 其中, 所述参与者信息包含以下信息中的至少一种 : 参与者地址、 参与者姓名、 参与者 状态、 参与者启动时间、 参与者参与会话的时长、 参与者标示符和参与者的资源 URL。
较佳地,
客户端发送结束文件传输会话请求消息之前, 按以下方式生成所述结束文件传输 会话请求消息 :
以 HTTP 的布置 (POST) 动作为使用的动作, 以结束参与者文件传输会话为使用的 资源, 生成消息头, 标示所述资源的资源 URL 包含请求结束文件传输会话的参与者的用户 标示符和 / 或请求结束的文件传输会话的标示符 ;
根据结束参数的表示 “结束” 的取值, 生成一个结束参数的数据结构, 作为消息 体;
根据所述消息头和消息体生成所述结束文件传输会话请求消息。
较佳地,
所述服务器结束文件传输会话成功, 返回结束文件传输会话响应消息之前, 按以 下方式生成所述结束文件传输会话响应消息 :
根据 HTTP 表示 “无内容 (No Content)” 的响应符, 生成消息头 ;
根据所述消息头生成结束文件传输会话响应消息。
较佳地,
客户端发送结束文件传输会话请求消息之前, 按以下方式生成所述结束文件传输 会话请求消息 :
以 HTTP 的删除 (DELETE) 动作为使用的动作, 以参与者文件传输会话为使用的资 源, 生成消息头, 标示所述资源的资源 URL 包含请求结束文件传输会话的参与者的用户标 示符和 / 或请求结束的文件传输会话的标示符 ;
根据所述消息头生成结束文件传输会话请求消息。
较佳地,
所述服务器结束文件传输会话成功, 返回结束文件传输会话响应消息之前, 按以 下方式生成所述结束文件传输会话响应消息 :
根据 HTTP 表示 “成功 (OK)” 的响应符生成消息头 ; 对结束的文件传输会话的每一个参与者, 根据该参与者的参与者信息生成一个文 件传输会话参与者信息的数据结构 ; 并根据生成的所有文件传输会话参与者信息的数据结 构, 以及所述文件传输会话的文件传输会话状态和资源 URL 中的至少一种, 生成一个文件 传输会话信息的数据结构, 作为消息体 ;
根据所述消息头和消息体生成结束文件传输会话响应消息。
相应地, 本发明提供的结束文件传输会话的系统中, 客户端与服务器基于电信网 络域提供的表象化状态转变 (REST) 应用编程接口 (API) 交互, 该系统包括 :
客户端中的消息生成装置, 用于生成结束文件传输会话请求消息 ;
客户端中的消息发送装置, 用于向服务器发送所述结束文件传输会话请求消息 ;
服务器中的消息接收和处理装置, 用于在收到结束文件传输会话请求消息后进行 解析和处理, 结束文件传输会话 ;
服务器中的消息生成装置, 用于生成结束文件传输会话响应消息 ;
服务器中的消息发送装置, 用于向所述客户端返回结束文件传输会话响应消息。
较佳地,
所述客户端中的消息生成装置又包括 :
消息头生成子装置, 用于以 HTTP 的布置 (POST) 动作为使用的动作, 以结束参与者 文件传输会话为使用的资源, 生成消息头, 标示所述资源的资源 URL 包含请求结束文件传 输会话的参与者的用户标示符和 / 或请求结束的文件传输会话的标示符 ;
消息体生成子装置, 用于根据结束参数的表示 “结束” 的取值, 生成一个结束参数 的数据结构, 作为消息体 ;
消息生成子装置, 用于根据所述消息头和消息体生成所述结束文件传输会话请求 消息 ;
所述服务器中的消息生成装置又包括 :
消息头生成子装置, 用于根据 HTTP 表示 “无内容 (No Content)” 的响应符, 生成消
息头 ; 消息生成子装置, 用于根据所述消息头生成结束文件传输会话响应消息。
较佳地,
所述客户端中的消息生成装置又包括 :
消息头生成子装置, 用于以 HTTP 的删除 (DELETE) 动作为使用的动作, 以参与者文 件传输会话为使用的资源, 生成消息头, 标示所述资源的资源 URL 包含请求结束文件传输 会话的参与者的用户标示符和 / 或请求结束的文件传输会话的标示符 ;
消息生成子装置, 用于根据所述消息头生成结束文件传输会话请求消息 ;
所述服务器中的消息生成装置又包括 :
消息头生成子装置, 用于根据 HTTP 表示 “成功” 的响应符生成消息头 ;
消息体生成子装置, 用于对结束的文件传输会话的每一个参与者, 根据该参与者 的参与者信息生成一个文件传输会话参与者信息的数据结构 ; 并根据生成的所有文件传输 会话参与者信息的数据结构, 以及所述文件传输会话的文件传输会话状态和资源 URL 中的 至少一种, 生成一个文件传输会话信息的数据结构, 作为消息体 ;
消息生成子装置, 用于根据所述消息头和消息体生成结束文件传输会话响应消 息。
基于上述方案, Web 开发商、 第三方开发者或业务提供商等用户可以通过客户端, 使用 REST API 访问调用电信运营商网络域中的电信能力, 对服务器进行结束文件传输会话 的相关控制。
有鉴于此, 本发明的另一个目的在于提供一种获取文件传输会话信息的方法及系 统, 以解决用户不能调用电信能力获取文件传输会话信息的问题。
为了解决上述问题, 本发明提供了一种获取文件传输会话信息的方法, 该方法基 于电信网络域提供的表象化状态转变 (REST) 应用编程接口 (API) 实现, 包括 :
客户端向服务器发送获取文件传输会话信息请求消息, 携带使用的动作和资源的 信息, 所述资源用统一资源位置符 (URL) 标示 ;
所述服务器收到所述获取文件传输会话信息请求消息后, 获取请求的文件传输会 话的信息, 向所述客户端返回获取文件传输会话信息响应消息。
较佳地,
使用的所述动作为超文本转换协议 (HTTP) 的获取 (GET) 动作, 标示所述资源的资 源 URL 包含以下信息中的至少一种 : 请求获取文件传输会话信息的参与者的用户标示符和 所述文件传输会话的标示符。
较佳地,
所述获取文件传输会话信息响应消息中包含以下文件传输会话信息中的至少一 种: 参与者信息、 文件传输会话状态、 文件传输标示符、 文件选择器、 文件部署、 文件传输会 话的标示符和文件传输会话的资源 URL。
较佳地,
所述参与者信息包含以下信息中的至少一种 : 参与者地址、 参与者姓名、 参与者 状态、 参与者启动时间、 参与者的资源 URL、 参与者的标示符、 参与者的消息会话转播协议 (MSRP) 客户端路径信息、 参与者的 MSRP 服务器路径信息, 其中, MSRP 客户端路径信息和
MSRP 服务器路径信息是源端参与者才具有的信息。
较佳地,
客户端发送获取文件传输会话信息请求消息之前, 按以下方式生成所述获取文件 传输会话信息请求消息 :
以 HTTP 的获取 (GET) 动作为使用的动作, 以所述文件传输会话为使用的资源, 生 成消息头, 标示所述资源的资源 URL 包含请求获取文件传输会话信息的源端参与者的用户 标示符和 / 或所述文件传输会话的标示符 ;
根据所述消息头生成获取文件传输会话信息请求消息。
较佳地,
所述服务器获取文件传输会话信息成功时, 返回获取文件传输会话信息响应消息 之前, 按以下方式生成获取文件传输会话信息响应消息 :
根据 HTTP 表示 “成功” 的响应符生成消息头 ;
对所述文件传输会话的每一个参与者, 根据该参与者的参与者信息, 生成一个文 件传输会话参与者信息的数据结构 ; 并根据生成的所有文件传输会话参与者信息的数据结 构, 以及所述文件传输会话的文件传输会话状态、 文件传输标示符、 文件选择器、 文件部署 和资源 URL 信息中的至少一种, 生成一个文件传输会话信息的数据结构, 作为消息体 ;
根据所述消息头和消息体生成获取文件传输会话信息响应消息。
相应地, 本发明提供的获取文件传输会话信息的系统中, 客户端与服务器基于电 信网络域提供的表象化状态转变 (REST) 应用编程接口 (API) 交互, 该系统包括 :
客户端中的消息生成装置, 用于生成获取文件传输会话信息请求消息 ;
客户端中的消息发送装置, 用于向服务器发送所述获取文件传输会话信息请求消 息;
服务器中的消息接收和处理装置, 用于在收到获取文件传输会话信息请求消息后 进行解析和处理, 获取文件传输会话的信息 ;
服务器中的消息生成装置, 用于生成获取文件传输会话信息响应消息 ;
服务器中的消息发送装置, 用于向所述客户端返回获取文件传输会话信息响应消 息。
较佳地,
所述客户端中的消息生成装置又包括 :
消息头生成子装置, 用于以 HTTP 的获取 (GET) 动作为使用的动作, 以所述文件传 输会话为使用的资源, 生成消息头, 标示所述资源的资源 URL 包含请求获取文件传输会话 信息的源端参与者的用户标示符和所述文件传输会话的标示符 ;
消息生成子装置, 用于根据所述消息头生成获取文件传输会话信息请求消息 ;
所述服务器中的消息生成装置又包括 :
消息头生成子装置, 用于根据 HTTP 表示 “成功” 的响应符生成消息头 ;
消息本生成子装置, 用于对所述文件传输会话的每一个参与者, 根据该参与者的 参与者信息, 生成一个文件传输会话参与者信息的数据结构 ; 并根据生成的所有文件传输 会话参与者信息的数据结构, 以及所述文件传输会话的文件传输会话状态、 文件传输标示 符、 文件选择器、 文件部署和资源 URL 信息中的至少一种, 生成一个文件传输会话信息的数据结构, 作为消息体 ;
消息生成子装置, 用于根据所述消息头和消息体生成获取文件传输会话信息响应 消息。
基于上述方案, Web 开发商、 第三方开发者或业务提供商等用户可以通过客户端, 使用 REST API 访问调用电信网络域中的电信能力, 对服务器进行文件传输会话中获取文件 传输会话信息的相关控制。 附图说明 图 1 为本发明实施例开放电信能力接口的系统结构的示意图 ;
图 2 为本发明实施例一结束文件传输会话的方法的流程图 ;
图 3 为本发明实施例二结束文件传输会话的方法的流程图 ;
图 4 为本发明实施例三获取文件传输会话信息的方法的流程图 ;
图 5 为本发明实施例客户端和服务器之间的结束文件传输会话、 获取文件传输会 话信息的操作示意图。
具体实施方式 为使本发明的目的、 技术方案和优点更加清楚明白, 下文中将结合附图对本发明 的实施例进行详细说明。 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中 的特征可以相互任意组合。
实施例一
图 1 示出了本实施例开放文件传输业务电信能力接口的系统结构。如图所示, 电 信网络域包含 IMS 核心网和业务层, 业务层包含短信业务服务器、 彩信业务服务器、 文件传 输业务服务器 ( 如 RCS 文件传输业务引擎 ) 以及其他业务服务器等各种业务网络设备, 但 是, 本发明用于文件传输业务的服务器也可以同时用于其他多种业务, 并不局限于专用的 服务器。 这些服务器向 Web 开发商、 第三方开发者、 业务提供商等提供开放的 REST API, Web 开发商、 第三方开发者、 业务提供商等用户的客户端可以使用 REST API 访问电信网络域, 调 用电信网络域的 RCS 业务能力和 IMS 网络能力, 实现电信业务的 Web 2.0Widget 轻量级应 用与 Mashup 的开发。
本实施例中, Web 开发商、 第三方开发者、 业务提供商等用户开发的应用程序可以 通过客户端, 使用本实施例提供的 REST API 对服务器进行结束文件传输会话的相关控制。 客户端可以位于业务提供商的网络设备中, 也可以位于终端用户设备如移动终端、 固定终 端等中。本发明适用的用户也不限于上述类型, 可以是基于互联网服务、 WEB 服务的任何有 控制权限的文件传输参与者。
本实施例中 REST API 使用的资源、 动作和数据结构的相关定义如下 :
资源统一资源位置符链接中, serverRoot 表示服务器路径, apiVersion 表示 API 版本, FileTransfer 表示文件传输, Originating 表示源端, OriginatingID 表示源端参与 者用户标示符, 如采用源端参与者地址。
上述 REST API 使用的数据结构类型定义如下 :
数据结构类型 Type : FileTransferSessionInformation 文件传输会话信息
其中, 文件选择器表示一组文件传输会话描述的文件属性, 用于选择指定的文件, 包括文件名、 文件类型、 文件大小、 哈希加密码等 ; 文件部署表示建议接收文件方对该文件 的处理方式, 可以是立即显示使用 “render” , 或者保存为附件 “attachment” 。文件传输会 话的资源 URL 中可包含源端参与者的用户标示符 {OriginatingID} 和文件传输会话的标示 符 (FileTransferSessionId)。
数据结构类型 Type : FileTransferParticipantInformation 文件传输会话参与 者信息
其中, 文件传输会话参与者 ( 包括源端、 终端 ) 的资源 URL 可以包含文件传输会话 的资源 URL 和参与者标示符 (participantId)。
数据结构类型 Type : TerminationParameters 结束参数
Element 参数元素 Termination 结束
Type 类型 xsd : boolean 布尔值 Optional 是否可选 N否枚举 Enumeration : FileTransferSessionStatus 文件传输会话状态Description 描述 The FileTransfer is built and used 会话已建立并使用中FileTransferTerminated FileTransferRequesting
The FileTransfer is terminated 会话已结束 The FileTransfer is requesting 会话 ( 邀请 ) 请求进行中枚举 Enumeration : FileTransferParticipantStatus 文件传输会话参与者状态
图 2 为本实施例基于 REST API 结束文件传输会话的流程图, 包括以下步骤 :
步骤 S201 : 客户端向服务器发送结束文件传输会话请求消息 (POST), 携带使用的 动作和资源的信息, 所述资源用资源 URL 标示 ;
本实施例的结束文件传输会话请求消息中, 消息头中包括使用的动作和资源, 消 息体中包括结束参数的数据结构。
客户端可以通过以下方式生成该消息 :
以 HTTP 的布置 (POST) 动作为使用的动作, 以结束参与者 ( 如源端参与者 ) 文件 传输会话为使用的资源, 生成消息头, 标示所述资源的资源 URL 包含请求结束文件传输会
话的参与者的用户标示符和请求结束的文件传输会话的标示符中的至少一个 ;
根据结束参数的表示 “结束” 的取值, 生成一个结束参数的数据结构, 作为消息 体;
根据所述消息头和消息体生成所述结束文件传输会话请求消息。
采用本实施例的方式结束文件传输会话, 服务器会继续保留该会话的信息。各实 施例涉及的几个消息中的消息体, 也可以采用 XML 外的其他专用格式如 Java 脚本对象符号 (JSON)。
下面用一个示例来说明一下生成的结束文件传输会话请求消息。
假定源端参与者请求结束文件传输会话, 源端参与者为用户 MaxMuster(SIP : user1@example.com), 相应的文件传输会话标示符为 {FileTransferSessionId1}。
以下为结束文件传输会话请求消息内容的示例及说明 :
POST
http://{serverRoot}/{apiVersion}/FileTransfer/Originating/SIP : userl@ example.com/FileTransferSessions/{Fil
eTransferSessionIdl}/terminate HTTP/1.1\\ 动作 + 结束文件传输会话的资源 URL Content-Type : application/xml
Accept : application/xml
Host : example.com : 80
< ? xml version =″ 1.0″ encoding =″ UTF-8″? >
true\\ 结束参数数据结构, 取值表示 “结束”
POST
在本申请给出的若干消息内容的示例中, 对 REST API 中定义的动作、 资源、 数据结 构和部分信息作了说明, 其他内容如数据结构中定义的信息, 消息头中的其他内容等, 请参 照上文和 Web 中的规定。
步骤 S202 : 所述服务器收到结束文件传输会话请求消息后, 结束文件传输会话, 向所述客户端返回结束文件传输会话响应消息。
结束文件传输会话响应消息中, 消息头包括 HTTP 的响应符, 可以不携带消息体。
服务器结束文件传输会话成功时, 可以通过以下方式来生成该消息 :
根据 HTTP 表示 “无内容 (No Content)” 的响应符, 生成消息头 ;
根据所述消息头生成结束文件传输会话响应消息。
以下为结束文件传输会话成功时, 结束文件传输会话响应消息内容的示例和说 明:
HTTP/1.1204No Content
Date : Mon, 28 Jun 2010 17:51:59 GMT
实施例二
本实施例是基于电信网络域提供的 REST API 结束文件传输会话的另一实施例, 所
基于的系统与实施例一相同, 资源、 动作和数据结构的相关定义请参照实施例一中的说明。
图 3 为本实施例基于 REST API 结束文件传输会话的流程图, 包括以下步骤 :
步骤 S301 : 客户端向服务器发送结束文件传输会话请求消息 (DELETE), 携带使用 的动作和资源的信息, 所述资源用资源 URL 标示 ;
本实施例的结束文件传输会话请求消息中, 消息头中包括使用的动作和资源, 可 以不携带消息体。
客户端可以通过以下方式生成该消息 :
以 HTTP 的删除 (DELETE) 动作为使用的动作, 以参与者 ( 如源端参与者 ) 文件传 输会话为使用的资源, 生成消息头, 标示所述资源的资源 URL 包含请求结束文件传输会话 的源端参与者的用户标示符和请求结束的文件传输会话的标示符中的至少一个 ;
根据所述消息头生成结束文件传输会话请求消息。
下面用一个示例来说明一下生成的结束文件传输会话请求消息。
假定源端参与者为用户 Max Muster(SIP : userl@example.com), 该用户请求结束 文件传输会话, 相应的文件传输会话标示符为 {FileTransferSessionId1}。
以下为结束文件传输会话请求消息内容的示例及说明 : DELETE
http://{serverRoot}/{apiVersion}/FileTransfer/Originating/SIP : user2@ example.com/FileTransferSessions/{Fil
eTransferSessionIdl}HTTP/1.1
Accept : application/xml
Host : example.com : 80
步骤 S302 : 所述服务器收到结束文件传输会话请求消息后, 结束文件传输会话, 向所述客户端返回结束文件传输会话响应消息。
结束文件传输会话响应消息中, 消息头包括 HTTP 的响应符, 消息体中包括文件传 输会话信息的数据结构。
服务器结束文件传输会话成功时, 可以通过以下方式来生成该消息 :
根据 HTTP 表示 “成功 (OK)” 的响应符生成消息头 ;
按照 XML 格式, 对结束的文件传输会话的每一个参与者, 根据该参与者的信息如 参与者地址、 参与者名称、 参与者状态、 参与者启动时间、 参与者参与会话的时长和参与者 的资源 URL 等信息中的至少一种, 生成一个文件传输会话参与者信息的数据结构 ;
按照 XML 格式, 根据生成的所有文件传输会话参与者信息的数据结构, 以及所述 文件传输会话的文件传输会话状态和资源 URL 等信息中的至少一种, 生成一个文件传输会 话信息的数据结构, 作为消息体 ;
根据所述消息头和消息体生成结束文件传输会话响应消息。
以下为结束文件传输会话成功时结束文件传输会话响应消息内容的示例和说 明:
假定文件传输会话标示符为 {FileTransferSessionId1}, 文件传输会话的状态为 会话已结束 ; 用户 Max Muster(SIP : user1@example.com) 和 Peter E.Xample(SIP : user2@ example.com) 的状态为文件传输会话参与者已终止。
HTTP/1.1200OK
Content-Type : application/xml
Content-Length : 1234
Date : Mon, 28 Jun 2010 17:51:59 GMT
< ? xml version =″ 1.0″ encoding =″ UTF-8″? >
\\ 文件
传输会话信息数据结构的开始
\\ 文件传输会话参与者信息 ( 源端 ) 数据结构的开始
SIP:user1@example.com
MaxMuster
FileTransferParticipantTerminated participantStatus>
2010-06-28T17:50:51
135
http://{serverRoot}/{apiVersion}/FileTransfer/Originating/SIP : user2@ example.com/FileTransferSessions/{Fil
eTransferSessionId1}/participants/{participantId1}\\ 源端参与者的资源 URL
\\ 文件传输会话参与者信息 ( 源端 ) 数据结构的结束
\\ 文件传输会话参与者信息 ( 终端 ) 数据结构的开始
SIP : user2@example.com
PeterE.Xample
FileTransferParticipantTerminated participantStatus>
2010-06-28T17:50:51
135
http://{serverRoot}/{apiVersion}/FileTransfer/Originating/SIP : user2@ example.com/FileTransferSessions/{Fil
eTransferSessionId1}/participants/{participantId2}\\ 终端参与者的资源 URL
\\ 文件传输会话参与者信息 ( 终端 ) 数据结构的结束
FileTransferTerminated FileTransferSessionStatus>\\ 文件传输会话状态
104567\\ 客户端相关标签http://{serverRoot}/{apiVersion}/FileTransfer/ Originating/SIP:user2@example.com/FileTrans
ferSessions/{FileTransferSessionId1}\\ 结束的文件传输会 话的资源 URL
\\ 文件传输会话信息数据 结构的结束
实施例三
本实施例涉及基于电信网络域提供的 REST API 获取文件传输会话信息的相关控 制。 所基于的系统与实施例一相同, 资源、 动作和数据结构的相关定义请参照实施例一中的 说明。
图 4 为本实施例基于 REST API 获取文件传输会话信息的流程图, 包括以下步骤 :
步骤 S401 : 客户端向服务器发送获取文件传输会话信息请求消息, 携带使用的动 作和资源的信息, 所述资源用资源统一资源位置符 (URL) 标示 ;
获取文件传输会话信息请求消息的消息头包括使用的动作和资源, 可以不携带消 息体。
客户端可以通过以下方式来生成该消息 :
以 HTTP 的获取 (GET) 动作为使用的动作, 以所述文件传输会话为使用的资源, 生 成消息头, 标示所述资源的资源 URL 包含请求获取文件传输会话信息的源端参与者的用户 标示符和所述文件传输会话的标示符 ;
根据所述消息头生成获取文件传输会话信息请求消息。
下面用一个示例来说明一下生成的获取文件传输会话信息请求消息。
假定源端参与者为用户 Max Muster(SIP : user1@example.com), 该请求为获取该 用户的文件传输会话 {FileTransferSessionId1}。
以下为获取文件传输会话信息请求消息内容的示例及说明 :
GET http://{serverRoot}/{apiVersion}/ FileTransfer/Originating/SIP : user1@example.com/FileTransferSessions/ {FileTransferSessionIdl}HTTP/1.1\\ 动作 + 资源的资源 URL
Accept : application/xml
Host : example.com : 80
步骤 S402 : 所述服务器收到所述获取文件传输会话信息请求消息后, 获取请求的 文件传输会话的信息, 向所述客户端返回获取文件传输会话信息响应消息。
服务器获取文件传输会话信息成功时, 获取文件传输会话信息响应消息的消息头 包括 HTTP 的响应符, 消息体中包括获取的文件传输会话信息的数据结构。可以通过以下方 式来生成 :
根据 HTTP 表示 “成功” 的响应符生成消息头 ;
按照 XML 格式, 对与请求获取其信息的文件传输会话的每一个参与者, 根据该参 与者的信息如参与者地址、 参与者名称、 参与者状态、 参与者启动时间和参与者的资源 URL 中的至少一种, 生成一个文件传输会话参与者信息的数据结构 ; 对于源端参与者, 上述参与 者信息还可以包括源端参与者的 MSRP 客户端路径信息和 MSRP 服务器路径信息 ;按照 XML 格式, 根据生成的所有文件传输会话参与者信息的数据结构, 以及所述 文件传输会话的文件传输会话状态、 文件传输标示符、 文件选择器、 文件部署和资源 URL 信 息中的至少一种, 生成一个文件传输会话信息的数据结构, 作为消息体 ;
根据所述消息头和消息体生成获取文件传输会话信息响应消息。
假定, 用户 Max Muster(SIP : user1@example.com) 获取文件传输会话信息成功, 文件传输会话标示符为 {FileTransferSessionId1}, 文件传输会话的状态为会话已建立并 使用中 ; 用户 Max Muster(SIP : user1@example.com) 的状态为文件传输会话参与者已连 接, 标示符为 {participantId1} ; 用户 Peter E.Xample(SIP : user2@example.com) 的状态 为文件传输会话参与者已连接, 标示符为 {participantId2}。 用户 Max Muster 本人的 MSRP 路径信息返回。
以下为获取文件传输会话信息成功时, 获取文件传输会话信息响应消息内容的示 例, 其中的文件传输会话信息的数据结构与上文相似, 不再说明 :
HTTP/1.1200OK
Content-Type : application/xml
Content-Length : 1234
Date : Mon, 28 Jun 2010 17:51:59 GMT
< ? xml version =″ 1.0″ encoding =″ UTF-8″? >
SIP : user1@example.com participantAddress>
Max Muster
FileTransferParticipantConnected participantStatus>
2010-06-28T17:50:51
msrp://Max Muster.example.com:7777/ iau39soe2843z ; tcp
msrp://Server.example.com:4000/ amFDknQZ7OIi ; tcp
http://{serverRoot}/{apiVersion}/FileTransfer/Originating/SIP : userl@ example.com/FileTransferSessions/{Fil
eTransferSessionIdl}/participants/{participantIdl}
SIP : user2@example.com
Peter E.XampleFileTransferParticipantConnected
2010-06-28T17:50:51
http://{serverRoot}/{apiVersion}/FileTransfer/Originating/SIP : user1@ example.com/FileTransferSessions/{Fil
eTransferSessionIdl}/participants/{participantId2}
FileTransferOngoing FileTransferSessionStatus>
Q6LMoGymJdh0IKIgD6wD0jkcfgva4xvE file-transfer-id>
name : ″ My cool picture.jpg″ type : image/jpeg size : 4092
hash : sha-1 : 72 : 24 : 5F : E8 : 65 : 3D : DA : F3 : 71 : 36 : 2F : 86 : D4 : 71 : 91 : 3E : E4 : A2 : CE : 2E
attachment
104567
http://{serverRoot}/{apiVersion}/FileTransfer/ Originating/SIP : user1@example.com/FileTrans
ferSessions/{FileTransferSessionIdl}
图 5 为综合上述实施例的, 客户端和服务器之间结束文件传输会话、 获取文件传 输会话信息的操作示意图。
文件传输会话建立成功, 文件传输会话进行中 ;
之后, 客户端请求获取文件传输会话信息, 包括以下步骤 :
客户端生成获取文件传输会话信息请求消息 ;
客户端向服务器发送所述获取文件传输会话信息请求消息 ;
服务器在收到获取文件传输会话信息请求消息后进行解析和处理, 获取文件传输 会话的信息 ;
服务器生成获取文件传输会话信息响应消息 ;
服务器向所述客户端返回获取文件传输会话信息响应消息。
之后, 客户端请求结束文件传输会话, 包括以下步骤 :
客户端生成结束文件传输会话请求消息 ;
客户端向服务器发送结束文件传输会话请求消息 ;
服务器在收到结束文件传输会话请求消息后进行解析和处理, 结束相应的文件传 输会话 ;
服务器生成结束文件传输会话响应消息 ;服务器向所述客户端返回结束文件传输会话响应消息。
上述各个消息的内容和生成方法请参见上文中的描述, 不再重复。
上述方案中, 具体说明了文件传输会话结束和获取文件传输会话信息的开放电信 能力接口, 各个消息的内容即可以满足文件传输业务的需要, 又可以适用于现有的开放电 信能力的相关规范如 OMA 中的相关规范、 IEFT 文件传输协议等。大大方便了 Web 开发商、 第三方开发者或业务提供商等以 REST 风格的 API 灵活地对服务器进行结束文件传输会话、 获取文件传输会话信息的相关控制。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令 相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读存储器、 磁盘或光盘 等。可选地, 上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现, 相应 地, 上述实施例中的各模块 / 单元可以采用硬件的形式实现, 也可以采用软件功能模块的 形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的任何修 改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。