H.248网关控制协议呼叫流程示例.._第1页
H.248网关控制协议呼叫流程示例.._第2页
H.248网关控制协议呼叫流程示例.._第3页
H.248网关控制协议呼叫流程示例.._第4页
H.248网关控制协议呼叫流程示例.._第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

H 248 基本呼叫流程基本呼叫流程 一 需要了解的一些一 需要了解的一些 H 248 概念 概念 1 媒体网关 媒体网关 MG MG 将一种网络中的媒体转换成另一种网络所要求的媒体格式 2 媒体网关控制器 媒体网关控制器 MGC MGC 对 MG 中与媒体通道连接控制相关的呼叫状态进 行控制 3 终结点 终结点 Termination 终结点是 MG 上的逻辑实体 它发起和 或接收媒体和 或控 制流 终结点用一些属性来描述 如媒体流 modem 和承载能力等属性 这些属性组成了 一系列描述符 4 关联 关联 Context 关联是一些终结点具有相互联系而形成的结合体 有一种特殊的关 联称为空关联 Null 它包含所有那些与其它终结点没有联系的终结点 例如 接入网关 中所有的空闲线路都被看作空关联中的终结点 5 命令 命令 Command 本协议定义了一些命令用于对协议连接模型中的逻辑实体 关联和 终结点 进行操作和管理 命令提供了本协议所支持的最精微层次的控制 例如 通过命令 可以向关联增加终结点 修改终结点 从关联中删除终结点以及审计关联或终结点的属性 命令提供了对关联和终结点的属性的完全控制 包括指定要求终结点报告的事件 向终结 点加载的信号以及指定关联的拓扑结构 谁能听见 看见谁 6 事务 事务 Transaction MG 与 MGC 之间的一组命令构成事务 一个事务可以由一个 或多个动作 Action 组成 每个动作又由作用范围局限在同一个关联中的一个或多个命 令组成 7 请求 请求 Request 和响应 和响应 Reply MGC 和 MG 之间进行各种层次上的交互 如事 务交互 动作交互和命令交互等 每次交互包含一个请求和一个响应 请求由发送方发起 接收方对请求进行处理 并将处理结果包含在响应中返回给发送方 通常 MGC 发起请求 而 MG 做出响应 但相反的情况也是可能的 协议结构 协议结构 MG 和 MGC 之间的一组命令 command 组成了事务 Transaction 每个 Transaction 由一个 TransactionID 来标识 Transaction 由一个或者多个动作 Action 组成 一个 Action 又由一系列 command 以及对关联属性进行修改和审计的指令组成 这些命令 修改和审计操作都局限在一个关联之内 因而每个动作 action 通常指定一个关联标识 Contextid 所有 Megaco H 248 信息采用 ASN 1 文本信息格式 Megaco H 248 通过一系列命令 控制终止 Termination 关联域 Context 事件 Event 以及信号 Signal 等 下面 列出了各种命令 Add Add 命令负责添加 Termination 到 Context Context 中的第一个 Termination 上 的 Add 命令可以用于创建一个 Context Modify Modify 命令用于更改 Termination 的属性 事件和信号 Subtract Subtract 命令用于断开 Context 中的 Termination 连接 并返回加入 Context 的关于 Termination 的统计值 Context 中最后 Termination 上的 Subtract 命令 用以删除 Context Move Move 命令自动将 Termination 移动到其它 Context AuditValue AuditValue 命令用以返回属性 事件和信号的当前状态 以及终点统计值 AuditCapabilities AuditCapabilities 命令返回媒体网关所支持的关于终点属性 事件及 信号等的所有可能值 Notify Notify 命令允许媒体网关通知媒体网关控制器关于媒体网关中发生的事件 ServiceChange ServiceChange 命令允许媒体网关通告媒体网关控制器关于单个终点或终 点组将退出服务或返回到服务 此外 MG 利用 ServiceChange 命令通告其对 MGC 注册 的可用性 并通告 MGC 关于迫近或完全重启的 MG MGC 可能通过向 MG 发送 ServiceChange 命令而通告 MG 其移交过程 MGC 还可能通告 ServiceChange 命令通知 MG 为服务增添单个终点或终点组或将单个终点或终点组退出服务 H 248 和 MeGaCo 在协议文本上相同 只是在协议消息传输语法上有所区别 H 248 采用 ASN 1 语法格式 ITU T X 680 1997 MeGaCo 采用 ABNF 语法格式 RFC2234 典型呼叫过程典型呼叫过程 a 主叫摘机 mg 检测到后通过 notify 命令将事件 off hook 报告给 mgc b mgc 通过 add 命令让 mg 将主叫端口加入一个 context 并向主叫送拨号音 c 用户拨号 mg 将收到的号码通过 notify 命令报告给 mgc d mgc 分析被叫号码 找出被叫端口 命令 mg 将被叫端口加入一个 context e mgc 命令 mg 向主叫送回铃音 向被叫送振铃音 f 被叫摘机 mgc 命令 mg 连接主被叫 g 主 被叫挂机 mgc 命令 mg 释放主被叫连接 将主 被叫端口放空 context 二 环境创建二 环境创建 主叫号码 ip 221 6 59 123 line1 被叫号码 ip 221 6 59 123 line3 两号码在同一 IAD 221 6 59 123 上 主叫拨打被叫振铃 被叫应答 被叫先挂机 如何 trc 221 6 59 123 的呼叫 1 在 GUI 上查看 221 6 59 123 所使用的的 cocoCE 为 COCOCE2 现使用的是 COCOCE 2A 2 在 FW PC 上执行 tcoco3 and host 221 6 59 123 megafilt a s24 25 mx tee xiong log 过 滤除 221 6 59 123 之外的内容 3 用拨打 然后得到 xiong log 通过 more xiong log 打开文件或通过 FTP 下载到本地硬盘 三 消息流程分解 三 消息流程分解 MegaFilt Middleware Megaco SIP filter tool version 111 06 08 2004 WR4MGC written by M Spreter ASEL and Expanding all Middleware Megaco SIP Internal messages Suppressing following messages MW MonitorRequest MW MonitorResponse Tracing Middleware with hexdump 1 MG1 221 6 59 123 2944 检测到用户检测到用户 User1 njasbtest1line1 的摘机 将此摘机事 的摘机 将此摘机事 件 件 Transaction 通过 通过 Notify 命令上报给命令上报给 MGC 11 35 35 eth0 njcoco2 2944 udp 162 MEGACO 1 221 6 59 123 2944Transaction 40 Context Notify njasbtest1line1 ObservedEvents T al of 模拟用户模拟用户 摘机摘机 TransactionResponseAck 39 内容解释 采用 MEGACO 协议传送 从 MG 221 6 59 123 端口 2944 发往 MGC 的 njcoco2 端口 2944 此事务是 TransactionRequest 事务的标识为 Transactionid 40 此动作由 Notify 命令 组成 Notify 命令里包含下列信息 终结点标识 njasbtest1line1 请求序号 被观察事件描述符 al of event analog sub off hook TransactionResponseAck 2 MGC 向向 MG1 返回返回 Reply 11 35 35 eth0 njcoco2 11000 221 6 59 123 2944 udp 45 DF 1 221 6 59 7 P 40 C N njasbtest1line1 解释 P reply TransactionReply 由事务的接收方发送 作为对 TransactionRequest 的一对一响应 一个 TransactionReply 包含一个或者多个动作 其中每个动作都必须指定动作的目标关联 以 及对应每个关联的一个或者多个响应 当事务的响应方完成了 TransactionRequest 的处理 后 就会发送一个 TransactionReply 3 MG1 上的用户上的用户 User1 拨号 拨号 MG1 根据根据 MGC 所下发的号码表进行收号 并将所拨号所下发的号码表进行收号 并将所拨号 码及匹配结果用码及匹配结果用 Notify 消息上报消息上报 MGC 11 35 39 eth0 njcoco2 2944 udp 186 MEGACO 1 221 6 59 123 2944Transaction 41 Context Notify njasbtest1line1 ObservedEvents T dd ce ds Meth UM TransactionResponseAck 40 事件描述 MG 检测收号完成 dd ce 收到数字串 ds 为 所收数字与 DIGMAP 正好匹配 Meth UM 关于匹配 metching 的定义 如果首位已匹配但在后续收号过程中发生号码和号码表不匹配或长定时器超时 则只 向 MGC 上报已匹配成功的号码 并且 meth PM 如果首位已匹配但在后续收号过程中发生短定时器 超时 则只向 MGC 上报已匹配成 功的号码 并且 meth FM 如果用户首位拨号匹配失败 则向 MGC 上报 ds Meth PM 如果拨号精确匹配 则上报所拨号码 Meth UM 4 MGC 向向 MG1 返回返回 Reply 11 35 39 eth0 njcoco2 11000 221 6 59 123 2944 udp 45 DF 1 221 6 59 7 P 41 C N njasbtest1line1 5 MGC 向向 MG 发送发送 Add 消息 在消息 在 MG 中创建一个新中创建一个新 context 并在并在 context 中加入用中加入用 户户 User1 的的 termination 和和 RTP termination 其中 其中 RTP 的的 Mode 设置为设置为 send and recivice 并设置语音压缩算法 并设置语音压缩算法 11 35 39 eth0 njcoco2 11000 221 6 59 123 2944 udp 142 DF 1 221 6 59 7 T C A njasbtest1line1 M O MO SR tdmc ec on tdmc gain 0 mode send and recivice A add CHOOSE M O MO RC mode Receiveonly L Local 描述符 v 0c IN IP4 m audio RTP AVP 8 V 0 C IN IP4 M AUDIO RTP AVP 8 H 248 协议里几个常用缩写 T TransactionID C ContextID A ADD COMMAND M Media Descriptor O Local Control Descriptor 可能是 无从考证 MO Mode Descriptor L Local Descriptor R Remote Descriptor 具体解释见第六流程 6 MG1 为所需为所需 Add 的的 RTP 分配资源分配资源 RTP1 并向 并向 MGC 应答应答 Reply 消息 其中包括消息 其中包括 该该 RTP1 的的 IP 地址 采用的语音压缩算法和地址 采用的语音压缩算法和 RTP 端口号等 端口号等 11 35 39 eth0 njcoco2 11000 udp 181 MEGACO 1 221 6 59 123 2944Reply Context 12 Add njasbtest1line1 Add RTP 0000 Media Local v 0 c IN IP4 221 6 59 123 m audio 4000 RTP AVP 8 相关知识 8 MEDIA 的几种描述符之间的关系如下所示 Media Descriptor TerminationState Descriptor Stream Descriptor LocalControl Descriptor Local Descriptor Remote Descriptor 其中 当本协议采用文本方式编码时 Local 和 Remote 描述符包含 RFC 2327 所定义的 SDP 的会话描述 session description SDP 会话描述见附一 例子的描述如下 m 媒体名称和传输地址 m MEDIA 可以选择 audio video application data and control 例子的 m audio 4000 RTP AVP 8 如此理解 would specify that ports 4000 form one RTP RTCP and RTP AVP is the transport protocol and 8 is the format see below Codec id 8 G 711A 0 G 711U 18 G 729 4 G 723 c 连接信息 如果包含在会话层则该字段可选 c 例子所用的描述符定义 c IN IP4 221 6 59 123 IN internet IPV4 所连接的 ip 地址 7 MGC 向向 MG2 发送发送 Add 消息 在消息 在 MG2 例子 例子 MG2 为为 221 6 59 123 的的 line3 创建创建 一个新一个新 context 在 在 context 中加入用户中加入用户 User2 的的 termination 和和 RTP termination 其中 其中 Mode 设置为设置为 SendReceive 更多 更多 Mode 见附二 见附二 并设置远端 并设置远端 RTP 地址及端口号 语音地址及端口号 语音 压缩算法等 例子压缩算法等 例子 MG2 为为 221 6 59 123 的的 line3 11 35 39 eth0 njcoco2 11000 221 6 59 123 2944 udp 196 DF 1 221 6 59 7 T C A njasbtest1line3 M O MO SR tdmc ec on tdmc gain 0 A M O MO SO L v 0c IN IP4 m audio RTP AVP 8 R v 0c IN IP4 221 6 59 123m audio 4000 RTP AVP 8 H 248 协议里几个常用缩写 T TransactionID C ContextID A ADD COMMAND M Media Descriptor O Local Control Descriptor 可能是 无从考证 MO Mode Descriptor L Local Descriptor R Remote Descriptor 8 MG2 为所需为所需 Add 的的 RTP 分配资源分配资源 RTP2 并向 并向 MGC 应答应答 Reply 消息 其中包括该消息 其中包括该 RTP2 的的 IP 地址 采用的语音压缩算法和地址 采用的语音压缩算法和 RTP 端口号等 端口号等 11 35 40 eth0 njcoco2 11000 udp 181 MEGACO 1 221 6 59 123 2944Reply Context 13 Add njasbtest1line3 Add RTP 0002 Media Local v 0 c IN IP4 221 6 59 123 m audio 4004 RTP AVP 8 9 MGC 向向 MG1 发送发送 Modify 消息 消息 发送发送 MG2 的信息的信息 11 35 40 eth0 njcoco2 11000 221 6 59 123 2944 udp 143 DF 1 221 6 59 7 T C 12 MF njasbtest1line1 M O MO SR MF RTP 0000 M O MO SR R v 0c IN IP4 221 6 59 123m audio 4004 RTP AVP 8 10 MG1 向向 MGC 返回返回 Reply 11 35 40 eth0 njcoco2 11000 udp 106 MEGACO 1 221 6 59 123 2944Reply Context 12 Modify njasbtest1line1 Modify RTP 0000 11 MGC 向向 MG2 发送发送 Modify 消息 消息 MG2 向被叫送振铃音 向被叫送振铃音 al ri 11 35 40 eth0 njcoco2 11000 221 6 59 123 2944 udp 202 DF 1 221 6 59 7 T C 13 MF njasbtest1line3 E al of strict exact al on strict exact g sc SG andisp dwa ddb 07014fca pattern 1 MF RTP 0002 12 MGC 向向 MG1 发送发送 Modify 消息 让消息 让 User1 放回铃音 并设置放回铃音 并设置 RTP1 的远端的远端 RTP 地址及端口号 语音压缩算法等 地址及端口号 语音压缩算法等 11 35 40 eth0 njcoco2 11000 221 6 59 123 2944 udp 74 DF 1 221 6 59 7 T C 12 MF njasbtest1line1 SG cg rt SY TO DR 0 13 MG1 向向 MGC 返回返回 Reply 11 35 40 eth0 njcoco2 11000 udp 163 MEGACO 1 221 6 59 123 2944Reply Context 13 Modify njasbtest1line3 Modify RTP 0002 Reply Context 12 Modify njasbtest1line1 13 MG2 检测到用户检测到用户 User2 的摘机 将此摘机事件通过的摘机 将此摘机事件通过 Notify 命令上报给命令上报给 MGC 11 35 44 eth0 njcoco2 2944 udp 163 MEGACO 1 221 6 59 123 2944Transaction 42 Context 13 Notify njasbtest1line3 ObservedEvents T al of 被叫摘机被叫摘机 TransactionResponseAck 41 14 MGC 向向 MG2 返回返回 Reply 11 35 44 eth0 njcoco2 11000 221 6 59 123 2944 udp 46 DF 1 221 6 59 7 P 42 C 13 N njasbtest1line3 15 MGC 向向 MG2 发送发送 MODIFY MODE SR 11 35 44 eth0 njcoco2 11000 221 6 59 123 2944 udp 57 DF 1 221 6 59 7 T C 13 MF RTP 0002 M O MO SR 16 MGC 向向 MG1 发送发送 Modify 消息 让消息 让 User1 停回铃音停回铃音 signal 并设置 并设置 RTP1 的的 Mode 为为 SendReceive 11 35 44 eth0 njcoco2 11000 221 6 59 123 2944 udp 57 DF 1 221 6 59 7 T C 12 MF njasbtest1line1 SG 17 MG1 向向 MGC 返回返回 Reply User1 与与 User2 正常通话 正常通话 11 35 44 eth0 njcoco2 11000 udp 136 MEGACO 1 221 6 59 123 2944Reply Context 13 Modify RTP 0002 Reply Context 12 Modify njasbtest1line1 被叫挂机 18 MG1 检测到用户检测到用户 User1 的挂机 将此挂机事件通过的挂机 将此挂机事件通过 Notify 命令上报给命令上报给 MGC 11 35 48 eth0 njcoco2 2944 udp 163 MEGACO 1 221 6 59 123 2944Transaction 43 Context 13 Notify njasbtest1line3 ObservedEvents T al on 主叫先挂机主叫先挂机 TransactionResponseAck 42 19 确认挂机 确认挂机 MGC 向向 MG2 返回返回 Reply 11 35 48 eth0 njcoco2 11000 221 6 59 123 2944 udp 46 DF 1 221 6 59 7 P 43 C 13 N njasbtest1line3 20 MGC 向向 MG2 发送发送 Modify 消息 向消息 向 MG2 发送下一次呼叫的号码表 发送下一次呼叫的号码表 Digitmap 和 和 下一次放拨号音 下一次放拨号音 cg dt 并检测收号完成 并检测收号完成 dd ce 挂机 挂机 al on 拍叉簧 拍叉簧 al fl 事件 事件 11 35 48 eth0 njcoco2 11000 221 6 59 123 2944 udp 178 DF 1 221 6 59 7 T C 13 S C MF njasbtest1line3 E al of strict exact EM SG cg dt E dd ce DM JSNGN8 al on strict exact g sc al on strict exact 21 向主叫发释放信息向主叫发释放信息 MGC 向向 MG1 发送发送 Modify 消息 让消息 让 MG1 对对 User1 放忙音放忙音 cg bt 11 35 48 eth0 njcoco2 11000 221 6 59 123 2944 udp 111 DF 1 221 6 59 7 T C 12 MF njasbtest1line1 M O MO SR SG SL 1 cg bt cg bt MF RTP 0000 M O MO IN Inactive 22 主 被叫主 被叫 REPLY MG 221 6 59 123 向 向 MGC 返回返回 Reply 释放资源 并向 释放资源 并向 MGC 上报呼叫的媒体流统计信息 里面内容包括上报呼叫的媒体流统计信息 里面内容包括 Replyid 被叫被叫 line 和和 Replyid 主叫主叫 11 35 48 eth0 njcoco2 11000 udp 427 MEGACO 1 221 6 59 123 2944Reply Context 13 Subtract njasbtest1line3 Statistics rtp delay 0 rtp jit 0 rtp or 0 rtp os 20320 rtp pl 0 rtp pr 0 rtp ps 127 Subtract RTP 0002 Statistics rtp delay 0 rtp jit 0 rtp or 0 rtp os 20320 rtp pl 0 rtp pr 0 rtp ps 127 Context Modify njasbtest1line3 Reply Context 12 Modify njasbtest1line1 Modify RTP 0000 附附 1 SDP 会话描述如下 会话描述如下 标注标注 符号的表示可选字段符号的表示可选字段 v 协议版本 o 所有者 创建者和会话标识符 s 会话名称 i 会话信息 u URI 描述 e Email 地址 p 电话号码 c 连接信息 如果包含在所有媒体中 则不需要该字段 b 带宽信息 一个或更多时间描述 如下所示 一个或更多时间描述 如下所示 z 时间区域调整 k 加密密钥 a 0 个或多个会话属性行 0 个或多个媒体描述 如下所示 时间描述时间描述 t 会话活动时间 r 0 或多次重复次数 媒体描述媒体描述 m 媒体名称和传输地址 m MEDIA 可以选择 audio video application data and control 例子 m audio 4000 RTP AVP 8 would specify that ports 4000 form one RTP RTCP and RTP AVP is the transport protocol and 8 is the format see below i 媒体标题 c 连接信息 如果包含在会话层则该字段可选 c 例子所用的描述符定义 c c IN IP4 221 6 59 123 b 带宽信息 k 加密密钥 a 0 个或多个会话属性行 附二附二 Mode 属性 Sendonly Receiveonly SendReceive Inactive 和 Loopback 附三附三 错误代码错误代码 400 错误请求 Bad Request 401 协议错误 Protocol Error 402 未授权 Unauthorized 403 事务语法错误 Syntax Error in Transaction 406 协议版本不支持 Version Not Supported 410 标识符错误 Incorrect identifier 411 事务指向未知的关联 The transaction refers to an unknown ContextId 412 没有可用的关联标识符 No ContextIDs available 421 未知的动作或不合法的动作组合 Unknown action or illegal combination of actions 422 动作语法错误 Syntax Error in Action 430 未知的终结点标识符 Unknown TerminationID 431 不存在匹配的终结点 No TerminationID matched a wildcard 432 终结点标识超出范围或没有可用的终结点标识符 Out of TerminationIDs or No TerminationID available 433 终结点已存在于一个关联中 TerminationID is already in a Context 434 关联中的终结点数目超过了最大值 Max number of Terminations in a Context exceeded 440 协议不支持的包或未知的包 Unsupported or unknown Package 441 Remote 描述符丢失 Missing RemoteDescriptor 442 命令语法错误 Syntax Error in Command 443 命令类型不支持或命令类型未知 Unsupported or Unknown Command 444 描述符类型不支持或描述符类型未知 Unsupported or Unknown Descriptor 445 属性类型不支持或属性类型未知 Unsupported or Unknown Property 446 参数类型不支持或参数类型未知 Unsupported or Unknown Parameter 447 命令中描述符非法类型 Descriptor not legal in this command 448 同一描述符在命令中重复两次 Descriptor appears twice in a command 注 H 248 8 规定该错会中止对命令的执行 但本标准认为可以接受该错误被忽略的做法 不 报错误码 因为忽略重复出现的描述符不会影响事务继续处理 450 包中不存在的属性 No such property in this package 451 包中不存在的事件 No such event in this package 452 包中不存在的信号 No such signal in this package 453 包中不存在的统计数据 No such statistic in this package 454 包中不存在的参数 No such parameter value in this package 455 描述符中的参数非法 Parameter illegal in this Descriptor 456 同一描述符中参数或属性重复两次 Parameter or Property appears twice in this Descriptor 457 信号或事件参数丢失 Missing parameter in signal or event 471 添加复用描述符终结点失败 Implied Add for Multiplex failure 500 内部网关错误 Internal Gateway Error 501 未执行 Not Implemented 502 未准备就绪 Not ready 503 业务不可用 Service Unavailable 504 命令发起方未授权 Command Received from unauthorized entity 505 接收 Restart 响应前接收到命令 Command Received before Restart Response 510 没足够资源可用 Insufficient resources 512 MG 未装载 不能进行对要求检测的事件的检测 Media Gateway unequipped to detect requested Event 513 MG 未装载 不能产生请求信号 Media Gateway unequipped to generate requested Signals 514 MG 不能发送指定的通知 Media Gateway cannot send the specified announcement 515 媒体流类型不支持 Unsupported Media Type 517 模式不支持或非法 Unsupported or invalid mode 518 EventBuffer 满 Event buffer full 519 无资源装载 DigitMap Out of space to store digit map 520 MG 中未装载 DigitMap DigitMap Media Gateway does not have a digit map 521 终结点正在发生业务改变 Termination is ServiceChangeing 526 没有足够带宽资源 Insufficient bandwidth 529 设备内部硬件故障 Internal hardware failure 530 网络短暂性故障 Temporary Network failure 531 网络永久性故障 Permanent Network failure 532 要求审计的属性 事件 信号或统计信息不存在 Audited Property Statistic Event or Signal does not exist 581 不存在 Does Not Exist H 248 网关控制协议呼叫流程示例网关控制协议呼叫流程示例 1 驻地网关之间的呼叫程序驻地网关之间的呼叫程序 本示范程序用于对 IP 网络中驻地网关之间的呼叫建立程序进行说明 为简单起见 假 定两个驻地网关均受同一个 MGC 控制 I 1 1 驻地网关中模拟线终结点空闲驻地网关中模拟线终结点空闲 本节以下内容所说明的 MG 和 MGC 之间的 API 接口用于确保该环境下的终结点处于 空闲状态 主叫 MG 和被叫 MG 中的模拟线终结点处于空闲状态 且终结点被通过 Modify 命令进行配置 用于检测呼叫发起事件 如着摘机 空关联用于指示关联中尚未包含终结 点 根终结点用于指示整个 MG 而不是 MG 内的某个终结点 在该示范程序中 MG1 的的 IP 地址为地址为 124 124 124 222 MG2 的的 IP 地址为地址为 125 125 125 111 MGC 的的 IP 地址为地址为 123 123 123 4 MG1 MG2 和 MGC 的协议默认端口 为 55555 1 MG 向向 MGC 发送发送 ServiceChange 命令进行注册 命令如下 命令进行注册 命令如下 MG1 至 MGC MEGACO 1 124 124 124 222 Transaction 9998 Context ServiceChange ROOT Services Method Restart Version 3 ServiceChangeAddress 55555 Profile ResGW 1 2 MGC 回送的响应如下 回送的响应如下 MGC 至 MG1 MEGACO 1 123 123 123 4 55555 Reply 9998 Context ServiceChange ROOT Services ServiceChangeAddress 55555 Profile ResGW 1 3 MGC 将修改空关联中的一个终结点 将修改空关联中的一个终结点 TerminationId 为为 A4444 streamId 为为 1 事件描 事件描 述符中的述符中的 requestId 为为 2222 消息发送方的 消息发送方的 mID 采用采用 IP 地址和端口号的形式 地址和端口号的形式 123 123 123 4 55555 该媒体流的模式设置为 该媒体流的模式设置为 SendReceive al 是模拟线检测包的缩是模拟线检测包的缩 写 本地和远端描述符为临时分配的 写 本地和远端描述符为临时分配的 MGC 至 MG1 MEGACO 3 123 123 123 4 55555 Transaction 9999 Context Modify A4444 Media Stream 1 LocalControl Mode SendRecv tdmc gain 2 in dB tdmc ec on Events 2222 al of strict state 拨号计划可以已经预先记载在 MG 中 此时 应等待摘机事件发生 并播放拨号音和开始 收集 DTMF 数字 然而 在本示范程序中 将在摘机事件发生后使用 digitmap 如步骤 5 所示 如果可使用内嵌的事件描述符来集合步骤 3 和 4 步骤 8 和 9 从而步骤 6 和 7 可以省略 4 MGC 和和 MG2 之间的消息交互类似 此时 空闲终结点为之间的消息交互类似 此时 空闲终结点为 A5555 MG1 至 MGC MEGACO 3 124 124 124 222 55555 Reply 9999 Context Modify A4444 5 MGC 和和 MG2 之间的消息交互类似 此时 空闲终结点为之间的消息交互类似 此时 空闲终结点为 A5555 I 1 2 收集主叫方拨号事件和初始化终结点收集主叫方拨号事件和初始化终结点 以下步骤是在完成前面所述步骤的基础上进行的 从 MGC 发送至 MG1 的事务用于 获得主叫方终结点 A4444 收集的拨号事件后 发起至 MG2 的连接 6 MG1 检测到用户检测到用户 1 的摘机事件 则向的摘机事件 则向 MGC 上报上报 Notify 命令 命令 MG1 至 MGC MEGACO 3 124 124 124 222 55555 Transaction 10000 Context Notify A4444 ObservedEvents 2222 T al of init OFF 7 Notify 命令得到证实 命令得到证实 MGC 至 MG1 MEGACO 3 123 123 123 4 55555 Reply 10000 Context Notify A4444 8 MGC 修改终结点 指示终结点播放拨号音 并按照修改终结点 指示终结点播放拨号音 并按照 Dialplan0 的的 DigitMap 收集数字 收集数字 以及开始检测挂机事件 以及开始检测挂机事件 MGC 至 MG1 MEGACO 3 123 123 123 4 55555 Transaction 10001 Context Modify A4444 Events 2223 al on strict state dd ce DigitMap Dialplan0 Signals cg dt DigitMap Dialplan0 0 00 1 7 xxx 8xxxxxxx Fxxxxxxx Exx 91xxxxxxxxxx 9011x 9 Modify 得到证实 得到证实 MG1 至 MGC MEGACO 3 124 124 124 222 55555 Reply 10001 Context Modify A4444 10 下一步 下一步 MG1 收集了用户收集了用户 1 所拨的被叫号码 检测到第一个被叫号码数字时 停止播所拨的被叫号码 检测到第一个被叫号码数字时 停止播 放拨号音 当收集的被叫号码与放拨号音 当收集的被叫号码与 A4444 终结点上的拨号计划完全匹配时 向终结点上的拨号计划完全匹配时 向 MGC 发送发送 Notify 命令 命令 MG1 至 MGC MEGACO 3 124 124 124 222 55555 Transaction 10002 Context Notify A4444 ObservedEvents 2223 T dd ce ds 2 Meth UM 令得到证实 MGC 至 MG1 MEGACO 3 123 123 123 4 55555 Reply 10002 Context Notify A4444 12 MGC 分析被叫号码后 确定需要从 MG1 建立到 MG2 的连接 A4444 终结点和 RTP 终结点被添加到 MG1 中的一个新的关联中 由于远端描述符未指定 此时 终结点模式 设置为 ReceiveOnly MGC 期望的编码按照优先级进行排列 MGC 至 MG1 MEGACO 3 123 123 123 4 55555 Transaction 10003 Context Add A4444 Add Media Stream 1 LocalControl Mode RecvOnly nt jit 40 in ms Local v 0 c IN IP4 m audio RTP AVP 4 a ptime 30 v 0 c IN IP4 m audio RTP AVP 0 注 MGC 可以本地描述符中的 SDP 部分包含其所期望的参数值 MG 应在响应中返回本 地描述符 13 MG1 返回响应 其中包含一个新的终结点 且填充本地描述符中返回响应 其中包含一个新的终结点 且填充本地描述符中 IP 地址和端口号 地址和端口号 同时 它返回同时 它返回 MG 所期望的编码的选择结果 所期望的编码的选择结果 MG1 将将 RTP 端口号设置为端口号设置为 2222 MEGACO 3 124 124 124 222 55555 Reply 10003 Context 2000 Add A4444 Add A4445 Media Stream 1 Local v 0 o IN IP4 124 124 124 222 s t 0 0 c IN IP4 124 124 124 222 m audio 2222 RTP AVP 4 a ptime 30 a recvonly RTP profile for G 723 1 is 4 ITU T H 248 1 建议书 09 2005 175 14 MGC 将将 MG2 上的终结点添加到一个新的关联 并建立一个上的终结点添加到一个新的关联 并建立一个 RTP 媒体流 例如 终结媒体流 例如 终结 点标识符为点标识符为 A5556 模式设置为 模式设置为 SendReceive 同时 同时 MGC 指示终结点指示终结点 A5555 播放振铃播放振铃 信号音 信号音 MGC 至 MG2 MEGACO 3 123 123 123 4 55555 Transaction 50003 Context Add A5555 Media Stream 1 LocalControl Mode SendRecv Events 1234 al of strict state Signals al ri Add Media Stream 1 LocalControl Mode SendRecv nt jit 40 in ms Local v 0 c IN IP4 m audio RTP AVP 4 a ptime 30 Remote v 0 c IN IP4 124 124 124 222 m audio 2222 RTP AVP 4 a ptime 30 G 723 1 的 RTPprofile 等于 4 15 该命令得到证实 媒体流的端口号应与控制流端口号不同 例如 端口号为该命令得到证实 媒体流的端口号应与控制流端口号不同 例如 端口号为 1111 在 在 SDP 中 中 MG2 至 MGC MEGACO 3 125 125 125 111 55555 Reply 50003 Context 5000 Add A5555 Add A5556 Media Stream 1 Local v 0 o IN IP4 125 125 125 111 s t 0 0 c IN IP4 125 125 125 111 m audio 1111 RTP AVP 4 G 723 1 的 RTP profile 等于 4 16 此时 将步骤此时 将步骤 15 中的 中的 MG2 的的 IP 地址和端口号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论