CN101227432A - 一种消息转换方法、接入方法、装置及系统 - Google Patents
一种消息转换方法、接入方法、装置及系统 Download PDFInfo
- Publication number
- CN101227432A CN101227432A CNA2008100576824A CN200810057682A CN101227432A CN 101227432 A CN101227432 A CN 101227432A CN A2008100576824 A CNA2008100576824 A CN A2008100576824A CN 200810057682 A CN200810057682 A CN 200810057682A CN 101227432 A CN101227432 A CN 101227432A
- Authority
- CN
- China
- Prior art keywords
- mcp
- message
- adapter
- sip
- context
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供的一种消息转换方法及接入方法、装置及系统,通过SIP-C与MCP消息之间的相互转换,将文本格式的SIP-C或SIP消息的内容根据设定的转换规则转换成对应的二进制比特数据,并生成MCP数据包;以及将MCP消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C消息内容,生成SIP-C消息;与现有技术中移动终端采用SIP消息及SIP-C消息与即时通信系统进行交互相比,压缩了网络传输的数据量,减轻了网络负担,同时也大大减少了移动终端自身进行计算和处理的数据量。
Description
技术领域
本发明涉及移动通信领域,尤其涉及一种消息转换方法、接入方法、装置及系统。
背景技术
随着移动通信技术的进步及手机终端的发展,即时通信(Instant Message,IM)技术正在以各种技术实现方式从PC机向手机等移动终端进行渗透。用户利用各种移动终端除了可以进行实时的语音通话之外,还可以通过移动终端实现文字或语音聊天、文件交互等。
目前,移动终端接入即时通信系统时采用的通信协议比较常用的是会话启动协议SIP(Session Initiation Protocol,SIP)和压缩的SIP协议即SIP-C协议,由于SIP协议和SIP-C协议采用的是文本格式的信令,并且流程较烦琐,对移动终端的要求较高。这样就造成移动终端在接入即时通信系统,以及在接入即时通信系统后与其他移动终端用户进行即时通信时,所需交互的信令数据量较大,同时移动终端自身进行计算和处理的数据量也对应较大的问题。
由于以上原因,移动终端用户使用即时通信业务时,可能会受到移动终端本身软硬件的限制和网络带宽的限制,从而降低移动终端的用户体验,同时也增加了网络负担,不利于基于移动终端的即时通信业务大规模的实施及应用。
发明内容
本发明提供了一种交互信令数据量少,流程较简单的移动终端接入即时通信系统的方法、装置及系统。
本发明提供的一种消息转换方法,包括:
将SIP-C消息转换成对应的MCP消息,以及将MCP消息转换成对应的SIP-C消息;其中:
所述将SIP-C消息转换成对应的MCP消息,包括:解析SIP-C消息,将SIP-C消息内容根据设定的转换规则转换成对应的二进制比特数据,生成MCP消息数据包;
所述将MCP消息转换成对应的SIP-C消息,包括:解析MCP消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C消息内容,生成SIP-C消息。
本发明还提供了一种接入方法,用于移动终端接入即时通信系统,包括:
移动终端发送MCP登录请求消息至第一MCP适配器;所述MCP登录请求消息是基于SIP-C登录请求消息内容按照设定的转换规则生成;
所述第一MCP适配器解析接收的所述MCP登录请求消息,根据设定的转换规则将其转换成对应的SIP-C登录请求消息,并发送至代理服务器;
所述代理服务器将所述SIP-C登录请求消息转发至即时通信业务服务器;
所述即时通信业务服务器根据所述SIP-C登录请求消息中对所述移动终端进行注册,并向所述代理服务器返回SIP-C注册成功/失败响应消息;
所述代理服务器将所述SIP-C注册成功/失败响应消息转发至所述第一MCP适配器;
所述第一MCP适配器解析接收的SIP-C注册成功/失败响应消息,根据设定的转换规则将SIP-C注册成功/失败响应消息转换成对应的MCP注册成功/失败响应消息,并返回至所述移动终端。
本发明提供了一种消息转换装置,包括:第一消息转换模块和第二消息转换模块;
所述第一消息转换模块,用于解析SIP-C消息,将SIP-C消息内容根据设定的转换规则转换成对应的二进制比特数据,生成MCP消息数据包;
所述第二消息转换模块,用于解析MCP消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C消息内容,生成SIP-C消息。
本发明还提供了一种接入装置,包括:MCP消息收发模块、消息转换模块、SIP-C消息收发模块;
所述MCP消息收发模块,用于接收所述移动终端发送的MCP登录请求消息发送给所述消息转换模块;以及将MCP注册成功/失败响应消息返回至移动终端;
所述消息转换模块,用于解析所述MCP登录请求消息,根据设定的转换规则转换成对应的SIP-C登录请求消息并发送至所述SIP-C收发模块;以及解析接收的SIP-C注册成功/失败响应消息,并根据设定的转换规则转换成对应的MCP注册成功/失败响应消息,发送至所述MCP收发模块;
所述SIP-C消息收发模块,用于将SIP-C登录请求消息发送至代理服务器;以及接收所述代理服务器转发的SIP-C注册成功/失败响应消息发送给所述消息转换模块。
本发明提供了一种接入系统,包括:第一MCP适配器、代理服务器和即时通信业务服务器;
所述第一MCP适配器,用于接收移动终端发送的MCP登录请求消息,解析接收的MCP登录请求消息,根据设定的转换规则转换成对应的SIP-C登录请求消息并发送至所述代理服务器;以及解析所述代理服务器转发的SIP-C注册成功/失败响应消息,根据设定的转换规则转换成对应的MCP注册成功/失败响应消息,并返回至移动终端;
所述代理服务器,用于将所述第一MCP适配器发送的所述SIP-C登录请求消息转发至所述即时通信业务服务器;以及将所述即时通信业务服务器发送的所述SIP-C注册成功/失败响应消息转发至所述第一MCP适配器;
所述即时通信业务服务器,用于根据所述SIP-C登录请求消息对所述移动终端进行注册;并向所述移动终端返回SIP-C注册成功/失败响应消息。
本发明有益效果如下:
本发明提供的一种消息转换方法及接入方法、装置及系统,通过SIP-C与MCP消息之间的相互转换,将文本格式的SIP-C或SIP消息的内容根据设定的转换规则转换成对应的二进制比特数据,并生成MCP消息数据包;以及将MCP消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C消息内容,生成SIP-C消息;与现有技术中移动终端采用SIP消息及SIP-C消息与即时通信系统进行交互相比,压缩了网络传输的数据量,减轻了网络负担,同时也大大减少了移动终端自身进行计算和处理的数据量,从而提高了移动终端接入即时通信系统以及使用即时通信业务进行即时通信的效率,并且节约了资源。
附图说明
图1为本发明实施例提供的移动终端接入即时通信系统的方法流程图之一;
图2为本发明实施例提供的移动终端接入即时通信系统的方法流程图之二;
图3为本发明实施例提供的移动终端接入即时通信系统的方法流程图之三;
图4为本发明实施例提供的消息转换装置结构示意图;
图5为本发明实施例提供的接入装置的结构示意图;
图6为本发明实施例提供的接入系统结构示意图。
具体实施方式
下面结合附图,以具体实施例对本发明提供的一种消息转换方法及接入方法、装置及同系统进行详细的说明。
实施例一:
本发明实施例一提供了一种消息转换方法,包括:
将SIP-C消息转换成对应的MCP消息,以及将MCP消息转换成对应的SIP-C消息;
将SIP-C消息转换成对应的MCP消息,包括:解析SIP-C消息,将SIP-C消息内容根据设定的转换规则转换成对应的二进制比特数据,生成MCP消息数据包;
将MCP消息转换成对应的SIP-C消息,包括:解析MCP消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C消息内容,生成SIP-C消息。
本发明实施例中MCP消息是一种移动客户端协议(Mobile Client Protocol,MCP)格式的消息。MCP协议是基于SIP-C协议的一种客户端协议,MCP消息是SIP消息内容的二进制方式的表示。按照本发明提供的上述消息转换方法,可以将MCP消息转换成对应的SIP-C消息,同样,也可以将SIP-C协议转换成对应的MCP协议的消息。下面对本发明实施例提供的MCP协议进行详细地说明。
MCP协议可以分为:传输控制层、信息摘要层、消息头数据层、消息体数据层。MCP协议具体层次结构如下表1所示。
表1
传输控制层 | 信息摘要层 | 消息头数据层 | 消息体数据层 | |
包大小(package-size) | ||||
是否为应答消息(is-response) | ||||
版本号(version) | ||||
消息头计数(header-count) | ||||
请求消息(request) | 应答消息(response) | |||
方法名(method) | 状态码(state- |
域名/统一资源标识符(domain/uri) | code) | |||||||
消息头列表(header-list) | ||||||||
是否是XML类型数据(s-xml) | ||||||||
XML数据 | 非XML数据 | |||||||
是否是元素(is-element) | 是否是比特数组(is-bit-array) | |||||||
元素(element) | 属性(attribute) | 比特数组(bit-array) | 文本(text) | |||||
是否是结束元素(is-end-element) | 属性符号(attribute-sign) | 比特数据(bit-data) | 文本数据(text-data) | |||||
结束符元素(end-element) | 开始符元素(start-element) | |||||||
元素符号(element-sign) | 属性值(attribute-value) | |||||||
CRC校验码(CRC-verify) |
MCP协议采用的数据类型及长度如下表2。
表2
名称 | 数据长度(bit) | 描述 |
字符串(string) | - | 以utf-8编码并以0x00字节结尾的不定长字符串 |
比特数组(bit-array) | - | 二进制数组,表示用比特数组表示的枚举 |
短整数(short) | 16 | 采用Big-endian方式表示的16位短整数 |
字节(byte) | 8 | 表示一个8位的数字 |
下面分别对MCP协议中传输控制层、信息摘要层、消息头数据层、消息体数据层进行说明。
传输控制层:如下表3所示,包括:包大小和CRC校验码。其作用是保证数据传输的准确性。
表3
序号 | 名称 | 数据长度(bit) | 描述 |
1 | 包大小(package-size) | 16 | 整个MCP消息的数据包大小 |
2 | CRC校验码(CRC-vertify) | 16 | 16比特的循环冗余校验码 |
上表中的序号表示在MCP消息数据包中数据先后排列的顺序,以下序号含义与此相同。
信息摘要层:信息摘要层用来提供MCP消息的摘要信息。如下表4所示,包括:MCP消息是否是应答消息的信息以及SIP-C协议版本号信息。
表4
序号 | 名称 | 数据长度(bit) | 描述 |
3 | 是否是应答消息(is-response) | 1 | “0”为请求消息(request)“1”为应答消息(response) |
4 | 版本号(version) | 7 | SIP-C协议的版本号 |
消息头数据层:消息头数据层用于提供MCP消息中的消息头数据。如下表5所示,包括:消息头数量、方法名、域名/统一资源标识符、状态码和消息头列表。
表5
序号 | 名称 | 描述 | |
5 | 消息头计数() | 消息头的数量 | |
- | 请求消息(request(a)) | 应答消息(response(b)) | - |
6(a) | 方法名(method) | - | |
7(a) | 域名/统一资源标识符(domain/uri) | 当采用如下列表7中的方法时,使用不定长的用户uri,否则,使用8比特的域名。域名的定义参考下表8 |
6(b) | - | 状态码(state-code) | 短整数类型的状态码 |
8 | 消息头列表(header-list) |
上表中序号后的字母编号分别对应请求消息(a)与应答消息(b)。
下表6是MCP协议中消息头数据层中方法名的定义表。
表6
SIP协议方法名 | SIP-C协议方法名 | MCP协议方法名 |
确认(ACK) | A | 0x01 |
取消(CANCEL) | C | 0x04 |
通知(NOTIFY) | N | 0x07 |
协商(NEGOTIATE) | NEG | 0x08 |
参考(REFER) | REF | 0x0A |
服务(SERVICE) | S | 0x0B |
选择(OPTIONS) | O | 0x0D |
信息(INFO) | IN | 0x0E |
上述通知(BENOTIFY)与通知(NOTIFY)的区别是前者不需要回复,后者则需要回复。
下表7是域名的定义表。
表7
名称 | MCP协议域名 |
femoo.amigo.bjmcc.net | 0x02 |
消息头列表由若干个消息头组成,每个消息头的结构如下表8;
表8
序号 | 名称 | 长度(bit) | 描述 |
8.1 | 消息头代号(header-sign) | 8 | |
8.2 | 消息头的值(header-value) | 不定长 | 消息头的值,采用字符串(string)类型的数据。当消息头为0x18,即事件(Event)时,该字段为8比特,表示事件(Event)的消息头域 |
8.3 | 方法名(method) | 8 | 只有当消息头代号为请求序列号(CSeq)消息头时,该字段才存在。 |
下表9是对上表8中消息头代号的具体定义:
表9
SIP协议消息头 | SIP-C协议消息头 | MCP协议消息头 |
鉴权(Authorization) | A | 0x10 |
内容类型(Content-Type) | C | 0x11 |
有效期(Expires) | X | 0x19 |
消息来源(From) | F | 0x1A |
主题(Subject) | S | 0x1B |
支持(Supported) | K | 0x1C |
消息接收者(To) | T | 0x1D |
被参考(Referred-By) | RB | 0x21 |
要求(Require) | RQ | 0x22 |
不支持(Unsupported) | UK | 0x23 |
资源(Source) | SO | 0x24 |
X消息标识(X-MESSAGE-ID) | XI | 0x25 |
其中事件(Event)的消息头具体定义如下表10:
表10
SIP协议事件消息头 | MCP协议事件消息头 |
退订(UnsubscribeIIC) | 0x30 |
设置个人配置(SetPersonalConfig) | 0x37 |
设置密码(SetPassword) | 0x38 |
设置好友信息(SetBuddyInfo) | 0x41 |
设置移动终端好友(SetMobileBuddyInfo) | 0x42 |
设置好友列表(SetBuddyLists) | 0x43 |
从黑名单中去除(RemoveFromBlacklist) | 0x4B |
上线(presence) | 0x4C |
获取全球许可(GetGlobalPermission) | 0x4D |
获取联系许可(GetContactPermission) | 0x4E |
设置全球许可(SetGlobalPermission) | 0x4F |
设置联系许可(SetContactPermission) | 0x50 |
许可(permission) | 0x51 |
增加参与者(AddParticipant) | 0x57 |
匹配成功(be matched) | 0x5D |
消息体数据层:消息体数据层用于提供MCP消息中的消息体,可以是各种形式的数据块的组合,包括扩展标识语言(eXtensible Markup Language,XML)格式的数据和非XML格式的数据。每个数据块的格式如下表11:
表11
序号 | 名称 | 描述 | |
9 | 是否是XML格式的数据(is-xml) | “1”为XML格式,“0”为文本格式 | |
- | XML数据(a) | 非XML数据(b) | - |
10(a) | 是否是XML元素(is-element) | - |
10(b) | 是否是比特数组(is-bit-array) | 是否是二进制数组 | |||
- | 元素(c) | 属性(d) | - | - | |
11(a、c) | 是否是结束元素(is-end-element) | 是否是XML结束元素 | |||
12(a、c) | 元素代号(element-sign) | XML元素代号,可以表示32个 | |||
11(a、d) | 属性代号(attribute-sign) | XML属性代号,可以表示64个 | |||
11(b) | 保留(reserve) | 保留字段,默认值为0 | |||
- | - | - | 比特数组(e) | 文本(f) | - |
12(b、e) | 二进制比特数据(bit-data) | 二进制数组 | |||
13(b、f) | 文本内容(text-data) | 字符串信息(string类型) |
MCP协议作为一个即时通信系统与移动终端进行交互使用的协议,可以用于移动终端进行验证注册、建立会话及进行即时通信等具体的流程中,在下面的实施例二中,对移动终端接入即时通信系统的方法为实例进行详细的说明。
实施例二:
本发明实施例二提供了一种移动终端接入即时通信系统的方法,如图1所示,包括以下步骤:
步骤101、移动终端发送MCP登录请求消息至第一MCP适配器。
步骤102、第一MCP适配器解析接收的所述MCP登录请求消息消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C登录请求消息内容,生成SIP-C登录请求消息;并将转换后的SIP-C登录请求发送至代理服务器。
步骤103、第一MCP适配器向索引服务器发起获取索引请求。
步骤104、索引服务器根据第一MCP适配器发送的获取索引请求中所述移动终端的用户ID,在本地存储的记录中查询移动终端上一次登录连接的第二MCP适配器IP地址及端口号的索引;
如果索引服务器查询到该移动终端对应的记录,则比较第一MCP适配器与索引服务器记录的第二MCP适配器的IP地址是否一致;
如果不一致,执行步骤105。
步骤105、索引服务器将本地保存的第二MCP适配器IP地址及端口号的索引返回给第一MCP适配器;并且使用当前该移动终端登录连接的第一MCP适配器IP地址及端口号更新本地保存的记录。
步骤106、第一MCP适配器向第二MCP适配器发送获取用户上下文请求;请求获取该移动终端的用户上下文。
移动终端的用户上下文包含的内容有:移动终端的用户ID、向移动终端下行的消息队列、向移动终端下行的通知队列、移动终端上一次发送上行消息或保持上线请求的时间、移动终端上一次向代理服务器发送上行消息或保持登录请求的时间和移动终端连接的代理服务器IP地址及端口号。
步骤107、第二MCP适配器根据第一MCP适配器发送的获取用户上下文请求,向第一MCP适配器返回该移动终端的用户上下文。
步骤108、第二MCP适配器删除本地保存的该移动终端的用户上下文。
本发明实施例在具体执行上述步骤107与步骤108时,可以没有时间上的先后顺序,也可以同时执行,在此为了在流程的逻辑,将其区分为两个步骤,本发明实施例并不限定上述两个步骤执行的时间先后以及顺序。
步骤109、第一MCP适配器根据第二MCP适配器返回的该移动终端的用户上下文中包含的代理服务器IP地址及端口号,与对应的代理服务器建立初始化连接。
步骤110、第一MCP适配器向代理服务器发送转换后的SIP-C登录请求消息。
步骤111、代理服务器将接收到的SIP-C登录请求消息转发至即时通信业务服务器;
步骤112、即时通信业务服务器根据接收的SIP-C登录请求消息中携带的用户授权证书对用户进行身份验证,验证用户授权证书的合法性,并在验证通过后,对移动终端进行注册。
步骤113、即时通信业务服务器根据对用户身份验证的结果,向代理服务器返回该移动终端SIP-C注册成功/失败响应消息。
步骤114、代理服务器将接收的SIP-C注册成功/失败响应消息转发至第一MCP适配器。
步骤115、第一MCP适配器解析接收的SIP-C注册成功/失败响应消息,将SIP-C注册成功/失败响应消息的内容根据设定的转换规则转换成对应的二进制比特数据,生成对应的MCP注册成功/失败响应消息数据包;
步骤116、第一MCP适配器将转换后的MCP注册成功/失败响应消息数据包返回至移动终端。
本发明实施例在实际应用中,可能会出现以下一种情况,在执行步骤104时,索引服务器虽然查询到该移动终端对应的记录,但是记录的第二MCP适配器的IP地址与第一MCP适配器的IP地址完全一致,即该移动终端上一次登录即时通信系统时连接的MCP适配器与当前登录所连接的MCP适配器为同一MCP适配器,在这种情况下,移动终端接入即时通信系统的具体的流程如图2所示,包括以下步骤:
步骤201至步骤203,与步骤101至步骤103相同,在此不再赘述。
步骤204、索引服务器根据第一MCP适配器发送的获取索引请求中所述移动终端的用户ID,在本地存储的记录中查询移动终端上一次登录连接的第二MCP适配器IP地址及端口号的索引;
如果索引服务器查询到该移动终端对应的记录,则比较第一MCP适配器与索引服务器记录的第二MCP适配器的IP地址是否一致;
如果一致,执行下列步骤205。
步骤205、索引服务器向第一MCP适配器返回空值null的查询结果。
步骤206、第一MCP适配器接收到所述索引服务器返回的空值后,在本地查询该移动终端的用户上下文。
因为该移动终端上一次登录即时通信系统连接的第二MCP适配器与当前连接的第一MCP适配器为同一个MCP适配器,因此,在第一MCP本地就保存有该移动终端的用户上下文。
步骤207、第一MCP适配器根据本地保存的移动终端的用户上下文中包含的代理服务器IP地址及端口号,与对应的代理服务器建立初始化连接。
步骤208至步骤214,与步骤110至步骤116相同,在此不再赘述。
本发明实施例在实际应用中,还有可能出现另一种情况,在执行步骤104时,索引服务器没有查询到该移动终端对应的记录,即该移动终端是首次登录即时通信系统,在这种情况下,移动终端接入即时通信系统的具体的流程如图3所示,包括以下步骤:
步骤301至步骤303与步骤101至步骤103相同,在此不再赘述。
步骤304、索引服务器根据第一MCP适配器发送的获取索引请求中所述移动终端的用户ID,在本地存储的记录中查询移动终端上一次登录连接的第二MCP适配器IP地址及端口号的索引;
如果索引服务器没有查询到该移动终端对应的记录,则新增一条记录,包括:该所述移动终端的用户ID以及第一MCP适配器IP地址及端口号的索引;
步骤305、索引服务器向第一MCP适配器返回空值;
步骤306、第一MCP适配器接收到所述索引服务器返回的空值后,在本地查询该移动终端的用户上下文。
因为该移动终端是首次登录,因此,第一MCP适配器查询不到该移动终端的用户上下文。执行步骤307。
步骤307、第一MCP适配器在本地新建该移动终端的用户上下文。
步骤308、第一MCP适配器根据新建的用户上下文中包含的缺省代理服务器的IP地址及端口号,与缺省代理服务器建立初始化连接。
步骤309至步骤315与步骤110至步骤116相同,在此不再赘述。实施例三:
本发明实施例三提供了一种消息转换装置,如图4所示,包括:第一消息转换模块401和第二消息转换模块402;
第一消息转换模块401,用于解析SIP-C消息,将SIP-C消息内容根据设定的转换规则转换成对应的二进制比特数据,生成MCP消息数据包;
第二消息转换模块402,用于解析MCP消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C消息内容,生成SIP-C消息。
本发明实施例三还提供了一种接入装置,用于移动终端接入即时通信系统,如图5所示,包括:MCP消息收发模块501、消息转换模块502、SIP-C消息收发模块503;
MCP消息收发模块501,用于接收移动终端发送的MCP登录请求消息发送给所述消息转换模块;以及将MCP注册成功/失败响应消息数据包返回至移动终端;
消息转换模块502,解析MCP登录请求消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C登录请求消息内容,生成SIP-C登录请求消息,并发送至SIP-C消息收发模块503;以及解析接收的SIP-C注册成功/失败响应消息,将SIP-C注册成功/失败响应消息的内容,根据设定的转换规则转换成对应的二进制比特数据,生成对应的MCP注册成功/失败响应消息数据包,并发送至所述MCP消息收发模块501;
SIP-C消息收发模块503,用于将SIP-C登录请求消息发送至代理服务器;以及接收代理服务器转发的SIP-C注册成功/失败响应消息发送至消息转换模块502。
上述接入装置,还可以包括:索引模块504、用户上下文存储模块505和用户上下文新建模块506;
索引模块504,用于当消息转换模块502接受到用户终端发起的MCP登录请求消息后,向索引服务器发送获取索引请求,并接收索引服务器返回的索引结果;当索引结果为空值时,查询用户上下文存储模块505中是否保存有该移动终端的用户上下文,当所述用户上下文存储模块接入中没有保存所述用户终端的上下文时,通知所述用户上下文新建模块506;
用户上下文存储模块505,用于存储移动终端的用户上下文;
用户上下文新建模块506,用于在本地新建该移动终端的用户上下文,并存储到用户上下文存储模块505中。
上述接入装置,还可以包括:用户上下文获取模块507和初始化连接模块508;
用户上下文获取模块507,用于当索引模块504接收的索引结果为移动终端上一次登录连接的MCP适配器IP地址和端口号的索引时,向移动终端上一次登录连接的MCP适配器发送获取用户上下文请求;并将获取到的用户上下文存储到用户上下文存储模块505中;
初始化连接模块508,用于根据用户上下文中包含的代理服务器IP地址及端口号,与代理服务器建立初始化连接。
上述接入装置,还可以包括:用户上下文更新模块509;
用户上下文更新模块509,用于当接收到另一MCP适配器发送的获取用户上下文的请求时,返回对应的用户上下文,并删除用户上下文存储模块505中对应的用户上下文。
上述接入装置可以集成与MCP适配器中。
实施例四:
本发明实施例四提供了一种接入系统,如图6所示,包括:第一MCP适配器601、代理服务器602和即时通信业务服务器603;
第一MCP适配器601,解析接收的MCP登录请求消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C登录请求消息内容,生成SIP-C登录请求消息,并发送至代理服务器602;以及解析所述代理服务器转发的SIP-C注册成功/失败响应消息的内容,根据设定的转换规则转换成对应的二进制比特数据,生成MCP注册成功/失败响应消息数据包,并返回至移动终端;
代理服务器602,用于将第一MCP适配器601发送的SIP-C登录请求消息转发至即时通信业务服务器603;以及将即时通信业务服务器603发送的SIP-C注册成功/失败响应消息转发至第一MCP适配器601;
即时通信业务服务器603,用于根据SIP-C登录请求消息中携带的用户授权证书对用户进行身份验证;并在验证通过后,对移动终端进行注册;以及根据用户身份验证的结果,向移动终端返回SIP-C注册成功/失败响应消息。
上述接入系统,还可以包括:索引服务器604和第二MCP适配器605;
索引服务器604,用于接收第一MCP适配器601发送的获取索引请求;根据移动终端的用户ID查询本地存储的记录,向第一MCP适配器601返回空值或者移动终端上一次登录连接的第二MCP适配器605的IP地址及端口号的索引;
第二MCP适配器605,用于根据第一MCP适配器601发送的获取用户上下文请求向第一MCP适配器601返回移动终端的用户上下文;
第一MCP适配器601,还用于当接收到索引服务器返回的空值时,查询本地是否保存有移动终端的用户上下文;当查询到移动终端的用户上下文,根据用户上下文中包含的代理服务器IP地址及端口号,与代理服务器602建立初始化连接;当没有查询到移动终端的用户上下文,在本地新建移动终端的用户上下文,并根据新建用户上下文中包含的缺省代理服务器IP地址及端口号,与缺省的代理服务器602建立初始化连接;或
当接收到索引服务器604返回的第二MCP适配器605的IP地址及端口号的索引,向第二MCP适配器605获取移动终端的用户上下文;并根据获取到的用户上下文中包含的代理服务器IP地址及端口号,与代理服务器602建立起初始化连接。
本发明实施例提供的一种消息转换方法及接入方法、装置及系统,通过SIP-C与MCP消息之间的相互转换,将文本格式的SIP-C或SIP消息的内容根据设定的转换规则转换成对应的二进制比特数据,生成MCP数据包;以及将MCP消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C消息内容,生成SIP-C消息。与现有技术中移动终端采用SIP消息及SIP-C消息与即时通信系统进行交互的过程相比,压缩了网络传输的数据量,减轻了网络负担,同时也大大减少了移动终端自身进行计算和处理的数据量。对移动终端接入即时通信系统的流程来说,由于MCP适配器以及代理服务器与即时通信业务服务器进行接入流程中部分信令的交互,即时通信业务服务器与即时通信系统进行交互的信令量大大减少,也加快了移动终端接入即时通信系统的流程,减少了移动终端计算和处理的数量。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种消息转换方法,其特征在于,包括:
将SIP-C消息转换成对应的MCP消息,以及将MCP消息转换成对应的SIP-C消息;其中:
所述将SIP-C消息转换成对应的MCP消息,包括:解析SIP-C消息,将SIP-C消息内容根据设定的转换规则转换成对应的二进制比特数据,生成MCP消息数据包;
所述将MCP消息转换成对应的SIP-C消息,包括:解析MCP消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C消息内容,生成SIP-C消息。
2.如权利要求1所述的方法,其特征在于,所述MCP消息数据包,包括:
传输控制层二进制比特数据、信息摘要层二进制比特数据、消息头数据层二进制比特数据以及消息体数据层二进制比特数据;
所述传输控制层二进制比特数据,用于指示所述MCP消息数据包大小以及CRC校验码;
所述信息摘要层二进制比特数据,用于指示所述MCP消息是否为应答消息以及所述SIP-C消息版本号;
所述信息头数据层二进制比特数据,用于指示所述MCP消息消息头数量和消息头列表,以及当所述MCP消息为请求消息时,还用于指示消息方法名及域名/统一资源标识符;或当所述MCP消息为应答消息时,还用于指示状态码;
所述消息体数据层二进制比特数据,用于指示所述MCP消息消息体为XML类型数据或非XML类型数据;以及当所述MCP消息消息体为XML类型数据时,指示所述MCP消息的消息体包含的XML元素或元素属性;
当包含所述XML元素时,进一步指示所述为结束符元素或开始符元素以及对应的元素符号;当包含所述元素属性时,进一步指示元素属性符号以及元素属性值;
还用于当所述MCP消息消息体为非XML类型数据时,指示所述MCP消息消息体包含的二进制比特数组或文本;以及当包含所述二进制比特数组时,进一步指示二进制比特数组数据;当包含所述文本时,进一步指示文本内容。
3.如权利要求2所述的方法,其特征在于,所述消息头列表包括若干消息头,每个消息头包括:消息头代号和消息头的值;以及
当所述消息头代号为请求序列号时,还包括方法名代号。
4.一种接入方法,用于移动终端接入即时通信系统,其特征在于,包括:
移动终端发送MCP登录请求消息至第一MCP适配器;所述MCP登录请求消息是基于SIP-C登录请求消息内容按照设定的转换规则生成;
所述第一MCP适配器解析接收的所述MCP登录请求消息,根据设定的转换规则将其转换成对应的SIP-C登录请求消息,并发送至代理服务器;
所述代理服务器将所述SIP-C登录请求消息转发至即时通信业务服务器;
所述即时通信业务服务器根据所述SIP-C登录请求消息对所述移动终端进行注册,并向所述代理服务器返回SIP-C注册成功/失败响应消息;
所述代理服务器将所述SIP-C注册成功/失败响应消息转发至所述第一MCP适配器;
所述第一MCP适配器解析接收的SIP-C注册成功/失败响应消息,根据设定的转换规则将SIP-C注册成功/失败响应消息转换成对应的MCP注册成功/失败响应消息,并返回至所述移动终端。
5.如权利要求4所述的方法,其特征在于,所述第一MCP适配器将所述MCP登录请求消息转换为对应的SIP-C登录请求消息之后,还包括:
所述第一MCP适配器向索引服务器发起获取索引请求;
所述索引服务器根据所述获取索引请求中包含的所述移动终端的用户ID,在本地存储的记录中查询所述移动终端上一次登录连接的第二MCP适配器IP地址及端口号的索引;
若查询不到所述移动终端的对应记录,则新增一条记录,该新增记录中包括:所述移动终端的用户ID和所述第一MCP适配器IP地址及端口号的索引;并向所述第一MCP适配器返回空值;
若查询到所述移动终端对应的记录,且所述第一MCP适配器与所述第二MCP适配器的IP地址一致时,向所述第一MCP适配器返回空值;
所述第一MCP适配器接收到所述索引服务器返回空值后,查询本地是否保存有所述移动终端的用户上下文;
当查询到所述移动终端的用户上下文,根据所述用户上下文中包含的代理服务器IP地址及端口号,与所述代理服务器建立初始化连接;
当没有查询到所述移动终端的用户上下文,在本地新建所述移动终端的用户上下文,并根据新建用户上下文中包含的缺省代理服务器IP地址及端口号,与所述缺省代理服务器建立初始化连接。
6.如权利要求5所述的方法,其特征在于,当所述索引服务器查询到所述移动终端对应的记录,且所述第一MCP适配器与所述第二MCP适配器的IP地址不一致时,所述索引服务器向所述第一MCP适配器返回本地保存的所述第二MCP适配器IP地址及端口号的索引;并用所述第一MCP适配器IP地址及端口号更新本地保存的所述移动终端的对应记录;
所述第一MCP适配器根据所述索引服务器返回的第二MCP适配器IP地址及端口号的索引,向所述第二MCP适配器获取所述移动终端的用户上下文,并根据获取到所述用户上下文中包含的代理服务器IP地址及端口号,与所述代理服务器建立初始化连接。
7.如权利要求6所述的方法,其特征在于,所述第一MCP适配器向所述第二MCP适配器获取所述用户终端的用户上下文,包括:
第一MCP适配器向所述第二MCP适配器发送获取用户上下文请求;
所述第二MCP适配器根据所述获取用户上下文请求,向第一MCP适配器返回所述移动终端的用户上下文。
8.如权利要求7所述的方法,其特征在于,还包括:
所述第二MCP适配器返回所述移动终端的用户上下文后删除本地保存的所述移动终端的用户上下文。
9.一种消息转换装置,其特征在于,包括:第一消息转换模块和第二消息转换模块;
所述第一消息转换模块,用于解析SIP-C消息,将SIP-C消息内容根据设定的转换规则转换成对应的二进制比特数据,生成MCP消息数据包;
所述第二消息转换模块,用于解析MCP消息数据包中包含的二进制比特数据,根据设定的转换规则转换成对应的SIP-C消息内容,生成SIP-C消息。
10.一种接入装置,其特征在于,包括:MCP消息收发模块、消息转换模块、SIP-C消息收发模块;
所述MCP消息收发模块,用于接收所述移动终端发送的MCP登录请求消息发送给所述消息转换模块;以及将MCP注册成功/失败响应消息返回至移动终端;
所述消息转换模块,用于解析所述MCP登录请求消息,根据设定的转换规则转换成对应的SIP-C登录请求消息并发送至所述SIP-C收发模块;以及解析接收的SIP-C注册成功/失败响应消息,并根据设定的转换规则转换成对应的MCP注册成功/失败响应消息,发送至所述MCP收发模块;
所述SIP-C消息收发模块,用于将SIP-C登录请求消息发送至代理服务器;以及接收所述代理服务器转发的SIP-C注册成功/失败响应消息发送给所述消息转换模块。
11.如权利要求10所述的装置,其特征在于,还包括:索引模块、用户上下文存储模块和用户上下文新建模块;
所述索引模块,用于当所述消息转换模块接受到用户终端发起的MCP登录请求消息后,向索引服务器发送获取索引请求,并接收所述索引服务器返回的索引结果;当所述索引结果为空值时,查询所述用户上下文存储模块中是否保存有所述移动终端的用户上下文,当所述用户上下文存储模块中没有保存所述用户终端的上下文时,通知所述用户上下文新建模块;
所述用户上下文存储模块,用于存储移动终端的用户上下文;
所述用户上下文新建模块,用于在本地新建所述移动终端的用户上下文,并存储到所述用户上下文存储模块中。
12.如权利要求10所述的装置,其特征在于,还包括:用户上下文获取模块和初始化连接模块;
所述用户上下文获取模块,用于当所述索引模块接收的索引结果为所述移动终端上一次登录连接的MCP适配器IP地址和端口号的索引时,向所述移动终端上一次登录连接的MCP适配器发送获取用户上下文请求;并将获取到的用户上下文存储到所述用户上下文存储模块中;
所述初始化连接模块,用于根据用户上下文中包含的代理服务器IP地址及端口号,与所述代理服务器建立初始化连接。
13.如权利要求12所述的装置,其特征在于,还包括:用户上下文更新模块;
所述用户上下文更新模块,用于当接收到另一MCP适配器发送的获取用户上下文的请求时,返回对应的用户上下文,并删除所述用户上下文存储模块中对应的用户上下文。
14.如权利要求10-13任一项所述的装置,其特征在于,所述接入装置集成于MCP适配器中。
15.一种接入系统,其特征在于,包括:第一MCP适配器、代理服务器和即时通信业务服务器;
所述第一MCP适配器,用于接收移动终端发送的MCP登录请求消息,解析接收的MCP登录请求消息,根据设定的转换规则转换成对应的SIP-C登录请求消息并发送至所述代理服务器;以及解析所述代理服务器转发的SIP-C注册成功/失败响应消息,根据设定的转换规则转换成对应的MCP注册成功/失败响应消息,并返回至移动终端;
所述代理服务器,用于将所述第一MCP适配器发送的所述SIP-C登录请求消息转发至所述即时通信业务服务器;以及将所述即时通信业务服务器发送的所述SIP-C注册成功/失败响应消息转发至所述第一MCP适配器;
所述即时通信业务服务器,用于根据所述SIP-C登录请求消息对所述移动终端进行注册;并向所述移动终端返回SIP-C注册成功/失败响应消息。
16.如权利要求15所述的系统,其特征在于,还包括:索引服务器和第二MCP适配器;
所述索引服务器,用于接收所述第一MCP适配器发送的获取索引请求;根据所述移动终端的用户ID查询本地存储的记录,向所述第一MCP适配器返回空值或所述移动终端上一次登录连接的第二MCP适配器IP地址及端口号的索引;
所述第二MCP适配器,用于根据所述第一MCP适配器发送的获取用户上下文请求返回所述移动终端的用户上下文;
所述第一MCP适配器,还用于当接收到索引服务器返回的空值时,查询本地是否保存有所述移动终端的用户上下文;当查询到所述移动终端的用户上下文,根据所述用户上下文中包含的代理服务器IP地址及端口号,与所述代理服务器建立初始化连接;当没有查询到所述移动终端的用户上下文,在本地新建所述移动终端的用户上下文,并根据新建用户上下文中包含的缺省代理服务器IP地址及端口号,与所述缺省的代理服务器建立初始化连接;或
当接收到所述索引服务器返回的所述第二MCP适配器IP地址及端口号的索引,向所述第二MCP适配器获取所述移动终端的用户上下文;并根据获取到的所述用户上下文中包含的代理服务器IP地址及端口号,与所述代理服务器建立起初始化连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100576824A CN101227432B (zh) | 2008-02-04 | 2008-02-04 | 一种消息转换方法、接入方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100576824A CN101227432B (zh) | 2008-02-04 | 2008-02-04 | 一种消息转换方法、接入方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101227432A true CN101227432A (zh) | 2008-07-23 |
CN101227432B CN101227432B (zh) | 2011-01-26 |
Family
ID=39859192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100576824A Active CN101227432B (zh) | 2008-02-04 | 2008-02-04 | 一种消息转换方法、接入方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101227432B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012142864A1 (zh) * | 2011-04-22 | 2012-10-26 | 中兴通讯股份有限公司 | 媒体消息的处理方法和网关设备 |
CN104580097A (zh) * | 2013-10-22 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及系统 |
WO2015100605A1 (zh) * | 2013-12-31 | 2015-07-09 | 北京新媒传信科技有限公司 | Sip消息的编码方法、解码方法及装置 |
CN105607923A (zh) * | 2015-12-10 | 2016-05-25 | 中国航空工业集团公司西安航空计算技术研究所 | 一种跨平台的航空电子系统配置数据生成与恢复方法 |
CN107682829A (zh) * | 2017-10-23 | 2018-02-09 | 深圳市沃特沃德股份有限公司 | 移动终端的数据传输方法和装置 |
CN107801213A (zh) * | 2017-10-23 | 2018-03-13 | 深圳市沃特沃德股份有限公司 | 数据传输方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143191B2 (en) * | 2002-06-17 | 2006-11-28 | Lucent Technologies Inc. | Protocol message compression in a wireless communications system |
US7889760B2 (en) * | 2004-04-30 | 2011-02-15 | Microsoft Corporation | Systems and methods for sending binary, file contents, and other information, across SIP info and text communication channels |
KR100677445B1 (ko) * | 2005-03-15 | 2007-02-02 | 엘지전자 주식회사 | 텍스트 기반의 sip 메시지를 송수신하는 무선통신 시스템 및 처리방법 |
-
2008
- 2008-02-04 CN CN2008100576824A patent/CN101227432B/zh active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012142864A1 (zh) * | 2011-04-22 | 2012-10-26 | 中兴通讯股份有限公司 | 媒体消息的处理方法和网关设备 |
CN104580097A (zh) * | 2013-10-22 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及系统 |
WO2015058516A1 (en) * | 2013-10-22 | 2015-04-30 | Tencent Technology (Shenzhen) Company Limited | Data processing method, apparatus and system |
WO2015100605A1 (zh) * | 2013-12-31 | 2015-07-09 | 北京新媒传信科技有限公司 | Sip消息的编码方法、解码方法及装置 |
CN105765917A (zh) * | 2013-12-31 | 2016-07-13 | 北京新媒传信科技有限公司 | Sip消息的编码方法、解码方法及装置 |
CN105607923A (zh) * | 2015-12-10 | 2016-05-25 | 中国航空工业集团公司西安航空计算技术研究所 | 一种跨平台的航空电子系统配置数据生成与恢复方法 |
CN107682829A (zh) * | 2017-10-23 | 2018-02-09 | 深圳市沃特沃德股份有限公司 | 移动终端的数据传输方法和装置 |
CN107801213A (zh) * | 2017-10-23 | 2018-03-13 | 深圳市沃特沃德股份有限公司 | 数据传输方法和装置 |
WO2019080222A1 (zh) * | 2017-10-23 | 2019-05-02 | 深圳市沃特沃德股份有限公司 | 移动终端的数据传输方法、装置和移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN101227432B (zh) | 2011-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1962461B1 (en) | Method for realizing group-sending message service, device and system for the same | |
CN100514968C (zh) | 离线消息的处理方法和即时消息服务器 | |
EP1599979B1 (en) | Message management | |
CN101227432B (zh) | 一种消息转换方法、接入方法、装置及系统 | |
US8671156B2 (en) | Method and apparatus for providing communication history | |
US20080115125A1 (en) | Optimizing static dictionary usage for signal compression and for hypertext transfer protocol compression in a wireless network | |
RU2404526C2 (ru) | Способ, система и устройство для пересылки мгновенных сообщений в подсистеме ip-мультимедиа (ims) | |
EP1913743B1 (en) | Group management method and system in interworking system of imps system and simple im system | |
EP1451703A1 (en) | Multimedia instant communication system and method | |
KR101663009B1 (ko) | 통신 네트워크에서의 메시지 저장 관리를 위한 서버, 장치 및 방법 | |
CN102835134A (zh) | 用于减少消息信令的系统和方法 | |
CN101110789B (zh) | 一种即时消息系统中发送即时消息报告的方法 | |
CN101911664A (zh) | 服务控制装置、服务控制系统及方法 | |
US20070118647A1 (en) | Message identification, correlation, recipient authentication, and reception confirmation in multi-event and multi-media environments | |
US20170026425A1 (en) | Method and apparatus for enabling communications between users | |
EP2529537B1 (en) | Method and application server for using a sip service from a non-sip device | |
CN101155336B (zh) | 实现消息系统用户漫游的方法及其系统 | |
CN101951381A (zh) | 数字电视接收终端及其实现多媒体即时通讯的方法 | |
US8521807B2 (en) | Method and system for controlling movement of user setting information registered in server | |
KR101002150B1 (ko) | 이동통신 단말 간의 인스턴트 메시징 서비스 제공 방법 및 장치 | |
CN101754428A (zh) | 基于sip的即时通讯系统中的添加好友的实现方法 | |
CN100452778C (zh) | 基于即时通讯的多媒体内容互动系统及其实现方法 | |
US20120297029A1 (en) | Method and Apparatus For Routing XCAP Requests | |
KR20080034072A (ko) | Sip기반의 전송 메시지를 이용한 이종 메시지의 전송방법 및 이를 위한 사용자 장치 | |
KR20100090089A (ko) | 통신 시스템에서 세션 히스토리 송수신 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |