首頁>>>技術>>>VoIP

解析Asterisk分布式的實現(xiàn)方法

2011/01/18

  Asterisk最初是用來搭建一個獨立的系統(tǒng),一個單一的提供所有電話通信的中心。簡而言之,PBX交換機。如今,Asterisk開源電話服務器用在許多方面——很多應用跟PBX完全沒有關系。Asterisk可以建設各種應用程序。而當你采用Asterisk構建應用的時候,也會很快發(fā)現(xiàn)它有很多局限。Asterisk很難擴展,呼叫狀態(tài)也僅存放在本機上。許多服務依賴于呼叫狀態(tài)—— 如果在呼叫中心坐席正忙,你需要找到一個可用的坐席。如果到PSTN中繼正在使用中,你可能需要另謀出路。Asterisk SCF框架可能解決這個問題。但這個版本需要一些時間。同時,Asterisk PBX團隊也一直致力于一些其他的方法來分配一組服務器之間的呼叫狀態(tài)。這篇文章將描述幾個不同的體系結構。

  使用OpenAIS來分發(fā)事件狀態(tài) 

  Russell Bryant已經(jīng)開始建立一個基于OpenAIS的解決方案。側重于Asterisk服務器之間的各種事件的內在分發(fā)。目前仍處在實驗性的階段,但很有趣。

  使用XMPP協(xié)議的狀態(tài)發(fā)布/訂閱

  Brad Watkins一直在研究的一個解決方案是使用XMPP的發(fā)布/訂閱功能。這個協(xié)議更多是關注的呼叫狀態(tài),而Russel的作品更開放給其他信息。比如語音郵件和其他可能的事件——PRI中繼線上落,會議室開放和隊列被激活。

  使用SIP分發(fā)狀態(tài)

  2010年秋季開始,Brad和oej開始做一個Pinana的項目,Pinana是在Asterisk SIP發(fā)布/訂閱框架的基礎上來分發(fā)設備狀態(tài)和分機狀態(tài)的項目。 這是兩個不同的東西。 設備狀態(tài)是一個驅動通道信號對象,表示狀態(tài)不能到達,不可用,或正在忙。Extension states is an aggregated state - one extension in a server can have a state based on multiple devices.The connection between an extension and a device in Asterisk is called a hint .

  使用SIP服務器分發(fā)狀態(tài)

  在Pinana項目中,我們使用一個外部SIP表現(xiàn)服務器 - Kamailio。 我們首先發(fā)布設備狀態(tài),使所有集群中的Asterisk服務器可以訂閱并得到更新。發(fā)布一臺服務器狀態(tài)的變化會更新一次,Kamailio組中的所有其他服務器。 This code exist today - the possibility to PUBLISH (in SIP terminology) a device state and SUBSCRIBE to it (as a hint device state provider)。這些狀態(tài)真的只為Asterisk內部使用,不為別的。

  總結:Asterisk擴展性越來越好

  有了這三種不同的方法,Asterisk PBX擴展性是肯定越來越好。 盡管Asterisk SCF正在開發(fā),但是Asterisk仍然有很多事情可以做,以改善我們今天已經(jīng)安裝的用戶,發(fā)展他們的系統(tǒng)。

51asterisk.com



相關閱讀:
黑客攻擊新招:利用語音釣魚欺詐 2010-12-06
呼叫控制簡述 2010-10-27
Asterisk VoIP和節(jié)約的成本效益 2010-08-27
開源軟件軟肋: 成本、管理問題多 2010-05-25
可管理的電話會議系統(tǒng)開發(fā)從入門到精通(三) 2010-02-21

熱點專題:  VoIP    開源軟件
分類信息:  開源軟件_與_企業(yè)  開源軟件_與_開源通信技術  企業(yè)_與_開源通信技術
相關頻道:  分布式