1、2005-5-15,软交换/VoIP协议体系,软交换网络系统结构,特性服务器,应用服务器,策略服务器,SCP,软交换,软交换,核心分组网,各类接入网关 (AG),网络接入服务器 (NAS),信令网关 (SG),媒体网关 (MG),各类用户终端,SS7,PSTN/ISDN,SIP-T /BICC,SS7,SIGTRAN,INAP,PARLAY/SIP/JAIN/XML,媒体/接入层,传送层,控制层,业务/应用层,主要的控制协议,国际电信联盟(ITU) H323 H248/ Megaco 互联网工程任务组(IETF) SIP MGCP Megaco/H248,其他相关协议,实时传输协议(RTP)和
2、RTP控制协议(RTCP) 音频压缩协议G.7xx G.711 G.723 G.726 G.727 G.728 G.729,H.323系统组成,终端 多点控制单元 (MCUs) 网关 网守,H.323系统组成,终端 多点控制单元 (MCUs) 网关 网守,终端,电话 视频电话 IVR设备 语音邮件系统 “软电话”,多点控制单元,负责管理多点会议 (两个以上端点参与会议) MCU包含管理呼叫信令的多点控制器(MC)和 可选的处理媒体混合、切换或其他媒体处理的多点处理器 (MPs),网关,网关由 “媒体网关控制器” (MGC) 和 “媒体网关” (MG)组成,它们可以共存或单独存在 MGC处理呼叫
3、信令和其他媒体无关功能 MG处理媒体 网关将H.323接入到其他网络,包括 PSTN、H.320系统、其他H.323网络 (代理)等,网守,网守在H.323 系统中为可选组件,用于接纳控制和地址解析 网守允许呼叫在端点间直接传递或通过自己路由,H323协议栈组成,H.323,IP,UDP,RTP,RTCP,TCP/UDP,TCP,UDP,UDP,TCP,Audio Codec G.711 G.723.1 G.729 ,Video Codec H.261 H.263 H.264 ,V.150,T.120,TCP/UDP,T.38,H.225.0 Call Signaling,H.245,H.22
4、5.0 RAS,终端控制和管理,数据应用,媒体控制,媒体应用,用户接口,RAS,用于端点和网守之间以 允许网守管理端点 允许端点请求呼叫接纳 允许网守为端点提供地址解析功能 当网络中存在网守时,要求有RAS信令 (即在强制使用网守的情况下),RAS的一般格式,RAS消息一般具有三种类型 请求(xRQ) 拒绝(xRJ) 证实(xCF) 网守搜索请求 GRQ 网守搜索拒绝 GRJ 网守搜索证实 GCF 网守注册请求 RRQ 轻量级RRQ,呼叫接纳请求 ARQ 定位请求 LRQ 带宽请求 BRQ 退出请求 DRQ 信息请求 IRQ 请求处理中 RIP 资源有效性 RAI 业务控制指示 - SCI,H
5、.225 呼叫信令,TPKT,Q.931 Header,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,IE,UUIE,. . .,四个八位组,分离线上的消息(TCP必用),在RFC 1006的第6节定义,为 0x03, 0x00, HH, LL。HH和LL以网络字节顺序代表包括TPKT报头的整个消息长度,所有消息都有一个Q.931报头,包含称之为“协议鉴别符” ( 0x08 )的一个八位组 ,三个八位组用于CRV (0x02, HH, LL,其中 0x02是 CRV的长度, HH和LL是以网络字节顺序代表 CRV),一个
6、字节用于消息类型 (在 Q.931相应章节规定).,各种适于消息类型的信息单元 (IEs) 。它们在 H.225.0中列出,但是注意任何有效Q.931 IE都可能传递,端点不可以此认为协议失败,UUIE指的是 “用户-用户信息单元”。它应该是链上的最后一个单元,但是一些实现没有适当组织信息单元的顺序。它由0x7E, HH, LL, PD和DATA组成。 0x7E是用户-用户信息单元标识符,HH和LL以网络顺序代表 DATA的长度, PD是ASN.1的协议鉴别符 (0x05) ,DATA是ASN.1 PER编码后的“H323-用户信息”,H.225.0 呼叫信令消息,Setup Call Pro
7、ceeding Alerting Information Release Complete Facility,Progress Status Status Inquiry Setup Acknowledge Notify Connect,H.323基本呼叫建立过程:没有 网守的情况,同一个网守、网守选路的信令过程,双网守、网守/网守选路的信令过程,H.245媒体控制,H.245向已经建立的多媒体提供“控制” 终端能力交换 主/从确定 逻辑通道信令 会议控制,H.245控制通道,H.245消息通过称之为H.245控制通道的特定“通道”来承载。 打开H.245控制通道是可选的 H.245通道通常是
8、单独的 TCP连接,但它可以通过隧道方式在 H.225.0呼叫信令通道内 当使用UDP用于呼叫信令, H.245控制通道必须通过隧道方式在 H.225.0呼叫信令通道内,H.245消息,TPKT,H.245 PDU,四个八位组用于分离线上的消息(对TCP来说是必要的)。这在RFC 1006的第6节中定义,为 0x03, 0x00, HH, LL。HH和LL以网络字节顺序 代表包括TPKT头部的整个消息的长度。,H.245消息以 ASN.1 PER方式编码,在H.245控制通道中紧跟 TPKT头部之后,其他H.245 PDUs可在第一个之后编码。然而,许多实现不能处理这种情况,因此不建议像这样将
9、H.245 PDU一个接一个地放置。 强烈建议TPKT头部之间仅放置一个H.245 PDU,但是要为这种情况作准备。,H.245 PDU,H.245 PDU,H.245 PDU,. . .,快速启动,发起快速连接 响应快速连接,SIP协议简介,SIP协议的特性 SIP系统组成 SIP消息结构 SIP呼叫信令,SIP协议的特性,简单性 高效性 可伸缩性 灵活性 对移动的支持 可扩展性,SIP系统组成,用户代理 用户代理服务器(UAS) 用户代理客户(UAC) 代理服务器 注册服务器,SIP消息结构,起始行 首部 消息体,SIP消息组成,SIP请求消息 INVITE ACK CANCEL BYE
10、REGISTER OPTIONS,SIP消息组成,SIP响应消息 1xx: 提示信息。请求已经收到,可继续处理请求。 2xx: 表示呼叫已经正确的被接受和处理。 3xx: 重定向。表示该呼叫需被重定向处理。 4xx: 客户机错误。表示该消息存在表达错误。 5xx: 服务器错误。表示服务器不能处理该消息。 6xx: 全局错误,请求不能在任何服务器中处理 。,INVITE请求消息,Request-Line: INVITE sip:01010000222.170.2.21;user=phone SIP/2.0 Via: SIP/2.0/UDP 222.170.2.22;branch=z9hG4bKa
11、clqaxqNm From: ;tag=1c7314 To: Call-ID: 20581015610156unaT-66666666-01010000222.170.2.22 CSeq: 74175 INVITE Contact: Supported: em,timer,replaces Max-Forwards: 70 Accept-Language: en Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY User-Agent: Gohigh-Sip-Gateway-MG3000-R16 FXS/v.4.20.354.608 Con
12、tent-Type: application/sdp Content-Length: 208,Cancel请求消息,Request-Line: CANCEL sip:6666015192.216.2.18:5060 SIP/2.0 Via: SIP/2.0/UDP 192.216.2.45:5060 From:;tag=D073.84C6 To: Call-ID: 0800.20F9.9C0A.3FEF.D073.84C6192.216.2.45:5060 CSeq: 5604 CANCEL Content-Length: 0 Max-Forwards: 70 Contact: sip:777
13、7012192.216.2.45:5060 Supported: timer,ACK请求消息,ACK sip:6666015192.216.2.18:5060 SIP/2.0 Via: SIP/2.0/UDP 192.216.2.45:5060 From: ;tag=D073.84C6 To: ;tag=3116BFC-C1F Call-ID: 0800.20F9.9C0A.3FEF.D073.84C6192.216.2.45:5060 CSeq: 5604 ACK Content-Length: 0 Max-Forwards: 70,BYE请求消息,BYE sip:7777004192.21
14、6.2.45:5060 SIP/2.0 Via: SIP/2.0/UDP 192.216.2.18:5060 From: ;tag=31C3B60-5D0 To: ;tag=D343.04DB Date: Tue, 04 Jan 2000 17:24:15 GMT Call-ID: 9A14A53C-C20211D3-8021CF6B-62EE8EC3192.216.2.18 User-Agent: Gohigh-Sip-Gateway-MG3000 Max-Forwards: 6 Timestamp: 947006699 CSeq: 103 BYE Content-Length: 0,对IN
15、VITE请求的200 OK响应,SIP/2.0 200 OK Via: SIP/2.0/UDP 192.216.2.45:5060 From: ;tag=D5B5.84E1 To: ;tag=325DB78-2267 Date: Tue, 04 Jan 2000 17:34:46 GMT Call-ID: 0800.20F9.9C0A.3FEF.D5B5.84E1192.216.2.45:5060 Server: Gohigh-Sip-Gateway-MG3000 CSeq: 5576 INVITE Session-Expires: 1800;refresher=uas Allow: INVI
16、TE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO Allow-Events: telephone-event Contact: Content-Type: application/sdp Content-Length: 273,MGCP协议简介,MGCP的定义 MGCP协议的起源 MGCP协议结构和命令 MGCP工作流程,什么是MGCP,媒体网关控制协议(Media Gateway Control Protocol) : 从外部呼叫控制单元(称为媒体控制器或呼叫代理)对电话网关进行控制的协议,
17、MGCP起源,由Level 3公司牵头组成的论坛开发的Internet协议设备控制规范(Internet Protocol Device Control Specification)与Cisco/Bellcore(现为Telecord)合作开发的简单网关控制协议(Simple Gateway Control Protocol)融合而成的。 分离网关的思想,MGCP的分离网关结构,关键:将媒体变换功能和网关控制功能分离 媒体网关MG:提供PSTN和IP之间的媒体映射和编码转换功能 信令网关SG:负责信令转换 媒体网关控制器MGC(Call Agent):根据收到的信令控制媒体网关的连接的建立和释
18、放。MGC才真正对信令消息进行分析和处理,并进行应用层的互通变换,网关分解功能模型,MGCP协议结构,协议消息分为:命令和响应 采用三次握手方式(命令-响应-证实) 采用SDP描述连接参数(IP地址、UDP端口、编码方式和RTP应用文档等) 采用UDP传送,MGCP协议命令,EndpointConfiguration:CAMG NotificationRequest: CAMG Notify:MGCA CreateConnection: CAMG ModifyConnection: CAMG DeleteConnection:CAMG AuditEndpoint: CAMG AuditConn
19、ection: CAMG RestartInProgress: MGCA,呼叫控制流程(点对点),用户A,网关A,呼叫代理,网关B,与PSTN电话的呼叫流程,RGW,Analog Phone A,Call Agent Media Gateway Controller,MGCP,MGCP,IP网 话音,PSTN网,Analog Phone A,TGW,SS7,ISUP/IP,ISUP/SS7,SG,用户A,网关A,呼叫代理,TGW,开始记录,双向连通,SS7,IAM,(建立TGW PSTN侧的中继连接),MDCX+RQNT,呼叫控制流程(与H.323终端多连接),用户A,RGW,呼叫代理,H.3
20、23终端,GK,RGW,Gatekeeper,H.323,H.323,呼叫流程(与SIP终端),SIP Phone User,RGW,Analog Phone A,Call Agent Media Gateway Controller,MGCP,SIP,IP网 话音,SIP Proxy,用户A,网关A,呼叫代理,SIP代理,开始记录,双向连通,用户B,H248协议简介,H.248与MGCP 终端与(Termination)上下文(Context) H.248八个命令 典型呼叫过程,H.248与MGCP,是网关分离概念的产物 是基于主从原则的协议 由ITU和IETF共同制定,ITU的为H.248
21、,IETF的为Megaco H.248是在MGCP协议(RFC2705)的基础上发展而成的一种协议 H.248已逐步取代MGCP成为网关控制标准协议,两个重要抽象概念,终端(Termination)是MG逻辑实体,能够发送和/或接收一种或多种媒体 上下文(Context)是一些终端之间的联系,是描述终端间拓扑关系和媒体混合/交换的参数,终端(Termination),模拟用户接入网关中的电话线、中继网关中的中继电路都是终端的实例。 一个终端在任一时刻属于且只能属于一个上下文。 终端可以是固定的,即在MG启动时被初始化并一直存在的,例如一个TDM Channel,也可以是临时的,即在需要时被创建
22、,例如RTP Flows。,终端(Termination),ROOT终端代表MG本身。 终端可以有应用其上的信令 终端可以设置来检测事件 终端可以累积统计信息,在接到请求时或从上下文中被删除时发给MGC,上下文(Context),上下文是连接终端的桥梁。 一个上下文可以包含一个或更多终端。 NULL上下文包含所有未使用的终端。 Context中允许的Termination数目是MG的一个特性参数,八个命令,H.248的命令可以用binary编码也可以用text编码。MGC必须同时支持两种编码方式。 用于终端操作的有Add, Subtract, Move, Modify四个命令。 用于事件报告的
23、Notify。 用于管理的AuditCapability, AuditValue, ServiceChange,典型呼叫过程,User A,RGW1,MGC,RGW2,User B,MODIFY to check off-hook,MODIFY to check off-hook,Response,Response,UserA offhook,NOTIFY offhook,Response,MODIFY SG:dialtone,Dial Tone,Response,User dials digits,NOTIFY digits,Response,典型呼叫过程,User A,RGW1,MGC,R
24、GW2,User B,ADD TermA SD:ringbacktone ADD Local SDP,Ringback Tone,Response,ADD TermB SD:Ring ADD $ Local, Remote SDP,User B phone ringing,Response,NOTIFY offhook,Response,典型呼叫过程,User A,RGW1,MGC,RGW2,User B,MODIFY TermA SendRecv MODIFY EphA Remote SendRecv,Response,MODIFY TermB SendRecv MODIFY EphB Re
25、mote SendRecv,Response,R T P M e d i a,总结,语音编码G.7xx系列是国际电信联盟(ITU)多年的积累 管理音频通路传输的协议普遍使用互联网工程任务组(IETF)制定的实时传输协议(RTP)和RTP控制协议(RTCP) H323协议簇是国际电信联盟(ITU)建议,是基于分组的多媒体通信系统,也是多方多媒体通信最早成熟的标准集,SIP协议是一个互联网工程任务组(IETF)标准,协议的框架确立了它广泛应用的基础。 国际电信联盟(ITU)和互联网工程任务组(IETF)从不同的角度出发,向着相同的目标前进,随着技术的继续发展,MGCP演进为Megaco /H248协议。在IETF和ITU之间有了一致的标准。,总结,