《51CTO下载-使用OpenSips构建电话通信系统.》.doc

《51CTO下载-使用OpenSips构建电话通信系统.》.doc

《51CTO下载-使用OpenSips构建电话通信系统.》.doc

使用OpenSER构建电话通信系统 Building Telephony Systems with OpenSER (翻译人:老黑 转载地址:/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) SIPHTTP协议相类似。SIP的地址像是e-mail的地址。SIP代理中使用的一个比较有趣的特性就是“别名(alias)”,也就是说你可以有多个SIP地址,譬如: ?????? johndoe@sipA.com ?????? +554845678901@sipA.com ??????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消息进行相应的服务端

文档评论(0)

1亿VIP精品文档

相关文档