1 / 51

SIP 协议培训

SIP 协议培训. 协议架构 典型逻辑部件 请求和应答消息 基本呼叫流程 业务流程 协议设计特点. 提纲. 什么是 SIP?. “. SIP ( Session Initiation Protocol ) An application layer signaling protocol that defines initiation, modification and termination of interactive, multimedia communication sessions between users.

Download Presentation

SIP 协议培训

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SIP协议培训

  2. 协议架构 典型逻辑部件 请求和应答消息 基本呼叫流程 业务流程 协议设计特点 提纲

  3. 什么是SIP? “ SIP(Session Initiation Protocol) • An application layer signaling protocol that defines initiation, modification and termination of interactive, multimedia communication sessions between users. • 会话初始协议,由IETF制定,是一个基于文本的应用层控制协议,独立于底层传输协议TCP/UDP/SCTP,用于建立、修改和终止IP网上的双方或多方多媒体会话。 ” IETF RFC 3261 SIP • 1999年,IETF 发布了第一个 SIP 规范,即 RFC 2543。 • 2001 年,发布了 SIP 规范 RFC 3261。标志着 SIP 的基础已经确立。 • 2001年至今,RFC 增补版本,充实了安全性和身份验证等领域的内容。RFC 3262 对临时响应的可靠性作了规定;RFC 3263 确立了 SIP 代理服务器的定位规则;RFC 3264 提供了提议/应答模型;RFC 3265 确定了具体的事件通知。

  4. SIP应用 • Voice • Video • Chat • interactive games • … 即时消息 个人移动办公 语音呼叫 会议 邮件 远程教学 MPEG, MP3, Audio, HTML,XML 视讯会议

  5. SIP控制模式 • SIP采用Client/Server结构的消息机制,对呼叫的控制是将控制信息封装到消息的头域中,通过消息的传递来实现。 • 因此SIP系统的终端就比较智能化,它不只提供数据,还提供呼叫控制信息。其他各种服务器则用来进行定位、转发或接受消息。 • 这样,SIP将网络设备的复杂性推向了网络终端设备,因此更适于构建智能型的用户终端。 • SIP系统体现的是一种分布式的控制模式。

  6. SIP协议 注册信令 呼叫信令 重定向信令 SIP协议体系 • SIP协议体系以模块的形式包括呼叫信令、注册信令和重定向信令三部分。 • 通过其他相关或独立的协议体系提供其他相关或独立的功能和业务。 其它协议 Q.931、H.245…

  7. SIP 分布式架构 SIP 部件 Redirect Server 重定向服务器 Registrar Server 注册服务器 Location Server 定位服务器 Proxy Server 代理服务器 Proxy Server 代理服务器 Gateway 网关 User Agent 用户代理

  8. SIP 分布式架构 –说明 • 用户代理(User Agent)代表的就是各种终端设备(如:SIP电话机)。用户代理首先发起SIP通讯请求,随后进行媒体数据的发送和接收。 • 注册服务器(Registrar Server)在接收到用户代理的注册请求后,在定位服务器(Location Service)或其它数据库中对用户代理信息进行更新。 • 代理服务器(Proxy Server)在接收到用户代理或其它代理的SIP请求后,对其进行转发。 • 重定向服务器(Redirect Server)在接收到用户代理或其它代理的请求后,发回重定向应答,指示出重新发送请求的方向。 • 定位服务器(Location Server)SIP重定向服务器或者代理服务器,通过定位服务器,获取被叫的可能的位置信息。

  9. 协议架构 典型逻辑部件 请求和应答消息 基本呼叫流程 业务流程 协议设计特点 提纲

  10. 用户代理,可发起呼叫、接收呼叫和终止呼叫 用户代理客户端,能发起呼叫 用户代理服务端,能接收呼叫 二者都能终止呼叫 用户代理 用户代理(User Agent)代表的就是各种终端设备(如:SIP话机),负责发出呼叫、媒体流的编解码 。

  11. 注册服务器(Registrar Server)在接收到用户代理的注册 请求后,在定位服务器(Location Service)或其它数据库 中对用户代理信息进行更新。 通常与Proxy或者Redirect Server共存,可以提供定位服务 注册服务器

  12. 代理服务器 代理服务器负责接受终端的呼叫请求消息,并根据重定向服务器给出的地址信息将呼叫请求消息转发给下一个代理服务器,并一直送达最终的用户终端。

  13. 接受一个SIP呼叫请求,返回零个或者多个新地址接受一个SIP呼叫请求,返回零个或者多个新地址 重定向服务器(Redirect Server)在接收到用户代理或其它代理的请求后,发回重定向应答,指示出重新发送请求的方向。 重定向服务器

  14. 注册服务器(Registrar Server)在接收到用户代理的注册请求后,在定位服务器(Location Service)中对用户代理信息进行更新。 SIP重定向服务器或者代理服务器,通过定位服务器,获取被叫的可能的位置信息。 定位服务器

  15. 协议架构 典型逻辑部件 请求和应答消息 基本呼叫流程 业务流程 协议设计特点 提纲

  16. Version IHL DSCP ECN Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding Source Port Destination Port Length Checksum SIP头使用US-ASCII格式 (variable in length per header/per message) SIP消息有时有一个消息体 - SIP消息头指示消息体类型 - 可能是文本,数据,音频,视频或者别的什么 SIP消息格式 IPv4头,20字节,二进制 UDP头,8字节,二进制 (4层协议可以是TCP 或 SCTP) SIP消息头,文本格式,变长 SIP消息体,变长,多种消息类型

  17. 例如: ----------------------------------------------------------------- SIP 消息头 ----------------------------------------------------------------- INVITE sip:5120@192.168.36.180 SIP/2.0 Via: SIP/2.0/UDP 192.168.6.21:5060 From: sip:5121@192.168.6.21 To: <sip:5120@192.168.36.180> Call-ID: c2943000-e0563-2a1ce-2e323931@192.168.6.21 CSeq: 100 INVITE Expires: 180 User-Agent: huawei IP Phone/ Rev. 1/ SIP enabled Accept: application/sdp Contact: sip:5121@192.168.6.21:5060 Content-Type: application/sdp SIP消息头 • SIP 借用HTTP的语法和语义 • SIP 消息类似HTTP消息,包括消息格式、MIME支持。

  18. SIP消息体 • 消息体主要是对消息所要建立的会话的描述。典型的消息体为SDP格式。 会话描述协议(SDP,Session Description Protocol)规定了对描述会话的必要信息怎样进行编码。SDP不包括任何传输机制,也不包含任何种类的协商参数。一个SDP描述仅仅是能够被系统用于在一个多媒体会话中加入大量信息。 一个SDP描述含有会话级信息和媒体级信息。会话级信息应用于整个会话。媒体级信息作用于特殊的媒体流。 v=0 o=Bob 2890844526 289084207 IN IP4 10.105.1.129 s=SIP Seminar c=IN IP4 224.2.17.12/127 t=2873397496 2873404696 a=recvonly m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 m=video 51372 RTP/AVP 31 a=rtpmap:31 H261/90000

  19. SDP协议用于多媒体连接 介绍了多媒体会话的参数集 功能上类似H.245 由IETF MMUSIC WG开发 简单灵活 基于文本 可扩展 SIP Offer/Answer Model is RFC 3264 “Lines” below are in order v = 协议版本 o = 所有者/创建者 和会话标识 s = 会话名称 c = 连接信息 k = 密钥 t = 指定会话活动时间 m = 媒体描述和传输地址 a = (0行或多行) 媒体media属性行 SIP消息体字段说明 Session Description Protocol (SDP) RFC2327

  20. SIP 方法: INVITE : 发起呼叫,邀请用户加入会话。 ACK : 证实已收到对INVITE消息的最终应答。 BYE : 终止一个呼叫。 CANCEL : 取消一个请求。 REGISTER : 注册用户代理。 OPTIONS : 查询服务器能力。 INFO : 携带带外信息,如DTMF数字。 SIP 应答: 1xx : Informational Messages. 2xx : 成功应答 3xx : 重定向应答 4xx : 请求失败应答 5xx : 服务器失败应答 6xx : 全局失败应答 SIP消息类型 –方法 和 应答 SIP部件通信,通过交换SIP消息:

  21. 响应(Response)消息的开始行 • Startline=response line • 响应行(Response line)的固定格式: • SIP-version SP Status-Code SP Reason-PhraseCRLF • 例子: SIP/2.0 100 Trying 状态码 SIP协议的版本 原因短语

  22. Provisional 1xx 100 Trying 180 Ringing 181 Call Is Being Forwarded 182 Queued 183 Session Progress Successful 2xx 200 OK Redirection 3xx 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 305 Use Proxy 380 Alternative Service 响应消息-状态码(1)

  23. Request Failure 4xx 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 410 Gone 413 Request Entity Too Large 414 Request-URI Too Long 415 Unsupported Media Type 416 Unsupported URI Scheme 420 Bad Extension 421 Extension Required 423 Interval Too Brief 480 Temporarily Unavailable 481 Call/Transaction Does Not Exist 482 Loop Detected 483 Too Many Hops 484 Address Incomplete 485 Ambiguous 486 Busy Here 487 Request Terminate 488 Not Acceptable Here 491 Request Pending 493 Undecipherable 响应消息-状态码(2)

  24. Server Failure 5xx 500 Server Internal Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Server Time-out 505 Version Not Supported 513 Message Too Large Global Failures 6xx 600 Busy Everywhere 603 Decline 604 Does Not Exist Anywhere 606 Not Acceptable 响应消息-状态码(3)

  25. Fully-Qualified Domain Names sip: leon.huawei-3com.com SMTP风格域名[RFC 2368] sip: leon@huawei-3com.com E.164风格域名[RFC 2806] sip: 14085551234@gateway.com; user=phone user=phone表示这是一个网关 (gateway.com是出口IP网关的FQDN) SIP消息中的常用信息 - SIP地址

  26. 协议架构 典型逻辑部件 请求和应答消息 基本呼叫流程 业务流程 协议设计特点 提纲

  27. 通信建立过程 • 用SIP来建立通讯通常需要有六个步骤: • 登记, 发起和定位用户. • 进行媒体协商 --通常采用SDP方式来携带媒体参数. • 由被叫方来决定是否接纳该呼叫. • 呼叫媒体流建立并交互. • 呼叫更改或处理如呼叫转移. • 呼叫终止.

  28. REGISTER REGISTER 200 OK 200 OK 代理/ 注册 服务器 定位/重定向 服务器 SIP IP 电话 用户 注册 • UA设备开机时都需要向服务器注册 • 当SIP Client的地址发生改变时也需要重新注册 • 注册信息必须定期刷新 • 通常Register将注册信息保存到Location Server中

  29. Invite 100 Trying 信令(UDP, TCP, SCTP, or TLS over TCP) 180 Ringing 200 OK ACK RTP RTCP 媒体(UDP) RTP RTCP 无代理服务器时的呼叫流程 UA 2 UA 1 假定UA1知道UA2的IP地址 信令层 负载层 只需要3个报文就能建立握手:INVITE/200 OK/ACK

  30. 事务状态无关Transaction Stateless 代理服务器仅转发所有消息和应答,而不维护任何状态 事务状态相关Transaction Stateful 代理服务器收到SIP请求时,保留状态,直到收到一个最终应答(即2XX, 3XX, 4XX, 5XX 或者 6XX 应答) ,事务状态相关,不关心会话结束请求(BYE) 对话状态相关Dialog Stateful 为了保证途中经过的代理服务器的消息被保留,在第一个SIP请求消息中,同时使用Via和Record Route两个头。 消息状态处理方式

  31. 协议架构 典型逻辑部件 请求和应答消息 基本呼叫流程 业务流程 协议设计特点 提纲

  32. Call forwarding:基本INVITE行为(代理/重定向) Call transfer :使用REFER方法 Call hold :设置媒体地址为 0.0.0.0 Caller id :主叫号码显示 DTMF :由RTP负载携带 (RFC 2833) Calling card付卡: B2BUA + 语音服务器 Voice mail : UA带有特别的URL(s) … SIP业务举例

  33. REFER (Refer-to: UA-3) Session Established INVITE / 200 OK / ACK reINVITE[hold] 202 Accepted 200 OK/ACK NOTIFY 200 OK/ACK INVITE (address provided by UA-2) 200 OK BYE BYE 200 OK 200 OK Session Established 呼叫转接Call Transfer UA1 UA2 UA3

  34. Invite Invite Ringing (180) from cell Invite Cancel OK (200) Trying (100) Cancel Invite Trying (100) ACK Ringing (180) OK (200) Session Established 并发呼叫Call Forking 代理服务器 Office Phone Bob’s Alice Mobile Laptop Bob’s • 如果代理服务器设置为 “Transaction Stateful”,能正常产生Cancels • 如果代理服务器设置为“Dialog Stateful”, 能接受BYE请求 Cellphone Bob’s

  35. IVR和VoiceXML 定位服务器 IVR服务器 REFER SIP SIP UA VoiceXML Scripts 200 Voice XML 代理服务器 Text ? ? Text RTP

  36. 在线状态PRESENCE huawei.com Presentity bob Alice h3c.com Presence服务器 NOTIFY SUBSCRIBE REGISTER 注册服务器 NOTIFY NOTIFY

  37. Invite (w SDP of A) ACK Invite (No SDP) 200 OK (w SDP of A) Session Established with SDP of B 200 OK (w SDP of B) ACK (w SDP of B) 第三方呼叫控制 代理服务器 Web Interface Proxy Bob Alice Carol Dave • 允许呼叫由独立第三方发起 • 使用INVITE方法,在初始INVITE消息中不带SDP • 预约会议

  38. 语音邮件 A Proxy Server B VoiceMail Server INVITE SIP:B@huawei.com INVITE SIP:B@huawei.com 486 Busy Here ACK INVITE SIP:B-dep-fb@voicemail.huawei.com 200 OK 200 OK ACK RTP

  39. 协议架构 典型逻辑部件 请求和应答消息 基本呼叫流程 业务流程 协议设计特点 提纲

  40. SIP 设计目标: 与现有IETF协议集成 可扩展性和简单性 移动性 易用和 创建新特性 SIP –设计架构

  41. 其它的IETF协议能用来建立SIP应用,SIP能与现有IETF协议一起其它的IETF协议能用来建立SIP应用,SIP能与现有IETF协议一起 工作。例如: RSVP –预留网络资源 RTP –传送实时数据,提供QOS建议 RTSP –控制流媒体的递送 SAP会话广告协议 –通过多播方式,广告多媒体会话 SDP 会话描述协议 –描述多媒体会话 MIME 多用途邮件扩展协议 –描述内容 HTTP –服务Web页面浏览 COPS –公共开放式策略服务 OSP –开放式结算协议 … 与IETF协议集成

  42. SIP 架构具有良好的可扩展性 代理、重定向、定位和注册等功能,可驻留在不同的物理服务器 分布式功能,在增加新处理时,不会影响其它部件 可扩展性

  43. SIP 被设计成: 骨干 —“快捷、简单” 边界 —“智能、便捷” HTTP文本化,易用,易调试 简单性

  44. 支持用户移动,用户可以使用PC,无线电话,IP电话支持用户移动,用户可以使用PC,无线电话,IP电话 或者传统电话 用户必须注册他们的当前位置 通过代理 或者 重定向请求到用户当前位置 代理服务器将转发呼叫到用户当前位置 移动性 例如:在线状态和并发呼叫等业务

  45. SIP 系统支持快速创建特性 例如: 呼叫处理语言 (CPL) 通用网关接口 (CGI) 创建新特性(1)

  46. SIP 支持丰富的新特性 基本呼叫特性 (呼叫等待、呼叫转移、呼叫阻塞等) 统一消息 并发呼叫 点击通信 在线状态 即时消息 Find me / Follow me … 创建新特性(2)

  47. H323 Vs SIP(1) H.323是由国际电联提出,更多的是将原有电信级电话网络中的电路线路转换为IP线路。而SIP侧重于将IP电话作为Internet上的一个应用 H.323 SIP • 面向公众基础业务运营的设计。 • 除了增加H.225.0 RAS以外,几乎完全保留了电信协议的特点:严谨的层次化结构,通信建立过程严格受控,适合计费等运营需求 • 基于bit位的协议 • 通过H.245定义新业务,业务关注互通性。严格的另一面是留给厂商发挥的空间小。 • 面向internet应用的设计。 • 同HTTP、SMTP等internet应用协议一样,最求实现简单、开放、灵活。 • 采用文本协议 • 可扩展性好:通过在报文头域增加新的消息类型来支持新的业务。给厂商留下了足够的扩展空间,但相应的带来了互通上的困难,标准有待成熟。

  48. H.323 Vs SIP(2)

  49. H.323 Vs SIP(3)

  50. IETF http://www.ietf.org/html.charters/sip-charter.html 参考

More Related