从SS7到VOIP sip

对于VoIP,我想这是通信行业的一个趋势,趋势比技术更重要。

在VOIP中,SIP协议越来越火,那么对这个的研究也就越来越多,每天看一点书,写一点东西,总结一些知识,对我们的工作还是有帮助的。每天进步一点点,也要成为我的座右铭了。

电 话,首先就是PSTN(public, Switched telephone network),最开始发明的电话就是两个话机拿起来就可以通信,后来出现,拿起话机以后,对接线员说,XXX要哪里,那个接线员就接过去,这个时候, 就进步了,有了中心交换的概念,继续发展,交换要变成自动的,数字的,那么就有两个方面,一个是语音流,一个是信令流。

早期的电话的电 池在话机那里,信令的方向是前向的,这个问题主要就是控制平面得不到用户操作的标示或者信令,那么一个系统就不能正常运转。必须要信令在网络可以前向也可 以后向,控制平面能收到更多更准确的关于呼叫状态的信息。 电话经过频分,时分,模拟,数字的发展到了现在的数字信令系统。信令分为接入信令和干线信令。

数 字终端通常用1号信令,例如BTS和GSM手机之间。中继信令分为CAS,随路信令,CCS,公共信道信令, CCS领先CAS.因为信令在初始阶段很重要也很多,那么使一个信令网络从语音网络独立出来就比较有用。SS7就是流传广泛的CCS系统。同时使服务逻辑 电话和交换逻辑电路分离,可以使服务创建和用户操作独立发展。 SS7提供了电路相关和非电路相关的两种信令。7号信令是在网络中处理,而不是通过终端,internet的发展方向是点对点,考虑到可靠性,访问和服务 设备完全分离是SIP的主要优点。

分组交换就不多说了,一切都在向IP转。IETF,Internet工程任务组,主要提供RFC,有标准RFC,草案RFC等。 关于Internet,除了TCP,UDP,主要是新出来的SCTP,流控制传输协议。

对于实时服务,主要有流服务和交付服务两类。另外,国际电信联盟建议对语音的延迟最大是一个来回300ms.这就要涉及到多播,

                   密集模式的多播主要有协议:距离向量多播路由协议,DVMRP RFC1075, 独立多播-密集模式协议,PIM-DM,DVMRP应用最广。对于稀疏模式,主要是 独立多播-稀疏模式(PIM-SM) ,rfc-2362和有核树多播路由协议(CBTS)RFC2189。还有组管理协议,IGMP.

                对于流,主要是实时数据的传输,RTP协议。 RTP主要用UDP,其在分组头中指定时间戳和顺序号。RTCP,实时传输控制协议。RFC 1889, 其作用就是把时间戳和实时时钟联系起来。因为语音中,延迟到比不到还差,那么需要比尽力传输服务更好的服务应用,有两个方法满足要求,一个是综合服务 (Integrated),RFC 1633,一个是区分服务(diffServ) RFC2475。

                 综合服务:其主要是路由器提供三种服务,保障服务-〉加载控制服务-〉尽力服务。其RSVP-资源预留服务协议。在路由器上安装必要的状态信息,定时刷新,通过接受者可以启动一个特定的资源预留。

                  区分服务, 分组被标示所需的优先级别,路由器从这些标示中获取信息,每个标示何处理分组的方法联系, 称为PHB,(Per Hop Behavior).PHB包括加快转发 RFC 2598和确认转发 2597。

                     SAP (Session Announcement Protocol )::会话通告协议。RFC2974,主要的作用就是告诉接收者,要多播一些什么内容。没有定义描述的格式。

                   SDP:(Session Description Protocol):会话描述协议。 规定了格式,就是对会话的必要信息如何编码,不过不包括传输机制和协商参数。 SDP语法,采用文字,而不是ASN.1。一个SDP会话描述以会话级信息 和 媒体级信息开始,如果出现一个,另外一个接着后面出现。

                   会话级部分以 v=0 开始。 V代表类型,0为值,意思是协议版本为0。(SDP协议)。直到结束或者媒体级部门开始。

                 v 协议版本 o 会话的主人和会话标示,会话的创建者。

                 s 会话的名称 i 会话的一般信息 u 还有会话描述的URL,提供了统一资源定位器。

               e 获得会话信息的e-mail地址 c 连接信息,描述能够接收会话的地址 t 会话激活的时间

               a 属性行 m 媒体行 m=video 53000 RTP/AVP 32 m=audio 49170 RTP/AVP 0

                媒体级部分以m开始。直到下一个m或者描述终点。 m行的格式很重要,m=<媒体类型><端口号><传输类型><媒体格式>,对于音频来说,媒体格式0代 表单个信道采用PCM 和8KHZ采样。 媒体属性行提供一种扩展SDP的方法,例如 a=volume:8 a=rtpmap:32 MPV/90000 如果程序不能理解a行时,就跳过,继续处理。

                下一代SDP (SDPng) 用来描述多媒体等,正在开发中。 RTSP, 实时流协议。

           SIP协议 SIPV1 1996年 会话邀请协议 SCIP: 简单会议邀请协议融合两者成为 SIPV2,会话初始化协议。 1999年—2001年 RFC2543描述了SIP的核心,基本操作。 RFC3261 是最新的RFC.

          SIP 注册: 用户向服务器注册他当前的位置,别人才能找到他。 SIP服务器的两种操纵模式:重定向和代理。 代理模式:传递会话描述符给被呼叫人。 重定向模式:告诉发起人,被呼叫人的当前URI。

         SIP实体: 用户代理:(UA User Agent)

         媒体工具:处理音频(视频)的语音工具。

          重定向服务器:不发起任何用户 定位的活动,只是返回用户有可能出现的位置列表。

         组地址:根据请求的URI,提供一个符合商务规则定义的一个URL.

          代理服务器:SIP服务器代为寻找目标地址。

           派生代理:代理服务器为用户尝试多于一个地址的时候,叫做派生(Fork)邀请。

                       代理服务器下的组地址:依次寻找组地址中某个可以接通的用户。

          注册服务器:接受注册的SIP服务器。 位置服务器:存储用户可能的位置信息,用户注册时告诉服务器位置。

        SIP特性: 1、 建立一个会话和描述一个会话分离。 2、 端对端协议。 3、 互操作性。 4、 可扩展性。 5、 SIP作为一个创建服务的平台,可以组件重用,基于HTTP,使用URL,和SMTP一样的路由概念,使用现有的框架提供新的服务。

       SIP协议操作:

            SIP应答: 范围 应答分类 100-199 报告 180:trying 振铃 200-299 成功 300-399 重定向 400-499 客户端错误 487 事务取消 500-599 服务端错误 600-699 全局错误

           SIP请求 1、邀请NVITE 1、主叫INVITE 2、被叫180振铃,回复信息3、如果接受,回复200OK 4、主叫回复ACK. 2、确认ACK ACK用来确认对一个INVITE请求的最终应答的接受。注意:200OK 不是ACK. 3、取消CANCEL 取消悬而未决的事物。 1、 主叫INVITE 2、 被叫180振铃,回复信息 3、 主叫挂机,CANCEL 4、 被叫回复200OK 5、 被叫回复487 事务取消。 6、 主叫回复ACK. 4、BYE 结束 5、Register 注册 1、 register 2、 200 ok 6、可选项Options 用于询问服务器性能情况,例如服务器支持的方法,会话描述协议。 SIP服务类型服务器类型 保留呼叫状态代理 知道会话过程中发生的所有SIP事务。所有的SIP信令都是通过该服务器来转发。 保留状态代理 又名事务状态代理,只要建立起事务,该服务器就退出,以后的信令不再管。 例如派生代理 不保留状态代理 接收一个请求,然后发往下一跳,立即删除所有状态信息。 SIP消息格式 SIP请求格式 1、 请求行 Reauest-line 方法、请求URI、协议版本 2、 几个标题头 Serveral Headers 3、 一个空行 Empty lines 4、 一个消息体 Message body SIP标题头: 描述 Call-ID: 呼叫标识:区分不同的会话。 Contace: 联系,可通过它直接找到用户的URL. CSeq 命令序列标题头,有两个字段,一个整数字段和一个方法名,数字部分用于同一会话中不同请求进行排序。 ACK中的CSeq拥有与它所确认的Invite请求一样的CSeq.意味着新的CSeq只能被用户代理创建。Cancel中的CSeq拥有与它所取消的 请求相同的CSeq. SIP应答消息格式 1、 状态行 status-line 协议版本、状态码、原因短语 2、 几个标题头 Serveral Headers 3、 一个空行 Empty lines 4、消息体 Message body Recod-Route and Route 记录路由和路由。这两个标题头被那些要在整个会话过程中位于信令路径中的代理使用。 To 总是包含请求的接收者。它和Request-URI区分开来很重要,整个过程中,To标题头含有同样的内容,不能被代理服务器改变,用于远端客户代理。 Request-URI含有信令路径中的下一跳的地址,在路径中被代理服务器改变。 Via 存储所有处理请求的代理地址。包含了请求所选用的路径。用于检测路由循环。也可用于将应答路由给产生请求的客户端。SIP应答将和请求一样穿过相同的代理 集。 SIP消息体 SIP消息携带的通常是会话描述符,但是也可以携带多个消息体,包含其它的不透明内容,例如图片等。 核心SIP以MIME(RFC2045) 格式接收多部分消息体。 SIP不保证临时应答可靠传输,但是最终应答采用可靠的传输协议。 PRACK:(provisional Response ACK) 临时应答ACK。这是一个扩展了的新的方法。主要解决的问题就是服务器不升级,终端互相了解信息就可以开展新的服务。 即时消息:定义个MESSAGE的新方法。用于在它的消息体中携带发送者写的消息。 通过扩展DHCP,实现自动分配地址和SIP地址。或者通过SLP(ServiceLocation Protocal RFC2608)协议,找到一个有着一定特性的SIP服务器。 preconditions Met (COMET):在draft-ietf-sip-manyfolks-resource 定义。COMET用来发送表明所有前提条件都被满足了并且会话建立可以进行了。 呼叫者的喜好,也就是描述不同的用途,设定自己的规则,通过定义3个新的标题头和新的Contact标题: Accept-Contact; Reject-Contact;Request-Diposition; Contact标题头的新参数用于描述用户的终端。 事件的异步通知:draft-ietf-sip-events 定义异步事件通告的新方法,SubScribe 和Notify来实现。 SubScribe用来订阅被叫的信息,Notify是被叫来通知订阅者相关的信息。 第三方呼叫控制:用户想要其它的人参与通信,自己不参与,只是起到控制的作用。用户给A发送信息,受到A的回复,然后把A的回复给B,B就把信息传递给 A,然后A和B开始通信。 会话传递:draft-ietf-sip-cc-trasnsfer定义了新的方法:REFER。就是A-B开始通话,B把这次会话转到C,让A-C通 信。 发送命令:定义一个新的方法DO。来携带命令,还有一个描述命令的格式DMP(Device Messageing Protocol)设备消息协议。 SIP安全:SIP安全和媒体安全不同。SIP安全主要是指:验证,消息完整性和机密性。 有两个方案: 基本的和摘要的。 基本的:质疑携带在www-authenticate SIP标题头中。 凭证携带在 Authorization 标题头中。 摘要的:服务器通过传送一个现时值来质疑客户端,客户端计算出一个现时值,Request-URI,SIP方法,用户,ID和口令校验和,然后发送给服务 器。 S/MIME(Secure/MultipurposeInternet Mail Extensions 安全/多用途Internet邮件扩展)验证消息完整性: 采用RSA进行签名。 S/MIME 机密性, 提供两种格式,仅加密盒仅签名的格式,合起来提供验证。 逐跳加密则是采用IPSec或者TLSl来完成。

 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值