使用 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 协议被设计成多媒体框架的一部分,而这种多媒体框架包括RTSP,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 消息向外发出通话请求。外呼代理将观察这通通话是否是被定向到外部的域名。然后...