1、 双向连接建立的过程
一个双向连接的建立过程涉及到三个步骤:
(1) CA要求第一个网关在端点上创建一个连接。网关分配连接的资源并通过响应返回一个描述符(称为本地连接描述符)。描述符中包含了对端发送数据包给新建连接所需的必要信息。
(2) CA要求第二个网关在端点上创建一个连接。命令中携带了第一个网关提供的连接描述符(称为远端连接描述符)。网关分配连接的资源并通过响应返回一个描述符(本地连接描述符)。
(3) CA要求第一个网关修改连接属性,通过在MDCX命令携带第二个网关提供的连接描述符(远端描述符)。此时双向连接建立起来。
2、 连接支持的媒体类型的决定
三个参数决定了所建立的连接支持的媒体类型,分别是:
(1) 本地连接选项:CA通过该参数提供媒体网关连接使用的媒体参数。当该参数提供时,网关必须使用这些媒体参数,直到连接被删除,或者MDCX命令下发新的参数(本地连接描述符或远端连接描述符)。
(2) 远端连接描述符:CA通过该参数提供连接的另一侧支持的媒体参数。当该参数提供时,网关必须使用这些媒体参数,直到连接被删除,或者MDCX命令下发新的参数(本地连接描述符或远端连接描述符)。
(3) 本地连接描述符:网关通过该参数提供了连接所支持的媒体参数。当该参数提供时,媒体网关必须使用这些媒体参数,直到该连接被删除,或网关产生新的本地连接描述符。
3、 编码协商过程
(1) 本地连接描述符中的编码的确定需要通过三个编码列表决定。
当前命令中本地连接选项提供的编码参数列表。
当前命令中远端连接描述符提供的编码参数列表。
网关对该连接所支持的内部编码列表。
(2) 编码选择流程
A:内部编码列表和本地连接选项的编码列表的交集生成一个核准的编码列表。如果本地连接选项为空,核准的编码列表就包含了内部编码列表。
B:如果核准的编码列表为空,网关返回编码协商失败。
C:否则,使用核准的编码列表与远端描述符提供的编码列表的交集生成一个协商的编码列表。如果远端连接描述符为空,协商的编码列表包含了核准的编码列表。
D:如果协商的编码列表为空,网关返回编码协商失败。
E:否则,编码协商成功,网关返回本地连接描述符。