SIP协议初级讲义(参考)课件

上传人:我*** 文档编号:142133692 上传时间:2020-08-17 格式:PPT 页数:73 大小:527.50KB
返回 下载 相关 举报
SIP协议初级讲义(参考)课件_第1页
第1页 / 共73页
SIP协议初级讲义(参考)课件_第2页
第2页 / 共73页
SIP协议初级讲义(参考)课件_第3页
第3页 / 共73页
SIP协议初级讲义(参考)课件_第4页
第4页 / 共73页
SIP协议初级讲义(参考)课件_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《SIP协议初级讲义(参考)课件》由会员分享,可在线阅读,更多相关《SIP协议初级讲义(参考)课件(73页珍藏版)》请在金锄头文库上搜索。

1、SIP协议初级讲义,基本信息,适用对象: SIP协议初学者 学习目标: 掌握SIP协议的基本术语 理解SIP/SDP消息 掌握SIP协议的寻址过程 掌握媒体协商过程 掌握SIP呼叫流程 具有SIP协议的独立学习能力 时间: 3小时学习1小时讨论,学习内容,1. 概述(*) 2. SIP的功能实体 3. SIP的寻址 4. SIP消息体结构(*) 5. SIP请求消息(*) 6. SIP响应消息,7.Sdp协议 8.SIP的能力协商 9.案例分析(*) 10.测验 11.实现方法入门 12.SIP学习方法,*部分将重点讲述,1.SIP协议概述,基本情况 主要特点 主要结构 名词解析,基本情况,创

2、立 组织:IETF/mmusic工作组 IP网络协议的后起之秀,是NGN的理想协议 时间:1995开始研究 1999年2月提出草案 草案编号:RFC2543 目前版本:Version 9(Feb,2002),主要特点,是应用层的控制协议,可以建立,修改和结束多媒体会话。 独立于TCP或者UDP,使用自己应用层协议保证消息的可靠传送。 消息体采用文本方式 以客户服务器方式建立会话 灵活的寻址方式 SIP没有媒体协商功能,往往需要集成SDP协议,主要结构,UserAgent,SIP Proxy Server,UserAgnet,SIP Redirect Server,SIP Proxy Serve

3、r,Location Server,IP Network,Registrar Server,DBMS,图例,SIP协议,私有协议,2.功能实体,User Agent Proxy Server Redirect Server Registrar Server Location Server,功能实体(1),User Agent(呼叫代理) 是SIP网络的终端,具体的分为UserAgent Client和UserAgent Server。UAC是客户端,表示主叫;UAS是服务端,表示被叫。 REGISTRAR SERVER(注册服务器) 接受客户端的注册请求,将用户的地址信息写入数据库,并返回注册

4、状态。,功能实体(2),REDIRECT SERVER(重定向服务器) 接受SIP的请求,映射请求的原地址成零个或者多个IP地址,并且返回给客户端。 由客户端重新发起请求。 LOCATION SERVER(定位服务器) 管理若干数据库,接受由Redirect Server或者Proxy Server的路由查询。,功能实体(3),Proxy Server(代理服务器) 完成SIP消息的转接和转发功能,可以修改SIP消息内容。具体功能有: 呼叫认证 状态管理 路由选择 失败重传,3. SIP协议的寻址,SIP URL URL的表示规则 定位UserAgent 定位方式,SIP URL,SIP依靠U

5、RL进行路由。SIP URL的格式可以是EmailID或者是E.164地址。 SIP: userhost TEL: URL可以用在下面头域中: FROM头域 FROM: TO头域 TO: CONTACT头域: 可以方便的嵌入网页,提供多种网上业务,SIP-URL = sip: userinfo hostport url-parameters headers userinfo = user : password user = *( unreserved | escaped | url-parameter ) url-parameter = transport-param | user-param

6、 | method-param | ttl-param | maddr-param | other-param,transport-param = transport= ( udp | tcp ) ttl-param = ttl= ttl ttl = 1*3DIGIT ; 0 to 255 maddr-param = maddr= host user-param = user= ( phone | ip ) method-param = method= Method tag-param = tag= UUID UUID = 1*( hex | - ) other-param = ( token

7、 | ( token = ( token | quoted-string ) headers = ? header *( | / | ? | : | | transport=tcp sip:?subject=project sip:+1-212-555-1212:;user=phone sip: sip:alice10.1.2.3 sip: sip:alice% sip:;method=REGISTER,定位Proxy服务器,配置UA指向Proxy Server 配置UA指向Redirect Server,由Redirect Server分配合适的Proxy Server,定位SIP User

8、Agent Server(被叫),User Agent激活时通过Registrar Server注册。 Proxy Server通过Location Server得到User Agent Server的路由。 Proxy Server根据地址呼叫UserAgent Server 如果没有能到达UserAgent Server的路由,必须返回UserAgent Client(主叫)具体的原因,包括代码和文字的原因。,定位UserAgent的方式,简单方式 主叫Proxy可以直接发送请求消息到被叫,建立会话。只适应小型网络。 复杂方式 主叫的Proxy Server也可以发请求消息到被叫的Prox

9、y Server,由Proxy Server根据URI重新定位UserAgent Server。,注意的问题(1),Location Server可能会返回几个位置,Proxy Server可以决定如何处理。 如果Proxy Server转发SIP 请求,它必须将自己的IP地址加入到Via部分的开头。而在返回的时候,将Via域中的地址去掉。,注意的问题(2),在进行Forks定位时,用相同的CallID,Cseq,而Tags不同。 Proxy有两种形式: 有状态 返回UserAgent 100消息,表示Proxy 可以完成状态的管理 无状态 Proxy不能管理呼叫状态,必须有UserAgent

10、自己解决,注意的问题(3)(比较CallID/CSeq/Tag),CallID 是会话的唯一标志 一个会话过程使用同一个CallID 随机产生 Cseq 是会话命令的序列 一个Transaction使用同一个Cseq 32位无符号整数 判断命令的版本 以Bye结束会话时增加 “tag”是一个标签,用来区别会话中的不同对象。 出现在请求的From头域中,当共享同一个SIP地址的用户的两个实例使用同一个Call-ID发出邀请时,必须使用此“tag”。 Proxy使用tag来判断消息是传给自己,还是给用户。 单个用户的Tag在呼叫过程中保持一致,注意的问题(4),CALL LEG (呼叫历程) Ca

11、ll leg用CallID(呼叫标识)、From(源方)和To(目的地)的组合来标识一个会话。 TRANSACTION(事务) SIP定义一个请求及其最终应答称为一个事务。所有应答有相同的Call-ID,Cseq,To和From域。,4. SIP消息体结构,消息体结构 头域说明,SIP 消息体组成,Start line(起始行详细描述),起始行 Start-Line = request-line | status-line request-line = Method SP Request-URI SP SIP-Version CRLF INVITE sip :SSSunT SIP2.0 sta

12、tus-line = SIP-Version SP status-code SP phase CRLF SIP2.0 200 OK,General headers(通用头域),路由信息:Accept | Accept-Encoding | Accept-Language | Contact | Date| Encryption| Expires | From | Record-Route |Timestamp 呼叫标示 : Call-ID, CSeq, INVITE sip: SipSunT SIP2.0 Via: SIP/2.0/UDP proxy.SunT Via: SIP/2.0/UDP

13、 sation1.SunT From : Wang To : softswitch Call-ID : 23434 sation1.SunT CSeq: 1 INVITE Contact : WangSunT,其他头域(请求、响应、实体),Request Headers: Hide, In-Reply-To, Max-Forwards, Priority, Proxy-Authentication, Proxy-Require, Response-Key, Subject, Route Response Headers: Proxy-Authenticate, Retry-After, Ser

14、ver, Unsupported, Warning, WWW-Authenticate Entity Headers: Allow, Content-Disposition, Content-Encoding, Content-Language, Content-Length, Content-Type, Expires,关键头域解析(Accept,CallID),Accept : 指明请求方所能接受的响应类型. 媒体类型: Internet media types, defined in MIME 缺省值是 application/sdp. syntax Accept : # ( */* |

15、 type/* | type/subtype ) ; q= value; Example : Accept : text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c CallID: 唯一标识一个会话,保持全球的唯一性 Call-ID区分大小写 随机产生,有效的提高安全性 CallID相同,消息体不同时将更新会话 Syntax: Call-ID = (“Call-ID” | “i”)”:”local-id”host Example:Call-ID: f81d4fae-7dec-11d0-a765-,关键头域解析(Cseq),Cseq

16、对于每一个请求,客户必须使用Cseq(Command sequence)通用头域 重传请求用相同的Cseq ACK和CANCEL相应必须返回跟INVITE请求相同的Cseq BYE请求释放一个请求时必须含有以更高数值的Cseq 用户代理服务器必须记住同一个Call-ID的INVITE请求的最高序列数。 所有在并行搜寻中产生的请求拥有和触发此并行搜寻的请求一样的Cseq值。 Syntax: Cseq =“Cseq” “:” 1*DIGIT Method Funtion:不用比较消息体就可以将不同消息区分开来 Example: CSeq: 4711 INVITE,关键头域解析(From,To),From(源地址) 请求和响应必须包含From通用头域,指示请求的初始者 “tag”可以出现在一个请求的From头域中,当共享同一个SIP地址的用户的两个实例使用同一个Call-ID发出邀请时,必须使用此“tag”, 如Fork

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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