開源軟交換ASTERISK學習日記(一)

2021-04-28 13:39:51 字數 2430 閱讀 6073

很久以前接觸過一些voip方面的東西,包括asterisk、openh232、gnugk等等,當時的想法是純粹h323、sip協議的軟體才是真正的voip軟體,所以對asterisk沒什麼興趣,認為只是乙個另類的軟交換,現在看來真是自己的知識貧乏,太落伍了。最近因為公司開始接觸這方面的業務,我也回頭來找這方面的資料,原來國內有很多人用asterisk來做voip,當然是用它作為基礎進行應用開發,不是簡單的使用,畢竟asterisk只是個毛坯房,要住進去還要自己裝修的。

asterisk是一款實現使用者**交換機(pbx)功能的自由軟體、開源軟體。asterisk提供完善pbx功能,可以連線多種不同的**終端,包括普通**機,ip**機,軟**等,支援多種主流的ip**協議和系統介面。軟體名稱asterisk-星號(*),在unix(包括linux)和dos作業系統中是萬用字元,用來在查詢中適配任何字元,寓意該軟體廣泛的適用性。

asterisk軟體提供很多以前只有昂貴的專業pbx系統才支援的功能,比如:語音信箱,會議**,互動式語音提示和自動**轉接等。由於該軟體開放的性質,使用者可以靈活的配置方便的擴充套件系統的功能,甚至程式設計開發自己所需功能的模組。asterisk通常都執行在linux作業系統下,當然它也可以在其他系統,如bsd,windows或os x下編譯並安裝。

asterisk伺服器不需要任何特殊的硬體即可提供voip的服務,只需伺服器有網路連線即可。它支援主流voip協議,包括會話發起協議(sip)、h.323,既可作為ip**伺服器也可以作ip**和pstn之間的轉接。asterisk系統還設計了乙個新協議,iax,用於在asterisk伺服器之間維護話路通道。如果需要連線普通**或pstn中繼線,執行asterisk的伺服器則需要安裝相應的硬體介面板。許多廠商都生產用於連線普通**、t1、e1中繼線、isdn等的介面板。

由於是自由軟體且具有豐富的系統功能,asterisk提供給使用者乙個廉價並功能強大的pbx解決方案。它被越來越多的用於代替傳統專用的pbx,或被用於跨國voip**以節省長途費用。一些國家的voip**公司已經開始支援asterisk,提供iax2介面或允許使用者的asterisk伺服器使用sip協議連線。

截止2023年5月20日,asterisk的最新版本是1.6.1.0版。

以上這些是維基百科中的解釋,應該是通俗易懂的了。

言歸正傳,還是趕緊開始搭個平台出來先,我用的機器是一台redhat9的機器,系統老了點,但是現成的,暫時也沒其他機器可以用了,安裝前已經估計到可能需要公升級一些開發包,但還不知道要公升級哪些。

首先解壓檔案:

#tar -zxvf asterisk-1.4.25.tar.gz

開始編譯:

#cd asterisk-1.4.25

#./configure

#make menuselect

#make

「make menuselect」這步是做些模組選擇,我現在對這些東西還沒什麼了解,所以我什麼都沒動就退出了。

執行到「make」時出問題了:

make: *** [all] aborted

有人說make3.79有問題,需要公升級,我看看我機器上的make版本:

#make --version

gnu make 3.79

......

怎麼就這麼準確呢,簡直就是說我的情況嘛。趕緊到gnu下個最新的make:

#wget ftp://ftp.gnu.org/gnu/make/make-3.81.tar.gz

#tar -zxvf make-3.81.tar.gz

#cd make-3.81

#./configure

#make

#make install

無驚無險,順利公升級,但……是……,記得登出,重新登陸,因為我在安裝完新的make後又檢視了一下make版本,居然還是3.79。

再次回到asterisk-1.4.25下面,執行「#make」,又遇到問題了:

……func_curl.c:109: `curlopt_nosignal' undeclared (first use in this function)

curl的版本也低了,需要公升級curl:

這個提示符下面可以用「help」命令看看可以做些什麼,我看到有個「stop now」,於是自執行:

*cli>stop now

beginning asterisk shutdown....

executing last minute cleanups

==    destroying musiconhold processes

asterisk cleanly ending (0).

直接把asterisk停了:)

開源軟交換ASTERISK學習日記(一)

很久以前接觸過一些voip方面的東西,包括asterisk openh232 gnugk等等,當時的想法是純粹h323 sip協議的軟體才是真正的voip軟體,所以對asterisk沒什麼興趣,認為只是乙個另類的軟交換,現在看來真是自己的知識貧乏,太落伍了。最近因為公司開始接觸這方面的業務,我也回頭...

NGN之軟交換

本文是綜合網路和書得到的一篇總結性文章 軟交換 soft switch 國際soft switch論壇isc的定義,soft switch是基於分組網利用程式控制軟體提供呼叫控制功能和 處理相分離的裝置和系統。因此,軟交換的基本含義就是將呼叫控制功能從 閘道器 傳輸層 中分離出來,通過軟體實現基本呼...

軟交換概念總結

它的定義為 利用把呼叫控制功能與 閘道器分開的方法來溝通公用 交換網 pstn 與ip voip 的一種交換技術。軟交換是一種功能實體,為 下一代網路 ngn提供具有實時性要求的業務的 呼叫控制 和連線控制功能,是下一代網路呼叫與控制的核心。簡單地看,軟交換是實現傳統 程式控制交換機 的 呼叫控制 ...