没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
使用 OpenSER 构建电话通信系统
Building Telephony Systems with OpenSER
(翻译人:老黑 转载地址:http://blog.chinaunix.net/u2/74590/index.html )
第一章:SIP 介绍(Introduction to SIP)
会话初始化协议是互联网工程任务组(IETF)制定的协议标准,在多个
RFC(Request for Comments)文档中被进行了描述说明。RFC3261 是最近
的一个 RFC,一般称它为 SIP 版本 2。SIP 是一个应用层的协议,用来建立,
修改,终止会话(sessions)或是多媒体通话(multimedia calls)。这些会话
可以会议(conferences),e-learning,网络电话和一些相似的应用。它是同
HTTP 协议相类似的文本协议并且被设计用来发起,保持,关闭用户之间的交
互会话。目前 SIP 已经是 VoIP 领域被广泛使用的协议之一了,市场上几乎每一
台 IP 电话都会支持它。
本章结束的时候你将能够:
描述 SIP 是什么
描述 SIP 是干什么的
描述 SIP 的框架
解释 SIP 主要部件的意义
理解并比较主要 SIP 消息
描述 INVITE 和 REGISTER 请求消息头部的处理过程
在建立和关闭多媒体通话的过程中,SIP 协议支持五种要素。
用户定位(User location)
用户参数协商(User parameters negotiation)
用户可用性(User availability)
通话建立(Call establishment)
通话管理(Call management)
SIP 协议被设计成多媒体框架的一部分,而这种多媒体框架包括
RVSP,RTP,RTSP 还有 SDP 等其他协议。然而,SIP 却并不依靠其他这些
协议工作。
$
SIP 基础(SIP Basics)
SIP 在工作的方式上与 HTTP 协议相类似。SIP 的地址像是 e-mail 的地址。
SIP 代理中使用的一个比较有趣的特性就是“别名(alias)”,也就是说你可以有
多个 SIP 地址,譬如:
$$$$$$ johndoe@sipA.com
$$$$$$ +554845678901@sipA.com
$$$$$$ 45678901@sipA.com
在 SIP 的体系结构中,有多个用户代理和提供不同服务的服务器。SIP 使用
点对点(peer-to-peer)的分布模型来和服务器进行消息的交互。服务器只进行
消息(signaling)的处理,而用户代理的客户端和服务端既可以处理消息也可
以处理媒体。下面的图描述了这样的一个体系:
在 SIP 模型中,用户代理,通常是一台 SIP 话机与它的 SIP 代理进行交互,
从上图可以看到,外呼代理(outgoing proxy)将使用 INVITE 消息向外发出通
话请求。
外呼代理将观察这通通话是否是被定向到外部的域名。然后它将向 DNS 服
务器发出请求将目标域名解析为对应的 IP 地址。然后再将通话请求发送给
DomainB 对应的 SIP 代理。
呼入代理(incoming proxy)将在地址列表(location table)中查询
agentB 的 IP 地址。如果在地址列表这个地址与之前在注册过程中的 IP 地址对
应,那么呼入代理就可以定位这个地址了。现在就可以使用这个地址将通话请
求发送到 agentB 了。
agentB 收到这个 SIP 消息后(INVITE),就拥有了可以与 agentA 建立
RTP 会话(通常是音频方面的会话)所需要的信息。使用 BYE 消息可以终止这
个会话。
SIP 代理在 VoIP 提供者里的作用/上下文(SIP Proxy in the
Context of a VoIP Provider)
通常 VoIP 服务的提供者们并不会实现像上幅图那样的纯粹的 SIP 四边形结
构,他们不会允许你向一个外部的域名发送通话请求,因为如果这样,那么将
影响他们的收入(revenue stream)。取而代之的是一个接近三角形的 SIP 网
络结构。(如下图所示)
SIP 工作原理(SIP Operation Theory)
在上图中,你可以看到 SIP 体系结构中的主要的构成部件。所有的 SIP 消
息都会经过 SIP 代理服务器。另一方面,由 RTP 协议承载的媒体流则是从一端
直接流向另一端。我们将在下面的列表中简要的对其中的一些构成部件进行解
释。
用户代理客户端(UAC user agent client)——发起 SIP 消息的客户
端或终端
用户代理服务端(UAS user agent server)——对接收到的从用户代
理客户端发起的 SIP 消息进行相应的服务端。
用户代理(UA user agent)——SIP 终端(IP 电话,电话适配器
(ATA),软电话(softphone))
代理服务器(Proxy Server)——从用户代理接收请求,并且如果指
定的被请求的终端不在其域中时,会将请求发送给另外的 SIP 代理。
重定向服务器(Redirect Server)——接收请求,但是不直接发送给
被叫用户,而是向主叫方发送目的地址的信息。
定位服务器(Location Server)——向代理服务器和重定向服务器提
供被叫者的联系地址。
通常,物理上,代理服务器,重定向服务器和定位服务器存在于同一
台电脑和软件中。
SIP 注册过程(SIP Registration Process)
剩余63页未读,继续阅读
资源评论
- q155958822020-01-18不是OpenSIPS,是OpenSER乱纪元也不脱水2020-10-16openSER的前身是OpenSips^_^
- 牛奶味的榴莲2019-10-11资料跟最新的opensips还有点差异,不过用来了解opensips大体和相关的整体功能已经足够了
- asmzyd2019-06-05正是我需要的。
- keny122015-06-22不错的资源 ,留着好好学习学习,感谢分享!
乱纪元也不脱水
- 粉丝: 14
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Django和HTML的新疆地区水稻产量影响因素可视化分析系统(含数据集)
- windows conan2应用构建模板
- 3_base.apk.1
- 基于STM32F103C8T6的4g模块(air724ug)
- 基于Java技术的ASC学业支持中心并行项目开发设计源码
- 基于Java和微信支付的wxmall开源卖票商城设计源码
- 基于Java和前端技术的东软环保公众监督系统设计源码
- 基于Python、HTML、CSS的crawlerdemo软件工程实训爬虫设计源码
- 基于多智能体深度强化学习的边缘协同任务卸载方法设计源码
- 基于BS架构的Java、Vue、JavaScript、CSS、HTML整合的毕业设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功