SIP协议详解

2018-11-29 16:29

请求消息 消息含义 发起会话请求,邀请用户加入一个会话,会话描述含于消息体中。对于两方呼叫来说,主叫方在会话描述中指示其能够接受的媒体类型及其参数。被叫方必需在成功响应消息的消息体中指明其希望接受哪些媒体,还可以指示其行将发送的媒体。 如果收到的是关于参加会议的邀请,被叫方可以根据Call-ID或者会话描述中的标识确定用户已经加入该会议,并返回成功响应消息。 INVITE ACK BYE CANCEL REGISTER OPTIONS

证实已收到对于INVITE请求的最终响应。该消息仅和INVITE消息配套使用。 结束会话 取消尚未完成的请求,对于已完成的请求(即已收到最终响应的请求)则没有影响 注册 查询服务器的能力 表3-2 响应消息

序号 状态码 信息响应(呼叫进展响应) 100 1xx 180 181 182 成功响应 2xx 200 重定向响应 300 301 3xx 302 303 305 380 客户出错 4xx 400 401 402 OK 表示需要采取进一步动作,以完成该请求 多重选择 永久迁移 临时迁移 见其它 使用代理 代换服务 表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理 错误请求 无权 要求付款 消息功能 表示已经接收到请求消息,正在对其进行处理 试呼叫 振铃 呼叫正在前转 排队 表示请求已经被成功接受、处理 序号 403 404 405 406 407 408 410 413 414 415 416 420 421 423 480 481 482 483 484 485 486 487 488 491 493 状态码 禁止 没有发现 不允许的方法 不接受 要求代理权 请求超时 消失 请求实体太大 请求URI太大 不支持的媒体类型 不支持的URI方案 分机无人接听 要求转机 间隔太短 暂时无人接听 呼叫腿/事务不存在 相环探测 跳频太高 地址不完整 不清楚 线路忙 终止请求 此处不接受 代处理请求 难以辨认 消息功能 服务器出错 500 501 5xx 502 503 504 505 表示SIP服务器故障不能完成对正确消息的处理 内部服务器错误 没实现的 无效网关 不提供此服务 服务器超时 SIP版本不支持 序号 513 状态码 消息太长 消息功能 全局故障 600 6xx 603 604 606 表示请求不能在任何SIP服务器上实现 全忙 拒绝 都不存在 不接受

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

目 录

第3章 SIP协议

3.1 概述

3.1.1 基本概念 3.1.2 相关术语 3.1.3 协议栈结构 3.1.4 SIP协议的应用 3.2 协议消息

3.2.1 消息类型 3.2.2 消息结构 3.3 基本消息流程

3.3.1 SIP用户注册流程 3.3.2 成功的SIP用户呼叫流程 3.3.3 成功的SIP中继呼叫流程 3.3.4 成功的SIP-T中继呼叫流程

第3章 SIP协议

3.1 概述

3.1.1 基本概念

会话启动协议SIP(Session Initiation Protocol)是由IETF提出并主持研究的一个在IP网络上进行多媒体通信的应用层控制协议,它被用来创建、修改、和终结一个或多个参加者参加的会话进程。这些会话包括Internet多媒体会议、Internet电话、远程教育以

及远程医疗等。即所有的因特网上交互式两方或多方多媒体通信活动,统称为多媒体会话。参加会话的成员可以通过组播方式、单播联网方式或者两者结合的方式进行通信。 SIP协议是一个正在发展和不断研究中的协议。一方面,它借鉴了其他Internet标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,并充分注意到因特网开放而复杂的网络环境下的安全问题。另一方面,它也充分考虑了对传统公共电话网的各种业务,包括IN业务和ISDN业务的支持。

利用带有会话描述的SIP邀请消息来创建会话,以使参加者能够通过SIP交互进行媒体类型协商。它通过代理和重定向请求用户当前位置,以支持用户的移动性。用户也可以登记它们的当前位置。SIP协议独立于其他会议控制协议,它在设计上独立于下面的传输层协议,因此可以灵活方便地扩展其他附加功能。

SIP作为一个应用层的多媒体会话信令协议,可以被用来发起一个会话进程、在会话中邀请其他参加者加入会议,会话本身可以通过基于组播协议的会话通告协议(SAP)、电子邮件、网页通告、以及轻量级号薄访问协议(LDAP)等方式预先通告各个可能的参加者。SIP协议支持别名映射、重定向服务、ISDN和IN业务。它支持个人移动(personal mobility),即终端用户能够在任何地方、任何时间请求和获得已订购的任何电信业务。总的来说,会话启动协议能够支持下列五种多媒体通信的信令功能:

? ? ? ? ?

用户定位:确定参加通信的终端用户的位置; 用户通信能力协商:确定通信的媒体类型和参数; 用户意愿交互:确定被叫是否乐意参加某个通信;

建立呼叫:包括向被叫“振铃”,确定主叫和被叫的呼叫参数; 呼叫处理和控制:包括呼叫重定向、呼叫转移、终止呼叫等等。

SIP协议可以通过MCU(Multipoint Control Unit)、单播联网方式、或组播方式创建多方会话,支持PSTN和因特网电话之间的网关功能。

SIP协议可以与其他用于建立呼叫的信令系统或协议结合使用,它在设计上充分考虑了对其他协议的可扩展性。譬如,SIP协议支持的主叫可以识别出H.323协议支持的被叫,通过H.245网关利用H.225.0协议向被叫发起并建立呼叫;另外,一个SIP主叫可以识别出PSTN上的被叫及其电话号码,通过与PSTN相连的网关向被叫发起并建立呼叫。 SIP协议不提供发言控制(floor control)、投票等会议控制功能,也不规定如何管理一个会议。但是SIP协议可被用来引发这些会议控制协议。SIP协议本身不具备资源预留功能,但可以向被邀请者们传达这方面的信息。

3.1.2 相关术语

1. 呼叫

一个呼叫是由一个公共源端所邀请的在一个会议中的所有参加者组成,由一个全球唯一的Call-ID进行标识。

例如:由同一个源邀请的一个会议的所有参加者构成一个呼叫;点到点IP电话会话是一种最简单的会话,它映射为单一的SIP呼叫。

通常情况下,呼叫由主叫方创建,但是更一般说来,呼叫可由并不参与媒体通信的第三方创建,此时会话的主叫方和会话的邀请方并不相同。对于多播会议来说,一个用户可由不同的人邀请参加同一会议,则每一个邀请应视作不同的呼叫。对于基于MCU的会议,每个参与者使用一个呼叫邀请自己加入MCU。 2. 事务

SIP是一个客户/服务器协议。客户和服务器之间的操作从第1个请求至最终响应为止的所有消息构成一个SIP事务。

一个正常的呼叫一般包含三个事务。其中,呼叫启动包含两个操作请求:邀请(Invite)和证实(ACK),前者需要回送响应,后者只是证实已收到最终响应,不需要回送响应。呼叫终结包含一个操作请求:再见(Bye)。 3. SIP URL

为了能正确传送协议消息,SIP还需解决两个重要的问题。一是寻址,即采用什么样的地址形式标识终端用户;二是用户定位(下面介绍)。SIP沿用WWW技术解决这两个问题。

寻址采用SIP URL(Uniform Resource Locators),按照RFC2396规定的URI导则定义其语法,特别是用户名字段可以是电话号码,以支持IP电话网关寻址,实现IP电话和PSTN的互通。 SIP URL的一般结构为:

SIP:用户名:口令@主机:端口;传送参数;用户参数;方法参数;生存期参数;服务器地址参数?头部名=头部值

“SIP”表示需采用SIP协议和所指示的端系统通信。

“用户名”可以由任意字符组成,一般可取类似与E-mail用户名形式,也可以是电话号码(SoftX3000目前用户名是电话号码)。 “主机”可为主机域名或IPv4地址。

“端口”指示请求消息送往的端口号,其缺省值为5060,即公开的SIP端口号。 “口令”可以置于SIP URL中,但一般不建议这样做,因为其安全性是有问题的。 “传送参数”指示采用TCP还是UDP传送,缺省值为UDP。

“用户参数”,SIP URL的一个特定功能是允许主机类型为IP电话网关,此时,用户名可以为一般的电话号码。由于BNF语法表示无法区分电话号码和一般的用户名,因此,在域名后增加了“用户参数”字段。该字段有两个可选值:IP和电话,当其设定为“电话”时,表示用户名为电话号码,对应的端系统为IP电话网关。 “方法参数”指示所用的方法(操作)。

“生存期参数”指示UDP多播数据包的寿命,仅当传送参数为UDP、服务器地址参数为多播地址时才能使用。


SIP协议详解.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:帮助他人收获快乐

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: