1、引入
隨著通信IP化的發(fā)展,IP傳輸?shù)母邘挕⒌统杀镜葍?yōu)勢使得越來越多的企業(yè)、電信運營商加快建設(shè)基于IP的各種通信應(yīng)用。在通信協(xié)議IP化發(fā)展中,SIP協(xié)議毫無爭議地成為各大電信運營商構(gòu)建其未來網(wǎng)絡(luò)的基礎(chǔ)協(xié)議,越來越多的SIP軟件產(chǎn)品也不斷出現(xiàn)在行業(yè)應(yīng)用中。SIP協(xié)議的標(biāo)準(zhǔn)化,同時也造就了一大批優(yōu)秀的開源軟件產(chǎn)品,包括Asterisk、SipXecs、FreeSWITCH、OpenSIPS等SIP服務(wù)端軟件,也包括X-lite、LinPhone、eyeBeam等SIP客戶端軟件。本文介紹了國外成熟的SIPServer開源項目OpenSIPS,并結(jié)合其它通信方面的開源項目對其應(yīng)用情況進(jìn)行了一些介紹。
2、OpenSIPS介紹
OpenSIPS是一個成熟的開源SIP服務(wù)器,除了提供基本的SIP代理及SIP路由功能外,還提供了一些應(yīng)用級的功能。OpenSIPS的結(jié)構(gòu)非常靈活,其核心路由功能完全通過腳本來實現(xiàn),可靈活定制各種路由策略,可靈活應(yīng)用于語音、視頻通信、IM以及Presence等多種應(yīng)用。同時OpenSIPS性能上是目前最快的SIP服務(wù)器之一,可用于電信級產(chǎn)品構(gòu)建。
2.1、功能特點
憑借其可擴(kuò)展、模塊化的系統(tǒng)架構(gòu),OpenSIPS提供了一個高度靈活的、用戶可配置的路由引擎,可以為voice、video、IM和presence等服務(wù)提供強(qiáng)大高效的路由、鑒權(quán)、NAT、網(wǎng)關(guān)協(xié)議轉(zhuǎn)化等功能。由于其穩(wěn)定高效等特點,OpenSIPS已經(jīng)被諸多電信運營商應(yīng)用在自己的網(wǎng)絡(luò)體系中。其主要功能如下:
SIP注冊服務(wù)器/代理服務(wù)器(lcr、dynamic routing、dialplan)/重定向服務(wù)器
SIP presence agent
SIP B2BUA
SIP IM Server
SIP to SMS/XMPP網(wǎng)關(guān)
SIP to XMPP網(wǎng)關(guān)
SIP 負(fù)載均衡
SIP NAT traversal
2.2、基本應(yīng)用配置
OpenSIPS不但提供了豐富的功能,還具有操作簡單的特點。所有OpenSIPS的應(yīng)用功能都可以通過一個配置文件opensips.cfg來實現(xiàn)的。該配置文件主要分為三個部分,第一部分主要是全局變量的設(shè)置;第二部分主要是加載模塊,并設(shè)置模塊的相應(yīng)參數(shù);第三部分主要是路由的策略和功能應(yīng)用。為了更清晰的呈現(xiàn)opensips.cfg配置文件帶來的強(qiáng)大功能,接下來對這三個部分以簡單的示例進(jìn)一步說明。
第一部分全局變量的設(shè)置,通過一條語句就能指定用于偵聽接收sip消息的端口和傳輸層協(xié)議。
第二部分負(fù)責(zé)模塊的加載和參數(shù)配置。以之前的OpenSIPS的負(fù)載均衡功能配置為例,需要加載load_balancer模塊,并進(jìn)行配置。
第三部分是sip消息的路由和功能應(yīng)用。還是以O(shè)penSIPS的負(fù)載均衡功能為例。
從以上應(yīng)用示例可以看到,通過在opensips.cfg中進(jìn)行簡單的配置,就能實現(xiàn)強(qiáng)大的功能。