基于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网奠定基础。

2、 系统设计方案

本文给出的符合SIP协议规范的IP电话系统设计方案,采用客户机-服务器模式,主要由基于USB接口的IP电话终端设备、计算机网络终端(内含SIP用户代理)、局域网(或Internet网络)、SIP网络服务器等组成。其系统结构示意图见图3。整个系统布局分为若干域,每个子公司或部门为一个域,每个域内有多个终端用户,并由一服务器管理控制。

2.1 系统基本工作流程

(1)用户注册

用户开机上线后,通过用户代理客户机自动向其所在域的服务器端发送注册信息;该服务器的SIP注册服务模块接收注册信息后,要先对客户端进行身份验证,确认其合法后再对该用户的状态信息、IP地址信息等进行更新。 [Page]

(2)会话建立

在本系统设计方案中采用代理呼叫和重定向呼叫相结合的方式进行会话建立。即同一域内客户之间采用代理呼叫方式,域之间采用重定向呼叫方式。

假设1域的用户A准备要与用户B建立一次通话时,A首先通过其用户代理客户机将呼叫请求传至其所在域的代理服务器1,服务器1首先判断B是否也属于该服务器所管理的域。

如果B和A同属1域,则通过该域服务器进一步查找B的有关信息,进行精确定位,服务器1判定B是否为可接通状态,如可以则将A的呼叫请求直接转发给B,否则向A返回拒绝信息。

如果B不在1域,而在其它域(如2域),则代理服务器1将请求信息转发至2域的重定向服务器2,重定向服务器2对B进行精确定位,并判定B是否为可接通状态,如可接通则将B的精确地址信息传送给代理服务器1,代理服务器1将A的呼叫请求传送给B;否则向代理服务器1返回不可接通信息,代理服务器1再向A返回拒绝信息。

(3)通话过程

如果A和B之间的通信链路建立成功,则他们之间直接进行通信直至会话结束,通话结束时向代理服务器发送会话结束请求。

2.2 服务器端设计

本系统中每个域都由一服务器负责管理和控制,其相当于该域中的智能集线器,即网守(Gatekeeper)。每个网络服务器主要分四个功能模块:代理服务模块、重定向模块、注册服务模块和增值业务模块。

(1) SIP代理服务模块(SIP proxy)

SIP代理服务模块接收到UAC呼叫请求后,通过对呼叫ID的解析确定被叫方所在域,然后将请求转发至下一跳服务器或UAS。

(2) SIP重定向服务模块(SIP redirect module)

SIP重定向模块收到请求,完成地址解析,将被叫方的地址信息返回给呼叫方,让呼叫方直接向下一跳发送请求。

(3) SIP注册服务模块(SIP register module)

SIP注册服务模块用于为新用户分配ID号,以及用户登陆注册后地址等信息的更新,同时提供定位服务。

(4)SIP增值业务模块(SIP value-added module)

由于服务器端除具备SIP协议中网守的功能外,还负责管理IP系统的数据库。它利用IP系统数据库提供的所有会话详细记录、客户注册信息等开放的接口,为用户提供多种SIP增值业务服务,诸如计费管理、话单查询、用户留言、来电过滤以及跟踪呼叫等。

系统的运行、使用以及增值业务等功能模块基本是以客户注册和会话详细记录等表为中心进行的。此外还有许多其它重要数据表,如用户IP地址表,用户费用表、级别权限表、业务表等。

2.3 客户端设计

客户端主要分两个模块:用户代理模块和语音模块。

(1)SIP用户代理模块(UA)又分为用户代理客户机(UAC)模块和用户代理服务器(UAS)模块。其中UAC向其它客户或服务器发起呼叫,UAS负责响应其它客户或服务器的呼叫。

(2)语音模块包括音频数据的采集/播放、A/D转换、编/解码、收/发等子模块。其中数据采集/播放和A/D互转模块由数字电话机终端设备实现。本系统的终端设备为一特别

共2页 您在第1页 首页 上一页 1 2 下一页 尾页 跳转到页 本页共有5168个字符
作者: 来源: 发布时间:2010年01月31日
观后心情
感动 同情 无聊 愤怒 搞笑 难过 高兴 路过
用户信息中心
联系我们  |  广告合作  |  友情链接  |  网站帮助  |  版权声明  |  企业邮箱  |  管理登录
  Copyright © 2007-2012 China Research and Development Network, All Rights Reserved
举报邮箱:co@chnrd.com    鄂ICP备09003885号