当前位置:文档之家› sip协议原理分析及总结

sip协议原理分析及总结

SIP协议学习总结

1、SIP协议定义

SIP(Session Initiation Protocol,即初始会话协议)是IETF提出的基于文本编码的IP电话/多媒体会议协议。用于建立、修改并终止多媒体会话。SIP 协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。多媒体会话可以是点到点的话音通信或视频通信,也可以是多点参与的话音或视频会议等。SIP协议透明地支持名字映射和重定向服务,便于实现ISDN,智能网以及个人移动业务。SIP协议可以用多点控制单元(MCU)或全互连的方式代替组播发起多方呼叫。与PSTN相连的IP电话网关也可以用SIP协议来建立普通电话用户之间的呼叫。

SIP协议在IETF多媒体数据及控制体系协议栈结构的位置

H.323SIP RTSP RSVP RTCP

H.263 etc.

RTP TCP UDP

IP

PPP Sonet AAL3/4AAL5

ATM Ethernet

PPP

V.34

SIP协议支持多媒体通信的五个方面:

◆用户定位:确定用于通信的终端系统;

◆用户能力:确定通信媒体和媒体的使用参数;

◆用户有效性:确定被叫加入通信的意愿;

◆会话建立:建立主叫和被叫的呼叫参数;

◆会话管理:包括呼叫转移和呼叫终止;

SIP协议的结构

SIP是一个分层的协议,也就是说SIP协议由一组相当无关的处理层次组成,这些层次之间只有松散的关系。

SIP最底层的是它的语法和编码层。编码方式是采用扩展的Backus-Naur Form grammar (BNF范式)。

第二层是传输层。它定义了一个客户端发送请求和接收应答的方式,以及一

个服务器接收请求和发送应答的方式。所有的SIP要素都包含一个通讯层。

第三层是事务层。事务是SIP的基本组成部分。一个事务是UAC向UAS发送的一个请求以及UAS向UAC发送的一系列应答。事务层处理应用服务层的重发,匹配请求的应答,以及应用服务层的超时。任何一个用户代理客户端完成的事情都是

由一组事务构成的。用户代理与有状态的代理服务器都包含一个事务层,无状态的代理服务器并不包含事务层。事务层包含一个客户元素(可以认为是一个客户事务)和一个服务器元素(可以认为是一个服务器事务),他们都可以用一个有限状态机来处理特定的请求。

在事务层之上是事务用户(Transaction User TU )。每一个SIP实体,除了无状态代理,都是一个事务用户。当一个TU发出一个请求,它首先创建一个客户事务实例并将目标IP地址、端口号、以及发送请求的设备信息一起发送。事务用户可以创建客户事务,也可以取消客户事务。当客户取消一个事务,它请求服务器终止正在处理的事务,并且回滚状态到该事务开始前的状态,并且产生指定的该事务的错误报告。这是由CANCEL请求完成的,这个请求有自己的事务,并且包含一个被取消的事务。

2、SIP协议主要概念模型

2.1实体模型概述

SIP协议模型定义了User Agent(用户代理)和Server(服务器)等两类主要实体。SIP协议把User Agent(即UA)分为两个部分:User Agent Client和User Agent Server。呼叫方(称User Agent Client)发出邀请(或呼叫),被叫方(称User Agent Server)接受或拒绝邀请(或呼叫)。分组终端设备、媒体网关/ 媒体设备通常是包括User Agent Client和User Agent Server在内的User Agent。另外,下面所说的Proxy Server也要实现User Agent功能。

SIP协议定义了Proxy Server、Redirect Server和Register Server等三类主要Server。

Register Server:主要用于登记分组终端的当前位置和位置服务的原始数据。

Proxy Server:作为User Agent Client和User Agent Server间的中间媒体,它转发User Agent Client来的的邀请,在转发之前,根据被叫标识请求位置服务器获得被叫的可能位置,然后分别向它们发出邀请;

Redirect Server:接受User Agent Client来的邀请,根据被叫标识请求位置服务器获得被叫的可能位置,把这些信息返回给邀请的发起者(User Agent Client),和Proxy Server的不同之处就在于它不转发邀请,邀请由主叫终端自己完成。

Sip协议基本网络模型,如下图所示:

2.2 SIP协议相关概念

呼叫(Call):一个呼叫是由一个会议中被同一个发起者邀请加入的所有成员组成的。一个SIP呼叫用全局唯一呼叫标识符(CALL_ID)来识别。因此,如果一个用户被不同的人邀请参加同一个多点会议,每个邀请都有一个唯一的呼叫。一个点对点因特网电话交谈也被认为是一个SIP呼叫。在一个基于多点控制单元(MCU)的电话交谈节目中,每个参与者都用一个独立的呼叫与MCU相连。

呼叫支路(Call leg):一个呼叫支路由Call-ID、To以及From 之中的addr-spec 和tag共同标识。只有addr-spec中的user和hostport部分有意义。在同一个Call-ID中,从A到B的请求与从B到A的请求都属于同一个呼叫支路。呼叫支路也可以说是一次呼叫里消息经过的路径。

会议(Conference):一个多媒体会话,由公共的会话描述来标识。一个会议可由零个或多个成员组成,可以是多点会议,全互连会议,点对点会议,或者是它们的组合。可以用任意数目的呼叫来建立一个会议。

发起者、主叫(Initiator,Caller):发起会议邀请的一方。注意,发起者不一定是会议的建立者。

被邀请者、被叫(Invitee,Callee):被主叫方邀请参加会话的一方。

邀请(Invitation):要求用户加入会话的请求。一个成功的SIP邀请包括2个事务:一个INVITE请求,后面跟一个ACK请求。

同构请求/响应(Isomorphic request or response):两个含有相同Call-ID、To、From和CSeq头域的请求/响应。此外,同构请求还必须含有相同的Rquest-URI。

并行查询(Parallel search):在一个并行查询中,代理收到请求后向可能的被叫用户发出多个请求。并行查询在发出请求时并不等待以前所发请求的响应。

最终响应(Final response):用于结束SIP事务的响应,与临时响应相对。所有的2XX,3XX,4XX,5XX和6XX响应都是最终响应。

临时响应(Provisional response):服务器用来表示工作进展,并不结束SIP 事务的一种响应。编码为1XX的响应是临时响应,其他响应都是最终响应。

会话(Session):根据SDP(会话描述协议)规范的定义:“多媒体会话是由多媒体发送者,接收者以及从发送者到接收者的数据流组成的集合。

SIP Transaction(SIP事务):一个SIP事务是发生在客户和服务器之间的,包括从客户向服务器发出的第一个请求直到服务器发给客户一个最终响应这期间所有的消息。事务是由一个呼叫支路(Call leg)中的Cseq 顺序号来标识的。一个ACK请求与对应的INVITE请求拥有相同的CSeq,构成自己的事务;

B2BUA(背靠背用户代理):B2BUA是接收请求并作为用户代理服务器的一个逻辑实体。为了确定应该如何响应请求,它作为一个用户代理客户(UAC)发出请求。与代理服务器不同的是它维护对话状态并必须参与所有在已建立的对话上所发的请求。由于它是一个串联UAC和UAS,对于它的行为无须作显式定义。

Address-of-Record(记录地址):一个address-of-record(AOR)是一个SIP 或者SIPS URI它指向了一个具有定位服务的主机,这个主机可以把URI映射成为用户真正物理位置的URI。通常情况下,定位服务器是通过登记服务来建立的。一个AOR经常被认为是一个用户的”公共地址”。

Message(消息):SIP元素之间传送的协议数据就是消息。SIP消息既可以是请求也可以是应答。

Method(方法):方法是在服务器请求处理的主要功能。方法是请求消息自身携带的。典型的方法就是INVITE和BYE。

Request:(请求):一个由客户端发到服务端的SIP信息,用于执行特定的功能。

Response(应答):一个由服务端发到客户端的SIP信息。用来标志从客户端发往服务端的请求处理的情况。

Ringback(回铃音):回铃音是一个信号音。是给呼叫方的一个信号表示被叫方正在振铃(Ringing)。

Route Set(路由集):路由集合是一个顺序的SIP或者SIPS URI。这些URI 描述了传递一个请求所必须经历的代理列表。一个路由集可以是自适应的,因为包头中包含了Record-Route(记录路由),也可以是依赖配置得到的。

3、SIP协议主要消息

3.1 SIP消息分类

SIP协议是以层协议的形式组成的,就是说它的行为是以一套相对独立的处理阶段来描述的,每个阶段之间的关系不是很密切。

SIP协议将Server和User Agent之间的通讯的消息分为两类:请求消息和响应消息。

请求消息:客户端为了激活特定操作而发给服务器的SIP消息,包括INVITE、ACK、BYE、CANCEL、OPTION和UPDATE消息。

响应消息:服务器向客户反馈对应请求的处理结果的SIP消息,包括1xx、2xx、3xx、4xx、5xx、6xx响应

3.2 SIP消息结构

请求消息和响应消息都包括SIP消息头字段和SIP消息体字段。

SIP消息头主要用来指明本消息是有由谁发起和由谁接受,经过多少跳转等基本信息;SIP消息体主要用来描述本次会话具体实现方式。

3.2.1 SIP消息头类型

在SIP消息中,有四种类型的头字段:

通用头字段

请求头字段

响应头请求

实体头字段

SIP 消息头的通用结构

<头字段的名字>:<字段值>

层次和在消息头中所有行的层次相同

对于客户机/服务器都不能理解的头字段仅仅是被忽略,而不移除.

一些重要的通用头

◆Call-Id: 统一独特的呼叫标识

◆Cseq:请求命令顺序号

◆Via:用于记录一个请求传送的路径

◆From:存在于每个SIP 消息中,包含请求发起者的显示名和地址。SIP 响

应的From域是请求中From 域的拷贝。

◆To:存在于每个SIP 消息中,表示一个请求的预期目的地。SIP 响应中

的To 域是请求中To 域的拷贝。

◆Max-Forwards:字段表示request 到达UAS 的跳数的限制,是一个整数,

经过每一跳时减去一。

◆Contact:为后续请求提供了访问特定UA 实例的联系方法,即SIP 或者

SIPS URI。

◆Content-Type:描述消息体内容的媒体类型。如:Content-Type:

application/sdp。

◆Content-Length :标识了消息体的大小,采用十进制数字表示。

呼叫和呼叫者的标识头

Subject: 呼叫,短消息主题

Organization: 主叫和被叫, 代理服务器可能重填

Date: 呼叫的日期

Server: 处理请求消息的服务器消息

User-Agent: 发起请求消息的用户代理服务器信息

Accept-Language: 优选语言

Priority: 呼叫优先级 (普通,紧急,…)

In-Reply-To: 与早期呼叫的关联

内容描述头

Content-Disposition: 消息解析的方式

Content-Encoding: 压缩 (gzip)

Content-language: 语言选择

Content-length: 消息体长度

Content-Type:媒体类型 (application/sdp )

能力头

Allow: Request-URI支持的方法

Accept: 响应消息接受的媒体类型 ,如 application/sdp, text/html

Accept-Encoding:响应消息接受的压缩方式

Accept-Language:响应消息接受的语言

Supported: 服务器或代理支持的特性 (如 100rel )

Require:服务器要求支持的特性 (100rel )

Unsupported:代理不支持的特性

3.2.2 SIP 消息体

SIP 消息体部分则是通过另外一种协议来描述的,就是SDP 协议。SDP 协议也是一种基于文本的协议,英文全称为Session Description Protocol,称为会话描述协议,它是在RFC2327 中定义的。SDP 描述的信息封装在传送协议中发送,典型的会话传送协议包括:会话公告协议(SAP)、SIP、RTSP、HTTP 和使用MIME(Multipurpose Internet MailExtensions)的E-mail。采用SIP 传送时, SDP 主要用来描述参与SIP 会话通信交流各方的媒体资源信息,主要包括以下几类信息:

会话名称和目的;

◆会话激活的时间区段;

◆构成会话的媒体;

◆接收这些媒体所需的信息(地址、端口、编码格式等)

◆会话所用的带宽信息(可选);

◆会话负责人的联系信息(可选);

媒体信息的具体内容包括:

◆媒体类型(视频、音频等);

◆传送协议(RTP/UDP 等);

◆媒体格式(H.261 视频、MPEG 视频等);

◆媒体地址和端口;

时间信息的具体内容包括:

◆会话的开始和结束时间,可用多组时间段;

◆对于每个时间段,可以指定重复时间;

SDP 协议描述SIP 消息包体是采用文本形式的UTF-8 编码的IS010646 字符集。SDP会话描述由许多文本行组成,每个文本行的格式均为:=。其中,恒为单个字符,需区分大小写。为结构化文本串,其格式取决于,也需区分大小写。一般由多个字段组成,各字段由一个空格符分隔,也可以是一个自由格式的文本串。“=”符号两侧不允许有空格。会话描述包括两个部分:会话级描述和媒体级描述。会话级描述部分给出适用于整个会话和所有媒体流的描述信息,它以“v=”文本行开始。媒体级描述部分给出只适用于该媒体流的信息,它以“m=”文本行开始。一个会话描述可以包含零个或多个媒体级描述。如果在媒体级描述中没有重新定义,会话级描述给定的值就是所有媒体的缺省值。

会话描述的一般格式为:

v=协议版本

o=会话拥有者/创建者和会话标识符

s=会话名称

i=(可选)会话信息

u=(可选)URI 描述

e=(可选)Email 地址

p=(可选)电话号码

c=(可选)连接信息

b=(任选)带宽信息

一个或多个时间描述

z=(可选)时区调整

k=(可选)密钥

a=(可选)零个或者多个会话属性行

零个或多个媒体描述

注意:各类文本行必须严格按上述次序排列,以便简化语法分析和检错。

其中,时间描述格式为:

t=会话激活的时间区段

r=(可选)零个或多个重复时间

媒体描述的格式为:

m=媒体名和传送地址

i=(可选)媒体名称

c=(可选)连接信息:如果已含于会话级描述则为任选项

b=(可选)带宽信息

k=(可选)加密密钥

a=(可选)零个或多个媒体属性行

SDP 定义的类型(type)字母很少。如果SDP 语法分析器不能识别描述中的某一类型

字母,则应将整个描述丢弃。属性机制(“a=”行)供SDP 扩展其应用或媒体范围,可

根据应用、媒体或会话的需要增加属性值。如果按收方不理解某属性值,则予以丢弃。

SDP参数实例说明

?V=0:指出SDP协议的版本

?O=wangyu 2890844526 2890842807 IN IP4 126.16.64.4

用户名会话ID 版本网络类型地址类型地址

?S = SDP Seminar

会话名

?I= A Seminar on the session description protocol

会话描述

?U =https://www.doczj.com/doc/044264311.html,/staff/qingpu/wang.yu/sdp.03.ps

关于本会议的附加信息指针

?e= wang.yu@https://www.doczj.com/doc/044264311.html,

邮件地址

? c = IN IP4 224.2.17.12/127

网络类型地址类型连接的地址

?t = 2873397496 2873404696

开始时间终止时间

a = recvonly

本会话仅仅是个receive会话过程

?m = audio 49170 RTP/AVP 0

?a=rtpmap:0 PCMU/8000

?描述其音频编码格式为PCMU 采样频率为8000

?a=rtpmap:8 PCMA/8000

a=sendonly

3.3 消息格式

3.3.1请求消息格式

SIP请求消息的格式,由SIP消息头和一组参数行组成,通过换行符区分命令行和每一条参数行。

注意:参数行的顺序不是固定的。

SIP请求消息实例:

INVITE sip:0109@127.0.0.1:5060;User=phone SIP/2.0

命令消息对端sip实体的URI 端口用户名sip版本号

Call-ID:01E04633512400000@127.0.0.1 (统一呼叫标识)

Via:SIP/2.0/UDP 127.0.0.1:5061 (响应路由)

From:;tag=29005358336B534F610A0 00 (请求源地址,带有tag标志)

To: (目的地址)

Contact: sip:010203@127.0.0.1:5061(后续联系的地址和端口号,INVITE消息必须)

CSeq:1 INVITE (请求命令顺序号)

Max-Forwards:70 (最大经过sip服务器跳跃数)

Content-Type: application/SDP (媒体类型)

Content-Length:168 (消息体大小)

v=0

o=UserA 2890844526 2890844526 IN IP4 https://www.doczj.com/doc/044264311.html,

s=Session SDP

c=IN IP4 192.0.0.1

t=0 0

m=audio 49172 RTP/AVP 0 8

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=sendonly

3.3.2响应消息格式

SIP响应消息的格式,由SIP消息头和一组参数行组成,通过换行符区分命令行和每一条参数行。

SIP响应消息实例:

SIP/2.0 200 OK (200 OK消息SIP响应消息的一种)

Content-Type:application/SDP

Via:SIP/2.0/UDP 127.0.0.1:5061

Call-ID:01EF351F8140000000000@127.0.0.1

CSeq:1 INVITE

From:;tag=29005358336B534F610A0 00

To:;tag=5358336B534F2900CD1B0000

Contact:

Content-Length:156

v=0

o=HuaweiSoftX3000 1073741824 1073741824 IN IP4 127.0.0.1

s=Sip Call

c=IN IP4 110.111.112.113

t=0 0

m=audio 5060 RTP/AVP 0

a=rtpmap:0 PCMU/8000

3.4 SIP协议主要响应码

3.4.1 响应码分类

SIP响应消息用于对请求消息进行响应,指示呼叫的成功或失败状态。不同类的响应消息由状态码来区分,状态码包含三位整数,状态码的第一位用于定义响应类型,另外两位用于进一步对响应进行更加详细的说明。响应消息的分类如

上述消息中,临时响应用于指示呼叫正在进行,最终响应用于结束请求消息。

3.4.2 主要响应码举例

100 待处理

180 回铃

181 呼叫被转发

182 排队

200 OK

301 永久转移

302 临时转移

400 非法请求

404 未找到

405 方法不允许

500 服务器内部错误

504 服务器超时

600 忙

603 拒绝

SIP 协议中定义了40 多种状态码,已经考虑到了通信过程中可能会碰到的所有的状态。在一般的正常SIP 呼叫中只会用到其中很少的一部分。SIP 响应码是可扩展的。不要求SIP 应用程序理解所有已注册状态码的含义,但是它必须理解所有状态码的类别。不能识别的状态码则作为X00 处理,此时,用户代理应向用户显示该响应的消息体,该消息体一般含有能理解该异常状态的可读信息。

4、SIP呼叫过程实例

主叫UA1通过代理服务器P-S1和P-S2呼叫UA2流程图

图表1 SIP通过代理服务器的呼叫过程

主叫UA1发起INVITE请求,该请求中提供了足够的信息以便被叫能够参加该会话,包括媒体流的类型和格式以及地址和端口的信息,INVITE请求被送到本地的SIP代理服务器P-S1。本地的SIP代理服务器查询,得到处理该SIP请求的代理服务器的传输层地址(IP地址和端口号),并将接收到的请求转发到该服务器。该服务器通过查询,得到被叫UA2的传输层地址(IP地址和端口号),并将接收到的INVITE请求转发到被叫UA2。被叫UA2接受该呼叫,并发回200 OK响应。该响应沿着原来的路径到达主叫方,完后主叫返回一个ACK(直接发到被叫),呼叫建立,可以开始在他们之间直接传送媒体流信息了。

当有一方想结束会话时,直接发送一个BYE请求给对方,对方会回送一个200 OK响应,双方会话结束。需要注意的是在实际的系统中,ACK及BYE消息还是沿着INVITE请求的路径来发送(代理会在请求消息中加入Route字段,使得ACK及BYE 还是沿着INVITE请求的路径来发送),这样SIP服务器就能够更好的管理呼叫,同时记录一些统计信息。通过代理服务器的呼叫过程如上图所示。

SIP协议呼叫流程及协议分析

一、SIP协议介绍: 会话发起协议SIP(Session Initiation Protocol)是一个应用层控制信令协议,用于建立、更改和终止多媒体会话或呼叫。SIP作为一个基础,可以在其上提供很多不同的服务。目前已经定义的媒体类型有音频、视频、应用、数据、控制。 二、SIP呼叫流程: 注册流程: (1)用户首次试呼时,终端代理A 向代理服务器发送REGISTER 注册请求; (2)代理服务器通过后端认证/计费中心获知用户信息不在数据库中,便向终端代理回送401Unauthorized 质询信息,其中包含安全认证所需的令牌; (3)终端代理提示用户输入其标识和密码后,根据安全认证令牌将其加密后,再次用REGISTER 消息报告给代理服务器; (4)代理服务器将REGISTER 消息中的用户信息解密,通过认证/计费中心验证其合法后,将该用户信息登记到数据库中,并向终端代理A 返回成功响应消息200 OK。 呼叫流程:

(1)用户摘机发起一路呼叫,终端代理A 向该区域的代理服务器发起Invite 请求;(2)代理服务器通过认证/计费中心确认用户认证已通过后,检查请求消息中的Via 头域中是否已包含其地址。若已包含,说明发生环回,返回指示错误的应答;如果没有问题,代理服务器在请求消息的Via 头域插入自身地址,并向Invite 消息的To 域所指示的被叫终端代理B 转送Invite 请求; (3)代理服务器向终端代理A 送呼叫处理中的应答消息,100 Trying; (4)终端代理B 向代理服务器送呼叫处理中的应答消息,100 Trying; (5)终端代理B 指示被叫用户振铃,用户振铃后,向代理服务器发送180 Ringing 振铃信息; (6)代理服务器向终端代理A 转发被叫用户振铃信息; (7)被叫用户摘机,终端代理B 向代理服务器返回表示连接成功的应答(200 OK);(8)代理服务器向终端代理A 转发该成功指示(200 OK); (9)终端代理A 收到消息后,向代理服务器发ACK 消息进行确认; (10)代理服务器将ACK 确认消息转发给终端代理B; (11)主被叫用户之间建立通信连接,开始通话; 结束流程:

sip协议原理分析及总结

SIP协议学习总结 1、SIP协议定义 SIP(Session Initiation Protocol,即初始会话协议)是IETF提出的基于文本编码的IP电话/多媒体会议协议。用于建立、修改并终止多媒体会话。SIP 协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。多媒体会话可以是点到点的话音通信或视频通信,也可以是多点参与的话音或视频会议等。SIP协议透明地支持名字映射和重定向服务,便于实现ISDN,智能网以及个人移动业务。SIP协议可以用多点控制单元(MCU)或全互连的方式代替组播发起多方呼叫。与PSTN相连的IP电话网关也可以用SIP协议来建立普通电话用户之间的呼叫。 SIP协议在IETF多媒体数据及控制体系协议栈结构的位置 H.323SIP RTSP RSVP RTCP H.263 etc. RTP TCP UDP IP PPP Sonet AAL3/4AAL5 ATM Ethernet PPP V.34 SIP协议支持多媒体通信的五个方面: ◆用户定位:确定用于通信的终端系统; ◆用户能力:确定通信媒体和媒体的使用参数; ◆用户有效性:确定被叫加入通信的意愿; ◆会话建立:建立主叫和被叫的呼叫参数; ◆会话管理:包括呼叫转移和呼叫终止; SIP协议的结构 SIP是一个分层的协议,也就是说SIP协议由一组相当无关的处理层次组成,这些层次之间只有松散的关系。 SIP最底层的是它的语法和编码层。编码方式是采用扩展的Backus-Naur Form grammar (BNF范式)。 第二层是传输层。它定义了一个客户端发送请求和接收应答的方式,以及一 个服务器接收请求和发送应答的方式。所有的SIP要素都包含一个通讯层。 第三层是事务层。事务是SIP的基本组成部分。一个事务是UAC向UAS发送的一个请求以及UAS向UAC发送的一系列应答。事务层处理应用服务层的重发,匹配请求的应答,以及应用服务层的超时。任何一个用户代理客户端完成的事情都是

基于SIP的视频会议结构和原理

摘要根据 IETF SIPPING 工作组提出的集中式会议模型,设计并实现了基于 SIP 的视频会议系统。该系统各部分可分别设计,具有良好的可扩展性。详细介绍了此系统的结构和工作原理。 前言 近几年来,随着计算机技术、通信技术和互联网技术的飞速发展,视频会议的应用范围正逐渐从传统的专业领域、大型企业等高端用户向中小企业等普通用户和个人用户拓展。据有关机构的分析结果显示,2004 年我国视频会议市场的规模已经达到 18.7 亿元,并以每年 26% 的速度递增,市场前景十分广阔。 本文主要介绍了一种基于 SIP 的集中式视频会议模型,并根据此模型设计了初步的实现方案,分析了此方案的工作原理。目前, IETF 领导的对 SIP 会议模型的研究还处于草案阶段,并没有成为标准,因此,对 SIP 会议框架及其实现技术的研究具有一定的理论和实践意义。 1 视频会议系统的主流技术标准 目前,视频会议系统的主流技术标准有 2 个, H.323 和 SIP[1] 。前者是由 ITU-T SG16 定义,包括 H.225 呼叫控制信令和 RAS 信令、 H.245 媒体控制信令和 H.450 补充业务信令规范;后者由 IETF MMUSIC 工作组定义,包括 SDP 媒体描述规范。 H.323 系统沿用传统电信网的设计理念,兼顾传统 PSTN 呼叫流程和 IP 网特点而发展成熟,吸取了许多电信网的组网、互联和运营经验,能与 PSTN 网、窄带视频业务以及其他数据业务和应用网互联互通,近年来得到了广泛的应用,尤其是在组建 VoIP 大网方面凸现了其技术优势。 H.323 协议范围广,涵盖了各种独立设备、个人计算机技术以及点对点和点对多点的视频会议,该协议解决了视频会议中呼叫与会话控制、多媒体与带宽管理等许多问题。也正是因为 H.323 系统在设计的时候考虑的问题太多,整个体系结构显得庞大且较为复杂,限制了其在中小企业的部署。 SIP 是用来建立、修改和终结多媒体会话的应用层控制协议,主要完成用户定位、用户能力交换、呼叫建立、呼叫处理等功能。它继承了互联网协议的设计理念,与 H.323 协议相比,具有简单灵活、扩展方便的特点,可方便地与其他互联网协议结合提供丰富的 IP 多媒体业务,以便在各种网络环境下部署。 目前,大规模商用 VoIP 网络和会议系统都采用 H.323 标准,但随着 VoIP 技术的进一步发展和视频会议系统应用的逐渐普及, SIP 协议正日益受到业界的重视。 3GPP 已经确定将 SIP 协议作为第三代移动通信全 IP 网络的控制协议,制订了基于 SIP 的 IP 多媒体子系统( IMS )。业界也已经确定将 SIP 作为下一代网络( NGN )的核心控制协议。与此同时, SIP 协议及其应用的标准化工作也在积极的进行之中,这其中就包括由 IETF SIPPING 工作组领导的集中式多媒体会议的标准化工作和 XCON 工作组领导的会场控制和 CPCP ( Conference Policy Control Protocol )的标准化工作。随着这些标准的制订,基于 SIP 的视频会议系统必将获得越来越广泛的应用。 2 集中式会议系统模型

sip协议的实现 论文下载

SIP 的簡單工作流程主要是呼叫者先送出INVITE 給被呼叫者,而被呼叫者的系統會幫忙先送出180 Ringing 的檔案給呼叫者,在被呼叫者按下通話鍵時,系統會送出200 OK 的檔案出去給呼叫者,呼叫者的系統收到後會送出ACK 的檔案給被呼叫者,即可開始點對點的通話。如果在通話前或通話中想要掛掉電話,則可按下BYE ,即可結束通話。 四、Proxy Server 工作原理 首先使用者需要對Proxy Server 註冊,如果已登錄的人,換了一台電腦需做update ,如此一來Server 才會有使用者的名稱及IP 位址。邀請者的UA 會試著傳送檔案給被邀請者,檔案會先到達Proxy Server ,且立即地試著傳送給被邀請者。呼叫者每一次的通話,都需要經過Proxy Server 才能進行連接通訊,Server 完全是 當做媒介用的。 五、研究成果 研究成果配合另一組同學,我們已經能夠達成點對點的通話且達到SIP 的基本流 程。這一次的專題研究讓我們的收穫相當大,我們不但學到如何使用JBuilder 寫JAVA 程式,也使用到了TCP Socket 程式完成了檔案傳送的部份。 另外伺服器的部份也可架設完成,運作正常,不但可以在區域網路上使用,亦可跨越網域,跨越路由器。GUI 介面 關鍵詞: SIP(Session Initiation Protocol) TCP(Transmission Control Protocol) UDP(User Datagram Protocol) RTP(Real-Time Transport Protocol) HTTP(Hypertext Transport Protocol) UA(User Agent) 六、參考文獻 1.https://www.doczj.com/doc/044264311.html,/index.htm 聲采科技網頁資料 2.https://www.doczj.com/doc/044264311.html,.tw/2003_04/web/ma in5.htm 台灣網路資訊中心 3.https://www.doczj.com/doc/044264311.html,/sip 哥倫比亞大學的網站 https://www.doczj.com/doc/044264311.html,puter Networking James 2003 F. Kurose; Keith W. Ross https://www.doczj.com/doc/044264311.html,puter Netwoking with Internet Protocols and Technology 2004 William Stallings 6.JBuilder 程式設計實務2001 楊宗誌 7.JBuilder X 程式設計快樂上手2004 洪國勝、張建原

SIP协议相关文件

Osip2是一个开放源代码的sip协议栈,是开源代码中不多使用C语言写的协议栈之一,它具有短小简洁的特点,专注于sip底层解析使得它的效率比较高。 eXosip是Osip2的一个扩展协议集,它部分封装了Osip2协议栈,使得它更容易被使用。 一、介绍 Osip2是一个开放源代码的sip协议栈,是开源代码中不多使用C语言写的协议栈之一,它具有短小简洁的特点,专注于sip底层解析使得它的效率比较高。但缺点也专门明显,首先确实是可用性差,没有专门好的api封装,使得上层应用在调用协议栈时专门破裂;其次,只做到了transaction层次的协议过程解析,

缺少call、session、dialog等过程的解析,这也增加了使用的难度;再次,缺少线程并发处理的机制,使得它的处理能力有限。 eXosip是Osip2的一个扩展协议集,它部分封装了Osip2协议栈,使得它更容易被使用。eXosip增加了call、dialog、registration、subscription等过程的解析,使得有用性更强。然而eXosip局限于UA的实现,使得它用于registrar、sip server等应用时极其不容易。另外,它并没有增加线程并发处理的机制。而且只实现了音频支持,缺少对视频和其它数据格式的支持。 综合来讲,Osip2加上eXosip协议栈仍然是个实现Sip协议不错的选择。因此需要依照不同的需求来增加更多的内容。 二、Osip2协议栈的组成 Osip2协议栈大致能够分为三部分:sip协议的语法分析、sip 协议的过程分析和协议栈框架。 1、Sip协议的语法分析:

要紧是osipparser2部分,目前支持RFC3261和RFC3265定义的sip协议消息,包括INVITE、ACK、OPTIONS、CANCEL、BYE、SUBSCRIBE、NOTIFY、MESSAGE、REFER和INFO。不支持RFC3262定义的PRACK。 遵循RFC3264关于SDP的offer/answer模式。带有SDP的语法分析。 支持MD5加解密算法。支持Authorization、www_authenticate 和proxy_authenticate。 2、Sip协议的过程分析: 要紧是osip2部分,基于RFC3261、RFC3264和RFC3265的sip 协议描述过程,围绕transaction这一层来实现sip的解析。 Transaction是指一个发送方和接收方的交互过程,由请求和应答组成。请求分为Invite类型和Non-Invite类型。应答分为响应型的应答和确认型的应答。响应型的应答是指那个应答仅代表

sip协议简单解释

引言 节省费用以及想把语音和数据融合在一起的需求,促使了IP电话的蓬勃发展。 为了使IP电话为大众所接受,成为主流,甚至最终取代传统的POTS(Plain Old Telephone Service旧式电话服务),有两个条件必须满足: 第一,话音通信的质量至少要达到POTS同样的水准; 第二,必须有信令的支持,就像PSTN(Pubic Switched Telephone Networks)公用交换电话网)中有No.7信令一样。 目前,IP电话系统有H.323和SIP两个完整和独立的信令标准,它们都对IP电话系统信令提出了完整的解决方案。它们对呼叫的连接都具有建立、管理和撤销的能力,具有网络管理功能,使端点用户具有进行建立和交互QoS(Quality of Service)的能力,且容易扩充新功能,支持不同类型的互操作性。当然,这两个协议都包含关于语音编码的解压缩方面的要求,只是这部分对两个协议而言是一样的。我们主要是从信令的角度对它们进行比较分析。 2 H.323简介 H.323是ITU-T第16工作组的建议,H.323由一组协议构成,其中有负责音频与视频信号的编码、解码和包装,有负责呼叫信令收发和控制的信令,还有负责能力交换的信令。1999年7月前,多数已实现的系统是基于H.323第二版的,而在此之后,H.323第三版开始应用。 2.1通信系统 H.323定义了4个主要部件构筑基于网络的通信系统:终端Terminals 、网关Gateways 、网守Gatekeepers 、多点控制单元(MCU)。 1终端 在基于IP的网络上是一个客户端点。它需要支持下面3项功能:支持信令和控制,即支持

SIP业务基本知识

1、SIP业务基本知识 1.1 业务介绍 会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始、管理和终止网络中的语音和视频会话,具体地说就是用来生成、修改和终结一个或多个参与者之间的会话。SIP的业务模式是一个点对点协议,其中有两个要素——SIP用户代理和SIP网络服务器。用户代理是呼叫的终端系统元素,而SIP 服务器是处理与多个呼叫相关联信令的网络设备。用户代理本身具有一客户机元素(用户代理客户机UAC)和一服务器元素(用户代理服务器UAS)。客户机元素初始呼叫而服务器元素应答呼叫。这允许点到点的呼叫通过客户机-服务器协议来完成。下图是SIP业务的网络结构和各个参与者的关系。 SIP业务的核心特点集中在SIP的设计目标之一是提供类似公用交换电话网(PSTN)中呼叫处理功能的扩展集。在这个扩展集中,实现类似日常电话的操作:拨号,振铃,回铃音或者忙音,只是实现方式和术语有所不同。SIP也实现了许多信令系统7(SS7)中更高级的呼叫处理功能,尽管这两个协议相差很远。SS7是一个高度集中处理的协议,其特点表现为高复杂度的中心网络结构和无智能的哑终端(传统的电话机)。SIP则是一个点对点协议,所以它只需要一个相对简单的(因此也高度可扩展的)核心网络,而将处理工作下放给连接在网络边缘的智能端点(装有硬件或软件的终端设备)。SIP的许多功能在端点中实现,这与传统的SS7将其在网络核心设备实现的作法大异其趣。而协议的其他特点还有它是一个文本协议,所以易于调测,结构灵活;而且它是一个中性的底层传输协议,可

用TCP或UDP(推荐UDP);同时呼叫和媒体信息同时传送:媒体信息的传送由SDP传送 SIP是互联网工程任务组(IETF)多媒体数据和控制体系结构的一个组成部分,因此它与IETF的许多其他协议都有联系,例如RTP(实时传输协议)和SDP协议。SIP与许多其它的协议协同工作,仅仅涉及通信会话的信令部分(control message)。SIP报文内容传送会话描述协议(SDP),SDP协议描述了会话所使用流媒体细节,如:使用哪个IP端口,采用哪种编解码器等等。SIP的一个典型用途是:SIP“会话”传输一些简单的经过封包的实时传输协议流。RTP 本身才是语音或视频的载体。 1.2 业务过程和协议流程 ? 注册流程: (1)用户首次试呼时,终端代理A 向代理服务器发送REGISTER 注册请求;(2)代理服务器通过后端认证/计费中心获知用户信息不在数据库中,便向终端代理回送401Unauthorized 质询信息,其中包含安全认证所需的令牌; (3)终端代理提示用户输入其标识和密码后,根据安全认证令牌将其加密后,再次用REGISTER 消息报告给代理服务器;

基于SIP协议的IP电话通信系统的组成原理.

基于SIP协议的IP电话通信系统的组 成原理 基于SIP协议的IP电话通信系统的组成原理 类别:通信网络 摘要:介绍了一种基于SIP协议的IP电话通信系统的组成原理,给出了一种独立式IP电话设计方案。该方案通过在S3C24lO微处理器上移植μC/0S-II操作系统来完成多任务管理,可使用一个RJ-45以太网接口直接连接Internet来实现和其他IP电话的通话。0 引言IP电话以其通话费率低、方便集成和智能化等优势而得到了众多消费者的极大认可,并因此而对原有固定电话运营者的长途电话和国际电话业务造成了巨大冲击。因此,随着以太网接口的直接入户,开发出一种带有RJ-45以太网接口并直接连入因特网,从而使使用更加方便的IP电话非常需要。利用这种IP电话,用户可以直接拨叫远端的电话号码,并通过关守(gate keeper)把所拨的电话号码转换成远端IP电话的IP地址,从而建立通话连接。事实上,新型IP电话终端已经可以直接把输入语音信号数字化,并按照G.728或G.729等一定的语音压缩编码算法来完成对输入语音信号的实时压缩,使带宽从64kbps降低到8kbps,从而大大提高了信道的利用率。IP电话终端通常遵循SIP(或者H.323)协议,并通过网关(gate way)实现IP电话和普通电话的互通。 1 IP电话系统组成 IP电话通信的基本原理是利用数字通信技术来对语音信号进行数字压缩编码处理,然后按TCP/IP标准进行打包,再经过互联网络把数据包发送到接收地。同时在接收端将这些语音数据包串起来。再经过解码解压处理,以使其恢复成原来的语音信号,从而达到由互联网传送语音的目的。IP电话的基本组成原理如图1所示。IP电话系统一般有机(IPPhone)、网关(Gateway)、多点控制单元MCU(MultipointControl Unit)和网闸(Gatekeeper)等四个基本组件。其中机是IP电话的客户终端,多以硬件形式出现,它可以直接连接在IP网上,以便进行实时的语音或多媒体通信;网关是通过IP网络提供PHONE-TO-PHONE语音通信的关键设备。是IP网络和PSTN/ISDN/PRX网络接口设备;多点控制单位(MCU)的功能在于利用IP网络实现多点通信,以使IP电话能够支持诸如网络会议这样一对多的通信;至于网闸,有时也称为网守或关守,主要用来提供对整个电话系统端点和呼叫的管理。网闸的主要功能包括地址翻译、呼叫接纳控制、呼叫管理以及呼叫权限等。在H.323建议中,网闸是一个可选部分,但是对于实际运行的局域网IP电话系统来说,网闸则是一个重要部件。本系统中,网闸设立在IP地址的一个终端上。通过网闸可对所有终端用户的姓名和IP地址进行统一登记和管理,并预先给每个终端用户分配一个类似电话分机的虚拟电话号码,以便其他终端用户进行呼叫。主叫用户无需知道被叫用户终端的IP地址,只需要输入其对应的虚拟电话号码或真实姓名即可。 2 IP电话单机的硬件设计IP电话分为接收方和呼叫方。发起通话请求的一端称为呼叫方,另一端为接收方。根据不同的应用场景,呼叫方和接收方可

SIP协议格式详解

1.SIP 1.1.1.SIP格式 每条SIP消息由以下三部分组成: (1)起始行(Start Line):每个SIP消息由起始行开始。起始行传达消息类型(在请求中是方法类型,在响应中是响应代码)与协议版本。起始行可以是一请求行(请求)或状态行(响应)。 (2)SIP头:用来传递消息属性和修改消息意义。它们在语法和语义上与HTTP头域相同(实际上有些头就是借自HTTP),并且总是保持格式:<名字>:<值>。 (3)消息体:用于描述被初始的会话(例如,在多媒体会话中包括音频和视频编码类型,采样率等)。消息体能够显示在请求与响应中。SIP清晰区别了在SIP起始行和头中传递的信令信息与在SIP 范围之外的会话描述信息。可能的体类型就包括本文将要描述的SDP会话描述协议。

1.1. 2.消息头 Header field where proxy ACK BYE CAN INV OPT REG Accept R - o - o m* o Accept 2xx - - - o m* o Accept 415 - c - c c c Accept-Encoding R - o - o o o Accept-Encoding 2xx - - - o m* o Accept-Encoding 415 - c - c c c Accept-Language R - o - o o o

Accept-Language 2xx - - - o m* o Accept-Language 415 - c - c c c Alert-Info R ar - - - o - - Alter-Info 180 ar - - - o - - Allow R - o - o o o Allow 2xx - o - m* m* o Allow r - o - o o o Allow 405 - m - m m m Authentication-Info 2xx - o - o o o Authorization R o o o o o o Call-ID c r m m m m m m Call-Info ar - - - o o o Contact R o - - m o o Contact 1xx - - - o - - Contact 2xx - - - m o o Contact 3xx d - o - o o o Contact 485 - o - o o o Content-Disposition o o - o o o Content-Encoding o o - o o o Content-Language o o - o o o Content-Length ar t t t t t t Content-Type * * - * * * Cseq c r m m m m m m Date a o o o o o o Error-Info 300-699 a - o o o o o Expires - - - o - o From c r m m m m m m In-Reply-To R - - - o - - Max-Forwards R amr m m m m m m Min-Expires 423 - - - - - m MIME-Version o o - o o o Organization ar - - - o o o Priority R ar - - - o - - Proxy-Authenticate 407 ar - m - m m m Proxy-Authenticate 401 ar - o o o o o Proxy-Authorization R dr o o - o o o Proxy-Require R ar - o - o o o Record-Route R ar o o o o o o Record-Route 2xx,18x mr - o o o o - Reply-To - - - o - - Require ar - c - c c c - o o o o o Retry-After 404, 413,

基于SIP协议的VOIP系统设计与实现

第8卷 第10期 2008年5月167121819(2008)1022589204  科 学 技 术 与 工 程 Science Technol ogy and Engineering  Vol .8 No .10 M ay 2008 Ζ 2008 Sci .Tech .Engng . 基于S IP 协议的V O IP 系统设计与实现 徐 炽 张闻芳 13 (湖南城市学院计算机科学系,湖南城市学院,益阳,413000) 摘 要 近年来,SI P 作为Vo I P 的相关协议得到了越来越广泛的应用和越来越多厂商的支持。介绍了Vo I P 的基本原理及 SI P 协议的基本内容。基于SI P 协议的Vo I P 作为主要研究内容,探讨了I P 电话的相关协议、相关标准和关键技术,对SI P 这 种比较新的I P 电话协议进行了研究分析,设计出一套基于SI P 协议的Vo I P 电话服务器系统,包括系统分析、系统设计、系统实现,最后对该软件进行了测试,使该软件的开发达到了预期的目的。关键词 Vo I P SI P radius openSER 服务器中图法分类号 TP393.04; 文献标志码  A 2007年9月12日收到 第一作者简介:徐 炽(1981—),男,湖南益阳人,硕士研究生,研究方向:软件工程。 3通信作者简介张闻芳(1981—),女,湖南衡阳人,硕士研究生,研究方向:图形图像。 近年来,Vo I P 及其应用技术日渐成熟,在全球范围内获得了高速发展,已经成为影响下一代网络(NG N )的一个主要因素[1]。目前构建Vo I P 系统 结构的信令协议主要有H.323协议和SI P 协议 [2] 。虽然H.323协议正主导着Vo I P 技术,但其 实现复杂、成本高、建立连接时延大,在现有网络中很难实现互联互通。因此,I ETF 组织提出了会话初始协议SI P (Sessi on I nitial Pr ot ocol ) [3] 。SI P 将网 络设备的复杂性推向网络边缘,支持单播通信、多播通信、名称映射和重定向业务,还支持类似呼叫转发、呼叫拒绝等电信业务的实现以及支持用户移动性。与H.323协议相比,SI P 协议更适合于智能用户终端,使用更加灵活、简单。I P 技术是一种面向无连接的技术,I P 网络只提供一种“尽力而为”(Best Eff ort )的服务,这对于只要求准确率而对时延 没有严格要求的数据业务来说是合适的,而对于音、视频等实时通信的QoS (Quality of Service )却难以保证。因此,如何为音、视频等实时通信保证合理可预测的QoS,提供与公共开关电话网PST N (Public S witched Telephone Net w ork )可媲美的质量 和服务已成为当前I P 领域中一个重要的研究热点 [4] 。 1 VO I P 和S I P Vo I P (Voice Over I P ),顾名思义,就是在I P 网 络上进行语音通信,但现在的Vo I P 已不仅仅是指传统意义上的语音通信,而是指音频、视频、数据合一的实时多媒体通信 [5] 。VO I P 就可定义为:在整个 语音通信过程中,部分或全部采用分组交换技术,通过I P 网络来进行的语音传输都可称之为V0I P 。VO I P 的本质特征在于是否语音分组交换技术。分 组交换技术是I nternet 采用的体系结构,其核心是将要传输的数据报文分成长度较短且具有标准格式的分组,并采用存储转发机制,有效降低数据传输过程中的网络延迟,满足数据传输和交换的要求。 总之,VO I P 采用分组交换技术,具有以下特点 [6] :(1)数据包排队传输产生时的时延较小,基本 满足语音通信的要求。(2)路由共享,传输线路动态统计时分复用,资源利用率高。(3)为不同传输速率、不同编码方式、不同同步方式、不同通信规程的用户之间提供了语音通信的环境。(4)采用分组技术,传输误码率低:从源端到目的端存在多个路由,网络中某一节点发生问题时,分组可以自动选

SIP协议主要消息讲解

第一章SIP协议主要消息 1.1 SIP消息分类 SIP协议是以层协议的形式组成的,就是说它的行为是以一套相对独立的处理阶段来描述的,每个阶段之间的关系不是很密切。 SIP协议将Server和User Agent之间的通讯的消息分为两类:请求消息和响应消息。 请求消息:客户端为了激活特定操作而发给服务器的SIP消息,包括INVITE、ACK、BYE、CANCEL、OPTION和UPDATE消息。 SIP请求的6种方法: 1、邀请(INVITE)——邀请用户加入呼叫 2、确认(ACK)——确认客户机已经接收到对INVITE的最终响应 3、可选项(OPTIONS)——请求关于服务器能力的信息 4、再见(BYE)——终止呼叫上的两个用户之间的呼叫 5、取消(CANCEL) 6、注册(REGISTER)——提供地址解析的映射,让服务器知道其它用户的位置 响应消息:服务器向客户反馈对应请求的处理结果的SIP消息,包括1xx、2xx、3xx、4xx、5xx、6xx响应 1.2 SIP消息结构 请求消息和响应消息都包括SIP消息头字段和SIP消息体字段; SIP消息头主要用来指明本消息是有由谁发起和由谁接受,经过多少跳转等基本信息; SIP消息体主要用来描述本次会话具体实现方式; 1.3 消息格式 1.3.1 请求消息格式 SIP请求消息的格式,由SIP消息头和一组参数行组成,如图1-1所示。通过换行符区分命令行和每一条参数行。

图1-1 SIP 请求消息结构 注意:参数行的顺序不是固定的。对应的参数解释见错误!未找到引用源。。 消息体定义: Call-ID :头字段是用来将消息分组的唯一性标识 From :头字段是指示请求发起方的逻辑标识,它可能是用户的注册地址。From 头字段包含一个URI 和一个可选的显示名称 CSeq :头字段用于标识事务并对事务进行排序。它由一个请求方法和一个序列号组成,请求方法必须与对应的请求消息类型一致 Max-Fowords :头字段限定一个请求消息在到达目的地之前允许经过的最大跳数。它包含一个整数值,每经过一跳,这个值就被减一。如果在请求消息到达目的地之前该值变为零,那么请求将被拒绝并返回一个483(跳数过多)错误响应消息。 Via :头字段定义SIP 事务的下层(传输层)传输协议,并标识响应消息将要被发送的位置。只有当到达下一跳所用的传输协议被选定后,才能在请求消息中加入Via 头字段值。 expires :参数指出了该值中包含的URI 地址的有效期。这个参数的值是以秒为单位计算的。如果没有提供该参数,那么URI 地址的有效期由Expires 头字段值来确定。 消息头

对基于SIP协议的VoIP的研究

对基于SIP协议的VoIP的研究 金晶 北京邮电大学计算机科学与技术系,北京(100876) E-mail:cathrine0816@https://www.doczj.com/doc/044264311.html, 摘要:在网络技术不断发展的今天,传统的电话方式已经不能满足人们的需要了,对V oIP 的研究与应用已经变得越来越重要。在本文中将首先对V oIP的基本原理、框架等进行解释,然后会对SIP协议的相关内容进行概述,最后介绍了一中采用SIP协议的V oIP设计方案。关键词:SIP协议,互联网,V oIP,媒体网关 1.引言 随着网络技术的不断发展,传统的电话服务在网络电话来势汹汹的挑战面前,已经显露出陈旧、乏味和呆板的疲态。越来越多的公司推出了网络电话服务,V oIP技术和传统电话之间的竞争也趋于白热化的状态,语音和综合业务IP化已经是不可逆转的历史潮流,是大趋势所向,整个语音IP化正在实现。 2.VoIP的基本原理 V oIP-V oice over IP,即透过IP网络传输的语音讯号或影像讯号,所以V oIP就是一种可以在IP网络上互传模拟音讯或视讯的一种技术。简单地说,它是藉由一连串的转码、编码、压缩、打包等程序,好让该语音数据可以在IP网络上传输到目的端,然后再经由相反的程序,还原成原来的语音讯号以供接听者接收。 2.1 VoIP架构 一个基本的V oIP架构包含4个基本元素[1]: 1)媒体网关器(MdeiaGateWay):主要扮演将语音讯号转换为IP封包的角色; 2)媒体网关控制器(Media Gateway Controller):主要负责管理讯号传输与转换的工作; 3)语音服务器:主要提供电话不通、占先或忙线时的语音响应服务 4)信号网关器(Signaling Gateway):主要在交换过程中进行相关控制,以决定通话建立与否,以及提供相关应用的增值服务; 由于V oIP在短期内不可能完全取代已经发展成熟并且市场占有率高的PSTN电路交换网,所以两者相并存的局面必将维持很长一段时间。为了让两者间能相互沟通,必须要建立个互通的接口和管道,媒体网关器与网关管理器,由于其具有将媒体数据流及IP封包转译成不同网络所支持的各类协议,所以就扮演了这样的中介角色。其运作原理是,媒体网关器先将语音转换为IP封包,然后交由媒体网关控制器加以控制管理,并决定IP封包在网络中的传送路径。至于信号网关器则负责将SS7信号格式转换为IP封包。 2.2 VoIP三大主流协议 要想在IP网络中正确的寻找到要通话的对方并建立对答,同时还要能依照彼此自生的处理能力来传送语音数据,必须藉由国际电信组织所拟定的标准协议才能达到。目前使用较多的是H.323、SIP及MGCP这3种标准协议。

SIP协议讲解

SIP协议讲解 14 关于本章 SIP协议 内容本章描述内容如下表所示。标题 14.1 概述14.2 SIP 消息类型14.3 SIP消息结构14.4 SIP-T简介本节简要介绍SIP 协议的应用以及相关概念。本节介绍SIP消息的类型。本节介绍SIP消息的结构。本节介绍SIP-T的应用。 14.5 SIP消息流程本节举例介绍SIP相关的消息流程。本章将对SIP协议做一简要介绍,包括涉及的基本概念、消息结构以及简要的消息流程。 14.1 概述 SIP(Session Initiation Protocol)是一个应用层控制协议,用于创建、更改和终止会话。这里的会话类型包括多媒体会议、Inter电话等类似的应用。SIP是实现VOIP(Voice over IP)的关键协议之一。 SIP支持别名映射、重定向服务、ISDN和智能网业务。它支持个人移动(personal mobility),即终端用户能够在任何地方、任何时间请求和获得已订购的任何电信业务。总的来说,SIP能够支持下列五种多媒体通信的信令功能。 l用户定位:确定参加通信的终端用户的位置; l用户通信能力协商:确定通信的媒体类型和参数; l用户意愿交互:确定被叫是否乐意参加某个通信;

l建立呼叫:包括向被叫“振铃”,确定主叫和被叫的呼叫参数; l呼叫处理和控制:包括呼叫重定向、呼叫转移、终止呼叫等等。 SIP可以通过MCU(Multipoint Control Unit)、单播联网方式、或组播方式创建多方会话,支持PSTN和IP电话之间的网关功能。 SIP协议对低层协议作了最少的假设,低层协议可以为SIP协议提供可靠或非可靠传输,可以为分组或字节流业务。SIP可以使用UDP协议或TCP协议作为传输层协议,首选UDP协议。 14.1.1 相关概念 呼叫 一个呼叫是由一个会议中被同一个发起者邀请加入的所有成员组成的。一个SIP呼叫由Call-ID进行标识。因此,如果一个用户是被不同的人邀请参加同一个多点会议,那么每个邀请都构成一个呼叫。点到点IP电话会话是一种最简单的会话,它映射为单一的SIP呼叫。 呼叫分支 一个呼叫分支(Call leg)由Call-ID、To、From三个参数共同决定。在同一个Call-ID中,从A到B的请求与从B到A的请求都属于同一个呼叫分支,呼叫分支也可以理解成一次呼叫中消息经过的路径。 事务

SIP协议与视频通信

SIP协议与视频通信 关键字:SIP视频通信H.323 摘要:文章简要概述现有视频通信技术,包括H.320与H.323应用。然后介绍IETF可以用于视频通信的协议:SIP。在SIP介绍中首先描述SIP协议的历史,然后描述SIP的组成部件。明确部件后举例说明了一个SIP呼叫建立的流程。在第四部分通过与H.323协议族比较来说明SIP用于视频通信的优劣。最后指出SIP协议用于视频通信的前景。 引言 沟通是人类生存的基本需求,通信已成为现代生活中必不可少的内容。在任何时间,任何地点与人和人通信是电信发展的目标。通信技术发展到今天,电话网几乎覆盖全球。语音通信(电话)似乎已基本达到上述目标。但是随着技术的发展,人们已不满足仅仅语音通信。大规模视频通信已成为下一阶段信息产业发展方向。虽然电视会议已出现二十多年,当前不但统一的标准而且有成熟的产品;但是由于种种原因一直没有得到象电话那样的普遍应用。视频通信似乎一直是一座未被足量开采的金矿。随着传输技术的发展,带宽资源已不是瓶颈;随着一场SARS的肆虐,视频通信又成为热点。随着SIP协议的出现,视频通信在技术上又有了新的发展动力。 视频通信协议概述 基于H.320的视频应用 传统会议电视利用以电话网2M或者1.544M直联数字线路连接终端会议电视设备进行实时音频、视频和数据信息的传送。通过使用多点控制器,可以在一块控制板具备所有主会场的操作切换功能。最初会议电视厂家以各自专用的压缩和通信算法进行生产,各个会议电视厂家产品无法互联互通。 随着ITU-T推出H.320协议,上述问题得到很大程度的解决。H.320是同步电路交换网(如ISDN)上现频传输的标准。电路交换网适用于实时应用,如长时间和具有确定延迟的音频和视频信号传递。电路的建立依赖于带外信令、集中的路由控制和昂贵的交换设备。使用H.320协议,电话网上中商用会议电视的理想电路是384 kbps。使用384kbps的电路可以以合理的成本提供高质量的音频和视频信号。采用2M或者1.544M的中继直连当然很容易满足上述带宽要求,但是作等于建立专网,价格将令用户难以承受。 由于电话网络中继价格不断下降以及大量既成事实的基于H.320的电视会议应用,虽然H.320通信成本相对于现有的其它方式稍显昂贵,但其市场仍将在未来数年里继续成长——尽管其成长是缓慢的。 基于H.323协议的视频应用 H.323是国际电信联盟制定的局域网上的多媒体通信系列标准。该协议专门为不提供服务质量(QOS)保证的局域网技术制定,例如运行于以太网、快速以太网和令牌环网(Token Ring)上的TCP/IP和IPX。尽管H.323协议特别为局域网制定,只要带宽时延满足要求同样可以应用在更大范围例如城域网和广域网。1997年5月,国际电信联盟第15研究小组重新定义

exosip2协议栈原理分析以及总结

exosip2协议栈学习总结 1、exosip2协议栈介绍 eXosip是Osip2的一个扩展协议集,它部分封装了Osip2协议栈,使得它更容易被使用。使用 sip 协议建立多媒体会话是一个复杂的过程,exosip 库开发的目的在于隐藏这种复杂性。正如它的名称所表示的,eXosip2 - the eXtended osip Library,它扩展了osip 库,实现了一个简单的高层API。通过使用exosip,我们可以避免直接使用osip 带来的困难。需要注意,exosip 并不是对osip 的简单封装包裹,而是扩展。Osip 专注于sip 消息的解析,事务状态机的实现,而exosip 则基于osip 实现了call、options、register、publish 等更倾向于功能性的接口。当然,这些实现都是依赖于底层osip 库已有的功能的。 2、exosip的模块构成 2.1 底层连接管理 extl.c、extl_udp.c、extl_tcp.c、extl_dtls.c、extl_tls.c 是与网络连接有关的文件。实现了连接的建立,数据的接收以及发送等相关的接口。其中,extl_udp.c 为使用UDP 连接的实现,extl_tcp.c 为使用TCP 连接的实现。Extl_dtls.c 以及extl_tls.c 都是使用安全socket 连接的实现。 2.2 内部功能模块实现 Jauth.c、jcall.c、jdialog.c、jevents.c、jnotify.c、jpublish.c、jreg.c、jrequest.c、jresponse.c、jsubscribe.c 等文件实现了内部对一些模块的管理,这些模块正如其文件名所表示的,jauth.c 主要是认证,jcall.c 则是通话等等。 2.3 上层API 封装实现 Excall_api.c、exinsubsription_api.c、exmessag_api.c、exoptions_api.c、 expublish_api.c、exrefer_api.c、exregister_api.c、exsubsribtion_api.c 这几个以api 为后缀的文件,实现各个子模块的管理。应用程序可以调用这里提供的接口,方便的构造或者发送sip 消息。 2.4 其他 Inet_ntop.c 实现ip 地址的点分十进制与十六进制表示之间的转换。 Jcallback.c 实现一堆回调函数,这些回调函数就是用来注册到osip 库的。我们使用exosip 库,就是避免直接使用osip 库,因为一些工作exosip 已经帮我们做了,所以这样一来,可以简化上层的实现。 Udp.c 文件主要用来对通过UDP 连接接收到的消息进行分类处理。 Exutilis.c 文件实现一些杂项的函数。有ip 地址到字符串之间的转换,域名的解析等一些辅助的功能函数。 Exconf.c 文件实现了exosip 的初始化相关的接口,包括后台任务的实现。实际上是“configuration api”的实现。 Exosip.c 文件实现了与exconf.c 文件相似的功能。比如管道的使用,exosip 上事务的创建和查找,register 和subscribe 的更新,认证信息的处理等。 3、exosip关键数据结构及其说明

sip协议解析与实现(c和c 使用osip)11

sip协议解析与实现(c和c++使用osip)11 第八章查询能力 SIP的OPTIONS方法允许一个UA查询另外一个UA或者一个代理服务器的能力。这能让客户端探测关于它们所支持的方法、内容类型、扩展和编码等信息,而不用"呼叫(ringing)"另外一端。例如,在客户端插入了一个Require头域到INVITE 中,并列出了不确定目标UAS是否支持的能力之前,它可以先使用OPTIONS方法查询目标UAS是否要查询的选项被目标UAS在应答的Supported头域中返回。所有UA必须支持OPTIONS方法。 OPTIONS方法的目标使用Request-URI来标识,因为它可以表示不同的UA或者SIP服务器。如果OPTIONS被定位到一个代理服务器,Request-URI不由客户端设置,这类似于REGISTER请求设置Request-URI的方法。 如果服务器接收到一个Max-Forwards头域的值为0的的OPTIONS请求,它要对这个请求进行应答而不用管Request-URI. 这个行为与HTTP/1.1一致。这个行为可以被用于"追踪路由线路(traceroute)"功能,从而使用发送一系列递增的 Max-Forwards值的OPTIONS请求的方法检查消息路由过程中个别服务器的能力。

作为一般UA的行为,如果OPTIONS长时间没有应答,事务层能够返回一个超时错误。这将指出,目标是不可到达的并且查询的能力是不可以使用的。 OPTIONS请求可能由建立一个对话的一端发送,用于查询对端在后面的对话中可能会被使用到的能力。 第一节构造OPTIONS请求 OPTIONS请求使用像RFC3261第8.1.1讨论的标准的构造SIP请求的规则来构造。 OPTIONS可能会有一个Contact头域。 应该包含一个Accept头域用来指出UAC希望接收到的应答中的消息体类型。典型的,这可能被设置成用来描述UA的媒体能力的类型,比如,SDP(application/adp)。OPTIONS请求的应答被认为是有限定范围的,它被限定在原始请求的Request-URI内。只有当OPTIONS被作为建立对话的一部分发送,它保证会话中后继的请求也由应答OPTIONS的服务器所接收时,对OPTIONS请求的应答才是可用的。 OPTIONS请求的例子: OPTIONS sip:carol@https://www.doczj.com/doc/044264311.html, SIP/2.0 Via: SIP/2.0/UDP https://www.doczj.com/doc/044264311.html,;branch=z9hG4bKhjhs8ass877 Max-Forwards: 70

相关主题
文本预览
相关文档 最新文档