没有合适的资源?快使用搜索试试~ 我知道了~
sip (内部翻译版) 协议的概述 sip消息的内容 组成和使用概述 希望对你有所帮助
资源推荐
资源详情
资源评论
RFC3261 : SIP Session Initiation Protocol
第1章 绪论
在 internet 上有很多应用需要创建和管理一个会话,会话是指多个参与者之间的数据交换。
这些应用的执行根据参与者的行为不同而变得复杂:用户可能在多个结点之间移动,他们可能
有多个地址,并且使用多个不同的媒体进行会话,有时候是同步的。目前有几个协议被用来
创建实时多媒体会话,例如声音,视频或者文字消息。会话初始化协议(SIP)同这些协议一起,
在 internet 上的结点(用户代理)之间呼叫另外的用户代理,并在协商一致的会话描述符下建
立会话。为了定位预期的会话参与者以及一些其他的功能, SIP 使得网络主机(代理服务
器)和用户代理之间可以发送注册信息,邀请会话以及一些其他的功能。 SIP 是创建,修改,
终止会话的灵活的,多用途的工具,sip 在传输层下独立的工作而不依赖于已经建立的其他会
话类型。
第2章 SIP 功能概述
IP 是应用层控制控制协议,可以建立,修改,终止多媒体会话,例如 ip 电话。SIP 也可
以邀请参与者加入一个已经存在的会话,例如视频会议。新的媒体类型也可以加入(或移
出)一个已经存在的会话中。SIP 透明的支持名字映射和重定向服务,即个人可移动性,用
户可以保持一个单一的外部可见的标示符而无需考虑它们的网络位置。
SIP 支持建立和终止多媒体通信的 5 个方面特征:
用户定位 : 决定哪一个终端系统可以用于通信;
用户有效性 : 决定被呼叫者加入通信的意愿;
用户能力 : 决定使用哪种媒体和媒体参数;
会话建立 : 振铃,表示会话参数在呼叫方和被叫方同时建立;
会话管理 : 包括传输,会话终止,修改会话参数,和调用服务。
SIP 不是一个纵向集成的通信系统,SIP 相当于一个构件,可以同其他 IETF 协议一起实现
一个多媒体结构,典型的,该结构包括很多协议,如实时传输协议(用于传输实时数据,并
提供 QOS 反馈 RTP),实时流传输协议(用于控制流媒体的传输 RTSP),媒体网关控制协
议(用于控制网关到公共交换电话网络 PSTN,MEGACO),以及会话描述协议 (用于描述多
媒体会话 SDP)。因此,SIP 可以联合这些协议用来为用户提供更加完整的服务。然而,SIP
的基本功能和操作并不依赖于以上这些协议。
SIP 不提供服务。仅仅提供最简单的可以用于实现不同服务的特性。例如,SIP 可以定位一
个用户,并向他当前的位置发送一个不透明的对象。这个特性可以写在 SDP 中用于传递一个
会话描述。例如,终端节点之间可以通过该特性对会话参数达成一致的共识。如果相同的特
性用于传递被呼叫者的照片,CALL_ID 服务就很容易实现,这个例子表明,一个单一的特性
可以典型的被用于提供多个不同的服务。
SIP 并不提供会议控制服务,例如门禁控制和投票,也不呢高树一个会议如何被管理。SIP
仅用于初始化一个会话,而该会话用其他会议控制协议。虽然 SIP 消息和已建立的绘画可以
通过整个不同的网络,但是 SIP 不能提供所有类型网络资源的预留功能。
安全性很重要,SIP 提供一整套安全服务,包括拒绝服务的预防,鉴定(包括用户到用户
以及代理到用户),完全保护,以及加密和私有服务。
SIP 可以用于 IPV4 和 IPV6.
第3章 术语
在 本 文 中 , 关 键 字 MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT,RECOMMENDED, NOT RECOMMENDED, MAY, AND OPTIONAL 在
BCP14,RFC2119 中解释,指出了 SIP 执行的需求级别。
第4章 操作方法概述
本节介绍用一些简单的例子介绍基本的 SIP 操作,是后面各章节的指南。
第一个例子显示 SIP 的基本功能:用户定位,通信信令,会话参数协商,以及会话建立后的
拆除。
图 1 所示一个 SIP 消息在两个用户 Alice 和 Bob 之间交换的典型例子。本例中,Alice 使用
她的 pc 机上的 sip 应用程序(类似于软电话)通过互联网呼叫 Bob 的 sip 电话。另外还显示
了两个 sip 代理服务器代表 Alice 和 Bob 实施会话建立的行为。
图 1 如下所示
atlanta.com . . . biloxi.com
. proxy proxy .
. .
Alice's . . . . . . . . . . . . . . . . . . . . Bob's
softphone SIP Phone
| | | |
| INVITE F1 | | |
|--------------->| INVITE F2 | |
| 100 Trying F3 |--------------->| INVITE F4 |
|<---------------| 100 Trying F5 |--------------->|
| |<-------------- | 180 Ringing F6 |
| | 180 Ringing F7 |<---------------|
| 180 Ringing F8 |<---------------| 200 OK F9 |
|<---------------| 200 OK F10 |<---------------|
| 200 OK F11 |<---------------| |
|<---------------| | |
| ACK F12 |
|------------------------------------------------->|
| Media Session |
|<================================================>|
| BYE F13 |
|<-------------------------------------------------|
| 200 OK F14 |
|------------------------------------------------->|
| |
Alice 使用 Bob 的 sip 标识呼叫他,该标识是一个统一资源定位符,被称为 sip uri,sip uri 在
第 19.1 节中定义。Sip uri 同 email 地址的格式类似,包括一个用户名和主机名。在本例中,
该地 址为 sip:bob@biboxi.com, 在这里 ,biboxi.com 是 Bob 的 sip 服 务提 供商 的一 个域名 。
Alice 也存在一个 sip uri sip:alice@Atlanta.com. Alice 可以输入 Bob 的 uri,也可以点击地址簿
中 的 一 个 入 口 , 或 者 通 过 超 文 本 链 接 。 Sip 也 提 供 安 全 的 uri, 被 称 为 sips uri, 例 如
sips:bob@biboxi.com。对 sips uri 的呼叫是有安全保证的,TLS 被用于从呼叫方携带所有 SIP
消息到被呼叫方。但是安全机制依赖被呼叫方的域的机制。
SIP 是基于类似于 HTTP 的请求/响应传输模式。每一个事务由请求组成,该请求调用一个
特殊的方法或功能,并在服务器端至少有一个响应。在本例中,事务从 Alice 的软电话发送
一个 INVITE 请求给 Bob 开始。INVITE 是一个 SIP 方法,指明了 Alice 对 Bob 的行为要求。
一个 INVITE 请求包括一系列的头域。头域被命名为属性,可以提供消息的附加信息。本例
中包括呼叫方的唯一标示,目的地址,Alice 的地址,会话类型。如下所示
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
第一行是一个文本编码的消息,包含方法的名字 INVITE,接下来是头域的列表,本例中
是最小的请求集合,描述如下|:
Via 包含 Alice 接受请求响应的地址,也包含一些用来描述事务的分支参数。
To 包含 Bob 的名字以及 SIP 或 SIPS URI。
FROM 包含 Alice 的名字以及 SIP 或 SIPS URI。该头域也包括一个标签参数,是一个随机
的字符串,被添加到 URI 中,用于鉴定目的。
CALL_ID 包含一个该呼叫的全球唯一标示,是由一个随机字符串和软电话主机或 IP 地址
组合而成的,TO, FROM, CALL_ID 三个标签组合定义了一个 Alice 和 Bob 之间对等 SIP 关系。
Cseq 包含一个整数和一个方法的名字,Cseq 号码随着对话中每一个新的请求而递增,是一
个传统的序列号。
Contact 包含 SIP 或 SIPS URI,描述一个联系 Alice 的路由,通常包含一个在 FQDN(fully
qualified domain name)用户名,参考 FQDN,很多终端系统不必注册域名,IP 地址及被允许
通过。Contact 头域告诉其它元素以后的消息应该发给谁。
MAX|_Forwards 用于限制请求到达目的地的跳跃次数,由一个整数在每一次跳跃的时候递
减而成。
Content_type 包含一个消息体的描述。
Content_Length 包含一个 8 位字节的消息体的长度。
完整的 sip 头域集合在第 20 章中定义。
剩余15页未读,继续阅读
资源评论
wuchao1980
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于java+mysql的毕业设计6套.zip
- windows部署腾讯tmagic-editor03-DSL 解析渲染
- 基于yolov5、dlib和opencv的疲劳驾驶检测系统
- 基于YOLOv5的毒蘑菇检测项目,部署在云服务器上,运行在Android设备上
- 基于爬虫+neo4j+D3实现的苏州旅游知识图谱源码+数据.zip
- Oracle PLSQL 安装json库发送http请求服务
- VC++6.0 ListViewReport报表使用例子
- (python源码)基于图注意力模型(GAT)的交通网络流量预测算法实现
- 登记管理系统安装程序 纯java实现界面交互 v1版本
- 数据库配置面板(WPF)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功