|
|
基于目前對(duì)SIP服務(wù)器的理解,SIP_PROXY需實(shí)現(xiàn)如下功能:
1、 注冊(cè)服務(wù)器
注冊(cè)需要認(rèn)證,采用服務(wù)器認(rèn)證方式或者WWW認(rèn)證方式
a、當(dāng)客戶端注冊(cè)到服務(wù)器,則認(rèn)為是未授權(quán)的,需要受權(quán),應(yīng)該采用401認(rèn)證;
RESPONSE-STATUS : 401 -------- 未授權(quán)的
b 、當(dāng)用戶發(fā)起INVITE請(qǐng)求或者其他消息請(qǐng)求時(shí),若需要經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā),且服務(wù)器需要認(rèn)證,則采用服務(wù)器認(rèn)證;
RESPONSE-STATUS : 407 -------服務(wù)器需要認(rèn)證(可選)
2、 代理服務(wù)器
a、 支持NAT轉(zhuǎn)換
支持NAT方式實(shí)際上,當(dāng)SIP客戶端是通過NAT以后才可以和外網(wǎng)通信的情況下,代理服務(wù)器和能夠識(shí)別SIP客戶端是經(jīng)過NAT,并能使它同外網(wǎng)的其他SIP客戶端進(jìn)行通信;
能夠識(shí)別NAT,將給隨后的SIP消息是否需要經(jīng)過SIP_PROXY,提供幫助;
b、 可向更上一級(jí)服務(wù)器注冊(cè)
可向上級(jí)服務(wù)器通信,可理解為服務(wù)器之間的通信,如果兩個(gè)客戶端注冊(cè)到2個(gè)不同的代理服務(wù)器上,如需要通信,則服務(wù)器之間必須要可以路由,實(shí)現(xiàn)該功能就是為服務(wù)器之間添加路由;
3、 RTP代理服務(wù)器
可作為客戶端之間的RTP代理服務(wù)器;實(shí)現(xiàn)語音視頻的轉(zhuǎn)發(fā);
4、 分支代理服務(wù)器
代理服務(wù)器還可以分支請(qǐng)求,當(dāng)某個(gè)用戶注冊(cè)到多個(gè)位置上時(shí)就需要用到該功能;當(dāng)代理服務(wù)器接受到這樣的INVITE請(qǐng)求時(shí),會(huì)把這個(gè)請(qǐng)求發(fā)送到?jīng)]一個(gè)注冊(cè)位置上。如果接受到其中一個(gè)位置的應(yīng)答,代理服務(wù)器將提交CANCEL消息到其他地方上,通知它們不用繼續(xù)振鈴;
(分支代理服務(wù)器必須是有狀態(tài)的;)
5、 邊緣代理服務(wù)器(outbound_proxy)
通過邊緣代理服務(wù)器,SIP客戶端可以穿越NAT/FIREWALL,從而實(shí)現(xiàn)與Internet上的其他SIP客戶端通信
|
|