VOIP之H.248协议学习记录

前言

        此文用于记录作者学习H.248协议的收获,条件所限,没有抓包分析,若有错误还请指正。

1. 简介

        H.248协议是2000年由ITU-T(International Telecommunication Union - Telecommunication Standardization Sector,国际电信联盟-电信标准部)第16工作组提出的媒体网关控制协议,它是在早期的MGCP(Media Gateway Control Protocol,媒体网关控制协议)协议基础上改进而成。H.248协议是用于连接MGC(Media Gateway Controller,媒体网关控制器)与MG(Media Gateway,媒体网关)的网关控制协议,应用于媒体网关与软交换之间及软交换与H.248终端之间,是软交换应支持的重要协议。

2. 模型抽象

        H.24模型可以抽象为MGC(media gateway control,媒体网关控制器)和MG(media gateway,媒体网关)。MGC和MG通过消息(message)交互,完成注册、呼叫、挂机等一些列功能。

3. MG的逻辑实体

        MG拥有两大逻辑实体,关联和终端。其中终端包含在关联内,是实现VOIP功能的主体,如振铃、播放拨号音、传递RTP流等。

3.1 终端

终端,Termination:能接受或发送一种或多种媒体流的逻辑实体,拥有唯一标志Termination ID,Termination ID由MG 分配,终端分三类:

    半永久终端(Physcial termination): 可以代表物理实体,如一个TDM信道,或者呼叫的主体。

    临时终端(Ephemearal termination): 临时性的信息流,如RTP流。

    ROOT:代表整个网关可以用来控制网关媒体属性。

终端可以用特性描述,其中封装了媒体流参数,modem和承载力参数,这些参数可以组成一系列描述符而包涵在命令中,具体特性如下:

    性质(property):服务状态、媒体信道属性等。

    事件(event):挂机、摘机等。

    信号(signal):拨号音、DTMF信号等。

    统计(statistics):采集并上报给MGC的统计数据。

终端,Termination,拥有唯一标志Termination ID。Termination ID由MG 分配,可以用通配符ALL,CHOOSE,终端中的通配符使用规则如下。

    ALL:符号为*,MG对每一个终端重复该命令。

    CHOOSE:符号为$,MG将选择符合条件的终端执行命令。

3.2 关联

关联,Context:表示一组关联相互联系的结合体,可用 Context ID表示,Context ID是由MG选择的32位整数,在MG范围内唯一。

    空关联(Null context):一种特殊的关联,包含所有没有与其他终端联系的终端,例如网关刚注册时,所有描述用户线的终端就归属于空关联。

关联特殊编码对照表规则如下:

 
注:H248定义的模型中,任何关联至少拥有一个终端,否则此关联将被删除,任何终端也只能存在于一个关联域中。

3.3 功能

MG初始化时,拥有一个NULL关联,呼叫终端、代表网关的ROOT等半永久终端便存在于NULL关联。

MG注册时,是用ROOT终端进行注册。

IP电话呼叫成功时,MG中会新建一个关联,并在关联中加入两个终端。其中包含一个呼叫终端,一个RTP流终端。主叫终端会用于检测挂机、拍叉等事件,并且实现响铃、放拨号音等功能;RTP流终端则包含本机的ip信息和远端对话的IP信息,实现信息流的传输。

4. MGC与MG的消息交互

4.1 消息(Message)

消息,mseeage,是从消息头(header)开始的,后面跟着若干事务。

消息头中包含MID(message ID,消息标识符)与版本字段。MID消息的发送者可以是域名,域地址或者设备名,一般使用2944号端口。

4.2 事务(Transaction)

事务,Transaction,一个消息后跟着多个事务,事务彼此间相互独立,多个独立事务被处理时没有先后顺序,事务分为请求(Request)与响应(Response)。

事务拥有标识符TransactionID,请求和响应通过Transaction相关联,响应由请求的接受方发送。作为对请求的一一对应。

请求激发一个事务,事务中包含一个或多个动作,每个动作中由包含一个或多个命令。

响应分为两种中,TransactionReply和TransactionPending。

    Reply:表示已经执行完了命令,返回成功或失败信息。

    pending:表示已经收到了命令,耗时较长正在执行,防止命令重发。

4.3 动作(Action)

动作和Context密切相关,一个动作又ContextID标识,在一个动作内,命令需要顺序执行,而这些命令又都与此Context相关。

4.4 命令(Command)


H.248中定义了8种命令对连接模型逻辑实体(关联与终端)的操作与管理,命令实现了对逻辑实体完全控制的机制。

H.248规定命令通常用于MGC对于MG的控制,所以通常由MGC发起,只有两个例外,Notify和ServiceChange。

    ADD: MGC发起,用于增加一个终端到关联中,当Context ID未指明时,则先创建一个关联,再把终端加入关联中。

    Modify:MGC发起,用于修改一个终端的属性、事件和信号参数。

    Subtract:MGC发起,用于从关联中删除一个终端,并返回统计状态,当关联中没有其他终端是此关联将被删除。

    Move:MGC发起,用于将终端从一个关联移到另一个关联之中。

    AuditValue:MGC发起,用于获取有关终端的当前特性;如统计信息、事件和信号参数

    AUditCapbilities: MGC发起,用于获取MG所有终端的特性与可能值。

    Notify:MG发起,用于讲MG检测到是事件通知给MGC

    ServiceChange:MG/MGC均可发起,MG可用此命令向MGC注册,或是上报由终端进入或离开服务;MGC可用此命令控制MG让终端进入或退出服务。

4.5 描述符(Descriptor)

命令的参数被称之为描述符(Desciptor),协议中的一种语法元素,用来描述一组互相联系的特性,命令描述符种类较多,也较为复杂,这里就不赘述了,详情请查阅RFC3015有关Descriptors的章节。

4.6 包(Package)

不同的MG可以支持不同的终端,H.248允许终端具有可选择的特性、信号、事件和统计等。为了实现MGC和MG之间的互操作,H.248把这些可选择的操作组合为包,MGC可以通过Audit命令获取MG实现了那些包,包通常在Signal和Event命令中使用。

不同的包拥有自己的标识符ID,以下为一些常用的包:

    包ID:g,通用包(Generic),,该包常见项目中都会用到的包

    包ID:root,基础根包(Base root package),该包定义了网关范围内的属性

    包ID:al,模拟线监控包(Analog line superversion package),该包定义了模拟线路中各种信号与事件

    包ID:cg,呼叫进展音生成器包(Call progress tones generator),该包定义了呼叫进展音中一些常用事件与信号。

下图为包中常见的特性名、事件名、信号名;格式通常为包名/特性名,包名/事件名这样的格式:

5. 工作流程

作者这边没有h.248服务器,条件所限不能抓包分析工作流程,所以这部分也只能先空着,网上有篇资料分析得很详细,可以用来参考。

https://www.renrendoc.com/paper/239387228.html
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 中兴H248MGC(网关控制器)是一种用于传统电信网和IP多媒体子网之间实现交互的设备,它具备管理和控制通信流程的能力。H248MGC的流程可以大致分为以下几个步骤: 1. 初始化:H248MGC通过加载配置文件,完成初始化工作。配置文件包括网关的基本信息、呼叫控制参数等。 2. 信令交互:H248MGC发起和接收来自传统电信网和IP多媒体子网的通信信令。它担当着H.248协议的控制功能,在传输和处理信令过程中,负责建立、维护和释放呼叫。 3. 注册和认证:H248MGC与传统电信网和IP多媒体子网中的其他设备进行注册和认证。通过注册和认证过程,H248MGC可确保与其他设备建立可靠的连接,并实现对设备的身份验证。 4. 通道管理:H248MGC负责管理传统电信网和IP多媒体子网之间的通道。包括呼叫的建立、保持和释放,流程包括信令协商、媒体流设置和控制等。通过通道管理,H248MGC能够对通信流程进行有效管理和控制。 5. 网络接入:H248MGC可以连接多种传输网络,如TDM(时分多址)、IP(互联网协议)等。通过网络接入,H248MGC实现了传统电信网和IP多媒体子网之间的互联互通,并能够在不同的网络环境下提供统一的服务质量。 6. 故障检测和恢复:H248MGC具备故障检测和恢复的功能。当发生故障时,它能够及时检测,并尝试修复或通过切换到备份设备来恢复正常运行。 总的来说,中兴H248MGC通过初始化、信令交互、注册和认证、通道管理、网络接入以及故障检测和恢复等流程,实现传统电信网和IP多媒体子网之间的有效通信和资源管理。 ### 回答2: 中兴H248MGC流程是指中兴通讯公司所开发的基于H.248协议的多媒体网关控制器的工作流程。该流程主要由以下几个步骤组成: 1. 设备启动:当中兴H248MGC设备启动时,会进行硬件初始化和软件加载,并读取存储在设备中的配置信息。 2. 与媒体网关建立连接:H248MGC与外部媒体网关建立连接,使用H.248协议进行通信。双方交换配置信息和消息,以确保双方的参数匹配和通信正常。 3. 资源分配:H248MGC为接入的媒体网关分配资源,包括语音通道、视频通道、传真通道等。通过该步骤,H248MGC能够管理和控制媒体网关上的各种资源。 4. 会话建立:当用户发起呼叫时,H248MGC与对应的媒体网关协商建立会话。H248MGC负责分配语音通道和协调媒体网关与其他设备之间的数字信令交换。 5. 信令交换:H248MGC通过与媒体网关之间的信令交换,实现对话路由、呼叫转接、呼叫保持等功能。同时,H248MGC还负责转换、传递和控制H.323协议、SIP协议等其他协议的信令信息。 6. 会话管理:H248MGC可对已建立的会话进行管理,包括监控会话状态、修改会话参数、终止会话等操作。通过这些管理功能,H248MGC能够实现对会话的灵活控制。 7. 会计和性能监控:H248MGC能够收集并记录用户的通话信息,如呼叫持续时间、通话质量等。同时,它还能监控网络性能,并提供报告和分析。 总而言之,中兴H248MGC通过与媒体网关的通信,实现对多媒体会话的控制和管理,为用户提供了高质量的通话体验。它的流程经过严格设计,能够确保各项功能的正常运行,并为企业和个人用户提供了高效、可靠的通信服务。 ### 回答3: 中兴H248MGC是一种基于H.248/MEGACO协议的网关控制器。它主要承担着信令的转换和网关资源的管理工作,为VoIP网络提供强大的控制功能。 中兴H248MGC的流程主要包括初始化、配置、连接管理和资源管理四个阶段。 首先是初始化阶段,系统启动后,H248MGC会进行自身参数的初始化,包括IP地址、端口号等。同时,它会与其他相关设备建立起连接,以准备好进行后续的通信。 接着是配置阶段,H248MGC需要配置各种相关参数,包括网关的物理位置、支持的协议类型、媒体传输方式等。这些参数的配置将决定H248MGC对于VoIP网络的控制范围和能力。 然后是连接管理阶段,H248MGC会通过与网关或Media Gateway Controller(MGC)之间建立H.248连接来管理资源。在这个阶段,它会创建和维护网关和MGC之间的通信链路,并负责传输和处理相关的信令和消息。 最后是资源管理阶段,H248MGC会根据需要管理和分配VoIP网络中的各种资源。例如,它会分配呼叫通道、媒体端口等资源给不同的网关,确保整个网络的正常运行。同时,它还会监控和记录网络中资源的使用情况,为网络优化和故障排除提供数据支持。 综上所述,中兴H248MGC流程包括初始化、配置、连接管理和资源管理等阶段。通过这些流程,它能够对VoIP网络进行有效的控制和管理,确保语音和媒体数据的正常传输和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值