SIP协议 翁彦 2008.01.

Slides:



Advertisements
Similar presentations
MSG 322 Microsoft Office Communicator 2005电话集成和VoIP技术
Advertisements

觀舌知健康 第三課 蒲公英學會 蒲公英學會.
32个团体游戏 增加团队凝聚力.
动态网站开发 【HTTP与网络基础】 李博杰
第13章:电子邮件系统 TCP/IP互联网上的电子邮件传输过程; 电子邮件的地址表示; 电子邮件传输协议SMTP和POP3;
性教育教學模組設計 主題:身體自主權 台中市忠明國小 巫偉鈴.
整体销售方案 中山市美好物业代理有限公司
感谢各位家长在百忙之中抽出时间参加本次家长会 !
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
舌尖上的昭通.
南京艺术学院2012年 “5.25心理健康教育月”活动纪实
臺中市頭家國小 生理衛生講座 青春期的奧秘 ‧說到青春期,你會想到? ‧班級表現最好的,有獎徵答有優先權。 葉孟娟老師、黃文玲老師.
校园信息管理系统 河北科技大学网络中心 2000/4/10.
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
中央研究院 網路電話整合服務.
消防安全伴我行! 济宁市兖州区第九中学 刘新成.
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
低碳生活,从小事做起 编辑人:刘瑞兴 指导老师:麦文燕 吴霞 编辑地址;岭南师范学院附属中学 编辑时间:
1. 民主社會裡,公民的參與有其重要性,而透過政治參與無法達成下列哪一項目的?
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
计算机网络的组成 资源子网:   主机 终端 终端控制器   外设 软件资源 信息资源    .
职业责任保险 郝豫华
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
第九章 长期资产及摊销 2017/3/21.
VOIP應用 與進度推廣 臺東大學電算中心 洪守成.
预测股市将不涨,可亮出卖出认购期权(Short Call) 招数,获得权利金,增加收益,持股者也可使出此招,为股票锁定卖出价。这一剑法在到期日股价低于行权价格时,能获得全部权利金收入。
SIP 体系架构.
SIP 协议介绍.
医学仪器中的嵌入式系统设计  T06.WinCE 网络与通信
NAT-PT (Network Address Translation-Protocol Translation)
第 19 章 遠端管理.
計中「多媒體與網路應用」短期訓練課程 FTP server 架設 (in Windows)
第3讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
课程目标 学习完本课程,您应该能够: 了解NTP协议的基本概念及应用 掌握NTP协议的基本原理 掌握NTP协议的网络结构及实现模型
SIP 封包擷取實驗.
AA SIP协议原理 2.0 此为固网课程专用的封面页。.
2018/11/22 SIP to Freshman.
大连理工大学网络中心 冯刚 基于IPv6的SIP移动性研究 大连理工大学网络中心 冯刚 CERNET 2005 DaLian.
SIP消息之 逐项讲解.
SIP消息之 逐项讲解.
VoIP integrate compuse PSTN-PBX with SIP/ENUM/IVR
實驗 一 : RTP 實驗目的 實作部分 了解如何利用RTP在網路上傳送語音封包 加深對RTP、RTCP封包的基本格式的認識
SIP之 穿越NAT.
網路概論 第11章 SMTP、POP3與IMAP通訊協定.
第4章 OSI傳輸層.
Alcatel - Lucent SIGTRAN introduction 心得簡報
作業二 : SIP User Mobility 實驗目的 實作部分
SIP协议 Sip协议基本介绍 ..
SIP与H.323互通的研究 研究生选题报告 Research on Interworking between SIP and H.323
Web Server 王宏瑾.
第4章 TCP/IP应用层常用协议 4.1 Telnet 协 议 4.2 文件传输协议FTP 4.3 电子邮件的工作原理及其协议
Wireshark DNS&HTTP封包分析
TCP/IP协议及其应用.
子計畫三進度報告.
第 14 章 DHCP 著作權所有 © 旗標出版股份有限公司.
微信商城系统操作说明 色卡会智能门店.
指導教授:梁明章 A 許之青 國立高雄大學 2010/06/25
郑 昀 应用开发事业部 神州泰岳 SIP多方会话消息 之实例讲解 郑 昀 应用开发事业部 神州泰岳
TYPE B 3504A設定 使用瀏覽器連線到閘道器的ip 例如:
TYPE A 3702A設定 使用瀏覽器連線到閘道器的ip 例如:
Mobile IPv4.
指導老師:吳介騫 教授 開發團隊:凃皓竣、王淳右、江雅媛 國立高雄第一科技大學電腦與通訊工程系 2015/12/11
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
厉害了,我的国! 15会计2班团支部 2018年4月20日.
教育部補助「行動寬頻尖端技術跨校教學聯盟第二期計畫 -- 行動寬頻網路與應用 -- 小細胞基站聯盟中心」 模組名稱: 「LTE-Small Cell 核心網路架構及服務」 單元-A6:LTE-Small Cell 多媒體影音串流服務 計畫主持人:許蒼嶺 (國立中山大學 電機工程學系) 授課教師:萬欽德.
配合康軒版 社會科第一單元 第五課 製作者:周秀卿、 簡維萱
IP Layer Basics & Firewall
第 16 章 POP3.
银川社保网上申报 宁夏人力资源和社会保障 网上服务大厅操作
單 位 :國立暨南國際大學 南投區域網路中心 主講人:陳家祿先生
Presentation transcript:

SIP协议 翁彦 2008.01

什么是SIP Session Initiation Protocol(会话发起协议),是由IETF定义,基于IP网络的一个应用层控制协议,用于多媒体会话的建立、控制、撤消等通信控制协议。

SIP功能 用户定位 用户状态保持与更新 会话建立、撤消、终止 会话管理

SIP应用 视频会议 视频浏览 视频点播 VoIP 软交换

SIP与H.323比较 分布式 灵活简洁 可扩展性好 NGN、3GPP正式标准

典型SIP会话(一)

典型SIP会话(二)

SIP会话 通常多媒体会话是一个包含了多媒体会话参与者以及他们之间的数据交互的集合,基于SIP协议的多媒体会话称之为SIP会话。

SIP协议结构

SIP结构特点 松耦合 各层仅包含规则,与实现无关 可扩展

SIP层次 语法层 定义消息语义、语法 消息语法规则采用BNF格式 传输层 定义网络消息传输方式 可靠传输、非可靠传输

SIP层次(续) 事务层 用户层 维持消息事务状态,处理事务 事务超时,消息重传,事务匹配 处理核心业务 执行相关具体操作,包括请求消息和应答消息

SIP会话实体 会话终端 路由代理服务器 路由重定向服务器 注册服务器

SIP逻辑实体 根据通信角色划分 UAC(User Agent Client,逻辑客户端),会话请求方 UAS(User Agent Server,逻辑服务器),会话应答方

SIP消息语法 请求-应答机制 消息=消息头+消息体 消息头为纯文本形式,UTF-8编码,按行划分,每行以/r/n结尾 消息头以空行(/r/n/r/n)结尾 消息体可以为任何格式数据,具体格式由消息头定义

SIP请求消息(一) 请求消息头=起始行+若干消息头字段行 起始行=SIP方法+请求URI+SIP版本 SIP方法 REGISTER INVITE CANCEL ACK

SIP请求消息(二) 除了ACK,其余SIP方法请求必须有应答 BYE UPDATE OPTIONS INFO SUBSCRIBE NOTIFY MESSAGE 除了ACK,其余SIP方法请求必须有应答

SIP请求消息(三) 消息头必须包含To、From、Cseq、Call-ID、Max-Forwards、Via这几个字段

SIP应答消息(一) 应答消息头=状态行+若干消息头字段行 状态行=SIP版本+状态码+状态说明 状态码 1xx,临时应答 2xx,请求成功

SIP应答消息(二) 1xx为临时应答,除此之外的应答为最终应答 状态说明用于描述状态码具体含义 消息头必须包含To、From、Cseq、Call-ID、Max-Forwards、Via这几个字段

SIP名词解释(一) Dialog 一定时间内存在于两个会话终端之间的点对点的SIP关系 Dialog由Call-ID,本地tag和远程tag唯一标识 Dialog只能由INVITE方法建立 请求消息分为Dialog内部消息和外部消息 一个会话中可以包含多个Dialog

SIP名词解释(二) URI 会话统一资源标识 用于标识会话中的逻辑实体 格式:sip: user:password@host:port

SIP消息头字段(一) 字段行=字段名+’:’+字段值 字段值可以包含参数,参数以冒号开始,参数之间以逗号分隔,参数以”参数名=参数值“的形式表示 Via 用于事务传输,同时表示期望接收应答的网络地址 Via字段必须包含branch参数,branch参数用于事务层的事务标识,而且必须以” z9hG4bK”开始,同时在空间和时间上唯一

SIP消息头字段(二) To From 请求消息的逻辑接收者 应答消息的To字段必须包含tag参数,该参数为Dialog标识的组成部分 请求消息的逻辑发起者 请求消息的From字段必须包含tag参数,该参数为Dialog标识的组成部分

SIP消息头字段(三) Call-ID CSeq 初始请求标识 Call-ID作为Dialog标识的组成部分,必须确保在空间和时间上唯一,Dialog内部的所有请求和应答都应当具有相同的Call-ID CSeq 请求序列号 序列号必须为32bit无符号整数,每提交一次新的请求递增1

SIP消息头字段(四) Max-Forwards Contact 最大路由次数 每经过一个路由网关该值减1,如果为0则丢弃该消息 消息的逻辑通信方 在INVITE请求消息中必须包含Contact字段

SIP消息头字段(五) Accept Allow WWW-Authenticate 逻辑终端支持的数据格式 默认为application/sdp Allow 逻辑终端支持的SIP方法 WWW-Authenticate 认证提示信息 用于鉴权

SIP消息头字段(六) Authorization Content-Type 认证信息 用于鉴权 消息数据类型

SIP消息头字段(七) Content-Length Expires Route 消息数据长度 超时 具体含义由各个SIP方法决定,以秒为单位 Route 路由信息

SIP消息头字段(八) User-Agent 客户端代理标识 Server 服务器端代理标识

SIP REGISTER方法(一) 功能 请求消息规则 终端注册 URI定位 请求URI必须为域形式,如sip:bqvision.com To字段中的URI必须与From字段的URI保持一致 除非终端URI发生变化,否则每次请求消息的Call-ID必须保持一致

SIP REGISTER方法(二) 请求消息举例 REGISTER sip:registrar.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.202:5060;branch=z9hG4bK776asdhds To: DVS6501 <sip:01001@bqvision.com> From: DVS6501 <sip:01001@bqvision.com>;tag=1901774 Call-ID: a84b4c76e66710@bqvision.com CSeq: 6581 REGISTER Contact: <sip:192.168.0.202> Max-Forwards: 70 Content-Length: 0

SIP INVITE方法(一) 功能 请求消息与Dialog的关系 建立会话 更新会话 维持会话 Dialog只能由INVITE请求建立

SIP INVITE方法(二) Dialog的建立 INVITE请求及其非失败应答(1xx或2xx)中To字段的tag参数建立相应的Dialog 临时应答(1xx)建立的Dialog称为早期Dialog,请求成功应答(2xx)建立的Dialog称为长期Dialog,早期Dialog在接收到请求成功应答后自动变为长期Dialog,否则在接收到请求失败应答或是超时后自动结束Dialog

SIP INVITE方法(三) 建立会话 Dialog的建立标志着会话的建立 初始INVITE请求总是Dialog外部请求,To字段必须不包含tag参数 初始INVITE请求可能会有多个请求成功应答,因为路由代理可能会产生多个分支,每一个请求成功应答及其To字段包含的tag参数建立各自的长期Dialog 对于每一个请求成功应答,逻辑客户端必须发送相应的ACK请求

SIP INVITE方法(四) 建立会话举例 INVITE sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2164 To: <sip:server.bqvision.com> From: <sip:client.bqvision.com>;tag=3386 Call-ID: 2542@bqvision.com CSeq: 1 INVITE Contact: <sip:client.bqvision.com> Max-Forwards: 70 Content-Length: 0

SIP INVITE方法(五) SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2164 To: <sip:server.bqvision.com>;tag=5342 From: <sip:client.bqvision.com>;tag=3386 Call-ID: 2542@bqvision.com CSeq: 1 INVITE Contact: <sip: server.bqvision.com> Max-Forwards: 70 Content-Length: 0

SIP INVITE方法(六) ACK sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2165 To: <sip:server.bqvision.com>;tag=5342 From: <sip:client.bqvision.com>;tag=3386 Call-ID: 2542@bqvision.com CSeq: 1 ACK Max-Forwards: 70 Content-Length: 0

SIP INVITE方法(七) 更新会话 作为Dialog内部请求发送的INVITE请求称为再次INVITE请求 会话状态由请求消息中的消息数据更新

SIP INVITE方法(八) 更新会话举例 INVITE sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2164 To: <sip:server.bqvision.com>;tag=5342 From: <sip:client.bqvision.com>;tag=3386 Call-ID: 2542@bqvision.com CSeq: 2 INVITE Contact: <sip:client.bqvision.com> Max-Forwards: 70 Content-Type: text/xml Content-Length: 372 <消息体略>

SIP INVITE方法(九) 保持会话 保持会话机制确保会话在一定时间内仍然处于活动状态 保持会话可以使用再次INVITE请求或是UPDATE请求

SIP INVITE方法(十) 保持会话举例 INVITE sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2164 To: <sip:server.bqvision.com>;tag=5342 From: <sip:client.bqvision.com>;tag=3386 Call-ID: 2542@bqvision.com CSeq: 3 INVITE Contact: <sip:client.bqvision.com> Max-Forwards: 70 Content-Length: 0

SIP ACK方法 功能 确定会话已建立 规则 只能对INVITE请求的非临时应答发送ACK消息

SIP CANCEL方法(一) 功能 规则 取消已发出的请求 CACEL请求只能取消已发出的INVITE请求 在未收到任何INVITE请求的临时应答前,不能发送CACEL请求

SIP CANCEL方法(二) 取消请求举例 CANCEL sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2164 To: <sip:server.bqvision.com> From: <sip:client.bqvision.com>;tag=3386 Call-ID: 2542@bqvision.com CSeq: 1 CANCEL Contact: <sip:client.bqvision.com> Max-Forwards: 70 Content-Length: 0

SIP BYE方法(一) 功能 规则 结束会话 BYE请求只能作为Dialog内部请求发送 如果INVITE请求的应答方已发送200应答,但尚未收到ACK请求或超时,则应答方不能发送BYE请求

SIP BYE方法(二) 结束会话举例 BYE sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK2165 To: <sip:server.bqvision.com>;tag=5342 From: <sip:client.bqvision.com>;tag=3386 Call-ID: 2542@bqvision.com CSeq: 2 BYE Max-Forwards: 70 Content-Length: 0

SIP UPDATE方法(一) 功能 规则 更新会话 保持会话 UPDATE请求只能作为Dialog内部请求发送

SIP UPDATE方法(二) 更新会话举例 UPDATE sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK1478 To: <sip:server.bqvision.com>;tag=9107 From: <sip:client.bqvision.com>;tag=634825 Call-ID: 09FA2145@bqvision.com CSeq: 236 UPDATE Contact: <sip:client.bqvision.com> Max-Forwards: 70 Content-Type: text/xml Content-Length: 106 <消息体略>

SIP SUBSCRIBE方法(一) 功能 规则 订阅事件 SUBSCRIBE请求只能作为Dialog内部请求发送 SUBSCRIBE请求可以包含Expires字段,表示订阅的时间,在超时之后自动取消订阅

SIP SUBSCRIBE方法(二) 订阅事件举例 SUBSCRIBE sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK235gff To: <sip:server.bqvision.com>;tag=9107 From: <sip:client.bqvision.com>;tag=634825 Call-ID: 09FA2145@client.bqvision.com CSeq: 240 SUBSCRIBE Contact: <sip:client.bqvision.com> Max-Forwards: 70 Content-Type: text/xml Content-Length: 84 <消息体略>

SIP NOTIFY方法(一) 功能 规则 通知事件发生 NOTIFY请求只能作为Dialog内部请求发送 NOTIFY请求允许包含Expires字段,表示自动处理事件的超时

SIP NOTIFY方法(二) 通知事件举例 NOTIFY sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK235gff To: <sip:client.bqvision.com>;tag=9107 From: <sip:server.bqvision.com>;tag=634825 Call-ID: 542vnde3@bqvision.com CSeq: 241 NOTIFY Contact: <sip:server.bqvision.com> Max-Forwards: 70 Content-Type: text/xml Content-Length: 116 <消息体略>

SIP OPTIONS方法(一) 功能 举例 OPTIONS sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bKs8as877 Max-Forwards: 70 To: <sip:server.bqvision.com> From: <sip:client.bqvision.com>;tag=1901774 Call-ID: a84b4c76e66710 CSeq: 63104 OPTIONS Contact: <sip:client.bqvision.com> Content-Length: 0

SIP OPTIONS方法(二) SIP/2.0 200 OK Via: SIP/2.0/UDP server.bqvision.com;branch=z9hG4bKs8as877 To: <sip:server.bqvision.com>;tag=93810874 From: <sip:client.bqvision.com>;tag=1901774 Call-ID: a84b4c76e66710 CSeq: 63104 OPTIONS Contact: <sip:server.bqvision.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE Accept: application/sdp Content-Type: application/sdp Content-Length: 274 (消息体略)

SIP INFO方法 功能 举例 INFO sip:server.bqvision.com SIP/2.0 传递会话信息 举例 INFO sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bKas89 Max-Forwards: 70 To: <sip:server.bqvision.com> From: <sip:client.bqvision.com>;tag=132512 Call-ID: a84b4c7657e623410 CSeq: 6120 INFO Contact: <sip:client.bqvision.com> Content-Type: text/xml Content-Length: 371 <消息体略>

SIP MESSAGE方法 功能 举例 MESSAGE sip:server.bqvision.com SIP/2.0 即时通信 举例 MESSAGE sip:server.bqvision.com SIP/2.0 Via: SIP/2.0/UDP 192.168.0.249:5060;branch=z9hG4bK7sgdkse Max-Forwards: 70 From: sip:client.bqvision.com;tag=49583 To: sip:server.bqvision.com Call-ID: asd88asd77a CSeq: 1 MESSAGE Content-Type: text/plain Content-Length: 18 Hello, I am here.

SIP事务(一) SIP会话 事务性会话 消息序列,单请求,多应答 状态机(INVITE和非INVITE) 客户端状态机 INVITE

SIP事务(二)

SIP事务(三) 非INVITE

SIP事务(四) 服务器状态机 INVITE

SIP事务(五)

SIP事务(六) 非INVITE

SIP事务(七) 定时器 T1:500ms T2:4s T4:5s A:初始化为T1(仅对UDP) B:64*T1 C:>3min D:>32s(UDP) 0s(TCP和SCTP)

SIP事务(八) E:初始化为T1(仅对UDP) F:64*T1 G:初始化为T1 H:64*T1 I:T4(UDP) 0s(TCP和SCTP) J:64*T1(UDP) K:T4(UDP)

SIP消息传输 UDP TCP SCTP

SIP消息安全 TLS SSL

2.0系统媒体交互(一) 基于SIP协议 REGISTER方法:终端注册 INVITE方法:建立会话 OPTIONS方法:维持会话 UPDATE方法:更新会话 BYE方法:结束会话 INFO方法:终端查询 SUBSCRIBE方法:事件订阅 NOTIFY方法:事件通知 MESSAGE方法:实时通信

2.0系统媒体交互(二) 建立会话示例

2.0系统媒体交互(三) 事件交互示例