专为易燃易爆环境设计的扩音电话
基于SIP协议的网络电话机
基于SIP协议的IP对讲机
实现不同通信网络之间的互联互通。
为应急通信系统提供应急广播设备
专用的应急指挥通中心通信调度设备
提供寻呼、广播、对讲、电话、报警等功能...
集成了语音、视频、即时消息、会议的通信平台...
基于电话通信技术,为企业提供客服呼叫方案...
用于实时调度和指挥工作,快速响应和协调沟通...
为制造业、矿业、石油化工、等场所,构建可靠的通信方案...
为高速公路、地铁、隧道等交通场所提供应通信方案...
处理客户的查询、投诉、技术支持、订单处理...
专门为处理紧急情况而设计的通信系统
专门设计用于危险环境中的通信系统
公司动态简介
行业知识简介
博客
2017-05-31
现存的基于会话初始化协议(SIP[1])的用户/服务器网络电话结构为每个域使用一个注册服务器。主要的系统消费是由一个专用系统管理器造成的维护和配置。这意味着在一个小型网络中迅速地建立系统(例如,紧急通讯或会议)是很困难的。另一方面,端到端(P2P)系统[2]因为没有单点错误,所以是可测量和可靠的。P2P系统对全局、灾难性失败是强壮的,虽然单个的结点可能会失败。
我们提出一种使用SIP的P2P网络电话结构。P2P-SIP有两个主要的目标:(1)一个增加健壮性完全的分布式模型;(2)不改变现存的控制结构(如DNS)进行配置的能力。分析了许多可选的设计,提出使用Chord[3]作为基本的分布式hash表(DHT)的P2P-SIP端点。新的混合结构既允许传统的SIP电话也允许用户在本地域没有SIP服务器时在P2P网络中查找。使用SIP在P2P-SIP中执行各种DHT功能,例如端发现,用户登记,结点故障发现,用户定位以及通过用P2P代替DNS[4]用于SIP中的下一跳查找的呼叫建立。
实现了一个P2P-SIP适配器,SIPPEER[5],允许现有的或者新的SIP用户代理不改变用户代理就可以连接到P2P-SIP网络。例如,SIPPEER在同一台主机上可以作为基于PC的SIP用户代理并充当它的输出代理。SIPPEER也可以作为独立的SIP用户代理商,代理人或有命令行用户界面的注册服务器。模块化的设计允许组件的重用和替换。例如,Chord可以替换为另一种DHT而不影响其他部分。开放的结构可以不影响现存的设计安装新的服务。例如,一个新的语音邮件模块可以添加到现存的结点上。除了P2P的扩展性和可靠性,P2P-SIP还有如下优点:
不需要维护或配置:这个系统是开箱即用的,不需要任何冗余的服务器安装(包括NAT和防火墙的配置)。我们的工作将TETF零配置网络工作组[6]的目标扩展到多媒体通讯和协作系统。
协同工作:不像Skype[7]之类的其他P2P系统,我们使用SIP与其他端点通讯。这可以很容易的与任何现存的SIP-PSTN网关的IP电话结构或象Asterisk的基于服务器的IP PBX一起工作。
这些优点是增加资源查找延迟和安全的威胁来得到的。一个不使用集中的元件的用于认证的可靠结构不在这篇文章的讨论范围内。
结构框架
我们改进了分布式哈希表(DHT)的设计。一个极端是,这个分布式哈希表可以在服务器中用于服务器的领域同时仍然管理客户/服务器结构。另一个极端,所有的结点成为分布式哈希表的一部分。我们选择如图1所示的一种中间设计,具有高的容量(带宽,CPU,内存)和可用性(正常运行时间,公共IP地址)的一些结点成为超级结点并组成分布式哈希表,而其他的普通结点与一个或更多的超级结点相连而不是成为分布式哈希表的一部分。
SIP被用作是定位其他用户或结点、加入DHT、注册用户、呼叫建立和即时消息的基础协议。一旦用户被定位,呼叫建立或即时消息就可以直接经由SIP模块发送到用户的电话。SIP REGISTER更新和OPTIONS消息用于探测结点失败。当一个超级结点关闭或者失败,注册被发送到DHT中的其他适当的超级结点。其他的SIP功能例如第三方呼叫控制和呼叫传输可以用相同的方法实现。媒介路径(音频设备,编解码器和传输)独立于P2P-SIP操作。
一些分布式哈希表允许对多端点并行搜索,不像Chord中的顺序搜索。在这种情况下超级结点可以担当背靠背用户代理并向邻居端点传播SIP消息。然而,除非是像美国的911这种紧急呼叫路由的情况,应该避免并行搜索以免网络中发生泛洪。
在实际的实施中允许多种P2P-SIP网络(分布式哈希表)相互连接是非常有用的。我们的混合结构允许P2P-SIP网络群和基于服务器的SIP结构共存。 有两种方法:将一个网络中所有的用户与所有其他网络交互注册或者在呼叫建立的过程中在其余的网络中定位用户。前一种方法工作在少量的已知的P2P- SIP网络。后一种方法可以使用一个像DNS这样的全局命名服务器或层次化的P2P-SIP网络实现。第一种情况,每一个P2P-SIP网络用一个域名表示。这与基于服务器的SIP网络是没有区别的,域名在那个网络中解析一个或多个自举结点[4]。第二种情况,用P2P-SIP代替DNS来解析域名。例如,单独的大的组织可以有本地P2P-SIP网络与全局(公共)P2P-SIP网络连接。本地特定域的DHT有典型的服务结点,这些结点在全局DHT中也是可达的。
混合结构允许用户在她的提供者可用的情况下用她的提供者注册,也可以用P2P-SIP网络。呼叫建立在可以用DNS解析时被发送到SIP目的地,同样也可以用P2P-SIP网络。
设计和实现
命名
结点和用户标识符是用SIP通用资源标志符(URI)表示的。例如,如果一个结点在传输地址192.1.2.3:8054上监听SIP消息并且Chord 的哈希函数给出的键值是17,结点的URI就是sip:17@192.1.2.3:8054。域example.com中的一个不知道传输地址的结点标识符或键值(例如10)表示为sip:10@example.com。每一个局部的P2P-SIP网络用一个DNS域名表示,example.invalid用于没有域的键,例如全局DHT中的键。这样的结点标识符对于DHT的维护是有用的,例如,查询另外一个结点的传输地址来成为这个结点的指针表的入口。
用户标识符可以由系统随机分配,或由用户选择一个鉴定名(如,alice172@sippeer.net)或者用户选择她的有效email地址(如alice@example.com)。前两种方法允许用户选择密码,但是不清楚P2P结点怎样从用户那里得到密码。我们使用最后一种方法,因为它允许系统产生一个随机密码并email给用户用作验证。前两种方法,如果密码由系统随机产生并且SIP REGISTER请求消息的连接头里有email地址,,密码可以发给用户。
认证
当一个用户第一次登陆P2P-SIP网络时,我们需要验证用户的标识符是有效的并且确实属于该用户。没有公共密钥结构(PKI),系统可以产生一个新的密码并用email发送给用户。这个密码在后来的拨入当中用于注册验证。可以使用一个可用的生存时间,比如一个月。当用户随后再登陆时这些信息被刷新。
SIP消息
SIP REGISTER消息被结点既用于用户注册也用于DHT的维护。用户注册消息类似于基于服务器的注册,To头表示用户标识符,Contact头表示用户的联系位置。
结点将SIP REGISTER消息用于两种情况:查询和更新。如果消息中有Contact头,则是更新请求表示发送者想更新To头中用户标识符的绑定;否则就是一个查询请求,发送者请求获得To头中用户标识符的Contact信息;在一个P2P-SIP结点的Chord网络中结点的Contact信息包括它自己的传输地址,后继结点地址和前导结点地址。
DHT发现和加入
结点发送SIP REGISTER消息使用sip:224.0.1.75(SIP REGISTER组播IPv4地址)作为请求URI ,To头作为本地结点标识符来发现本地网络中的其他P2P-SIP端点。也可以使用像服务定位协议(SLP)和预配置的自举结点地址这样的额外机制。结点存储发现的端点地址列表用于以后的重新启动。
一旦结点发现一个端点,它通过发送一个以To头作为此结点标识符的SIP REGISTER查询给那个端点加入DHT。成功的应答包括现存的DHT中的此结点的后继和前导,结点可以用来更新它的Chord数据结构。
结点一旦知道它在Chord环里的邻居,就向它们(后继和前导)发送SIP REGISTER更新,这样就可以更新它们的数据结构。
Chord的稳定性是通过周期性的发送SIP REGISTER消息更新后继和前导的数据结构以及查询指针表入口以校验本地数据结构来实现的。
SIP消息路由
Chord里的每个结点对基于它在Chord环里的位置的键空间的一个子集负责。当结点收到一个SIP请求,它提取出目标键作为REGISTER请求的 To头URI和其他任何请求的请求URI。对REGISTER请求,如果目的键值属于这个结点的键空间,则这个结点应该是目的键的登记者。如果这个键的用户记录存在,则发送一个成功的应答,否则就发送一个失败的应答。成功的应答包含用户的连接位置或结点联系(本地传输地址,后继和前导地址)分别用于用户或结点注册。如果结点收到一个非REGISTER请求,它为目标用户提供代理或将请求重定向到可用的用户连接位置。如果目标键值不属于这个结点的键空间,则请求被代理到基于Chord算法和数据结构的下一跳结点。
可靠性
Chord通过存储㏒(N)个后继地址以及在K(常量)个成功的后继结点中复制键来提供结点失败时的可靠性。在P2P-SIP中,结点更新应答包含所有㏒(N)后继地址,并且用户注册信息被复制到K个后继结点中。
当一个结点有序地离开网络时,它会注销它的后继和前导以便他们可以更新Chord数据结构。并把所有的注册转移到它的后继。当一个结点异常地失败时,它的后继和前导发现这个失败并且更新他们的数据结构。算法的稳定性保证了信息能够在一段时间内传播到Chord中的其他相应的结点。
注册信息由结点A传到结点B,如果结点B信任结点A就可以鉴定结点A,否则结点B重新生成一个密码并发送给用户的email地址。一旦我们拥有一个P2P名誉系统,DHT中将只存在可信任的结点。如果注册结点是恶意的则问题仍然存在,而且可能造成拒绝服务攻击(DoS)。
存储用户注册信息的P2P-SIP结点也代理到那个用户的呼叫请求。一旦呼叫建立完成,呼叫路径中就不再需要P2P-SIP结点。
现存SIP电话的适配器
一个SIP用户代理商可以将P2P-SIP结点当作是输出代理参与P2P-SIP网络。用各种各样的SIP用户代理商,例如哥伦比亚大学的sipc、思科 IP phone 7960、Pingtel IP phone、Xten Network的X-Lite client v2.0和Microsoft Windows Messenger,测试了P2P-SIP适配器SIPPEER。
一些电话不像SIP规范[1]中说的输出代理应该被当作预装载的路由集那样执行输出代理。实际上,如果输出代理不记录路由最初的INVITE请求,则后来的对话中的请求(例BYE)不应该发送给代理。假定sipc用户alice@example.com 使用P2P-SIP邀请思科phone用户bob@example.com。呼叫后,bob挂断。思科phone发送BYE请求给输出代理(P2P- SIP结点)但是请求URI包含alice@pc2.examole:5060。因为这个URI可能没有在P2P-SIP网络中注册,P2P-SIP结点可能不能代理请求,这将引起DHT查找失败。在SIPPEER中通过在这种情况下代理请求到请求URI代替DHT查找来解决这个问题。
我们提出了纯P2P结构的SIP电话。除了与现存的SIP结构的互操作性,这个结构还提供了可靠性和P2P系统固有的扩展性。今后还需要在像使用P2P的大规模应用层组播会议这样的高级服务方面以及像认证和计费之类的与PSTN协同工作的相关因素方面做更多的研究。
联系我们
028-83110277
IP电话机、视频电话机供应商
手机:
成都世讯电科信息技术有限公司是一家多媒体融合通信解决方案及运营服务提供商,公司专注于为广大用户提供简单高效的通信产品和真正符合行业用户需求的行业应用解决方案,让用户享受到个性化、私密性强又具开放性、兼容性强又易于管理的高科技服务,帮助用户实现办公及运营通信的现代化与网络信息化。
公司拥专注于IP多媒体解决方案的应用与实施,有IP多媒体通信系统(IPBX)、IP多媒体通信平台定制与搭建(运营、对讲广播、门禁、调度、音视频会议及与视频监控交互式应用等)、IP电话机、视频电话机、项目租赁、云通信及系统集成等服务。
电话:028-83110277
Q Q:86313858