- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SIP协议 本章目标 SIP协议概述 SDP协议概述 常用SIP消息流程 了解osip库 使用osip库构建sip消息 使用osip库解析sip消息 sip协议 SIP(Session Initiation Protocol)会话启动协议是一个面向于网络电话和会议的应用层控制协议。 是一个基于IP网络的多媒体通讯协议 是一种轻量级的可扩展请求/响应协议,用于在两个端口之间开始通讯会话 sip协议产生的背景 英特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现而需要的NGN(下一代网络)系列协议中重要的一员。 SIP是IETF标准进程的一部分,它是在诸如SMTP(简单邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。 sip协议特性 稳定性:该协议已经使用多年,现在十分稳定 速度:基于UDP的小型协议,效率特别高 灵活性:基于文本的协议,非常容易扩展 安全性:提供加密和身份验证等功能,对sip的扩展还提供其他安全性功能 标准化:随着整个通讯行业都在向sip协议靠拢,已经迅速称为一种标准 sip协议应用方向 网络办公 即时短消息 即时状态管理 网络IP电话 网络会议 SIP消息 一条SIP消息由两部分组成 信封:以头字段的形式描述一个请求或一个请求结果 有效负载:即内容(可选),包含有关请求的数据 信封是文本格式,但是内容可以是文本, 也可以是二进制形式 SIP消息类型 SIP请求消息 SIP请求消息包括三个元素 请求行 头 消息体 SIP响应消息 SIP响应消息包含3个元素 状态行 头 消息体 SIP消息最少头域(3-1) Via:发送请求方希望响应方收到请求后,往via域后面所带的地址发送响应包,后面的branch参数是这个事务的标识 To:包含一个显示名和一个SIP URI(或SIPS URI),这个SIP URI就是这个请求要发送的目标 From:也包含一个显示名和一个SIP URI(或SIPS URI),这个SIP URI就是这个请求的发起方,From后面还跟了一个tag参数,这个参数包含了一个随机字符串,起到鉴别作用 SIP消息最少头域(3-2) SIP消息最少头域(3-3) Max-Forwards:头域限制了在这个请求传送到目的地的时候最多可以有多少跳。它包含一个整数,在每一跳这个整数都会被减少。 Content-Type:头域描述消息体的类型(在这个例子里消息体采用了SDP描述,但是消息体内容没有给出)。 Content-Length:头域指出了消息体的字节数。 SDP消息 SDP:会话描述 SDP会话描述由若干行type=value格式的文本组成 SDP会话描述由一个会话层描述段和可选的若干媒体层描述段组成,会话层描述段以“v=value”行开始,媒体层描述段以“m=value”开始 标准SDP消息(4-1) 标准SDP消息(4-2) “*”标示行为可选行,各行之间的顺序固定不可变 标准SDP消息(4-3) v = (协议版本) o = (所有者/创建者和会话标识符) s = (会话名称) i = * (会话信息) u = * (URI 描述) e = * (Email 地址) p = * (电话号码) c = * (连接信息 ― 如果包含在所有媒体中,则不需要该字段) b = * (带宽信息) 标准SDP消息(4-4) 一个或更多时间描述(如下所示): z = * (时间区域调整) k = * (加密密钥) a = * (0 个或多个会话属性行) 0个或多个媒体描述(如下所示) 时间描述 t = (会话活动时间) r = * (0或多次重复次数) 媒体描述 m = (媒体名称和传输地址) i = * (媒体标题) c = * (连接信息 — 如果包含在会话层则该字段可选) b = * (带宽信息) k = * (加密密钥) a = * (0 个或多个会话属性行) 典型的SIP呼叫 INVITE(2-1) INVITE(2-2) INVITE sip:UAB@ SIP/2.0 Via: SIP/2.0/UDP 0:5060 From: UserA ;tag=589304 To: UserB Call-ID: 8204589102@ CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=UserA 2890844526 2890844526 IN IP4 0 s=Session SDP c=IN IP4 0 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap
文档评论(0)