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