首頁>>>技術(shù)>>>VoIP

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

2011/01/18

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

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

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

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

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

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

  2010年秋季開始,Brad和oej開始做一個Pinana的項目,Pinana是在Asterisk SIP發(fā)布/訂閱框架的基礎(chǔ)上來分發(fā)設(shè)備狀態(tài)和分機狀態(tài)的項目。 這是兩個不同的東西。 設(shè)備狀態(tài)是一個驅(qū)動通道信號對象,表示狀態(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服務(wù)器分發(fā)狀態(tài)

  在Pinana項目中,我們使用一個外部SIP表現(xiàn)服務(wù)器 - Kamailio。 我們首先發(fā)布設(shè)備狀態(tài),使所有集群中的Asterisk服務(wù)器可以訂閱并得到更新。發(fā)布一臺服務(wù)器狀態(tài)的變化會更新一次,Kamailio組中的所有其他服務(wù)器。 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內(nèi)部使用,不為別的。

  總結(jié):Asterisk擴展性越來越好

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

51asterisk.com



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

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