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


2、 系统设计方案
本文给出的符合SIP协议规范的IP电话系统设计方案,采用客户机-服务器模式,主要由基于USB接口的IP电话终端设备、计算机网络终端(内含SIP用户代理)、局域网(或Internet网络)、SIP网络服务器等组成 。其系统结构示意图见图3 。整个系统布局分为若干域,每个子公司或部门为一个域,每个域内有多个终端用户,并由一服务器治理控制 。
2.1系统基本工作流程
(1)用户注册
用户开机上线后,通过用户代理客户机自动向其所在域的服务器端发送注册信息;该服务器的SIP注册服务模块接收注册信息后,要先对客户端进行身份验证,确认其合法后再对该用户的状态信息、IP地址信息等进行更新 。
(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负责响应其它客户或服务器的呼叫 。

推荐阅读