其實一直想要跟大家分享一下自己建置VOIP的過程。

先來說說甚麼是VOIP


以下文章引用自
http://www.cc.ntu.edu.tw/chinese/epaper/0002/20070920_2006.htm
若有不妥,請通知本人移除。


網路電話基本概念及技術
顧名思義,VoIP(Voice over IP)就是透過IP網路傳輸語音資料的技術,也就是一般所謂的網路電話。網際網路協定(Internet Protocol,IP)原先是設計用來傳遞資料封包,而VoIP則包含即時地在IP網路上傳遞語音對話。一般電話線路傳送的是類比語音訊號,但為了要在網際網路上傳輸(或是以TCP/IP協定為基礎的私人網路)則必須增加額外的步驟:聲音被轉換成類比訊號(波形訊號),然後予以數位化(0與1的二位元)處理(從類比轉換到數位)後藉由網路傳送。反之,在接受端的程序則是相反,亦即將透過網路傳輸的0與1訊號轉換回類比訊號,成為人耳能夠辨識的語音。

IP是一種以封包(packet)為傳送基礎的協定,傳統電話則是採取線路交換(circuit switching)。以IP傳送語音資料時,會先將資料切割成封包在網路上傳送,由於IP的特性是盡力遞送(best-effort),並不提供保證服務,所以不同封包有可能採取不同路徑,造成封包順序錯亂或中途遺失,使得VoIP的語音品質保證(QoS)機制特別重要。而線路交換技術則是在傳輸雙方之間建立固定路徑且保留必要頻寬的「線路」(circuit),因而語音品質較能夠得到保證,但相對地,也比較耗費頻寬,使得成本提高。

數十年來,以PSTN傳送語音的工作算是相當平順,因此,既然沒壞,為什麼要更換呢?隱藏在VoIP背後一個重要因素是一個現實的問題:成本。企業組織可能每個月都花費數千或上萬元不等的長途電話費。如果能透過固定成本無限存取網路,那麼通話就可在這樣的連結方式上達到有效節費的目的。雖然有些VoIP會收取月費,但基本上,在長距離通話上的收費還是遠低於一般長途電信費用。除了金錢考量之外,現在人們不僅希望可以盡情地通話,也想利用各種通訊方式,如電子郵件、即時訊息、及影像等等,透過IP技術便可達到傳統語音所無法觸及的多媒體訊息整合功能。

有了成本及功能面的優勢,那為什麼業界沒有立刻捨棄公共電話網路呢?為什麼不將全部的長途電話都改為藉由IP來傳送呢?這跟所有企業決定是一樣的—有利必有弊。將語音電話改由網路技術傳送存在一些缺點,包括:

初始設置成本:雖然市場上已有低成本或甚至是零成本方式進行VoIP語音傳送,但認真考慮使用VoIP的企業則需花一大筆投資在VoIP設備上。
品質問題:雖然VoIP的品質已經越來越好了,但大部分的VoIP服務和產品都還未能趕上傳統電話網路的品質。對於在封包網路上傳送語音串流仍舊存在許多挑戰。
相容性問題:有些服務需要發話與受話方都是同一服務商的用戶才行,而有些軟體程式也需要收發話雙方都安裝相同的軟體。然而,有許多其他的服務/程式也可以讓你打電話給任何人,包括從電腦發話到一般的電話上,或甚至是直接以一般電話將封包傳送於IP網路上。

---------------------------------------------- 我是分割線 ----------------------------------------------
先說明: 目前台灣並無代理此卡片,此卡片是從美國飛回來的,請勿PM我哪買的,台灣可以買到Clone Card。


接下來是本人的血淚史:

在一開始的時候,我是使用DSG 的Blaze系列,自從使用後痛苦不斷....不斷的發生硬體問題,以及通話有回音等等...在我沒有辦法之下選擇了另一個選擇....

Asterisk

他是一個開放式程式碼的專案,可以供人自由使用(支援的話要錢喔.~~~),在英文原意中Asterisk就是萬用符號的發音,而這個專案的開法目的就是連結所有與通訊有關的協定,也就是萬用交換機的意思,開發的公司主要是Digium (他是一家賣板卡的公司,軟體不用錢,硬體要錢),以及所有的社群人員。

網站:http://www.asterisk.org

恩~~上面的介紹說完了,來說說看昨天到的卡片了

您可以看到主卡由三個部分組成

母版、四個FXO 子卡(紅色)、硬體 Echo Canceller (紫色)
[VOIP] 昨天踢到的Digium 原版卡


卡片反面 (反面也有 Asterisk 的標誌)
[VOIP] 昨天踢到的Digium 原版卡

卡片的小瑕疵,可以看到上面的FXO卡片是沒有平的,接腳沒有切得很好
[VOIP] 昨天踢到的Digium 原版卡

取下ECHO Canceller 後的裸卡
[VOIP] 昨天踢到的Digium 原版卡

Echo Canceller 的裸照
[VOIP] 昨天踢到的Digium 原版卡


-------------------------------我是分隔線 ----------------------------------------------


此卡是Openvox 所出的Clone卡,與Digium TDM 400線路完全相同,驅動程式也通用
[VOIP] 昨天踢到的Digium 原版卡

反面
[VOIP] 昨天踢到的Digium 原版卡

使用的晶片
[VOIP] 昨天踢到的Digium 原版卡

可以看見卡片大小有點差異
[VOIP] 昨天踢到的Digium 原版卡

再來就是Mobile01 的傳統 疊疊樂
[VOIP] 昨天踢到的Digium 原版卡

----------------------------- 我還是分隔線-----------------------------------------------

介紹完硬體了,要介紹軟體了
Hardware:

Cpu: 1Ghz 以上
Ram: 512 MB

OS: Centos linux
software: asterisk

-------------------------------------------------------------------------------------------

CentOS 是一款RedHat Enterprise 版本的重新編譯版,理論上與RedHat一模一樣。安裝過程就不提了

以下為安裝Asterisk 的過程

取得檔案
wget http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-linux-2.1.0.4.tar.gz
wget http://downloads.digium.com/pub/telephony/dahdi-tools/dahdi-tools-2.1.0.3.tar.gz
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.6.0.6.tar.gz

dahdi-linux 為語音卡的驅動程式,執行以下的程式碼將會開始安裝
tar -zxvf dahdi-linux-2.1.0.3.tar.gz
cd dahdi-linux-2.1.0.3
make
make install
cd ..

--------開始執行 Dahdi TOOLS 的安裝 -----------

tar -zxvf dahdi-tools-2.1.0.3.tar.gz
cd dahdi-tools-2.1.0.3
./configure
make
make install
make config
cd ..

-------安裝完語音卡工具及驅動程式後,安裝Asterisk PBX -----------

tar -zxvf asterisk-1.6.0.6.tar.gz
cd asterisk-1.6.0.6
./configure
make
make install
make samples ; 此選項為新增設定檔案範例,如果你'很有經驗' 此選項可忽略


------- 安裝 Asterisk GUI 若無安裝GUI則須自行修改文件檔案 ----------
cd ..
svn co http://svn.digium.com/svn/asterisk-gui/branches/2.0 asterisk-gui
cd asterisk-gui
./configure
make
make install

------ 安裝完 Asterisk GUI 後須修改設定文件 ----------------------------
vi /etc/asterisk/http.conf

請確定設定值是否為:
[general]
enabled=yes
bindaddr=0.0.0.0
bindport=8088
prefix=gui
enablestatic=yes

vi /etc/asterisk/manager.conf
請確定設定值為:
[general]
enabled=yes
webenabled=yes
port=5038
bindaddr=0.0.0.0
[請自行輸入登入名稱]
secret=請自行輸入登入密碼
read=system,call,log,verbose,command,agent,user,config,originate,read,write
write=system,call,log,verbose,command,agent,user,config,originate,read,write


-------------------------- 安裝步驟完成 ------------------------------------------
接下來你可以重開機後輸入 asterisk 啟動asterisk ,若正常啟動後,可以使用

http://localhost:8088/asterisk/static/config/index.html這個網址來設定asterisk 了

我想剩下的事很簡單的設定了,自行研究即可。


= = 拖了很久終於寫得差不多了,下次再來寫Echo Canceller的整合。(目前為止若你安裝的正確,可以聽到很清晰的語音....但是有回音,下次再寫如何避免這樣的問題)





熊熊看到一半....沒了
期待版主更新...

不知道版主見智的VOIP是公司用的還是私人用的呢?
用的是哪些設備?

因為我也想學習學習啦...
希望版主不要嫌我煩...

感謝...............
lraychee wrote:
熊熊看到一半.......(恕刪)


設備為 PC X 1 (其實不需要很好 C3 就可以跑得很好了 除非是大企業同時通話在十五通以上)

語音卡 X 1 (Clone卡片約莫 6500 - 無硬體迴音處理 , Digium 原廠卡約莫20000 )

軟體回音處理 1ch USD$10 ,若有硬體回音處理的話並不需要購買軟體。

看你要買多少路就多少錢,建議是用收費的,因為免費的OSLEC效果並不特別突出,且有的時候有無法載入的問題。

大大 不好意思

我在 dahdi-linux-2.1.0.3 要 make 的時候 出現以下錯誤

echo "You do not appear to have the sources for the 2.6.18-92.1.22.el5xen kernel installed."
You do not appear to have the sources for the 2.6.18-92.1.22.el5xen kernel installed.
exit 1
make: *** [modules] Error 1

不知道大大知不知道該怎麼解決


OS : CentOS 5.2


tjtsaitsai wrote:
大大 不好意思

...(恕刪)


他的回應是說你的kernel 版本不府合,但是我使用CentOS的時候並無此狀態,建議你Update看看
想請問樓主,安裝完畢後是否可用softphone直接透過FXO撥出市話
我在asterisk-gui 的 trunk 及 outgoing call rule 裡都無法設定成功
如有設定範例可否分享??

期待樓主的後續文章啊!!

我比較想知道版主建置的Asterisk

有包含MGCP NCS嗎??

還是只是PBX + Sip

小弟遍尋許久..關於NCS的資訊實在少得可憐


還有版主不知道是否可以教學一下

extension.conf 如何設置??
asterisk的mgcp部份真的少的可憐
不過還是有辦法patch進去的...
請參閱 asterisk NCS

MGCP.conf問題的話,請研究一下這個MGCP

加油...
很棒的教學文章,期待樓主的補完(不過這張卡還真是有點貴,家用還是乖乖用SKYPE好了)

+5分喔
你好,

如果不用語音卡,是否可以運用 voip gateway 的 fxo 及 fxs(這是現有的設備),

有辦法與主機的 asterisk 軟體做結合嗎?想要將小工作室做成有 ippbx 的功能!


因在猶豫是否要花錢買語音卡?口袋不深啊!

文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!