一、SIP协议介绍:会话发起协议SIP(Sessio
I
itiatio
Protocol)是一个应用层控制信令协议,用
于建立、更改和终止多媒体会话或呼叫。SIP作为一个基础,可以在其上提供很多不同的服务。目前已经定义的媒体类型有音频、视频、应用、数据、控制。二、SIP呼叫流程:
注册流程:
(1)用户首次试呼时,终端代理A向代理服务器发送REGISTER注册请求;(2)代理服务器通过后端认证计费中心获知用户信息不在数据库中,便向终端代理回送401U
authorized质询信息,其中包含安全认证所需的令牌;(3)终端代理提示用户输入其标识和密码后,根据安全认证令牌将其加密后,再次用REGISTER消息报告给代理服务器;(4)代理服务器将REGISTER消息中的用户信息解密,通过认证计费中心验证其合法后,将该用户信息登记到数据库中,并向终端代理A返回成功响应消息200OK。
呼叫流程:
f(1)用户摘机发起一路呼叫,终端代理A向该区域的代理服务器发起I
vite请求;(2)代理服务器通过认证计费中心确认用户认证已通过后,检查请求消息中的Via头域中是否已包含其地址。若已包含,说明发生环回,返回指示错误的应答;如果没有问题,代理服务器在请求消息的Via头域插入自身地址,并向I
vite消息的To域所指示的被叫终端代理B转送I
vite请求;(3)代理服务器向终端代理A送呼叫处理中的应答消息,100Tryi
g;(4)终端代理B向代理服务器送呼叫处理中的应答消息,100Tryi
g(5)终端代理B指示被叫用户振铃,用户振铃后,向代理服务器发送180Ri
gi
g振铃信息;(6)代理服务器向终端代理A转发被叫用户振铃信息;(7)被叫用户摘机,终端代理B向代理服务器返回表示连接成功的应答(200OK);(8)代理服务器向终端代理A转发该成功指示(200OK);(9)终端代理A收到消息后,向代理服务器发ACK消息进行确认;(10)代理服务器将ACK确认消息转发给终端代理B;(11)主被叫用户之间建立通信连接,开始通话;结束流程:
f(2)用户通话结束后,被叫用户挂机,终端代理B向代理服务器发送Bye消息;(3)代理服务器转发Bye消息至终端代理A,同时向认证计费中心送用户通话的详细信息,请求计费;(4)主叫用户挂机后,终端代理A向代理服务器发送确认挂断响应消息200OK;(5)代理服务器转发响应消息200OK;注:RFC3621上结束流程为:终端代理B直接发送Bye至终端代理A(未通过代理服务器转发),测试时使用的XLite软件Bye消息目的IP为代理服务器。此现象待分析确认。注销流程:
(r