第2章 下一代网络中采用的主要协议_第1页
第2章 下一代网络中采用的主要协议_第2页
第2章 下一代网络中采用的主要协议_第3页
第2章 下一代网络中采用的主要协议_第4页
第2章 下一代网络中采用的主要协议_第5页
已阅读5页,还剩214页未读 继续免费阅读

下载本文档

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

文档简介

第二章

下一代网络中采用的主要协议

学习要求掌握:会话启动协议SIP、会话描述协议SDP、媒体网关控制协议H.248、与业务承载无关的呼叫控制协议BICC、信令传输协议SIGTRAN的协议栈结构、协议的主要功能和典型的信令流程。了解:下一代网络中传输媒体信息的协议。下一代网络中各节点之间使用的协议本章学习的协议本章主要内容2.1下一代网络中传输媒体信息的协议2.2SIP协议和SDP协议2.3H.248协议2.4BICC协议2.5信令传输协议SIGTRAN2.1下一代网络中传输媒体信息的协议IP网络中传输媒体信息的协议栈1.IP协议IP协议负责IP网络中各节点之间的连接,它将两个终端系统经过网络中的节点用数据链路连接起来,实现两个终端系统之间数据帧的透明传输。IP协议位于网络层。网络层的主要功能是寻址和路由选择。它将数据包封装成IP数据报,并运行必要的路由算法。在IP数据报的包头中包含源主机IP地址和目的主机IP地址,IP网络中的路由器利用目的主机IP地址来寻址选路,路由器每收到一个IP数据报,就根据目的IP地址查询路由表,找到匹配网络号及下一跳路由器,完成数据转发。IP网络互联协议IP网络层协议包括:IP、ARP、ICMP、IGMP。IP协议的特征IP协议是无连接的IP协议的特征IP协议的数据报传送服务是不可靠的不能保证IP数据报能成功地到达目的地。省略了复杂的可靠性传输机制,所以IP协议能尽量高效率地进行传送,减轻了网关的负担,提高了网关的吞吐率。有可靠性方面的要求,必须使用上层的协议(如TCP)或自己编写软件去完成。IP数据包以太网祯IP互联网的工作机理

IP协议规定了IP地址分为A-E五类

地址分类

2.用户数据报协议(UDP)用户数据报协议(UDP)建立在IP协议之上,提供无连接的数据包传输。相对于IP协议,它唯一增加的能力是提供协议端口号码以保证进程通信。UDP的优点在于高效性。UDP数据包的包头中包含目的端口号和源端口号。目的端口号用来标识目的主机中的接收进程,源端口号用来标识发送主机中的进程。在IP网络中传送媒体信息的端口号码都是动态分配的,所以在下一代网络中传送多媒体信息前必须通过信令协议将接收端分配的接收媒体信息的端口号码通知对端主机。传输层为相互通信的应用进程提供了逻辑通信54321传输层提供应用进程间的逻辑通信应用进程应用进程IP层AP1AP2AP4端口端口54321AP3应用进程之间的通信两个主机进行通信实际上就是两个主机中的应用进程互相通信。应用进程之间的通信又称为端到端的通信。“传输层提供应用进程间的逻辑通信”。“逻辑通信”指:传输层之间的通信好像是沿水平方向传送数据。但事实上这两个传输层之间并没有一条水平方向的物理连接。传输层协议和网络层协议的主要区别应用进程…应用进程…IP协议的作用范围(提供主机之间的逻辑通信)TCP和UDP协议的作用范围(提供进程之间的逻辑通信)因特网传输层与上下层之间的关系传输实体传输实体传输协议传输层层接口传输服务用户(应用层实体)传输服务用户(应用层实体)层接口网络层(或网际层)应用层主机A主机B传输层服务访问点TSAP网络层服务访问点NSAP传输层中的TCP和UDP协议UDP和TCP都使用IP传输。硬件应用层TCPUDPIP操作系统外部软件操作系统内部软件用IP地址用物理地址传输层向上提供可靠的和不可靠的逻辑通信信道

?应用层传输层发送进程接收进程接收进程数据数据全双工可靠信道数据数据使用TCP协议使用UDP协议不可靠信道发送进程传输控制协议TCP是面向连接的协议提供高可靠性服务用于一次传输要交换大量报文的情形。TCP报文段是在传输层抽象的端到端逻辑信道中传送。但这样的信道却不知道究竟经过了哪些路由器,路由器也不知道上面的传输层是否建立了TCP连接。用户数据报协议UDP是无连接的;其可靠性由应用程序提供;提供高效率服务;用于一次传输交换少量报文的情形。UDP与IP有很大区别:IP数据报要经过互连网中许多路由器的存储转发,但UDP是在传输层的端到端抽象的逻辑信道中传送的。3.RTP协议为解决实时业务顺序传送和提供时戳等一系列问题,IETF提出了实时传输协议(RTP)。RTP协议实际上包含两个相关的协议:RTP协议和RTCP协议。RTP协议用于传送实时数据,如语音和图像数据。RTCP协议用来传送监视实时数据传送质量的统计数据,同时可以在会议业务中传送与会者的信息。RTP和UDP一同完成传输层的功能。一般用偶数的UDP端口来传送RTP数据包,用比RTP端口号大1的奇数端口号来传送相应的RTCP控制包。RTP协议背景及概述RTP全名:Real-timeTransportProtocol(实时传输协议)。它是IETF提出的一个标准,对应的RFC文档为RFC3550。RFC3550定义了RTP,也定义了配套的实时传输控制协议RTCP(Real-timeTransportControlProtocol)。RTP用来为IP网上的语音、图像、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务。RTP为Internet上端到端的实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP来提供。RTP协议背景及概述RTP协议原理:较简单,负责对流媒体数据进行封包并实现媒体流的实时传输,即它按照RPT数据包格式来封装流媒体数据,并利用与它绑定的协议进行数据包的传输。RTCP原理:向会话中的所有成员周期性地发送控制包来实现的,应用程序通过接收这些控制数据包,从中获取会话参与者的相关资料,以及网络状况、分组丢失概率等反馈信息,从而能够对服务质量进行控制或者对网络状况进行诊断。RTP协议背景及概述RTP在端口号1025到65535之间选择一个未使用的偶数UDP端口号,而在同一次会话中的RTCP则使用下一个基数UDP端口号。默认端口号:

RTP:5004

RTCP:5005RTP协议背景及概述

从下图可看出RTP被划分在传输层,它建立在UDP上。同UDP协议一样,为了实现其实时传输功能,RTP也有固定的封装形式。RTP用来为端到端的实时传输提供时间信息和流同步,但并不保证服务质量。服务质量由RTCP来提供。

图1网络层次关系RTP/RTCP工作原理RTP协议背景及概述因特网ACB发送端接收端接收端RTPRTCPRTCPRTCP如果网络情况好,可以减少语音的延迟时间,也可以增大视频的发送帧率或质量。若网络状况不好,可以增大语音延迟时间以保证语音连续,也可减少视频的发送帧率或质量,以减少网络的阻塞。RTP协议封装压缩编码送入运输层从开发者的角度看,RTP应当是应用层的一部分。RTP实现者在发送RTP数据时,需先将数据封装成RTP包,而在接收到RTP数据包,需要将数据从RTP包中提取出来。下图为RTP头部格式RTP协议封装版本号填充位(1bit)若p=1则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。填充可能用于某些具有固定长度的加密算法或者用在底层数据单元中传输多个RTP包扩展(X):1个比特,置“1”表示RTP报头后紧随一个扩展报头CSRC计数(CC):4比特CSRC计数包含了跟在固定头后面CSRC识别符的数目标记(M):1个比特,其具体解释由应用文档来定义。例如,对于视频流,它表示一帧的结束,而对于音频,则表示一次谈话的开始7个比特,它指示在用户数据字段中承载数据的载荷类别序列号16比特每发送一个RTP数据包,序列号加一,接收机可以据此检测包损和重建包序列.序列号的初始值是随机的(不可预测),以使即便在源本身不加密时(有时包要通过翻译器,它会这样做),对加密算法泛知的普通文本攻击也会更加困难有效载荷类型:7位,指出后面的RTP数据属于何种格式的应用。应用层可根据次类型进行处理。音频:μ律PCM(0),GMS(3) A律PCM(8),G.722(9),G728(1)视频:活动JPEG(26)、H.261(31)、

MPEG1(32)、MPEG2(33)等

RTCP的主要功能功能1功能2功能3功能4提供数据传输质量的反馈为每个RTP源传输一个固定的识别符CNAME知晓成员数目,控制包的发送速率传输最小连接控制信息,如参加者标识4.语音编码PCM(G.711编码)比特率为64kb/s,在传统电话中得到广泛使用。G.729编码比特率为8kbit/sG.723.1编码为双速率话音编码标准:5.3kbit/s和6.3kbit/s是PSTN上可视电话标准系列中的话音编码标准自适应多速率AMR编码支持8种速率:12.2Kbit/s,10.2Kbit/s,7.95Kbit/s,7.40Kbit/s,6.70Kbit/s,5.90Kbit/s,5.15Kbit/s和4.75Kbit/s在移动通信网中采用(5)RPE-LTP:长时预测的规则脉冲激励的线性预测Regular-PulseExcitedLPCwithaLong-TermPredictor

(1)ADPCM:自适应差分脉冲编码adaptivedifferencepulsecodemodulation

(2)CELP:码本激励线性预测(codeexcitedlinearprediction)

(3)ACELP:代数码本激励线性预测Algebraic-Code-ExcitedLinear-Prediction

(4)CS-ACELP:共轭结构的代数码本激励线性预测ConjugateStructureAlgebraic-Code-ExcitedLinear-Prediction5.多媒体数据在IP网络中传送时所占带宽的计算多媒体编码数据在IP网络中传送时的封装结构多媒体编码数据在IP网络中传送时所占的带宽不仅包含多媒体编码所占的带宽,还包含RTP头部、UDP头部、IP头部和数据链路层头部所占的带宽例:在不考虑静音压缩和数据链路层头部所占的带宽的情况下,G.729编码数据每20ms传送一次,则每秒需传送50个语音包,每个语音包都包含12字节的RTP头部、8字节的UDP头部和20字节的IP头部,则每1路G.729话音所占的带宽为(20+8+12)*8*50+8000=24000bit/s=24kbit/s如果考虑Ethernet头部所占带宽,Ethernet头部为304bit(38byte)。则每1路G.729话音所占的带宽为(20+8+12+38)*8*50+8000=39200bit/s=39.2kbit/s如果考虑到静音压缩的因素,所占带宽可减少一部分。从以上计算可看出,各级报头所占的带宽的开销远大于话音编码本身所占的带宽。第二章2.1下一代网络中传输媒体信息的协议2.2SIP协议和SDP协议2.3H.248协议2.4BICC协议2.5信令传输协议SIGTRAN2.2SIP协议和SDP协议SIP(SessionInitiationProtocal)称为会话启动协议,是由Internet工程任务组IETF于1999年提出的一个在基于IP网络中,特别是在Internet这样一种结构的网络环境中,实现多媒体实时通讯应用的一种信令协议。SIP协议的主要功能是:用户定位:确定用于通信的终端系统的位置;用户能力:确定通信媒体和媒体的使用参数;用户可达性:确定被叫加入通信的意愿;呼叫建立:建立主叫和被叫的呼叫参数;呼叫处理:包括呼叫转移和呼叫终止。SIP协议主要应用于软交换设备与应用服务器间、不同的软交换设备之间、SIP智能终端与SIP服务器之间、不同的SIP服务器之间。主要特点是应用层的控制协议,可以建立,修改和结束多媒体会话。独立于TCP或者UDP,使用自己应用层协议保证消息的可靠传送。消息体采用文本方式以客户-服务器方式建立会话灵活的寻址方式SIP没有媒体协商功能,往往需要集成SDP协议2.2.1SIP协议的网络模型SIP协议的网络模型结构中有两类基本的网络实体:SIP用户代理和SIP网络服务器。用户代理是驻存在终端系统中的功能块,而SIP服务器是处理与多个呼叫相关联信令的网络设备。

功能实体(1)UserAgent(呼叫代理)

是SIP网络的终端,直接和用户发生交互作用的功能实体,能代理用户的所有请求或响应。具体的分为UserAgentClient和UserAgentServer。UAC是客户端,表示主叫;UAS是服务端,表示被叫。REGISTRARSERVER(注册服务器) 接受客户端的注册请求,将用户的地址信息写入数据库,并返回注册状态。功能实体(2)

REDIRECTSERVER(重定向服务器)

接受SIP的请求,映射请求的原地址成零个或者多个IP地址,并且返回给客户端。由客户端重新发起请求。LOCATIONSERVER(定位服务器)

管理若干数据库,接受由RedirectServer或者ProxyServer的路由查询。2023/2/1SIP网络成员用户代理(UA)即用户终端

UAC(用户代理客户端)UAS(用户代理服务器)网络服务器:代理服务器重定向服务器注册服务器定位服务器呼叫代理UserAgent(呼叫代理)

是SIP网络的终端,直接和用户发生交互作用的功能实体,能代理用户的所有请求或响应。具体的分为UserAgentClient和UserAgentServer。UAC是客户端,表示主叫;UAS是服务端,表示被叫。定位服务器LOCATIONSERVER(定位服务器)

管理若干数据库,接受由RedirectServer或者ProxyServer的路由查询。代理服务器ProxyServer(代理服务器)代表其他客户机发起请求,既充当服务器又充当客户机的中间程序。完成SIP消息的转接和转发功能,可以修改SIP消息内容。具体功能有:呼叫认证、状态管理、路由选择、失败重传B2BUA:是一种背靠背的用户代理。先终止一个呼叫,然后重新发起一个呼叫。B2BUA既具备用户代理功能,又具有代理服务器的特性。UACUAC代理服务器多支代理请求请求请求响应响应响应2023/2/1代理服务器类型无状态的代理服务器一旦将消息转发后就丢弃其状态信息.有状态的代理服务器会纪录经其转发的呼叫的状态信息.2023/2/1重定向服务器

重定向服务器:发送重定向响应(Response)给客户端.在这个响应里包含有重定向到新的服务器的地址。

通过响应告诉请求的发起方下一跳服务器的地址,然后由请求发起方根据此地址向下一跳服务器重新发送请求。一个重定向服务器是一个SIP代理服务器或者SIP-registrar来对一个INVITE消息回复3XX响应的实体。这个回复带有Contact头域,提供应该去联络的设备的地址。重定向服务器UACUAC请求请求响应响应2023/2/1重定向服务器与代理服务器的区别重定向服务器的目的是提供可供选择的地址列表供用户定位SIPUA,代理服务器则是代替用户继续后面的定位尝试重定向服务器只提供地址解析服务,类似于DNS重定向服务器不主动发送SIP请求重定向服务器不需要维持事务状态(你问一个问题,它回答一个,之后什么都不记得了)2023/2/1UACUAC请求请求响应响应注册服务器注册服务器注册服务器接受终端的Register请求,纪录终端的SIP地址(SIPURL)和IP地址,并对定位服务器进行添加、修改、查询等操作。注册服务器通常与代理服务器或重定向服务器和代理服务器在同一个物理实体里.用户终端在启动后都需要进行注册,用于纪录当前的位置信息.这种基于注册服务器的转发特性是实现号码转移服务的基础。功能:接收用户的注册请求记录用户的SIP地址和IP地址的绑定关系提供注册认证功能,是实现用户移动性的基础2.2.2基于SIP的多媒体通信的协议栈结构2.2.3SIP寻址和SIP通用资源定位器•

SIP协议使用SIP的通用资源定位器(URL)来标识用户,

并根据该URL进行寻址。SIP

URL实际上就是应用层

地址。•

SIP的通用资源定位器采用的URL格式为:

“用户名+主机名”:user@host格式。

–用户部分(User)是用户名字或电话号码;

–主机部分(Host)可以是DNS域名或IP地址。

–例如:SIP:info@

SIP:62281234@•

SIP系统中,用户的地址分为两种:

–注册账号(注册地址)

–当前地址定位SIP服务器当SIP客户机想要发送一个请求时,客户机可以通过已经配置的本地SIP代理服务器进行代理呼叫,也可以将请求发送给Request-URL所对应的IP地址及其端口。在通过本地SIP代理服务器进行代理呼叫时,SIP客户机将所有的SIP请求(不管具体的RequestURL如何)一律提交给本地SIP代理服务器,由它进行代理并最终完成该请求。在后一种情况下,客户机需要根据Request-URL的主机部分确定下一站服务器IP地址及用于服务器传输连接的传输协议和端口号。2.2.4SIP消息

(1)SIP消息的一般格式响应的SIP版本SP状态码SP原因短语CRLF请求的方法SP请求的SIP-URLSPSIP版本CRLF

General-header|Request-header|Response-header|Entity-header消息体(SDP原码,加密的SDP,…)起始行Start-Line消息头域Message-line

空行CRLF

消息体Message-body

起始行又可分为请求行和状态行两种格式。请求行规定了所提交请求的类型。状态行则指出某个请求是成功还是失败。如果表示请求失败,状态行则指出失败类型或失败原因。消息头部提供了关于请求或应答的参数,分四类通用头部:描述消息基本属性。请求头部:传递有关请求的附加信息,对请求进行补充说明。应答头部:传递有关应答的附加信息,对应答进行补充说明。实体头部:描述消息体内容的长度、格式和编码类型等属性。消息体描述将要建立的会话的类型,包括所交换的媒体的描述。消息体的结构或内容使用会话描述协议SDP来描述。2023/2/1INVITEsip:niulang@SIP/2.0Via:SIP/2.0/UDPFrom:Zhinv<sip:zhinv@>To:NiuLang<sip:niulang@>Call-ID:1234560707@Cseq:1INVITESubject:MeetingonceyearContent-Type:application/sdpContent-Length:345请求行通用头字段实体头字段请求(Request)消息中的消息头实例2023/2/1响应(Response)消息中的消息头实例SIP/2.0200OKVIA:SIP/2.0/UDPVia:SIP/2.0/UDPFrom:Zhinv<sip:zhinv@>To:NiuLang<sip:niulang@>Call-ID:1234560707@Cseq:1INVITEContent-Type:application/sdpContent-Length:256请求行通用头字段实体头字段Startline(起始行详细描述)起始行Start-Line=request-line|status-line

request-line=MethodSPRequest-URISPSIP-VersionCRLFINVITEsip:SS@SunTSIP2.0status-line=SIP-VersionSPstatus-codeSPphaseCRLFSIP2.0200OK(2)SIP请求消息的请求行格式request-line=methodSPRequest-URLSPSIP-Version

CRLFSIP版本号,现设定为SIP/2.0SIP请求消息要发送到的当前目的地址方法符号(方法)用来说明客户机请求服务器执行的操作的类型:邀请(INVITE):邀请用户参加一个会话;证实(ACK):已经接收到最终应答;询问(OPTIONS):询问服务器的性能;再见(BYE):终止一个会话;取消(CANCEL):终止一个等待处理或正在处理的请求;登记(REGISTER):用户代理客户端登录并且把地址注册到SIP服务器。回车换行符空格例如:INVITEsip:john@SIP/2.0当服务器接收到一个请求消息并执行后,将向发送这个请求消息的客户端返回一个或多个响应消息。

Status-Line=SIP-VersionSPStatus-CodeSPReason-PhraseCRLF(3)SIP应答消息的状态行格式原因说明,用文本形式对结果进行描述表示应答结果的3位十进制数字的状态码:1XX:通知。2XX:成功。3XX:重定向。4XX:请求失败。5XX:服务器错误。

6XX:全局性错误。SIP版本号,现设定为SIP/2.0例如:SIP/2.0200OK(4)SIP消息头部From字段:表示SIP请求消息的发送者的注册账号。From:显示名(SIP-URI);tag=xxxx例如:From:<sip:a.g.bell@>To字段:指明请求消息的逻辑接收者或者是用户或资源的注册帐号。To:显示名(SIP-URL);tag=xxxx例如:To:Watson<sip:watson@>Call-ID字段:用以唯一标识一个特定的邀请或标识某一客户的所有登记。UA发送的所有请求和响应消息都必须有同样的Call-ID。Call-ID:本地标识@主机例如:Call-IDworches.Cseq字段:用于标识事务并对事务进行排序。每个请求都有一个命令序号Cseq,由无符号的序列号和方法名组成。例如:1INVITEVia字段:用于定义SIP事务的下层(传输层)传输协议,并标识响应消息将要被发送的位置。用以指示请求历经的路径,防止请求消息传送产生环路,并确保应答和请求消息选择同样的路径。例如:Via:SIP/2.0/UDP00:5060;branch=z9hG4bK1063644978Contact字段:指定一个SIPURI,后续请求可以用它来联系到当前UA。

例如:Contact:Sip:watson@Max-Forwards字段:限定一个请求消息在到达目的地之前允许经过的最大跳数。例如:Max-Forwards:70实体头部字段由Content-Type(内容类型)、Content-Length(内容长度)、Content-Language(消息体的接受者的原始语言)、Content-Encoding(编解码方式)组成。Content-Type字段:指出消息体的类型当消息体的类型为SDP时,Content-Type头部字段为:“Content-Type:application/sdp”。当消息体的类型为ISUP时,Content-Type头部字段为:“Content-Type:application/ISUP”。5.会话描述协议SDPSDP包含了与会话整体相关的通用信息和一个或多个媒体流相关的参数说明。SDP是基于文本的协议,常被封装在SIP、H.248协议中传送。SDP的语法和结构

会话级参数必须放在前面然后是媒体级参数v=0o=bell536557652353687637INIP4c=INIP4m=audio3456RTP/AVP0345SDP常用字段会话源(o)格式:o=(用户名)(会话标识)(版本)(网络类型)(地址类型)(地址)例如:o=bell53655723536637INIP4用户名:会话起始者在某个主机上的登录标识。会话ID:这个会话的唯一ID号,由会话起始者的主机生成的。版本:这个特定会话的版本号。网络类型:表示网络类型,字符串“IN”表示“Internet"。地址类型:表示网络中的地址类型,SDP定义了IP4和IP6两个类型。地址:生成会话的机器的网络地址(完整的域名/实际的IP地址).连接信息(c)格式:c=(网络类型)(地址类型)(连接地址)

例如:c=INIP4网络类型:表示接收媒体数据的网络和地址。连接地址:是接收数据的地址(IP地址或完整域名)。每个媒体描述必须包含一个“c=”字段,或在会话级描述中包含一个公共的“c=”字段。媒体描述(m)

格式:m={媒体}{端口}(传输协议){格式列表}

例如:m=audio45678RTP/AVP0

(m=)的出现标志着会话中又一个媒体流参数的开始。媒体类型:音频、视频、应用程序、数据或控制。端口:指明接收媒体的端口号。传输协议:和“c=”行中的地址类型有关。对于IP4来说,大多数媒体流都在RTP/UDP上传送。复习:SIP协议消息的分类SIP消息采用文本方式编码,分为两类:请求消息和响应消息。请求消息:客户端为了激活按特定操作而发给服务器的SIP消息。响应消息:用于对请求消息进行响应,指示呼叫的成功或失败状态。请求消息和响应消息都包括SIP头字段和SIP消息字段。请求消息响应消息起始行消息头SIP请求消息结构消息头消息体SIP请求消息结构(续)起始行消息头响应格式响应格式(续)消息头消息体••••••••••••••••••

SIP消息示例Invite

sip:bob@

SIP/2.0Via:

SIP/2.0/UDP

:5060To:

sip:bob@From:

sip:tom@

;tag=2089095865Call-ID:

1039412186@CSeq:

1

InviteMax-Forwards:70Content-Type:

application/sdpContent-Length:

271Contact:

<sip:tom@

:5060;transport=udp>v=0o=tom

139089745962

IN

IP4

s=nc=IN

IP4

t=0

0m=audio

50000

RTP/AVP

8a=rtpmap:8

PCMA/8000a=ptime:

10请求行

头部

消息体案例分析最简单的呼叫经过两个Proxy的呼叫呼叫转移INVITEjohn@1c=INIP40m=audio49170RTP/AVP03200OKc=INIP41m=audio12345RTP/AVP3John’sterminalringsACK1JohnMaryPort12345TheresponseindicatesthatJohn’sterminalcanreceiveGSMdata,onport123450例子一:最简单的呼叫180RingGSMStream200OKBYE例子二:经过两个Proxy的呼叫例子三:遇忙转移UserAProxyUserB1INVITEINVITE100Trying468BusyACKINVITE180Ringing180Ringing200OK200OKACKACKBothwayRTPvoiceBYEBYE200OK200OK2023/2/1标准的SIP呼叫流程2023/2/1A想同B聊天B办公室的电话响了B拿起电话送一个确认消息给BB要结束会话INVITE(1)非终结响应(2)BYE(5)200ok(3)ACK(4)聊天中200ok(6)userA@userB@SIP会话流程2023/2/1userA@userB@请求响应SIP邀请2023/2/1INVITEsip:UserB@SIP/2.0Via:SIP/2.0/UDP:5060From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>Call-ID:12345600@CSeq:1INVITEContact:DriesBoone<sip:UserA@>Content-Type:application/sdpContent-Length:147v=0o=UserA28908445262890844526INIP4s=SessionSDPc=INIP403

t=00m=audio49172RTP/AVP0

a=rtpmap:0PCMU/8000

(1)userAUserB主叫A向被叫B发起邀请2023/2/1SIP/2.0100TryingVia:SIP/2.0/UDP:5060From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>Call-ID:12345601@CSeq:1INVITEContent-Length:0

(2)userBUserA被叫空闲,被叫振铃2023/2/1SIP/2.0200OKVia:SIP/2.0/UDP:5060From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>Call-ID:12345601@Cseq:1INVITEContact:LisaMercier<sip:UserB@>Content-Type:application/sdpContent-Length:v=0

o=UserB28908445272890844527INIP4s=SessionSDPc=INIP413

t=00m=audio3456RTP/AVP0a=rtpmap:0PCMU/8000(3)userBUserA被叫摘机应答2023/2/1ACKsip:UserB@SIP/2.0Via:SIP/2.0/UDP:5060From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>Call-ID:12345601@CSeq:1ACKContent-Length:0

(4)userAUserB主叫确认收到被叫摘机消息2023/2/1BYEsip:UserA@SIP/2.0Via:SIP/2.0/UDP:5060From:LisaMercier<sip:UserB@>To:DriesBoone<sip:UserA@>Call-ID:12345601@CSeq:1BYEContent-Length:0

(5)userBUserA被叫B挂机结束会话2023/2/1

SIP/2.0200OKVia:SIP/2.0/UDP:5060From:LisaMercier<sip:UserB@>To:DriesBoone<sip:UserA@>Call-ID:12345601@CSeq:1BYEContent-Length:0

(6)userAUserB主叫A确认收到被叫挂机消息2023/2/1代理服务器模式的SIPCallINVITE(1)聊天中userB@(2)客户机B在哪里呢?定位服务器(3)userB@(4)100Trying正在处理请求(5)InviteuserB@(6)200ok(7)200ok(8)ACK(9)ACKB接受呼叫A想同B联系userAuserA@SIPserver@(ProxyServer)userBuserB@2023/2/1INVITEsip:SIP/2.0Via:SIP/2.0/UDP:5060From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>Call-ID:12345600@CSeq:1INVITEContact:DriesBoone<sip:UserA@>Content-Type:application/sdpContent-Length:147v=0o=UserA28908445262890844526INIP4s=SessionSDPc=INIP403t=00m=audio49172RTP/AVP0a=rtpmap:0PCMU/8000

消息体(1)userAProxyserver用户A通过代理服务器向用户B发起呼叫2023/2/1

SIP/2.0100TryingVia:SIP/2.0/UDP:5060From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>Call-ID:12345600@CSeq:1INVITEContent-Length:0(4)ProxyserveruserA代理服务器通过查询位置服务器,得到被叫B的位置信息,通知用户A呼叫进行中2023/2/1INVITEsip:UserB@SIP/2.0Via:SIP/2.0/UDP:5060;branch=2d4790.1Via:SIP/2.0/UDP:5060Record-Route:<sip:UserB@;maddr=>,From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>Call-ID:12345600@CSeq:1INVITEContact:DriesBoone<sip:UserA@>Content-Type:application/sdpContent-Length:147v=0o=UserA28908445262890844526INIP4s=SessionSDPc=INIP403t=00m=audio49172RTP/AVP0a=rtpmap:0PCMU/8000

(5)ProxyserveruserB代理服务器向用户B发起会话邀请2023/2/1

SIP/2.0200OKVia:SIP/2.0/UDP:5060;branch=2d4790.1Via:SIP/2.0/UDP:5060Record-Route:<sip:UserB@;maddr=>,From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>;tag=314159Call-ID:12345600@CSeq:1INVITEContact:LisaMercier<sip:UserB@>Content-Type:application/sdpContent-Length:147v=0o=UserB28908445272890844527INIP4s=SessionSDPc=INIP413t=00m=audio3456RTP/AVP0a=rtpmap:0PCMU/8000

(6)userBProxyserver用户B应答会话邀请2023/2/1

SIP/2.0200OKVia:SIP/2.0/UDP:5060Record-Route:<sip:UserB@;maddr=>,From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>;tag=314159Call-ID:12345600@CSeq:1INVITEContact:LisaMercier<sip:UserB@>

Content-Type:application/sdpContent-Length:147v=0o=UserB28908445272890844527INIP4s=SessionSDPc=INIP413t=00m=audio3456RTP/AVP0a=rtpmap:0PCMU/8000

(7)Proxyserver

userA代理服务器转发应答消息2023/2/1ACKsip:UserB@SIP/2.0Via:SIP/2.0/UDP:5060Route:<sip:UserB@;maddr=>,<sip:UserB@>From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>;tag=314159Call-ID:12345600@CSeq:1ACKContent-Length:0

(8)userA

Proxyserver用户A确认收到用户B的应答信号2023/2/1

ACKsip:UserB@SIP/2.0Via:SIP/2.0/UDP:5060;branch=2d4790.1Via:SIP/2.0/UDP:5060From:DriesBoone<sip:UserA@>To:LisaMercier<sip:UserB@>;tag=314159Call-ID:12345600@CSeq:1ACKContent-Length:0(9)ProxyserveruserB代理服务器转发用户A的确认消息给用户B,会话双方开始通信6.SIP-T和SIP-I都是对SIP进行扩展,以便在SIP消息中能够正确地传送ISUP消息,从而实现软交换网络与PSTN互通。SIP-T由IETF定义,含义“SIPforTelephones”,SIP-T可以把ISUP消息封装在SIP消息的消息体中传送。SIP-I由ITU-T定义,明确说明了SIP和ISUP消息的参数映射,对下一代网络与电信网补充业务的互通进行了明确的定义,增强了SIP-T协议的可操作性。7.SIP扩展方法简介PRACK方法:用来对需要保证可靠传送的临时响应予以证实。INFO方法:将被用于沿着SIP信令通路传送呼叫中的应用层消息。UPDATE方法:呼叫方在对话建立之后,可以发送一个包含SDP协商的UPDATE消息来修改会话参数。REFER方法:将消息接收者转移到另外的资源上去。MESSAGE方法:用于发送即时消息。SUBSCRIBE方法:用于请求得到远端实体的当前状态和状态更新。NOTIFY方法:用于通知SIP实体先前由SUBSCRIBE请求的事件已经发生。8.SIP在华为软交换SoftX3000上的应用网络结构IP地址:21电话号码:8882100注册帐号:8882100@1IP地址:21电话号码:8882101注册帐号:8882101@1呼叫流程(1)(2)(3)(4)(5)(6)(7)(8)(9)(11)(10)(12)(13)(14)(15)(17)(16)(18)第二章2.1下一代网络中传输媒体信息的协议2.2SIP协议和SDP协议2.3H.248协议2.4BICC协议2.5信令传输协议SIGTRAN2023/2/1101协议简介-应用场景H.248协议在软交换网络中的位置:软交换设备IAD综合接入网关媒体服务器H.248智能终端……H.248H.248控制层接入层2023/2/1102协议简介-基本定义H.248是一种媒体网关控制协议,是软交换网络中控制层的软交换设备(媒体网管控制器MGC)和接入层中各种媒体网关(MG)的标准接口协议;H.248协议消息编码采用二进制或文本方式(由于文本方式具有很强的可读性,目前工程上都采用的是文本方式);H.248协议底层传输机制采用UDP/TCP/SCTP,也可以基于ATM传输(由于H.248协议对网络延时和丢包不太敏感,目前工程上都是基于UDP的方式);H.248协议是一种主从协议,在MGC与MG的交互中,MGC控制呼叫建立的过程,MG只是被动的接收MGC下发的各种指令,然后完成相应的动作。H.248提出了网关的连接模型概念,对媒体网关内部对象进行抽象和描述。2023/2/1103协议简介-VOIP会话建立VOIP会话模型:MG(A)MG(B)用户A用户BMGCVOIP会话建立的思想:MGC通过NGN协议信令控制MG(A)和MG(B)建立一条从用户A到用户B之间的双向通道,使得用户A和用户B之间实现正常通话。2023/2/1104协议简介-会话建立的关键步骤MG(A)MG(B)用户A用户BIP通道(1)IP通道(2)MGC建立用于收发语音数据流的IP通道(1)、(2)分别将用户A、B和IP通道(1)、(2)相连修改IP通道(1)、(2)的远端地址,建立连接会话建立过程的关键步骤:2023/2/1105协议简介-会话建立的信令控制(一)IP通道(1)IP通道(2)MG(A)MG(B)用户A用户BMGCH.248协议引入了相应的概念用来控制会话的建立:终结点:终结点是MG中的逻辑实体,能发送和接收一种或多种媒体流和控制流。用户对应的模拟线路以及IP通道在H.248协议中被映射为不同类型的终结点,不同类型的终结点支持不同的属性集;关联:关联是一些终结点间的联系,它描述终结点之间的拓扑关系。用户对应的模拟线路和IP通道之间的关系被定义为关联;Line/1rtp/1Line/2rtp/2关联1关联22023/2/1106协议简介-会话建立的信令控制(二)MG(A)MG(B)用户A用户BIP通道(1)IP通道(2)MGCLine/1rtp/1Line/2rtp/2关联1关联2建立临时性终结点rtp/1、rtp/2MG(A)上建立关联1,将line/1和rtp/1加入关联1修改rtp/1、rtp/2的远端属性参数H.248协议建立会话的关键步骤:1.网关的连接模型基本构件:终端(Termination)和关联域(Context)终端终端是MG上的一个逻辑实体,它可以发送和/或接收一个或者多个数据流。终端分为半永久性终端和临时性终端两种。物理终结点代表物理实体;临时终结点代表临时性的信息流,由H.248命令来创建和删除。终端可支持信号,这些信号可以是MG产生的媒体流(如信号音和录音通知),也可以是随路信号。终端可对事件进行检测。终端可对数据进行统计。每个终端有一个终端标识(TerminationID),在创建时由网关分配,在网关内全局唯一。关联域代表一组终端之间的相互关系,实际上对应为呼叫,在同一个关联域中的终端之间可相互通信。关联的属性:

关联标识符:由媒体网关分配,关联标识符在媒体网关范围内全局唯一。拓扑:描述一个关联中终端之间的媒体流方向。关联的优先级:告知MG在处理关联时的先后次序。紧急呼叫的标识符:当使用紧急呼叫标识符时,MG优先处理此类呼叫。关联域的创建、修改和删除均由相应的H.248命令完成。关联的属性Context的四个属性

ContextID:32bits,在网关范围内唯一标识一个关联。

ContextID是由MG决定的,在MG的范围内是唯一的。

特殊关联编码对照表终端与关联域第一个关联是多点会议的例子,在一个关联中可以支持3个或更多的终结点。第二个关联中的终结点处于呼叫等待状态第三个关联是点对点通信的例子。关联中只有两个终结点。TerminationRTPStreamTerminationSCNBear.Ch.TerminationSCNBear.

Ch.TerminationRTPStreamTerminationRTPStreamTerminationSCNBear.Ch.TerminationSCNBear.

Ch.ContextContextContext123***2.H.248消息结构H.248消息内的事务交互是相互独立的,多个事务被独立处理。一个事务内的若干动作必须顺序执行。动作是由一系列局限于一个关联的命令组成。命令(Command)是H.248消息的主要内容,实现对关联和终端属性的控制。命令的参数被组织成“描述符”(Descriptor)H.248协议的消息机制Message消息TransactionI事务TransactionIDnContextID1关联ContextIDnCMD1命令CMDnDes-nDes-1描述符......H.248消息的一般格式H.248消息有文本编码和二进制编码两种格式。在文本格式时,一个消息以MEGACO带一斜线开头,随后是一个协议版本号、一个消息ID、一个消息体。例如:

MEGACO/1[111.111.222.222]:34567Transaction=12345{Context=1111{ADD=A5555,

ADD=A6666}Context=${ADD=A7777}}Transaction=3456{…}消息ID一般是发送信息的实体的域名/IP地址及端口号。事务(一)MGC和MG之间的一组命令构成事务,事务由TransactionID进行标识。事务包含一个或多个动作,一个动作由一系列局限于一个关联的命令组成。一个事务从“事务头部”(TransHdr)开始。在TransHdr中包含TransactionID。TransactionID由事务的发送者指定,在发送者范围内是唯一的。TransHdr后面是该事务的若干动作,这些动作必须顺序执行。若某动作中的一个命令执行失败,该事务中以后的命令将终止执行(Optional命令除外)。引入事务的一个重要功能是可以保证命令的顺序执行。当命令标记为“Optional”(可选命令),该命令可以越过一个命令执行失败而导致以后命令终止执行的限制,即如果可选命令执行不成功,其后的命令可以继续执行。事务(二)事务包括请求和响应两种类型,而响应也有两种:TransactionReply和TransactionPending。事务(三)TransactionReply是事务接收者对TransactionRequest的一种响应,表明接收者完成该TransactionRequest命令执行,对每个事务都应有一个Reply响应。有两种情况表明一个TransactionRequest执行完成:TransactionRequest中的所有命令成功执行完毕TransactionRequest中的一个非可选命令执行失败。TransactionReply结构如下:事务(四)TransactionPending由接收者发送,指示事务正在处理,但仍然没有完成。当命令处理时间较长时,可以防止发送者重发事务请求。TransactionPending结构如下:可见,事务表现为TransactionRequest,对TransactionRequest

接收者必须响应一个TransactionReply,在此之前可能由许多

TransactionPending响应。动作动作是由一系列局限于一个关联的命令组成。动作与关联(Context)是密切相关的,动作由ContextID进行标识。在一个动作内,命令需要顺序执行。一个动作从关联头部(CtxHdr)开始,在CtxHdr包含ContextID,用于标识该动作对应的关联。ContextID由MG指定,在MG范围内是唯一的。MGC必须在以后的与此关联相关的事务中使用ContextID。在CtxHdr后面是若干命令,这些命令都与ContextID标识的关联相关。命令(一)命令(Command)

:是H.248消息的主要内容,实现对关联和终端属性的控制,包括指定终端报告检测到的事件,通知终端使用什么信号和动作,以及指定关联的拓扑结构等。命令由命令头部(CMDHdr)与命令参数构成,在H.248协议中,命令参数被组织成“描述符”(Descriptor)。H.248协议定义了八个命令,其中“Notify”是由MG发给MGC,“ServiceChange”可由MG或MGC发送,其它命令都是由MGC发给MG。2023/2/1Modify:修改终结点或关联的特性;Add:向一个关联中添加一个终结点,当向一个关联添加第一个终结点时,接收命令的一方就会创建一个新的关联;Subtract:从一个关联中将一个终结点删除,当被删除的终结点是该关联中的最后一个终结点时,关联也会被删除;Move:将一个终结点从一个关联移到另一个关联中;Notify:MG使用该命令向MGC报告MG中检测到的事件;AuditValue:获取终结点或者关联的当前特性值和统计信息等;Auditcapabilities:获取终结点或者关联所支持的所有特性和其他信息;ServiceChange:MG使用该命令向MGC注册,MGC也可以使用该命令强制MG上的终结点退出/进入服务;命令(二)2023/2/1122命令-Add(一)用途(MGC->MG):向一个已经存在的关联中增加已经存在的终结点创建一个新的关联,并向创建的新关联中添加已经存在的终结点;关联1A0!/1[]:2944Transaction=10{Context=1{Add=RTP/0}}关联1A0RTP/0!/1[]:2944Transaction=10{Context=${Add=RTP/1}}MG创建一个新的关联,并为该关联分配一个关联ID如

温馨提示

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

评论

0/150

提交评论