基于SIP协议的IP电话系统设计与实现

【基于SIP协议的IP电话系统设计与实现】网络IP电话不仅具有成本低廉、网络资源利用率高等诸多优点,而且还可以进一步集成多媒体信息(包括语音、图像、数据等),以实现交互式的实时通信等,具有很大的发展潜力,且有逐渐取代传统PSTN
电话的趋势,成为NGN(Next General Network)中语音信息传输的主要形式 。
目前构建IP电话系统结构的信令协议主要有H.323协议和SIP协议,二者完全平行,互不兼容 。H.323协议是为多媒体会议系统而提出的 。该协议采用传统电信网络繁琐的信令概念,非常庞大,无论从实现技术手段,还是使用和治理方法上都十分复杂 。而SIP协议则是以现有的Internet协议为基础来构架IP电话业务网的应用层协议 。它将网络设备的复杂性推向网络边缘,支持单播、多播通信、名称映射和重定向业务,还支持类似呼叫转发、呼叫拒绝等电信业务的实现以及支持用户移动性 。与H.323相比,SIP更适用于智能用户终端,使用更加灵活,把握更加轻易 。
鉴于此,本文提出了一种客户机-服务器模式的符合SIP协议规范的IP电话系统设计实现方案 。该系统具有以下特点:
(1)它采用IP-IP通信模式;
(2)电话终端设备直接与用户机USB接口相连,可方便地实现与被叫者的文本、语音等数据的可靠传输;
(3)系统包含完整的用户数据治理系统和网络通话治理控制系统;
(4)提供较高的QoS 。
该系统充分利用SIP协议,提供了诸多增值服务,使得系统除具备普通电话的功能和业务外,还可以提供自主设置留言、来电过滤、跟踪呼叫等多种功能,适用于大中型企业集团或单位内部使用 。
1、 SIP协议概述
总体来说,SIP协议支持多媒体通信中以下几个方面的功能:
(1)用户定位:确定通信中终端的位置;
(2)用户可用性:确定被叫方是否愿意参与通信;
(3)性能协商:确定通信中所用媒体及媒体参数;
(4)会话建立:呼叫双方会话参数的建立;
(5)会话治理:包括会话转移和中止、会话参数变更、调用新业务等内容 。
SIP协议是一个客户服务器协议,用于发起和治理用户间的会话 。SIP终端系统称为用户代理,即UA(User
Agent),含用户代理客户机UAC(User Agent C1ient)和用户代理服务器UAS(User Agent
sever)两部分 。中间单元称为代理服务器 。它的消息分为两大类:从客户端到服务器的请求(Request)和从服务器到客户端的响应(Response) 。无论请求消息还是响应消息都是由起始行(Start-Line)、消息头部(Message—Header)和可选的消息体(Message—Body)构成 。
请求消息按请求行(起始行)可分为:(1)Register:用于登记联系信息;(2)Invite:用于邀请用户加入会话;(3)ACK:用于对请求成功后作出的确认;(4)Cancel:用于取消未完成的请求;(5)Bye:会话结束;(6)0pions:用于询问服务器的性能 。
响应消息按状态行(起始行)中的状态码(3位),可分为:(1)1XX:暂时响应;(2)2XX:成功响应;
(3)3XX:重定向响应;(4)4XX:客户端出错;(5)5XX:服务器出错;(6)6XX:全局故障 。
SIP协议支持3种呼叫方式:用户代理客户机(UAC)向对方用户代理服务器(UAS)直接呼叫;由代理服务器代表用户代理向客户服务器发起代理呼叫(图1);由用户代理客户机在重定向服务器的辅助下进行重定向呼叫(图2) 。呼叫方式2需要代理服务器转发用户的呼叫信令,因而加大了信息处理量 。为了有效地将网络设备的压力推向网络边缘,呼叫信令3只指明目的地的方向,不保留每一呼叫状态,从而为组建大规模的IP网奠定基础 。

推荐阅读