日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

opensips简介

發布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opensips简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、引入

隨著通信IP化的發展,IP傳輸的高帶寬、低成本等優勢使得越來越多的企業、電信運營商加快建設基于IP的各種通信應用。在通信協議IP化發展中,SIP協 議毫無爭議地成為各大電信運營商構建其未來網絡的基礎協議,越來越多的SIP軟件產品也不斷出現在行業應用中。SIP協 議的標準化,同時也造就了一大批優秀的開源軟件產品,包括Asterisk、SipXecs、FreeSWITCH、OpenSIPS等SIP服務端軟 件,也包括X-lite、LinPhone、eyeBeam等SIP客戶端軟件。本文介紹了國外成熟的SIPServer開源項目OpenSIPS,并結 合其它通信方面的開源項目對其應用情況進行了一些介紹。

2、OpenSIPS介紹

OpenSIPS是一個成熟的開源SIP服務器,除了提供基本的SIP代理及SIP路由功能外,還提供了一些應用級的功能。OpenSIPS的結構非常 靈活,其核心路由功能完全通過腳本來實現,可靈活定制各種路由策略,可靈活應用于語音、視頻通信、IM以 及Presence等多種應用。同時OpenSIPS性能上是目前最快的SIP服務器之一,可用于電信級產品構建。

2.1、功能特點

憑借其可擴展、模塊化的系統架構,OpenSIPS提供了一個高度靈活的、用戶可配置的路由引擎,可以為voice、video、IM和 presence等服務提供強大高效的路由、鑒權、NAT、網關協議轉化等功能。由于其穩定高效等特點,OpenSIPS已經被諸多電信運營商應用在自己的網絡體系中。其 主要功能如下:

SIP注冊服務器/代理服務器(lcr、dynamic routing、dialplan)/重定向服務器
?SIP presence agent
?SIP B2BUA
?SIP IM Server
?SIP to SMS/XMPP網關
?SIP to XMPP網關
?SIP 負載均衡
?SIP NAT traversal

2.2、基本應用配置

OpenSIPS不但提供了豐富的功能,還具有操作簡單的特點。所有OpenSIPS的應用功能都可以通過一個配置文件opensips.cfg來 實現的。該配置文件主要分為三個部分,第一部分主要是全局變量的設置;第二部分主要是加載模塊,并設置模塊的相應參數;第三部分主要是路由的策略和功能應 用。為了更清晰的呈現opensips.cfg配置文件帶來的強大功能,接下來對這三個部分以簡單的示例進一步說明。

第一部分全局變量的設置,通過一條語句就能指定用于偵聽接收sip消息的端口和傳輸層協議。

第二部分負責模塊的加載和參數配置。以之前的OpenSIPS的負載均衡功能配置為例,需要加載load_balancer模塊,并進行配置。

第三部分是sip消息的路由和功能應用。還是以OpenSIPS的負載均衡功能為例。

從以上應用示例可以看到,通過在opensips.cfg中進行簡單的配置,就能實現強大的功能。

2.3、系統結構

OpenSIPS的架構開放靈活,其核心功能控制均可通過腳本控制實現,各個功能也通過模塊加載的方式來構建。采用lex和yacc工具構建的配置 文件分析器是其架構設計中的重要部分之一。通過這個分析器,opensips設計了自己的語法規則,使得我們可以適合SIP規 范的語言來進行配置文件中的腳本編寫,從而達到簡化程序以及方便代碼閱讀的目的。同時這樣的設計也使opensips.cfg配置文件的執行速度達到了C 語言的級別。其體系結構大體如下圖:

框架的最上層是用于實現sip消息路由邏輯的opensips.cfg腳本配置,在配置文件中,可以使用Core提供的Parameter和 Function,也可以使用眾多Modules提供的Function。比如在之前的負載均衡示例中,is_method(“INVITE”)就屬于 textops模塊提供的功能,src_ip和src_port都屬于Core提供的參數。下層,提供了網絡傳輸、sip消息解析等基本功能。在左側,通過相應的數據庫適配器,可是使用多種數據庫存取數據。在這樣的 體系結構下,我們就可以方便地通過增加功能module來添加我們需要的功能,而不會對原有系統造成影響。

除了以上所述的OpenSIPS的優點,OpenSIPS還提供了一系列的管理維護命令的接口。我們可以通過Core和Module提供的MI管理 接口,方便的監控系統以及模塊的狀態。比如,通過Core的fifo ps命令,可以獲取當前進程的狀態;通過Core的fifo get_statistics命令,可以獲得當前共享內存以及各進程私有內存的使用情況等等。通過MI管理接口,我們還可以方便地在運行時修改部分參數, 比如,對于load_balancer模塊,我們可以通過fifo lb_reload命令,更新目標組的配置信息,可以通過fifo lb_status命令激活或關閉某個目標,這些命令在實際應用中都非常實用。如果希望通過WEB圖形界面管理OpenSIPS,OpenSIPS社區還 提供了OpenSIPS Control Panel 4.0產品。

3、與其它開源項目共同搭建VOIP服務

OpenSIPS提供了以上那么多的功能,那OpenSIPS是不是已經實現了PBX的功能了?不是!OpenSIPS并不具備一個媒體服務器(Media Server)的功能。媒體服務器主要提供了類似VoiceMail、呼叫中語音交換、會議服務、視頻服務等一系列和語音、視頻相關的服務;而 OpenSIPS的主要功能主要在于代理、路由和網關。因此,單獨的OpenSIPS并不能夠提供VOIP服務,只有和Asterisk等具備媒體功能的軟件整合,才能構建可靠的語音服務體系。

對于媒體服務器,開源世界也提供了很多選擇,如老牌的Asterisk,以及功能全面的sipXecs以及專注于IVR功 能的FreeSwitch等,他們都是非常優秀的開源項目。其中Asterisk功能全面、靈活,但主要面向企業應用,在性能上稍差。但Asterisk 提供了完善的PBX功能,可以連接多種不同的電話終端,支持多種主流的IP電話協議和系統接口。FreeSwtich專注于IVR功能,性能、可靠性非常高。近期 FreeSwitch已被sipXecs采用作為其IVR部分功能。sipXecs則是一個功能比較全面的產品,包括IVR、VoiceMail、人工坐 席等等,更難得的是SipXecs提供了良好的配置、管理界面,易于使用。

只要將OpenSIPS作為前置接入,將多個Asterisk、FreeSwitch、sipXecs掛接在其后,由OpenSIPS實現SIP消 息的轉發和負載均衡,就可以輕松地實現各種語音業務以及規模擴展。如下圖所示。

4、小結

從文中介紹可以看出,OpenSIPS是一個成熟的電信級SIP Server平臺,可廣泛應用于SIP應用的路由分發、負載均衡,可用于搭建SIP代理,提供SIP注冊服務等。而且目前OpenSIPS自身也提供 SIP Presence以及IM功能。同時,應該注意的是OpenSIPS本身并不提供媒體相關服務,如呼叫中心、VoiceMail等業務,該部分業務可通過 FreeSwtich、sipXecs等平臺實現。

參考文獻:
[1].OpenSIPS:? http://www.opensips.org/
[2] FreeSwitch?wiki: http://wiki.freeswitch.org/wiki/Main_Page
[3] sipXecs:?http://www.sipfoundry.org/

總結

以上是生活随笔為你收集整理的opensips简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。