sip基础培训概要

上传人:今*** 文档编号:109970345 上传时间:2019-10-28 格式:PPT 页数:61 大小:3.39MB
返回 下载 相关 举报
sip基础培训概要_第1页
第1页 / 共61页
sip基础培训概要_第2页
第2页 / 共61页
sip基础培训概要_第3页
第3页 / 共61页
sip基础培训概要_第4页
第4页 / 共61页
sip基础培训概要_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《sip基础培训概要》由会员分享,可在线阅读,更多相关《sip基础培训概要(61页珍藏版)》请在金锄头文库上搜索。

1、SIP(Session Initiation Protocol) 基础培训,Jade 2016/11,目录,概述 SIP消息 SIP流程 RTP协议 DTMF,SIP,会话启动协议SIP(Session Initiation Protocol)是一个在IP网络上进行多媒体通信的应用层控制协议,它被用来创建、修改、和终结一个或多个参加者参加的会话进程。 SIP协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。 基于文本编解码 采用事务机制,每一个请求触发Server的操作方法,请求和响应构成一个事务,事务间彼此独立 独立于底层传输协议:SIP协议承载在IP网,网络层协议为IP,

2、传输层协议可用TCP或UDP,推荐首选UDP。,UDP,DHCP,DNS,RSVP,RTCP,RTP,SIP,HTTP,TCP,Sigcomp,IP4/IPv6,媒体编码,SDP,接入网(GPRS,UMTS,WLAN,.),SIP在协议栈中的位置,SIP 标准,SIP核心标准 RFC 3261 Session Initiation Protocol SIP扩展标准 RFC 2976 The SIP info method RFC 3263 Locating SIP Servers RFC 3265 SIP-Specific Event Notification RFC 3311 UPDATE

3、Method RFC 3326 The Reason Header Field RFC 3372 SIP for Telephones (SIP-T): Context and Architectures RFC 3398 ISUP to SIP Mapping RFC 3428 SIP Extension for Instant Messaging RFC 3262 Reliablity of Provisional Response in SIP SIP参考标准 RFC 2327 Session Description Protocol RFC 3264 Offer Answer Mode

4、l with SDP,SIP 应用组网,SG,PSTN/PLMN,AS,Storage Server,SMS,PGW,3rd Party AS,MGCP Phone,SIP Phone,Packet core network,ISUP,SIP,H.323,MGCP,SIP H.323,INAP CAP,TCP/IP,TCP/IP,H.248MGCP,SIP,PARLAY API,M3UASCTP,H.248MGCP,INAP SIP,INAP,Traditional IN,RTP媒体流,ENUM Server,ENUM,Mobile Phone,PSTN Phone,Uni Phone,H.3

5、23 Phone,SIP 逻辑实体,UAS:用户代理服务端 UAC:用户代理客户端, UAC和UAS是一个逻辑功能,发起请求的一方为UAC,处理请求的一方为UAS。根据此刻正在处理的消息,SIP设备实体不停在UAC和UAS间转换,即UACUAS角色在事物中存在。可以将UAC理解为初始化请求的一段代码,并且在事务中遵循UAC的规则。如果它接下来收到一个请求,那么在那个事务中,它就是作为UAS来处理请求;UAS同理。 代理服务器:代理服务器接收SIP请求并将其路由至其他代理服务器或最终用户 重定向服务器:重定向服务器收到请求时,可以通过应答将路由信息推送到客户端,客户端收到应答可以重新向指定的服务

6、器发起请求 注册服务器:用来接受UAC的注册请求,登记用户的联系方式信息,如果存在定位服务器,把信息写入定位服务器 以上为逻辑实体,物理实现上,注册服务器和代理服务器可以为同一物理设备,甚至所有服务器可以为同一物理设备。,目录,概述 SIP消息 SIP 流程 RTP协议 DTMF,SIP 消息概述,SIP 是一个使用UTF-8字符集的文本协议,协议定义了两类消息格式:请求消息和应答消息 消息格式定义(类似HTTP): 从消息格式中可以看出,请求消息和应答消息的start-line不同,请求消息start-line为Request-Line,应答消息start-line为Status-Line

7、Request-Line定义如下: Request-Line = Method SP Request-URI SP SIP-Version CRLF Status-Line定义如下: Status-Line = SIP-Version SP Status-Code SP Reason-Phrase CRLF message-header由一些头域(header field)组成,包含哪些头域取决于具体的消息和Method message-body:由头域中的Content-type组成,一般为session description(SDP) 说明:SP为空格,CRLF为回车换行,SIP 消息概

8、述实例,请求消息格式,应答消息格式,Request-Line定义1,Request-Line = Method SP Request-URI SP SIP-Version CRLF RFC3261定义了6种Method,可理解为request请求的子消息类型: REGISTER: 用于向注册服务器联系人地址 INVITE:用于发起会话请求,邀请某个用户加入会话,发出invite的一方可以通过message body携带SD,指明本次会话的媒体类型及参数 ACK:对INVITE的最终响应,该消息仅和INVITE配套使用 CANCEL:取消尚未完成的invite请求 BYE:结束会话 OPTION

9、S:查询服务器能力 RFC 3262扩展定义了PRACK方法:对于临时应答(除100外的1xx类应答)的响应,保证临时应答端到端的可靠性 RFC2976扩展定义了INFO方法 RFC 3428扩展定义了MESSAGE方法 RFC 3311扩展定义 了UPDATE方法 RFC 3265 扩展定义了NOFIFY方法 RFC 3892扩展定义了REFER方法 支持哪些method可以通过头域中的Allow指示,Request-Line定义2,Request-Line = Method SP Request-URI SP SIP-Version CRLF Request-URI代表请求涉及的用户或者服

10、务的地址 格式:sip: user:passwordhost:port;uri-parameters?headers user:用户地址标识,可以是标准的电话号码/文本形式的用户名 password:可选,不推荐用户密码明文传输 host:代表提供SIP服务的地址标识,可以是域名或者IP地址 port:和host配对,指明提供SIP服务的TCP/UDP端口号 uri-parameters: uri参数,格式类似HTTP,采用name=alue格式,具体参数含义参考协议 headers:请求的头域,类似http,采用hname=halue&hname2=hvalue格式,不常用。,Method,

11、Request URI,SIP version,Status-Line定义,status-line = SIP-VERSION SP STATUS-CODE SP Reason-Phrase CRLF STATUS-CODE由3位数字组成,代表请求处理的结果,Reason-Phrase为code对应的文本解释。STATUS-CODE可以理解为响应报文的子消息类型,第一个数字代表大类,后2个数字代表具体应答子类型 1xx类应答:临时应答,代表请求已经收到,正在处理这个请求 2xx类应答:最终应答,代表请求已经处理成功 3xx类应答:重定向类,需要将该请求转发到其他服务器上处理 4xx类应答:客户

12、端错误,请求消息的格式服务器无法接受,或者服务器不能处理 5xx类应答:服务器错误,请求合法,但是服务器无法处理 6xx类应答:请求不能被任何服务器处理,典型的STATUS-CODE,100:正在尝试-和Q.931 CALL PROCEEDING 类似,可能会被代理服务器、或者呼叫信令路径上的其他中间SIP服务器返回 180:正在振铃-和Q.931 ALERTING类似。表示虚拟或者真实的电话正在振铃 200: 请求成功执行(OK) 300:在对请求中的地址进行解析时出现多个选择。它们会被返回,呼叫者可以从列表中挑出一个来重定向呼叫。 401:在进行这项请求之前,用户需要授权 403:禁止请求

13、不要再次尝试 407:在行进之前,首先用户代理授权 501:因为没有实现该服务,服务器不能供给该请 603:被叫用户拒绝该呼叫 以上为常用的status-code,更多code参考RFC 3261协议,头域定义,头域格式:field-name: field-value *(;parameter-name=parameter-value) 头域有多种,本文只描述常用的头域,其他参考协议。 常用头域: From To Call-ID Cseq Via Contact Proxy-Authenticate Proxy-Authorization WWW-Authenticate Authorizat

14、ion,头域定义一,From 代表请求的发起者,和SIP URI类似,多一个tag参数,是一个随机数,作为一个标志使用 To 指明请求的接收者 Call-ID 唯一区别一个特定的邀请或者一个特定客户端的所有注册项 Cseq 请求中的Cseq头域包含了一个单个的数字序列号和请求的方法。Cseq头域是为了在会话中对事务进行排序的,提供事务的唯一标志,并且区分请求和请求的重发 Contact 会话参与者的联系方式,头域定义二,Via 用来描述请求当前经历的路径的,并且标志了应答所应当经过的路径。请求每经过一次转发,都会将本次转发实体的地址记录到via头域中,应答每经过一次转发,都会将本转发实体的地址

15、从via头域中删除,并且Via头域的branch ID参数提供了事务的标志,并且用于proxy来检查循环路由 Proxy-Authenticate Proxy-Authorization 用于用户到代理服务器的认证,代理服务器收到请求时,如果要求UAC认证,会返回一个status-code为407的应答,该应答中携带Proxy-Authenticate头域,要求UAC重新发起请求,同时携带Proxy-Authorization来代理服务器进行认证。具体参考RFC 2617 HTTP authentication:Basic and Digest Access Authentication,SI

16、P使用的是RFC2617 基于MD5算法的Digest认证。 WWW-Authenticate Authorization 用于用户到用户的认证,比如注册服务器收到请求时,如果要求UAC认证,会返回一个status-code为401的一个应答,该应答中携带WWW-Authenticate头域,要求UAC重新发起请求,同时携带Authorization来注册服务器进行认证。具体参考RFC 2617,message-body定义,Message-body由头域中的Content-type决定,在SIP中,一般为基于RFC 2327 SDP的会话描述(Session Description),会话双方通过交换会话描述信息协商会话的媒体类型及相关参数,具体规范参考RFC3264 offer/answer model with sdp,会话双方经过offer/answer协商会话描述信息后,可以开始通过RTP交换语音流 会话过程中,可以

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号