第一篇:SIP优势总结
SIP优势总结
1、自动回呼功能。
启用该功能后,如果您呼叫的对象没有接听到电话,系统会记录下此次呼叫,一旦对方使用了VOIP电话,系统就会判定该对象已经回来并向双方的电话发起振铃,摘机后就可以建立通话。该功能解决了中国人不爱使用电话留言功能的问题。
2、语音点播功能。
说明如下:
1、将重要文件或通知录制成文件存放在VOIP系统中并挂接上特殊的号码,用户只要拨打该号码并输入密码验证,就可以收听录音;
2、如果企业有常用的培训录音,也可以放在系统中,用户拨打培训电话号码,就可以远程反复收听培训录音了;
3、对于紧急重要的通知,也可以通过系统制作录音,并通过群呼的方式向所有VOIP话机呼叫。
3、企业统一通信录应用。
公司内部网页可集成“企业统一通信录”,其中包含各部门员工通信录名片,甚至合作单位通信录名片,通讯录名片可以链接多个用户号码(如VOIP分机号码、普通固定电话号码、移动手机号码等)。
员工上班时以专有用户身份登录系统,除了可以查询公共通讯录外,还可以建立自己私人的通讯录。员工需要电话呼叫同事或客户时,只需要在“企业统一通信录”上找出呼叫对象,点击后,双方听到电话振铃后摘机便可开始对话。
该应用革新了企业的通信管理概念,避免了传统电话通信中找号码、拨电话的麻烦,解决了企业传统通信录在更新、管理过程中容易泄密的问题。
4、邮件自动呼叫应用
将企业的邮件系统集成自动呼叫功能,员工在阅读邮件的时候,只需点击邮件相关人员,系统就可在该员工和相关人员之间建立语音连接,甚至可同时连接多方电话,组成电话会议共同讨论邮件内容。
该应用的显著特点是提高业务处理效率。员工不必翻查通信录,直接点击相关联系人即可快速解决问题。
5、电话会议应用。
系统提供基于Web的电话会议系统,该系统以功能模块方式集成在软交换服务器中,不需要额外添加电话会议设备。
利用此套电话会议系统可方便的召开跨部门、跨地区会议,而无需占用会议室、无需长途旅行费用开支、无需向运营商支付通讯费用。
此外,针对黑龙江人寿目前应用的PLOYCOM和AVCON视频会议系统,VOIP通信系统也可以通过三种方式实现其价值:
第一种,由于PLOYCOM能够提供模拟接口,所以VOIP系统可通过语音网关的模拟接口与之对接,作为VOIP系统的任何一部分机都可以加入视频会议系统(只有语音);
第二种,通过PLOYCOM和AVCON视频会议系统的媒体服务器所提供的标准H.323协议,与VOIP系统互联也可加入视频会议系统(只有语音)。
第三种,由于视频会议系统价格昂贵,在部署时只是有针对性的部署在重点地市。而相对来讲VOIP通信系统所提供的电话会议成本低、部署广,可以作为视频电话会议系统的一个有效补充。
6、网络安全。
1、号码认证体系。我们的系统提供了严格的号码认证体系,除了针对用户名、密码进行认证外,还可以针对对方的IP地址进行认证。
2、加密体系。我们的系统有一套非常完善的加密措施来保证通话安全。
3、跨网间通话质量保证。我们的系统有措施确保在不同网络运营商之间通话质量良好。
7、电话录音功能。
保险行业通常有一些业务是需要录音的,比如电话回访,目的是保证回访员的工作质量;此外对于一些催款部门,电话录音也可以作为催款参考凭据。我们的系统可以方便实现这种应用,软交换服务器录音后可保存当本地硬盘。服务器上安装数据库工具,可以实现对录音文件的查询管理。如果录音文件过大,还可以设置定期将录音文件传送到公司其它存储设备上。
8、“帮助单系统”自动呼叫应用。
给IT部门的“帮助单系统”集成自动呼叫功能,当IT部门员工收到“帮助请求单”后,可以直接点击帮助请求人,系统将自动呼叫并接通对方电话。
9、IT部门专用Call Center 该应用利用软交换服务器集成的多级可编程IVR功能,可以把企业IT应用系统的故障帮助请求分门别类,分别引导;企业员工只需要拨打IT部门公布的服务号码(VOIP号码),其呼叫请求即被引导、转接到合适的IT服务坐席或语音录音。通过“IT部门专用Call Center”应用,可以将各地市人寿分公司的IT部门员工都纳入到统一的服务体系,实现多中心联网服务,形成网络服务的优势。
该应用无需特别的设备投资,却可以充分利用各地区的IT人力资源,给企业创造更多的服务价值,体现IT部门高效、完美的服务形象。
此外,我们系统即将推出高智能终端,可以通过液晶触摸屏实现通讯录查找、自动呼叫、电话录音等功能。这些功能在H323系统中是不容易实现的。
第二篇:SIP协议描述
SIP协议描述
一、SIP协议的背景和功能
SIP(会话初始协议)的开发目的是用来帮助提供跨越因特网的高级电话业务。因特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现而需要的NGN(下一代网络)系列协议中重要的一员。
SIP是IETF标准进程的一部分,它是在诸如SMTP(简单邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。它用来建立,改变和终止基于IP网络的用户间的呼叫。为了提供电话业务它还需要结合不同的标准和协议:特别是需要确保传输(RTP),与当前电话网络的信令互连,能够确保语音质量(RSVP),能够提供目录(LDAP),能够鉴权用户(RADIUS)等等。
SIP被描述为用来生成,修改和终结一个或多个参与者之间的会话。这些会话包括因特网多媒体会议,因特网(或任何IP网络)电话呼叫和多媒体发布。会话中的成员能够通过多播或单播联系的网络来通信。SIP支持会话描述,它允许参与者在一组兼容媒体类型上达成一致。它同时通过代理和重定向请求到用户当前位置来支持用户移动性。SIP不与任何特定的会议控制协议捆绑。
本质上,SIP提供以下功能:
名字翻译和用户定位:无论被呼叫方在哪里都确保呼叫达到被叫方。执行任何描述信息到定位信息的映射。确保呼叫(会话)的本质细节被支持。
特征协商:它允许与呼叫有关的组(这可以是多方呼叫)在支持的特征上达成一致(注意:不是所有方都能够支持相同级别的特征)。例如视频可以或不可以被支持。总之,存在很多需要协商的范围。
呼叫参与者管理:呼叫中参与者能够引入其它用户加入呼叫或取消到其它用户的连接。此外,用户可以被转移或置为呼叫保持。
呼叫特征改变:用户应该能够改变呼叫过程中的呼叫特征。例如,一呼叫可以被设置为“voice-only”,但是在呼叫过程中,用户可以需要开启视频功能。也就是说一个加入呼叫的第三方为了加入该呼叫可以开启不同的特征。
二、SIP网络元素
SIP中有两个要素。SIP用户代理和SIP网络服务器。用户代理是呼叫的终端系统元素,而SIP服务器是处理与多个呼叫相关联信令的网络设备。
用户代理本身具有一客户机元素(用户代理客户机UAC)和一服务器元素(用户代理服务器UAS)。客户机元素初始呼叫而服务器元素应答呼叫。这允许点到点的呼叫通过客户机-服务器协议来完成。SIP服务器元素提供多种类型的服务器。有三种服务器形式存在于网络中--SIP有状态代理服务器,SIP无状态代理服务器和SIP重定向服务器。由于呼叫者未必知道被呼叫方的IP地址或主机名,SIP服务器的主要功能是提供名字解析和用户定位。可以获得的是email形式的地址或与被呼叫方关联的电话号码。使用该信息,呼叫者的用户代理能够确定特定服务器来解析地址信息--这可能涉及网络中很多服务器。
SIP代理服务器接收请求,决定将这些请求传送到何处,并且将它们传送到下一服务器(使用下一跳路由原理)。在网络中可以有多跳。
有状态和无状态代理服务器的区别是有状态代理服务器记住它接收的入请求,以及回送的响应和它转送的出请求。无状态代理服务器一旦转送请求后就忘记所有的信息。这允许有状态代理服务器生成请求以并行地尝试多个可能的用户位置并且送回最好的响应。无状态代理服务器可能是最快的,并且是SIP结构的骨干。有状态代理服务器可能是离用户代理最近的本地设备,它控制用户域并且是应用服务的主要平台。
重定向服务器接收请求,但不是将这些请求传递给下一服务器而是向呼叫者发送响应以指示被呼叫用户的地址。这使得呼叫者可以直接联系在下一服务器上被呼叫方的地址。
三、SIP协议的实现机制
SIP是一个分层结构的协议,这意味着它的行为根据一组平等独立的处理阶段来描述,每一阶段之间只是松耦合。协议分层描述是为了表达,从而允许功能的描述可在一个部分跨越几个元素。它不指定任何方式的实现。当我们说某元素包含某层,我们是指它顺从该层定义的规则集。
不是协议规定的每个元素都包含各层。而且,由SIP规定的元素是逻辑元素,不是物理元素。一个物理实现可以选择作为不同的逻辑元素,甚至可能在一个个事务的基础上。
SIP的最底层是语法和编码。它的编码使用增强Backus-Nayr形式语法(BNF)来规定。
第二层是传输层。它定义了网络上一个客户机如何发送请求和接收响应以及一个服务器如何接收请求和发送响应。所有的SIP元素包含传输层。
第三层是事务层。事务是SIP的基本元素。一个事务是由客户机事务发送给服务器事务的请求(使用传输层),以及对应该请求的从服务器事务发送回客户机的所有响应组成。事务层处理应用层重传,匹配响应到请求,以及应用层超时。任何用户代理客户机(UAC)完成的任务使用一组事务产生。用户代理包含一个事务层,有状态的代理也有。无状态的代理不包含事务层。事务层具有客户机组成部分(称为客户机事务)和服务器组成部分(称为服务器事务),每个代表有限的状态机,它被构造来处理特定的请求。
事务层之上的层称为事务用户(TU)。每个SIP实体,除了无状态代理,都是事务用户。当一个TU希望发送请求,它生成一个客户机事务实例并且向它传递请求和IP地址,端口,和用来发送请求的传输机制。一个TU生成客户机事务也能够删除它。当客户机取消一个事务时,它请求服务器停止进一步的处理,将状态恢复到事务初始化之前,并且生成特定的错误响应到该事务。这由CANCEL请求完成,它构成自己的事务,但涉及要取消的事务。
SIP通过EMAIL形式的地址来标明用户地址。每一用户通过一等级化的URL来标识,它通过诸如用户电话号码或主机名等元素来构造(例如:SIP:usercompany.com)。因为它与EMAIL地址的相似性,SIP URLs容易于用户的EMAIL地址关联。
SIP提供它自己的可靠性机制从而独立于分组层,并且只需不可靠的数据包服务即可。SIP可典型地用于UDP或TCP之上。
SIP提供必要的协议机制以保证终端系统和代理服务器提供以下业务:
● 用户定位
● 用户能力
● 用户可用性
● 呼叫建立
● 呼叫处理
● 呼叫前转,包括:(1)等效800类型的呼叫,(2)无应答呼叫前转,(3)遇忙呼叫前转,(4)无条件呼叫前转
● 呼叫号码传递,该号码可以是任何命名机制。
● 个人移动性,例如通过一个单一的、位置无关的地址来到达被呼叫方,即使被呼叫方改变了终端。
● 终端类型的协商和选择:呼叫者可以给出选择如何到达对方,例如通过因特网电话,移动电话或应答业务等。
● 终端能力协商
● 呼叫者和被呼叫者鉴权
● 不知情和指导式的呼叫转移
● 多播会议的邀请
当一用户希望呼叫另一用户,呼叫者用INVITE请求初始呼叫,请求包含足够的信息用以被呼叫方参与会话。如果客户机知道另一方的位置它能够直接将请求发送到另一方的IP地址。如果不知道,客户机将请求发送到本地配置的SIP网络服务器。如果服务器是代理服务器它将解析被呼叫用户的位置并且将请求发送给它们。有很多方法完成上步,例如搜索DNS或访问数据库。服务器也可以是重定向服务器,它可以返回被呼叫用户的位置到呼叫客户机用以它直接与用户联系。在定位用户的过程中,SIP网络服务器当然能够代理或重定向呼叫到其它的服务器,直到到达一个明确地知道被呼叫用户IP地址的服务器。
一旦发现用户地址,请求就发送给该用户,此时将产生几种选择。在最简单的情况,用户电话客户机接收请求——也就是,用户的电话振铃。如果用户接受呼叫,客户机用客户机软件的指定能力响应请求并且建立连接。如果用户拒绝呼叫,会话将被重定向到语音邮箱服务器或另一用户。“指定能力”参照用户想启用的功能。例如,客户机软件可以支持视频会议,但用户只想使用音频会议,那则只会启用音频功能。
SIP还具有另外两个有重要意义的特征。第一个是有状态SIP代理服务器具有分割入呼叫或复制入呼叫的能力,从而可以同时运行几个扩展分支。第一个应答的分支接受呼叫。该特征在用户工作在两位置之间(例如实验室和办公室)或者同时对经理和其秘书振铃时是非常便利的。
第二个特征是SIP独特的返回不同媒体类型的能力。举个用户联系公司的例子。当SIP服务器接收到客户机的连接请求,它能够通过WEB交互式语音响应页面来返回到顾客的客户机,该页面具有可获得的部门分支或提供在列表上的用户。点击适当的链接后将发送一请求到所点击选择的用户从而建立起呼叫。
四、SIP消息的组成
有两种类型的SIP消息:
● 请求:从客户机发到服务器
● 响应:从服务器发到客户机
SIP请求消息包含三个元素:请求行、头、消息体。
SIP响应消息包含三个元素:状态行、头、消息体。
请求行和头域根据业务、地址和协议特征定义了呼叫的本质,消息体独立于SIP协议并且可包含任何内容。
SIP定义了下述方法:
INVITE——邀请用户加入呼叫。
BYE——终止一呼叫上的两个用户之间的呼叫。
OPTIONS——请求关于服务器能力的信息。
ACK——确认客户机已经接收到对INVITE的最终响应。
REGISTER——提供地址解析的映射,让服务器知道其它用户的位置。
INFO——用于会话中信令。
五、结束语
SIP协议凭借其简单、易于扩展、便于实现等诸多优点越来越得到业界的青睐,它正逐步成为NGN(下一代网络)和3G多媒体子系统域中的重要协议,并且市场上出现越来越多的支持SIP的客户端软件和智能多媒体终端,以及用SIP协议实现的服务器和软交换设备。虽然SIP协议目前还不成熟,但可以预见SIP必定是将来网络多媒体通信中的明星。
第三篇:SIP点滴工作经验和教训总结
(2013-09-10)3650SHHXHelbakoNingbo Huaxiang ElectronicCo.LtdBillliu)
今天帮bill liu做很简单的tender submission receipt,为下午的开标会议做准备,一共四家总包,被邀请投标,其实这个receipt是个很简单的事情,但是今天做的很不好,主要体现在1,字体格式要统一,整体协调。
2、office办公操作需要加快速度和准确性。
3、做receipt时对contactor的资料阅读不仔细,把投标人的缩写写错,以后一定要加强相关资料的阅读能力,做到耐心细心,胆大心细。
4、对word中页脚的修改也是个大问题今天,自己只是在在页面内修改,保存后又恢复原来样子,应该另存修改文件名,然后再页脚处更新。
5、时间表示错误,下午一点半写成13:30pm,pm只适用于十二小时制,所以应该为1:30pm。好糟糕的一天,必须吸取教训。
文件扫描:流程性操作,及时没用过,只要按步骤来很简单的,要增强新事物的动手能力。
(2013-09-11)3650 SHHXHelbakoGC tenderproject teamand organizations)
今天做的这个team and organization 其实就是信息的汇总整合和分析,本身难度不大,但是对投标者的标书的内容理解要透彻,专业,分析需要客观,并且需要渗透到标书内容的精髓,分辨出施工单位的质量,这个需要有专业性的素质,尤其是对施工单位的组织结构的理解要透彻。
(2013-09-12)3650 SHHXHelbako
今天好囧,word中cell插入多条斜线头一开始竟然不会,由于版本问题,这个word表格菜单下没有插入多条斜线头的按钮,用画图的直线用具只能画一条,最后得出只能用insert中的shape中的line命令,这些都是很简单也最常用的,其实在一个正规的外企中办公,office,ps,autocad等软件的娴熟运用是最好的能展现职业能力和素养的方式,工程经验和知识的展现需要一个长期的on-going的积累过程,但是这些职业能力将直接展现你的办公效率,昨天帮bill做那个tender submission receipt 出现的那么多错误,给别人的印象真的比较差,这个是个警示,希望利用周末时间要快速的提高,这个是基础,也将主导人脉和工作事物的资源导向性,好好把握,像张辉哥哥说的那样,可以犯错但是同样的错误绝对不犯第二次,bill liu那个submission receipt犯了四次,真的要好好反思。
第四篇:品质SIP定义
制作SIP的重点及注意事项
1.什么是SIP?
SIP是STANDARD INSPECTION PROCEDURE 是缩写,翻译成中文检验标准指导书,是为确保产品的性能,寿命、可靠性、安全性、经济性,尺寸和外观是否满足明确和隐含要求而制定的一个准则。
2.分类
检验标准一般分为内部检验标准和外部检验标准,外部检验标准又可分为客户检验标准和行业检验标准。
3.检验标准的定义
a. 保证产品质量的一致性。b. 为公司节约成本。c. 减少社会资源浪费。d. 方便客户寻找替代品。
e. 为检验员判断产品某一特性是否合格提供依据。
4.检验标准书包括的项目
4.1基本项目:
公司名称,文件名称,发行日期,发行版本,文件编号,产品名称,产品料号,检验工程站别名称,检验项目,检验标准,检验方法,检验环境和设施,检验频率,制定者,审核人。
5.重要项目说明
a. 产品名称,产品料号,文件编号一方面为了查找,另一方面区别与其他产品,相当于一种产品的代号。
b. 检验方法包括目视、量测、实验。其中量测和实验是借用二次元投影机,厚薄规推拉力计等仪器设备来完成检验。
c. 使用表单通常是检验者记录检验结果的表单,记录内容包括:产品名称、规格、批量、编号、使用仪器、设备、检验时间、检验人、检验结果数据、检验结果。
d. 检验频率是指对总样本数抽多少的一个比率或间隔多长时间抽取一定的样本数。
e. 严重度分危害,严重,轻微。危害指对人的生命安全造成一定影响;严重指完全或部分影响使用,轻微指不会影响使用,但存在一些瑕疵使客户的满意度降低。
f. 制定栏目填写制定此SIP的品质工程师自己的名字,审核和核准栏目为品质部门的主管填写。
g. 尺寸是客户对某一产品的长度,宽度,弧度等特性的要求,其检验标准栏填写客户要求这些特性和允许的公差。
6.如何制作一份完整的SIP? 6.1.如何识别产品的质量特性中的固有特性和不合格特性? 产品的质量特性分为固有特性和不合格特性。固有特性指客户在外观,结构,性能,可靠度等方面可区分的要求,及制造过程中不可避免的特征,比如产品某些位置的凹凸,不连续,产品组合后的间隙等都属于质量特性中的固有特性。不合格特性是指制造过程中某些不可避免的特征超出规定要求和产品上增加了其他物质,包括脏污、杂色、刮伤、间隙过大等属于此类。
识别方法:前后制程对比,与样品对比,产品互相比较,与检验标准对比,组装后结构后功能是否正常,了解所有制程的控制特性及相关的品质特性,新产品开发阶段,或试产一种从未接触的新产品,在没有标准和样品提供的前提下,了解所有制程的检验特性及相关的品质特性至关重要。
6.2.了解客户要求
每种产品有其独自应具备的特性,并且不同的产品出于不同的使用环境和用途其具备的特性也不尽相同。比如一个水杯是用来装水,因而必须具备不漏水的特性;一部手机的显示屏是用于查阅,储存信息,消费者对屏幕的关注度特别高,因而手机的显示屏的外观要求特别高,不允许刮伤、污点之类的缺陷。只有认真去了解客户和消费者的使用环境,相应的品质标准也就可以制定出来,当然不同层次的消费群体对产品的要求也会有差异,一般老百姓关注的是所买的产品能否用,价格是否便宜,而那种生活品味相对有点高的消费群体不仅注重性能,还要在外观上看着舒服。但不论哪种消费群体,他们都会关注所买的产品是否能够使用,通过这么了解识别可制定通用的检查项目和应客户群体同所制定的特需检验项目。
6.3.检验标准的要求
a.尽量量化,对于边界清晰,有一定的面积的缺陷用尺寸数据描述。
b.必须含盖客户所有的明确或潜在的要求,获得要求常用的方式是客户提供的检验标准。c.某些特殊检验项目无法量化,通常用签限度样板的方式弥补,作为检验的标准。
d.同样的缺陷,在不同强度的光源,视距,角度下其看到的结果不一样,因而必须把这些检验方法标准化。
7.注意事项
a.了解公司制程和客户端制程,若有必要,通过一定的途径了解终端客户的使用环境。b.了解公司每个制程会出现的问题点及客户最关心的问题点。任何客户最关心的问题点通常是能否使用,因而对影响使用的关键项目必须重点管控。比如:产品的某些位置有毛边干涉了组装,这种毛边就是重点管控的项目。不同产品,不同位置的管控重点不一样,因而必须了解后续制程。
c.检验项目和标准的描述应该即专业又通俗易懂,对于用文字描述无法说清楚的地方可附加图片补充说明。比如有些产品分A,B,C几面管控,B,C面都是侧面,只是位置不同而已,此种情形用附图说明的方式比较好。
d.一个公司同一时期内的标准指导书格式和排版必须保持一致,字体风格和大小必须保持一致。
e.在制作SIP过程中切忌照搬COPY,这种方法很容易出现制作的内容与实际产品不符,若想节约时间,可先把有用的内容用不同的字体颜色标出来再进行COPY。便于识别哪些是有用于目前产品的标准,假如在一份SIP中修改成需要的SIP,先把不需要的内容删除,修改需要的部分用不同颜色做记号区分。
f.当相连项目的内容一样时可做合并,整个SIP的排版看起来会显得美观。g.在设定检验频率时首先单个产品的所需工时及检验员的工作量,频率过低的抽检起不到对产品品质状况的有效掌控。频率过高的抽检会超出检验员的负荷,达不到指导的目的。h.为确保每份SIP的格式一样,先确定每个项目内容所需要的空间,然后设定好页边距及内部格式,设定好的格式必须锁定保存,不要随意改动。当做第二份SIP时可直接COPY此份SIP的格式。
i.当做完一份SIP后,不要盲目打印,格式是否符合要求以打印预览中看到的效果为准。与样品对比是否能一眼看出差异,了解哪些面是用户经常看到的面,了解影响程度,了解送给客户产品的样品。
制定:
第五篇:几种方式解决SIP穿越NAT总结[范文模版]
SIP穿越NAT的几种方式
多媒体会话信令协议是在准备建立媒体流传输的代理之间交换信息的协议,媒体流与信令流截然不同,它们所采用的网络通道也不一致。由于协议自身设计上的原因,使得媒体流无法直接穿透网络地址转换/防火墙(NAT/Firewall)。因为它们生存期的目标只是为了建立一个在信息中携带IP地址的分组流,这在遇到NAT/Firewall 时会带来许多问题。而且这些协议的目标是通过建立P2P(Peer to Peer)媒体流以减小时延,而协议本身很多方面却与NAT存在兼容性问题,这也是穿透 NAT/Firewall的困难所在。而NAT仍是解决当前公用IP地址紧缺和网络安全问题的最有力手段,所以解决NAT穿越成为首要问题。
以SIP通信为例,呼叫建立和媒体通信的建立是依赖SIP消息首部和SDP消息所描述的地址和端口信息进行的,呼叫双方分别在内网和外网上,内网是通过NAT设备连接到外网,由于NAT设备工作在IP和TCP/UDP层,所以它不对SDP等应用层数据进行NAT变换,因此会造成寻址失败,从而导致呼叫无法正常建立。另外,VOIP设备的主要通信协议(如SIP和H.323)要求终端之间使用IP地址和端口号来建立端到端的数据侦听外来的呼叫,而防火墙却通常被配置阻止任何不请自到的数据分组通过。需要网络管理者打开防火墙上的一个端口来接收呼叫建立数据分组,例如5060端口(SIP的通信端口),但IP语音和视频通信协议还要求打开许多别的端口接收呼叫控制信息来建立语音和视频通信,这些端口号事先并不知道,是动态分配的,也就是说网络管理者为了允许语音和视频通信将不得不打开防火墙上所有的端口,防火墙就失去了存在的意义。所以当前的问题还有需要解决监听端口的问题。如下图SIP呼叫不成功示意图
分析: d:211.83.100.100:23766 s:192.168.1.166:1010 2 d:211.83.100.100:23766 s:211.83.100.166:9993 3.d:211.83.100.166:9993 s:211.83.100.100:23766 4.d:192.168.1.166:1010 s:211.83.100.100:23766 5.d:211.83.100.110:23788 s:211.83.100.100:2020 6.d:211.83.100.100:3399 s:211.83.100.110:23788 7.d:211.83.100.166:9993 s:211.83.100.100:23766 8.d:192.168.1.166:1010 s:211.83.100.100:23766 9.d:211.83.100.100:3399 s:211.83.100.110:23788 10.d:211.83.100.166:9993 s:211.83.100.100:23766 11.d:192.168.1.166:1010 s:211.83.100.100:23766 12.d:211.83.100.110:23788 s:192.168.1.166:1010 d:211.83.100.110:23788 s:211.83.100.166:9993
13.d:192.168.1.166 s:211.83.100.110:23788 A对B invite 时在SDP中带上了RTP协商的端口和私网IP,B回复200OK时告知RTP时的端口和私网地址,B收到A的RTP包后回复,因为RTP包记录是私网地址,所以RTP包被丢弃。
目前主流的几种解决方式有ALG、STUN、TURN、ICE,我们分别来介绍它们的工作原理及工作流程。1.ALG
1.1工作原理
ALG是指能识别特定应用层协议(如SIP、H.323或MGCP协议)的防火墙。它不是简单地查看分组首部信息来解决数据分组是否可以通过,而是更深层地分析负载内容的数据,也就是应用层的数据。SIP和H.323协议都在负载中放了重要的控制信息。通过分析哪一个端口需要打开。防火墙动态的打开那些被应用的端口,而所有别的端口依然安全地保持关闭状态。ALG是支持VOIP应用最简单的一种方式,但该方案的缺点非常明显:每增加一种新的应用都将需要对 NAT/Firewall进行升级。在安全要求上还需要作一些折衷,因为ALG 不能识别加密后的报文内容,所以必须保证报文采用明文传送,这使得报文在公网中传送时有很大的安全隐患。SIP响应消息用于对请求消息进行响应,指示呼叫或注册的成功或失败状态。在请求与响应报文中需要进行ALG处理的地址字段类型主要有:Via、Record_Route、Contact、SDP。ALG处理流程为如下三个步骤:
首先,ALG根据会话标识的协议类型对报文进行解码,若解码发现报文为不需要做ALG或解码发现为错误字段时退出,解码发现需进行字段转换时进一步处理;其次,ALG查找接口上的NAT配置,根据NAT配置转换报文中的IP地址、端口、call-id等信息并建立关联表,关联表记录了载荷地址的转换关系;最后,ALG调整报文载荷中的长度字段,如sip message header的content-length字段标识message body的长度,ALG对message body中的地址转换后,message body长度可能变化,content-length字段值需要置为变化后的值。1.2工作流程示意图
分析: d:211.83.100.100:23766 s:192.168.1.166:1010 2 d:211.83.100.100:23766 s:211.83.100.166:9993 9.d:211.83.100.166:9993 s:211.83.100.100:23766 10.d:192.168.1.166:1010 s:211.83.100.100:23766 11.d:211.83.100.110:23788 s:211.83.100.100:2020 12.d:211.83.100.100:3399 s:211.83.100.110:23788 13.d:211.83.100.166:9993 s:211.83.100.100:23766 14.d:192.168.1.166:1010 s:211.83.100.100:23766 9.d:211.83.100.100:3399 s:211.83.100.110:23788 10.d:211.83.100.166:9993 s:211.83.100.100:23766 11.d:192.168.1.166:1010 s:211.83.100.100:23766 12.d:211.83.100.110:23788 s:192.168.1.166:1010 d:211.83.100.110:23788 s:211.83.100.166:9993 ALG NAT对A发给B的RTP包中的内容进行解码,发现私网地址就转换为公网IP,并做映射建立关联表,最后调整报文载荷中的长度字段。13.d:211.83.100.166:9993 s:211.83.100.110:23788 A对B invite 时在SDP中带上了RTP协商的端口和私网IP,B回复200OK时告知RTP时的端口和私网地址,B收到A的RTP包是经过ALG NAT修改后的数据包,就知道目的地址发给211.83.100.166:9993 14.d:192.168.1.166:1010 s:211.83.100.166:9993
2.STUN 2.1工作原理
STUN的全称是Simple Traversal of UDP Through NAT,即UDP对NAT的简单穿越方式。是一种网络协议它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT 路由器之后的主机之间建立UDP通信。该协议由RFC 3489定义。
1)应用程序(即STUN CLIENT)向NAT外的STUN SERVER通过UDP发送请求STUN 消息询问自身的转换后地址,2)STUN SERVER收到请求消息,产生响应消息,响应消息中携带请求消息的源端口,即STUN CLIENT在NAT上对应的外部端口。响应消息通过NAT发送给STUN CLIENT,3)STUN CLIENT通过响应消息体中的内容得知其在NAT上对应的外部地址,并且将其填入以后呼叫协议的UDP负载中,告知对端,同时还可以在终端注册时直接注册这个转换后的公有IP地址,这样就解决SIP穿越NAT的通信建立问题以及作为被叫时的问题。
4)本端的接收地址和端口号为NAT外的地址和端口号。由于通过STUN协议已在NAT上预先建立媒体流的NAT映射表项,故媒体流可顺利穿越NAT。2.2网络结构图
2.3工作流程示意图
A:192.168.0.10
A NAT:192.168.1.1
211.83.100.100 STUN SERVER:211.83.100.110 B:192.168.11.11 B NAT:192.168.11.1
211.83.100.120 分析: d:211.83.100.110:1111 s:192.168.0.10:1010 2 d:211.83.100.110:1111 s:211.83.100.100:2020 3 d:211.83.100.100:2020 s:211.83.100.100:2020 4 d:192.168.0.10:1010 s:211.83.100.100:2020 5 d:211.83.100.120:2222 s:192.168.11.11:3030 6 d:211.83.100.120:2222 s:211.83.100.120:4040 7 d:211.83.100.120:4040 s:211.83.100.120:2222 8 d:192.168.11.11:3030 s:211.83.100.120:2222 A与B接收到STUN的响应消息就得到信令和媒体流在NAT上的映射地址,并将这些地址写到SIP消息中的Via,Contact字段以及SDP中的媒体流传送地址,代替原有的私网地址。如A的SDP带的端口为10000,B的SDP带的端口为20000,A、B相互告知对端它的端口,最后终端注册时直接用这个转换后的公有IP地址注册。所以端口10000 B NAT是打开的,端口20000 A NAT是打开的,所以RTP包可路由。d:211.83.100.120:4040 s:211.83.100.100:8888 10 d:211.83.100.100:8888 s:211.83.100.120:4040
2.4需要注意
1)NAT/PAT对于地址转换关系是有一定生命期的,某个地址转换后在一段时间内没有被使用将会被清除,当这个业务流再次出现时,将会建立一个新的地址转换关系,这就意味着STUN的询问过程以及终端的注册过程都需要再执行一遍才能保证通信的正确。解决这个问题一个比较通行的方案是采用某种方式保持NAT/PAT的转换关系,例如在NAT/PAT生命期内重复注册一次,比如NAT/PAT的生命期是3分钟,那么就将注册重复周期设置为2分钟。2)另外STUN server并非指一个专用的服务器,而是指一种功能、一个协议,我们可以在softswitch或者任何一个需要此功能的服务器上内置此协议, 后面代码也包含一个简单的Server实现。
3)但是在NAT采用对称模式(symmetric NAT)工作时,STUN的方案就会出现问题。假如我们在softswitch上提供STUN server功能,终端A通过STUN可以获得NAT为终端A与softswitch之间通信分配的地址A',并将这个地址注册在softswitch上,当一个公网上的终端B呼叫终端A时,A'和B通过softswitch完成呼叫建立过程。当B试图向A'发送媒体流时,问题就出现了。因为对称NAT只允许从softswitch发送数据给地址A',从B发送的媒体流将被丢弃。所以STUN无法应用于工作在对称模式的NAT.4)STUN协议最大的优点是无需现有NAT/FW设备做任何改动,同时STUN方式可在多个NAT串联的网络环境中使用.STUN的局限性在于STUN并不适合支持TCP连接的穿越,同时STUN方式不支持对对称NAT(Symmetric NAT).5)解决穿透NAT问题的另一思路是,私网中的VOIP终端通过某种机制预先得到出口NAT上的对外地址,然后在净载中所填写的地址信息直接填写出口 NAT上的对外地址,而不是私网内终端的私有IP地址,这样净载中的内容在经过NAT时就无需被修改了,只需按普通NAT流程转换报文头的IP地址即可,净载中的 IP地址信息和报文头地址信息是一致的。STUN协议就是基于此思路来解决应用层地址的转换问题。
6)一旦客户端得知了Internet端的UDP端口,通信就可以开始了。如果NAT是完全圆锥型的,那么双方中的任何一方都可以发起通信。如果NAT是受限圆锥型或端口受限圆锥型,双方必须一起开始传输。
7)需要注意的是,要使用STUN RFC中描述的技术并不一定需要使用STUN协议——还可以另外设计一个协议并把相同的功能集成到运行该协议的服务器上。
8)SIP之类的协议是使用UDP分组在Internet上传输音频和/或视频数据的。不幸的是,由于通信的两个末端往往位于NAT之后,因此用传统的方法是无法建立连接的。这也就是STUN发挥作用的地方。
9)STUN是一个客户机-服务器协议。一个VoIP电话或软件包可能会包括一个STUN客户端。这个客户端会向STUN服务器发送请求,之后,服务器就会向STUN客户端报告NAT路由器的公网IP地址以及NAT为允许传入流量传回内网而开通的端口。
10)以上的响应同时还使得STUN客户端能够确定正在使用的NAT类型——因为不同的NAT类型处理传入的UDP分组的方式是不同的。四种主要类型中有三种是可以使用的:完全圆锥型NAT、受限圆锥型NAT和端口受限圆锥型NAT——但大型公司网络中经常采用的对称型NAT(又称为双向NAT)则不能使用。
3.TURN 3.1工作原理
TURN的全称为Traversal Using RelayNAT,即通过Relay方式穿越NAT,TURN应用模型通过分配TURNServer的地址和端口作为客户端对外的接受地址和端口,即私网用户发出的报文都要经过TURNServer进行Relay转发。这种方式又称SPAN(Simple Protocol for Augmenting NATs)方式.TURN方式解决NAT问题的思路与STUN相似,也是基于私网接入用户通过某种机制预先得到其私有地址对应在公网的地址(STUN方式得到的地址为出口NAT上的地址,TURN方式得到地址为TURNServer上的地址),然后在报文负载中所描述的地址信息直接填写该公网地址的方式,实际应用原理也是一样的。这种方式除了具有STUN方式的优点外,还解决了STUN应用无法穿透对称NAT(Symmetric NAT)以及类似的Firewall设备的缺陷,即无论企业网/驻地网出口为哪种类型的NAT/FW,都可以实现NAT的穿透,同时TURN支持基于TCP的应用,如H323协议。此外TURN Server控制分配地址和端口,能分配RTP/RTCP地址对(RTCP端口号为RTP端口号加1)作为私网终端用户的接受地址,避免了STUN方式中出口NAT对RTP/RTCP地址端口号的任意分配,使得客户端无法收到对端发来的RTCP报文(对端发RTCP报文时,目的端口号缺省按RTP端口号加 1发送)。
TURN的局限性在于需要VOIP终端支持TURN Client,这一点同STUN一样对网络终端有要求。此外所有报文都必须经过TURN Server转发,增大了包的延迟和丢包的可能性。3.2网络拓扑图
3.3工作流程示意图
A:192.168.0.10
A NAT:192.168.1.1
211.83.100.100 STUN SERVER:211.83.100.110 B:192.168.11.11 B NAT:192.168.11.1
211.83.100.120 分析:
d:211.83.100.110:1111 s:192.168.0.10:1010 2 d:211.83.100.110:1111 s:211.83.100.100:2020 3 d:211.83.100.100:2020 s:211.83.100.100:2020 4 d:192.168.0.10:1010 s:211.83.100.100:2020 5 d:211.83.100.120:2222 s:192.168.11.11:3030 6 d:211.83.100.120:2222 s:211.83.100.110:4040 7 d:211.83.100.110:4040 s:211.83.100.120:2222 8 d:192.168.11.11:3030 s:211.83.100.120:2222 A与B接收到TURN的响应消息就得到信令和媒体流在NAT上的映射地址,并将这些地址写到SIP消息中的Via,Contact字段以及SDP中的媒体流传送地址,代替原有的私网地址。如A的SDP带的端口为10000,B的SDP带的端口为20000,A、B相互告知对端它的端口,所以端口10000 B NAT是打开的,端口20000 A NAT是打开的,所以RTP包可路由。d:211.83.100.110:1111 s:211.83.100.100:5556 10 d:211.83.100.120:2222 s:211.83.100.110:1111 d:192.168.11.11:3030 s:211.83.100.120:2222 11 d:211.83.100.110:4040 s:211.83.100.120:6555 12 d:211.83.100.100:5556 s:211.83.100.110:4040 d:192.168.0.10:1010 s:211.83.100.100:2020
4.ICE 4.1工作原理
交互式连通建立方式ICE(Interactive Connectivity Establishment)并非一种新的协议,它不需要对STUN、TURN或RSIP进行扩展就可适用于各种NAT。ICE是通过综合运用上面某几种协议,使之在最适合的情况下工作,以弥补单独使用其中任何一种所带来的固有缺陷。ICE跟STUN和TURN不一样,ICE不是一种协议,而是一个framework,它整合了STUN和TURN。使用ICE方式穿透NAT,必须映射ICE定义的参数到SIP消息格式中,同时对其SDP属性进行简单扩展—在SDP的Media块中定义一个新的属性“alt”来支持ICE。它包含一个候选IP地址和端口,SDP的接受端可以用该地址来替换m和c中的地址。Media块中可能会有多个alt属性,这时每个alt应该包括不重复的IP地址和端口。对于SIP来说,ICE只需要定义一些SDP(Session Description Protocol)附加属性即可,对于别的多媒体信令协议也需要制定一些相应的机制来实现。其思想是:建立媒体流信道时,发出很多种选择,有本地端口,STUN端口,TURN端口,并给出这些端口的优先级,由被叫方自主选择端口,根据一定的算法和联通性测试,选出最好的端口来通信。
ICE算法流程分为以F几个过程:
(1)收集本地传输地址
会话者从服务器上获得主机上一个物理(或虚拟)接口绑定一个端口的本地传输地址。
(2)启动STUN 与传统的STUN不同,ICE用户名和密码可以通过信令协议进行交换。
(3)确定传输地址的优先级
优先级反映了UA在该地址上接收媒体流的优先级别,取值范围0到1之间,按照被传输媒体流量来确定。
(4)构建初始化信息(Initiate Message)初始化消息由一系列媒体流组成,每个媒体流的任意Peer之间实现最人连通可能性的传输地址是由公网L转发服务器(如TURN)提供的地址。
(5)响应处理
连通性检查和执行ICE算法中描述的地址收集过程。(6)生成接受信息(Accept Message)若接受则发送Accept消息,其构造过程与InitiateMessage类似。
(7)接受信息处理
接受过程需要发起者使用Send命令,由服务器转发至响应者。(8)附加ICE过程
Initiate或Accept消息交换过程结束后,双方可能仍将继续收集传输地址。
(9)ICE到SIP的映射
4.2网络拓扑图
4.3工作流程示意图
举例:通信双方同时处于对称式NAT/FW内部,现在SIP终端A要与B进行VoIP通信。A所在的内部地址是10.0.1.9,外部地址是211.35.29.30;B的内部地址是192.168.1.6,外部地址是202.205.80.130;STUN/TURN服务器的地址是218.65.228.110。
首先A发起请求,进行地址收集,如下图,收集了STUN服务映射的地址M:211.36.2930:9988,第二次收集了TURN服务映射的地址M:218.65.228.110:8076,第二次的IP和端口都改变了是因为NAT是对称型,重新映射一条路径。
B进行地址收集,和A的过程是一致的。如下图,收集了STUN服务映射的地址M:202.205.80.130:10892,第二次收集了TURN服务映射的地址M:218.65.228.110:8078
B的连通性检查,如图,第1步,B对于A的私有地址是不可路由的
第3步,由于目标地址d:211.35.29.30:9988被源地址S:218.65.228.110:3478所映射,所以B对于A又不可路由,所以B到A的媒体流将发送至218.65.228.110:8076地址。
A的联通性检查,如图,与B原理一样,A对于B的私有地址和STUN来源地址的连通性检查结果均为失败,而到B的TURN来源地址和到B的peer-derived地址成功(本例中它们都具有相同的优先级0.4)。相同优先级下我们通常采用peer-derived地址,所以A发送到B的媒体流将使用218.65.228.110:5556地址。