中兴SIP协议介绍
12.MESSAGE:通过在其请求体中承载即时消息内容实现即时消息。
13.REFER:其功能是指示接受方通过使用在请求中提供的联系地址信息联系第三方。
响应消息包含数字响应代码。
二.2.2.3
1.临时响应(1XX):临时响应被服务器用来指示进程,但是不终结SIP事物。
2.最终响应(2XX,3XX,4XX,5XX,6XX):最终响应终止SIP事物。
UP-103-C1系统相关协议
SIP协议介绍
课程目标:
了解协议的功能和特点
掌握SIP的协议结构的分析
理解SIP协议的应用
第一章
知识点
●介绍SIP的功能。
一.1
SIP(会话初始协议)的开发目的是用来帮助提供跨越因特网的高级电话业务。因特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现而需要的NGN(下一代网络)系列协议中重要的一员。
Contact:”Mr. Watson”<sip:waston@worcester.bell-telephone.com>
H.323是一个相对复杂的协议。H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息。ASN.1通常需要特殊的代码生成器来进行词法和语法分析。而SIP的基于文本的协议,类似于HTTP。基于文本的编码意味着头域的含义是一目了然的,如From、To、Subject等域名。
综合以上得出这两个协议异同点如下:
Sip:+1-212-555-1212:1234@gateway.com;user=phone
Sip:alice@10.1.2.3
Sip:alice@registar.com;method=REGISTER
二.2.2
二.2.2.1
(1)请求:从客户机发到服务器的消息。
(2)响应:从服务器发到客户机的消息。
7.INFO:发送会话中信息而不改变会话状态,主要用于传递控制信息。
8.PRACK:与ACK作用相同,但是用于临时响应。
9.SUBSCRIBE:该方法用来向远端端点预订其状态变化的通知。
10.NOTIFY:该方法发送消息以通知预订者它所预定的状态的变化。
11.UPDATE:允许客户更新一个会话的参数而不影响该会话的当前状态。
一.3
一.3.1
1.SIP是一个客户/服务器协议,
2.协议消息分为两类:请求和响应,其中请求消息由客户机发往服务器,响应消息由服务器发往客户机。
3.协议消息的目的是:建立或终结会话
4.“邀请”是SIP协议的核心机制
5.响应消息分为两类:中间响应和最终响应
6.媒体类型、编码格式、收发地址等信息由SDP协议(会话描述协议)来描述,并作为SIP消息的消息体和头部一起传送,因此,支持SIP的网元和终端必须支持SDP
该字段的一般格式为:
Call ID:本地标识@主机,其中,主机应为全局定义域名或全局可选路IP地址。
Call ID的示例可为:
Call ID:19771105@foo.bar.com
4.Cseq:命令序号。客户在每个请求中应加入此字段,它由请求方法和一个十进制序号组成。序号初值可为任意值,其后具有相同的Call ID值,但不同请求方法、头部或消息体的请求,其Cseq序号应加1。重发请求的序号保持不变。ACK和CANCEL请求的Cseq值与对应的INVITE请求相同,BYE请求的Cseq值应大于INVITE请求,由代理服务器并行分发的请求,其Cseq值相同。服务器将请求中的Cseq值复制到响应消息中去。
3.重定向服务器
重定向服务器接受SIP请求,并将被呼叫方的SIP地址映射成零个(如果没有可知地址)或更多的新地址并且将它们返回客户机。不像代理服务器,重定向服务器不传递请求到其他服务器。
4.注册服务器
注册服务器是接受REGISTER请求的服务器,其目的是根据用户在请求中规定的联系信息更新位置数据库。
5xx: Server Error –服务器由于某些原因未能支持一个正确的请求;
6xx: Global Failure –该请求在任何服务器上都不能得到支持。
二.2.3
每条SIP消息由以下三部分组成:
1.起始行(Start Line):每个SIP消息由起始行开始。起始行传达消息类型(在请求中是方法类型,在响应中是响应代码)与协议版本。起始行可以是一请求行(请求)或状态行(响应)。
一.2
H.323和SIP分别是通信领域与因特网两大阵营推出的建议。H.323企图把IP电话当作是众所周知的传统电话,只是传输方式发生了改变,由电路交换变成了分组交换。而SIP协议侧重于将IP电话作为因特网上的一个应用,较其他应用(如FTP,E-mail等)增加了信令和QoS的要求,它们支持的业务基本相同,也都利用RTP(Realtime Tranfer Protocol)作为媒体传输的协议。
From:”A.G.Bell”<sip:agb@bell-telephone.com>
2.To:该字段指明请求的接收者,其格式与From相同,仅第一个关键词代之以To。所有请求和响应都必须包含此字段。
3.Call ID:该字段用以唯一标识一个特定的邀请或标识某一客户的所有登记。用户可能会收到数个参加同一会议或呼叫的邀请,其Call ID各不相同,用户可以利用会话描述中的标识,例如SDP中的o(源)字段的会话标识和版本号判定这些邀请的重复性。
2.URL形式:USER@HOST;
3.用途:代表主机上的某个用户,可指示From,To,RequestURI,Contact等SIP头部字段。
URL应用举例:
Sip:j.doe@big.com
Sip:j.doe:secret@big.com;transport=tcp;subject=project
二.2
二.2.1
SIP通过E-mail形式的地址来标明用户地址。每一用户通过一等级化的URL来标识,它通过诸如用户电话号码或主机名等元素来构造(例如:SIP:user@company.com)。因为它与E-mail地址的相似性,SIP URLs容易与用户的E-mail地址关联。
1.URL格式:SIP:用户名:口令@主机:端口;传送参数;用户参数;方法参数;生存期参数;服务器地址参数。
SIP被描述为用来生成,修改和终结一个或多个参与者之间的会话。这些会话包括因特网多媒体会议,因特网(或任何IP网络)电话呼叫和多媒体发布。会话中的成员能够通过多播或单播联系的网络来通信。SIP支持会话描述,它允许参与者在一组兼容媒体类型上达成一致。它同时通过代理和重定向请求到用户当前位置来支持用户移动性。SIP不与任何特定的会议控制协议捆绑。
相同点:
1.均为多媒体通信的应用层控制(信令)协议,目前一般用于IP电话
2.能实现的信令控制功能基本相同
3.都利用RTP作为媒体传输的协议
不同点:
1.H.323由ITU-T提出,采用的是传统的实现电话信令的模式,便于与传统的电话网互通;
H.323协议发展得比较成熟,但相对复杂得多。
2.SIP由IETF提出,借鉴了其他Internet标准和协议的设计思想,SIP协议简单,采用文本方式,因而具有更好的功能扩充性和网络可扩展性,并易于实现。
(3)IP网络中具有UA功能的设备是:工作站,IP电话,电话网关,呼叫代理,自动应答服务。
2.代理服务器
代理服务器是同时作为服务器和客户机的中间实体,其目的是代表其他客户机生成请求。请求被内部处理或可能在翻译之后将其传递到其他服务器。如果需要,代理在转发之前可解释和重写请求消息。其主要完成SIP消息的转接、转发功能。在转发请求之前,它可能改写原请求消息中的内容。
二.2.2.2
1.INVITE:初始呼叫,用来邀请用户或应用程序加入某会话。
2.ACK:确认INVITE的最终应答,和INVITE消息配套使用。
3.BYE:终止呼叫。
4.CANCEL:撤消搜索和振玲。该方法用于取消一个尚未完成的请求,对于已完成的请求则无影响。
5.OPTIONS:查询另一方能力。
6.REGISTER:客户使用该方法在服务器上登记列于To字段中的地址。用户代理在启动时向地址如’Sip.macst.net’(224.0.1.75)发送REGISTER请求,以完成至本地服务器的登记。
SIP是IETF标准进程的一部分,它是在诸如SMTP(简单邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。它用来建立,改变和终止基于IP网络的用户间的呼叫。为了提供电话业务它还需要结合不同的标准和协议:特别是需要确保传输(RTP),与当前电话网络的信令互连,能够确保语音质量(RSVP),能够提供目录(LDAP),能够鉴权用户(RADIUS)等等。
即SIP消息的一般格式为:
SIP消息=起始行/状态行
*消息头部(1个或多个头部)
CRLF(空行)
〖消息体〗
二.2.3.1
1.From:所有请求和响应消息必须包含此字段,以指示请求的发起者。服务器将此字段从请求消息复制到响应消息。
该字段的一般格式为:
From:显示名〈SIP URL〉;tag=xxx
From字段的示例有:
其数字相应代码共分为六类,如下:
1xx: Informational–请求建立的呼叫正在处理;
2xx: Success –所请求的动作已成功收到、理解和接受;
3xx: Redirection –需进行进一步的处理来完成该请求;
4xx: Client Error –请求中包含错误文法或服务器不能完成;
2.SIP头:用来传递消息属性和修改消息意义。它们在语法和语义上与HTTP头域相同(实际上有些头就是借自HTTP),并且总是保持格式:<名字>:<值>。
3.消息体:用于描述被初始的会话(例如,在多媒体会话中包括音频和视频编码类型,采样率等)。消息体能够显示在请求与响应中。百度文库IP清晰区别了在SIP起始行和头中传递的信令信息与在SIP范围之外的会话描述信息。可能的体类型就包括本文将要描述的SDP会话描述协议。
Via:SIP/2.0/UDP first.example.com:4000
6.Contact:该字段用于INVITE、ACK和REGISTER请求以及成功响应、呼叫进展响应和重定向响应消息,其作用是给出其后和用户直接通信的地址。
Contact字段的一般格式为:
Contact:地址;参数
其中,Contact字段中给定的地址不限于SIP URL,也可以是电话、传真等URL或mailto:URL。其示例可为:
Cseq的示例为:
Cseq:4711 INVITE
5.Via:该字段用以指示请求经历的路径。它可以防止请求消息传送产生环路,并确保响应和请求的消息选择同样的路径。
该字段的一般格式为:
Via:发送协议发送方;参数
其中,发送协议的格式为:协议名/协议版本/传送层,发送方为发送方主机和端口号。
Via字段的示例可为:
7.用SIP URL的寻址方式,特别地,其用户名字段可以是电话号码,以支持IP电话网关寻址,实现IP电话和PSTN的互通
8.IP的最强大之处就是用户定位功能,用户定位基于登记和DNS机制
9.SIP独立于低层协议,可采用不同的传送层协议,若采用UDP传送,要求响应消息沿请求消息发送的同样路径回送;若采用TCP传送,则同一事务的请求和响应需在同一TCP连接上传送
一.3.2
1.用户定位:确定通信所用的端系统位置。
2.用户能力交换:确定所用的媒体类型和媒体参数。
3.用户可用性判定:确定被叫方是否空闲和是否愿意加入通信。
4.呼叫建立:邀请和提示被叫,在主被叫之间传递呼叫参数。
5.呼叫处理:包括呼叫终结和呼叫转交。
第二章
知识点
●SIP协议结构。
二.1
SIP网络由四种类型的逻辑SIP实体组成。每一实体具有特定的功能,并且作为客户机(初始请求),或作为服务器(响应请求),或作为两者的结合参与到SIP通信中。一个“物理设备”能够具有多于一个逻辑SIP实体的功能性。例如,作为代理服务器的网络服务器可同时具备注册服务器的功能。
下面是四种功能实体:
1.用户代理
在SIP中,用户代理(UA)是端点实体。用户代理通过交换请求和响应初始和终止会话。UA作为一应用程序,它包含用户代理客户机和用户代理服务器,如下:
(1)用户代理客户机(UAC):客户机应用程序,它初始SIP请求。
(2)用户代理服务器(UAS):服务器应用程序,当接收到SIP请求时它联系用户并且代表用户返回一响应。