数据通道建立方法和通信设备的制造方法_3

文档序号:9474141阅读:来源:国知局
ontrolling Multiple Streams for Telepresence,用于智真的多流控制协议)之类的数据协议,实现语音通话、视频通话、文 档共享、消息收发、视频会议等实时的信息交互。
[0194] 在第二种可能的实现方式中,当应答消息中未携带有对应于第二提议属性行的第 二应答属性行时,根据应答消息中携带的对应于第一提议属性行的第一应答属性行检测两 端是否均支持DCEP方式;若检测出两端均支持DCEP方式,则通过DCEP方式与接收端之间 建立数据通道。
[0195] 当发送端检测出两端均支持DCEP方式时,发送端向接收端发送数据通道打开请 求,该数据通道打开请求可以以DCEP Open消息的形式发送给接收端。
[0196] 数据通道打开请求中携带有发送端为数据通道指定的流标识。另外,数据通道打 开请求中还可携带有PPID (Payload Protocol Identifier,净荷协议标识)、用于请求打开数 据通道的参数以及在数据通道上传输的数据协议等内容。
[0197] 比如,该数据通道打开请求可以为:
[0199] 其中,"Stream ID = 2"表示发送端为数据通道指定的流标识为2,"PPID = 50"用 于表示DCEP协议,"MessageType = DATA_CHANNEL_0PEN"用于表示请求打开数据通道的参 数,"Protocol = MSRP"用于表示数据通道上传输的数据协议为MSRP。
[0200] 对应地,接收端根据数据通道打开请求与发送端之间建立数据通道,并向发送端 反馈数据通道打开响应。
[0201] 比如,该数据通道打开响应可以为:
[0203] 其中,"MessageType = DATA_CHANNEL_ACK"用于表示响应打开数据通道的参数。
[0204] 另外,发送端与接收端之间首先建立SCTP偶联,然后在此基础上建立数据通道, 该数据通道包括SCTP偶联下的一对出入流,且该对出入流具有相同的流标识。
[0205] 综上所述,本实施例提供的数据通道建立方法,解决了当通信两端中的至少一端 同时支持两种或者两种以上的数据通道协商方式时,通信两端就无法协商建立数据通道的 问题;当两端中的至少一端支持两种或两种以上数据通道协商方式时,通过两端对数据通 道协商方式的协商确定,进而在此基础上完成数据通道的建立,使得两端能够简单、高效地 建立数据通道,实现了不同终端、不同网络之间的互连互通。
[0206] 另外,本实施例提供的数据通道建立方法,在对数据通道协商方式进行协商的同 时,接收端在确定同意采用SDP方式建立数据通道时,通过在应答消息中直接反馈数据通 道关联的流标识,可以避免两端在后续过程中对流标识的进一步协商,使得发送端接收到 应答消息之后,可以直接根据应答消息与接收端之间建立数据通道,减少两端信息交互的 次数,提高数据通道建立的效率;同时,还可避免因信息交互过程中可能存在的信息丢失、 或者收发延时等问题导致的协商失败,充分提高数据通道建立的成功率。
[0207] 需要说明的一点是,当基于浏览器的终端或者传统终端与頂S(IP Multimedia Subsystem,IP多媒体子系统)连接时,接收端通常为分离架构下的頂S-ALG QMS Application Level Gateway,IMS 应用层网关)和 IMS_AGW(IMS Access Media Gateway,IMS 接入媒体网关)。由于发送端与頂S-ALG之间进行SDP会话,而数据通道需要建立在发送端 与頂S-AGW之间,这就需要在頂S-ALG与頂S-AGW之间建立一种协商机制,使得頂S-ALG获 知頂S-AGW支持的数据通道协商方式。
[0208] 具体地,当接收端包括分离架构下的应用层网关和接入媒体网关时,通过应用层 网关和接入媒体网关之间交互确定接入媒体网关支持的数据通道协商方式;通过应用层网 关根据第一提议属性行、第二提议属性行以及接入媒体网关支持的数据通道协商方式确定 应答消息。
[0209] 在一个实施例中,应用层网关可以向接入媒体网关发送询问请求以询问接入媒体 网关支持的数据通道协商方式。比如,该询问请求为:
[0210] Query_datachannel_message{method for established datachannel: static ; dynamic}
[0211] 其中,仍然以第一标识"dynamic"表示DCEP方式,第二标识"static"表示SDP方 式。
[0212] 对应地,接入媒体网关根据自身支持的数据通道协商方式向应用层网关发送对应 于询问请求的询问响应:
[0213] Resp_datachannel_message{method for established datachannel: static ; dynamic}
[0214] 其中,若询问响应包括第一标识"dynamic",则说明接入媒体网关支持DCEP方式; 若询问响应包括第二标识"static",则说明接入媒体网关支持SDP方式;若询问响应包括 第一标识"dynamic"和第二标识"static",则说明接入媒体网关支持DCEP方式和SDP方 式。
[0215] 之后,应用层网关根据第一提议属性行、第二提议属性行和接入媒体网关支持的 数据通道协商方式确定应答消息。具体确定应答消息的过程在上述图4所示实施例中的步 骤402已经详细介绍,不再赘述。
[0216] 在图4所示实施例中,具体介绍了发送端与接收端之间对数据通道协商方式的协 商,并在此基础上建立数据通道。在对数据通道协商方式进行协商的同时,发送端和接收端 之间还可对数据通道上传输的数据协议进行协商。下面,将通过图5所示实施例介绍在一 次SDP会话中完成数据通道协商方式的协商以及数据通道上传输的数据协议的协商。
[0217] 请参考图5,其示出了本发明还一实施例提供的数据通道建立方法的方法流程图, 本实施例以该数据通道建立方法应用于图1所示实施环境中来举例说明。该数据通道建立 方法可以包括如下几个步骤:
[0218] 步骤501,发送端向接收端发送提议消息。
[0219] 与图4所示实施例相同的是,为了实现两端对采用何种数据通道协商方式的协 商,提议消息中携带有第一提议属性行和第二提议属性行。
[0220] 与图4所示实施例不同的是,在本实施例中,为了实现两端在对数据通道协商方 式进行协商的同时,对数据通道上传输的数据协议也进行协商,提议消息中还包括第三提 议属性行。
[0221] 第三提议属性行包括发送端在数据通道上支持的数据协议的信息。在通常情况 下,基于SCTP偶联的数据通道上可以传输MSRP协议的数据和CLUE协议的数据。其中,MSRP 协议主要用于聊天应用和文件传输应用,CLUE协议主要用于会议应用。因此,发送端在数 据通道上支持的数据协议可以是MSRP协议和CLUE协议中的任意一种或者全部两种。第三 提议属性行中包括的信息可以是明确的携带有MSRP协议和/或CLUE协议对应的协议标识 的信息,也可以是能够表明发送端在数据通道上支持的数据协议的其它任何形式的信息, 对此本实施例不作具体限定。
[0222] 具体地,提议消息的确定过程可以包括如下几个步骤:
[0223] 第一,根据发送端支持的数据通道协商方式确定本次请求的数据通道协商方式。
[0224] 第二,根据发送端支持的数据通道协商方式确定第一提议属性行。
[0225] 第一提议属性行的确定过程在图4所示实施例中已经详细介绍和说明,具体参见 图4所示实施例,本实施例中不再赘述。
[0226] 第三,根据发送端在数据通道上支持的数据协议确定第三提议属性行。
[0227] 第三提议属性行中可以包括发送端在数据通道上支持的数据协议对应的协议标 识。比如,当发送端在数据通道上支持的数据协议为MSRP协议和CLUE协议时,第三提议属 性行可以为:a = subprotocol:MSRP/CLUE ;再比如,当发送端在数据通道上支持的数据协 议为MSRP协议时,第三提议属性行可以为:a = subprotocol :MSRP。
[0228] 第四,根据发送端在数据通道上支持的数据协议对应的应用的数量a确定本次请 求建立的数据通道的数量a,a > 1。
[0229] 其中,每种数据协议对应于至少一种应用。比如,当发送端在数据通道上支持的数 据协议为MSRP协议和CLUE协议时,假设发送端请求通过MSRP协议实现聊天应用和文件传 输应用,通过CLUE协议实现会议应用,则发送端需要请求建立3条数据通道,每条数据通道 用于传输一种应用的数据。
[0230] 第五,根据本次请求的数据通道协商方式生成a个第二提议属性行。
[0231] 第二提议属性行的数量与本次请求建立的数据通道的数量相同。当本次请求建立 的数据通道的数量为3时,发送端需要生成3个第二提议属性行。具体地:
[0232] 若本次请求的数据通道协商方式为DCEP方式,则生成a个第二提议属性行;其中, 每个第二提议属性行包括一个流标识和一个标签,且不同的第二提议属性行中包括的流标 识均为任意流标识符,不同的第二提议属性行中包括的标签为互不相同的标签,每个标签 对应于一条数据通道。
[0233] 任意流标识符用于表示本次请求建立的数据通道关联的流标识为任意的,其可由 接收端在后续应答过程中选定一个未被使用的流标识作为数据通道关联的流标识,也可在 后续过程中以DCEP Open消息的形式进一步协商确定数据通道关联的流标识。
[0234] 在本实施例中,假设以表示任意流标识符。发送端生成的第二提议属性行除 了包括流标识和标签之外,通常还包括SCTP端口号、数据通道对应的标签以及最大重传次 数等参数。因此,当本次请求的数据通道协商方式为DCEP方式时,上述3条数据通道所对 应的3个第二提议属性行可以为:
[0235] a = dcmap:5000stream = ^ ;label 1 = ^channel for file transfer^ ;max_retr = 3
[0236] a = dcmap:5000stream =氺;label2 = ''channel for chat" ;max-retr = 3
[0237] a = dcmap:5000stream =氺;label3 = ''channel for conference" ;max-retr = 3
[0238] 若第二提议属性行包括任意流标识符,可以使得接收端在后续过程中确定采用 SDP方式建立数据通道时,在应答消息中直接反馈数据通道关联的流标识,避免两端在后续 过程中对流标识的进一步协商。
[0239] 若本次请求的数据通道协商方式为SDP方式,则生成a个第二提议属性行;其中, 每个第二提议属性行包括一个流标识和一个标签,且不同的第二提议属性行中包括的流标 识为互不相同的指定流标识符,不同的第二提议属性行中包括的标签为互不相同的标签, 每个标签对应于一条数据通道。
[0240] 指定流标识符用于表示数据通道关联的流标识为指定的。当发送端请求SDP方式 协商建立数据通道时,发送端为请求建立的数据通道选定一个未被使用的流标识。指定流 标识符可以是1、2、3、……、η中的任意整数,η彡1。
[0241] 比如,当本次请求的数据通道协商方式为SDP方式时,上述3条数据通道所对应的 3个第二提议属性行可以为:
[0242] a = dcmap: 5000stream = 1 ;label 1 = ^channel for file transfer^ ;max_retr = 3
[0243] a = dcmap:5000stream = 2 ;label2 = ''channel for chat" ;max_retr = 3
[0244] a = dcmap:5000stream = 3 ;label3 = ''channel for conference" ;max_retr = 3
[0245] 另外,第三提议属性行还可以包括每个协议标识关联的标签,以便接收端在后续 过程中对第二提议属性行做出有针对性的应答。对于发送端在数据通道上支持的每一个数 据协议,发送端获取该数据协议对应的应用的数量。比如,当发送端在数据通道上支持的数 据协议为MSRP协议和CLUE协议时,假设MSRP协议对应的应用的数量为2 (即聊天应用和文 件传输应用),CLUE协议对应的应用的数量为1 (即会议应用)。之后,发送端根据数据协议 对应的应用的数量为数据协议分配相同数量的标签,每个标签为a个第二提议属性行中包 括的a个互不相同的标签中的一个。比如,发送端根据MSRP协议对应的应用的数量为MSRP 协议分配2个标签,分别为label 1和label2 ;根据CLUE协议对应的应用的数量为CLUE协 议分配1个标签,为label3。之后,发送端将数据协议对应的协议标识与数据协议所分配得 的标签进行关联。比如,该关联结果可以表示为MSRP(labell ;label2)以及CLUE(label3)。 之后,发送端生成包括各个数据协议对应的协议标识以及每个协议标识关联的标签的第 三提议属性行。如,第三提议属性行可以为:a = subprotocol :MSRP(labell ;label2)/ CLUE(label3)。
[0246] 第六,发送端生成携带有第一提议属性行、a个第二提议属性行和第三提议属性行 的提议消息。
[0247] 如,发送端生成的提议消息可以包括:
[0248] m = application54111DTLS/SCTP5000
[0249] c = IN IP479. 97. 215. 79
[0250] a = sctpmap: 5000datachannel max-message-size = lOOOOOstreams = 16
[0251] a = assignstreamid: static ;dynamic
[0252] a = subprotocol:MSRP(label1 ;label2)/CLUE (label3)
[0253] a = dcmap: 5000stream = * ;label 1 = ^channel for file transfer^ ;max_retr = 3
[0254] a = dcmap:5000stream =氺;label2 = ''channel for chat" ;max_retr = 3
[0255] a = dcmap:5000stream =氺;label3 = ''channel for conference" ;max_retr = 3
[0256] 之后,发送端向接收端发送提议消息。
[0257] 对应地,接收端接收发送端发送的提议消息。
[0258] 步骤502,接收端确定应答消息。
[0259] 具体地,本步骤可以包括如下几个子步骤:
[0260] 第一,当提议消息中还包括第三提议属性行时,接收端根据第三提议属性行和接 收端在数据通道上支持的数据协议检测是否存在两端在数据通道上均支持的数据协议。
[0261] 第三提议属性行包括发送端在数据通道上支持的数据协议的信息。接收端根据发 送端在数据通道上支持的数据协议和接收端在数据通道上支持的数据协议检测是否存在 两端在数据通道上均支持的数据协议。
[0262] 比如,当第三提议属性行为"a = subprotocol :MSRP/CLUE",且接收端在数据通道 上支持的数据协议为MSRP协议时,说明存在两端在数据通道上均支持的数据协议,即MSRP 协议。
[0263] 再比如,当第三提议属性行为"a = subprotocol :CLUE",且接收端在数据通道上 支持的数据协议为MSRP协议和CLUE协议时,说明存在两端在数据通道上均支持的数据协 议,即CLUE协议。
[0264] 第二,若检测出存在两端在数据通道上均支持的数据协议,则接收端根据两端在 数据通道上均支持的数据协议生成对应于第三提议属性行的第三应答属性行。
[0265] 与图4所示实施例不同的是,在本实施例中,应答消息中还可以携带有对应于第 三提议属性行的第三应答属性行。第三应答属性行包括两端在数据通道上均支持的数据协 议的信息。
[0266] 第三应答属性行可以包括两端在数据通道上均支持的数据协议所对应的协议标 识。比如,当两端在数据通道上均支持的数据协议为MSRP协议和CLUE协议时,第三应答属 性行可以为:a = subprotocol :MSRP/CLUE ;再比如,当两端在数据通道上均支持的数据协 议为MSRP协议时,第三应答属性行可以为:a = subprotocol :MSRP。
[0267] 另外,若检测出不存在两端在数据通道上均支持的数据协议,则不生成对应于第 三提议属性行的第三应答属性行。相应地,在后续生成应答消息的过程中,应答消息中也不 携带对应于第三提议属性行的第三应答属性行。
[0268] 在本实施例中,当存在两端在数据通道上均支持的数据协议时,应答消息中携带 有对应于第一提议属性行的第一应答属性行,以及对应于第三提议属性行的第三应答属性 行。另外,根据最终确定采用的数据通道协商方式不同,应答消息中可以携带有对应于第二 提议属性行的第二应答属性行,也可以不携带对应于第二提议属性行的第二应答属性行。 具体地:
[0269] 第三,根据第一提议属性行和接收端支持的数据通道协商方式确定两端均支持的 数据通道协商方式。
[0270] 第四,若两端均支持的数据通道协商方式有且只有DCEP方式,则确定同意采用的 数据通道协商方式为DCEP方式,并生成携带有第一应答属性行和第三应答属性行的应答 消息。
[0271] 当确定同意采用的数据通道协商方式为DCEP方式时,应答消息可以包括:
[0272] c = IN IP479. 97. 215. 79
[0273] a = sctpmap: 5000datachannel max-message-size = lOOOOOstreams = 16
[0274] a = assignstreamid: dynamic
[0275] a = subprotocol:MSRP
[0276] 其中,第一应答属性行"a = assignstreamid:dynamic"表示接收端支持的数据通 道协商方式为DCEP方式;第三应答属性行"a = subprotocol :MSRP"表示两端在数据通道 上均支持的数据协议为MSRP协议。
[0277] 第四,若两端均支持的数据通道协商方式有且只有SDP方式,则确定同意采用的 数据通道协商方式为SDP方式,并生成携带有第一应答属性行、第二应答属性行和第三应 答属性行的应答消息。
[0278] 其中,第二应答属性行与第二提议属性行对应,第二应答属性行包括接收端同意 采用的数据通道协商方式的信息,该信息通常包括相关用于建立数据通道的参数,比如 SCTP端口号、数据通道关联的流标识、数据通道对应的标签以及最大重传次数等等。接收端 生成携带有第一应答属性行、第二应答属性行和第三应答属性行的应答消息,以便发送端 在后续过程中读取第二应答属性行后,通过SDP方式与接收端之间建立数据通道,并根据 第三应答属性行确定在数据通道上传输的数据协议。
[0279] 在本实施例中,接收端确定第二应答属性行的过程如下:
[0280] 1、根据第三提议属性行以及两端在数据通道上均支持的数据协议确定所需应答 的第二提议属性行。
[0281] 其中,所需应答的第二提议属性行中的属性值包括的标签与两端在数据通道上均 支持的数据协议对应的协议标识在第三提议属性行中关联的标签相同。
[0282] 比
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1