[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

Elastix
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

最近對IP-PBX上這個科技產品有蠻大的興趣,每天晚上花了很多時間在爬文及研究測試,
當然,這類的產品在市場上早已有定型化的商品在販售,功能也頗為強悍,
但礙於商業利益及硬體能力,這類的商品,在Trunks、Extensions(users)、Concurrent Call上
有諸多有限制.

一般家用或小型的公司用的IP-PBX,普遍上來講,大概就是:SIP Trunks <= 5、Extension <= 30 、Concurrent Call <= 12,
這個位階的產品例如:前陣子pctine兄開箱的SMCPBX10,還有ASUS IPBX30、智邦VTG3300、M-S IP PBX...等等.

SMCPBX10
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

ASUS IPBX30
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

智邦VTG3300
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

M-S IP PBX
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事


進階一點的,大概就是,SIP Trunks <= 10、Extension <= 100 、Concurrent Call <= 22,
這個位階的產品例如:WellGate ePBX-100A、M-Y IP PBX...等等.

WellGate ePBX-100A
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

M-Y IP PBX
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事


再來就是高階的產品,(SIP Trunks >= 10、Extension >= 100、Concurrent Call >= 30) or Unlimited(取決於硬體能力)
這個位階的產品例如:商業版的3CX,及以基於Asterisk為核心開放源碼系列的TrixBox(Asterisk @ Home)、Elastix/FreePBX...等等.

Asterisk
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

TrixBox(Asterisk @ Home)
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

Elastix
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

要用來跑Elastix系統,PC的硬體要求規格不會很高.據谷歌大神的提供的情資:
一套Intel G840的PC跑Elastix系統,可以提供40條的Concurrent Call.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

一套Intel Xeon(R) Quad Core X3430的PC跑Elastix系統,可以提供80條的Concurrent Call.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事


要研究IP-PBX得有教材,在網路上找到一些關於Elastix的教學文件,研讀之後覺得還蠻淺顯易懂,
(第一篇) Elastix VoIP 開源電話系統簡介
(第二篇) 如何部署一部Elastix在一個site內
(第三篇) Elastix安裝
(第四篇) Elastix安全性設定
(第五篇) Elastix基本打出打入設定

談到Elastix這套系統,我一定要站起來用力的的給它鼓鼓掌,
Free Edition的東西,就已經是Pro級的,
功能比起百萬級的總機系統,豪不遜色,甚至有過之而無不及.

軟體系統提供免費使用就算了,連技術手冊也免費提供,
需要的可以去Google一下 "elastix without tears" 這個關鍵字,就可以找到載點.

大概可以找到二個版次,最新的版本是 "elastix_without_tears_may_8_2009"
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
手冊內高達275頁的內容,圖文並茂且鉅細靡遺的說明每項設定的方法,連買書的錢的省了.

在Youtube上也可以找到很多Elastix教學影片可以觀看學習,

學習的方式除了看文件及影片之外,最好的方式就是要去身體力行,
籍由實機的操作可以更容易理解.,所以得架個硬體試試..

家中有一台2003年購入的電腦,規格是ASUS A7V880+Althon XP2400/2GB DDR RAM/160GB HDD
要跑Windows,規格速度都跟不上時代,所以已閒置無用多時,但用來安裝Elastix系統已綽綽有餘,
唯一的缺點就是太耗電了.

Elastix的官網可以下載到Elastix-2.0.3-i386-bin-15Nov2010.iso
及Elastix-2.0.3-x86_64-bin-15nov2010.iso這二個Live CD,
燒錄成CD片之後,用它來Boot,接下來只要Step by Step的跟著做,完成安裝並不困難.

官網上的Elastix-2.0.3這套系統,是和CentOS5.5 這套Linux封裝在一起,所以要弄懂它,
得先要會一點Linux的基本功,
要學習CentOS,在這裡先推薦一下「CentOS Linux系統建置與實務」這本工具書,
在各大網路書局都可以買得到.

CentOS Linux系統建置與實務
以最容易的方式導入Linux系統
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
作者: 湯秉翰
ISBN: 9789862014264/9862014261
出版社: 博碩文化
出版日期:2011/08/29


再來就是介紹幾個練功房:
OSSLab::開放軟體實驗室(Open Source Software Lab)
Linux/Asterisk/Virtualization Consultant, OSSLab Founder
Taiwan Asterisk Users Group(TAUG)
voip-info.org

有了Server的軟硬體、教學文件、SIP Phone,再來需要的就是Try and Try...

Elastix的安裝部份有教學文件、影片,自己看看就會了.
困難的部份都是在設定方面,經過三個星期的摸索,
目前學會基本設定有:
1.Extensions.
2.Outbound Routes.
3.Inbound Routes.
4.Trunks.
5.IVR.
6.Ring Group.
7.System Recording.
8.Voice mail.
9.Call Detail Report.
10.Parking Lot Configuration
還有很多功能都還在摸索中....

另外,學會的密技的部份有:
1.如何安裝繁體中文化
2.如何安裝 codec g.729 & g.723 Codecs
3.如何設定影像支援
4.如何安裝中文語音檔
5.ipbb SIP Trunks設定.

到這裡為止,一般的應用都學會了,甚至已有能力運用Elastix建置超大戶數對講系統..
但畢竟IP-PBX是個電話交換機,不給它裝上PSTN線怎麼能夠稱職,
所以為了這個需求,一定得購入FXO Voice Gateway,或FXO Card,才能做 "雲端電話總機" 的運用.

在露拍上survey了許久,最後決定購入TDM400P這張4FXO卡,
這畢竟不是太General的東西,所以賣得人不多(大概只有3~4家在賣),
銷售成績最好那家,它的價格其實不是最便宜的,最便宜的前二家,價差還有二張國父.,
便宜第三名以後的真的不想談,價格亂操操....
一樣都是對岸生產的 "克隆" 卡而以,竟把 "鐵" 當 "銅" 在賣,唉!算了,不提也罷..

我不是跟最便宜的那家買,我買的這家,之前我有向他買過ipbb儲值卡、GSM節費器..等
交易經驗還算愉快,賣家夠專業、服務也熱心,雖然稍貴了一點,不過 "奇摩子" 爽啦!

買之前有Google過,其實這張卡用在台灣的PSTN線,Caller ID會有無法顯示的問題,
向賣家諮詢後,果不其然,沒有例外,值得慶幸的是...有辦法可解啦!
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

2011-10-26下訂, 2011-10-28就可以在7-ELEVEn取到貨了,
當天就等不及要它上機去了,簡單開箱一下:
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

仔細看了一下,並沒有像un3354兄開箱那片卡
有 「子卡的高度全部都不同、插的針,全部都露出來,做功真的是不及格」等問題,
唯一一點是看起來舊了點,界面鐵片都已無亮光,不過這不影響功能,倒無所謂.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

拿到這片卡片前,我的Elastix/FreePBX已運作3個星期,操作、設定上大概已瞭解大半,
在Console畫面,Login之後,執行更新指令"yum -y update",大約會執行25分鍾的Update..
完成後,發現CentOS的Version已從5.5升級到5.7.
核心的Asterrisk Version也從1.6.2.13Release0 升級到 1.6.2.20Release2.
Elastix Version則從2.0.0Release57 升級到 2.0.0Release63.
FreePBX Version則從2.7.0Release9 升級到 2.7.0Release10.
而dahid的部份則維持原來的2.3.0.1...

Original Version
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

After "yum -y update" Version
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事


據賣家的說法是,卡片裝上去後按"Hardware Detector" 後它會自己裝好Driver,
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
但實際上並不是,裝上卡片開機後,並沒有任何異狀,按"Hardware Detector"也沒反應,
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
試著更換PCI卡糟也一樣沒反應,按自動更新也沒用,系統重開機好幾次也沒能自動安裝好Driver.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
害我一度以為是拿到了 "卡王" ,最後索性把系統重灌,才能正確識別到這張卡片.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
Opterator Pannel
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
CLI: dadhi show status
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
CLI: dadhi show channels
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

在確定TDM400P接台灣PSTN線路時Caller ID無法顯示的問題有解後,順便也跟賣家要了解決方法的教學,
其實在更早些,我就已經Google到liuwh兄寫的這一篇,--->"TDM400P(A400P)在台灣來電顯示設定方式",
只是我更好奇的是,有沒有 "更簡單" 的做法..

專業賣家e了這個給我

Asterisk 1.6.x 台灣來顯補丁安裝步驟如下:

1.安裝TDM400P卡片, 開機安裝完Elastix2.0
2.安裝完成後使用root login到linux ,下載asterisk 原始檔
2.1 cd /usr/src
2.2 wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.2.20.tar.gz
2.3 tar xvf asterisk-1.6.2.20.tar.gz
3. 下載台灣來顯補丁
3.1 cd asterisk-1.6.2.20
3.2 wget 'https://issues.asterisk.org/file_download.php?file_id=23700&type=bug' -O - | patch -p0
4. 重新編譯安裝asterisk
./configure
make install
5. 編輯 /etc/asterisk/chan_dahdi.conf 在[channels]裡面加上以下幾行
language=tw
callerid=asreceived
cidsignalling=dtmf
cidstart=dtmf
dtmfcidlevel=500
rxgain=5.0
txgain=-3.0
cid_rxgain=1.0
relaxdtmf=yes
busydetect=yes
busycount=3
6. 重新啟動asterisk
amportal restart


比對一下liuwh兄寫的那一篇的內容,還真的差蠻多的...

TDM400P(A400P)在台灣來電顯示設定方式

一、先安裝elastix 1.5.2 或1.6
二、下載及更新dahdi
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-2.3.0.1.tar.gz
tar xvf dahdi-linux-2.3.0.1.tar.gz
cd dahdi-linux-2.3.0.1
wget 'https://issues.asterisk.org/file_download.php?file_id=21390&type=bug' -O - | patch -p0
(會出現錯誤,不必理會)
make clean
make install
三、變更/etc/asterisk/chan_dahdi.conf
增加五行
callerid=asreceived
usecallerid=yes
cidsignalling=v23
hidecallerid=no
cidstart=polarity
四、變更/etc/dahdi/modules
增加一行
dahdi_echocan_mg2
五、變更/etc/dahdi/genconf_parameters
將echo_can oslec 改成 echo_can mg2
六、變更/etc/modprobe.conf
增加一行
options wctdm dtmf=1
七、重新開機
八、在Elastix Web內 Hardware Detection->Detection New Hardware
九、重新開機
完成收工。


上列的第一種方法是patch整個Asterrisk,第二種方法是只patch dahdi.
我也是覺得第一種方法比較好,但就是不知道那個環節出錯,
把二種方法都貼在這裡,希望諸位高手能提供點意見..

但遺憾的是,可能是自己的功力還不夠深,依照賣家提供的那個教學,試了5次都沒成功,
後來,才改用liuwh兄寫的那個方法試試,沒想到1次就搞定了...
將這個問題反應給賣家以後,也很快的得到了回應..
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

另外一點,先前買的GSM轉接器節費器接上TDM400P這塊卡,
同東訊的DX-616A總機接GSM節費器,有CID無法顯示的問題,
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
竟在賣家提供下面這個方法後,搞定了..

在/etc/asterisk/dahdi-channels.conf增加以下內容

callerid=asreceived
cidsignalling=dtmf
cidstart=ring

這真是意外的驚喜啊...

以下,系統升級為Elastix v2.2,新增之內容均為v2.2版的畫面...
=================================================================================
101.01.25 新增

「瑪凱(IPBB) SIP Trunk 設定」及「特定的SIP Trunk直接撥入特定的分機」


一、瑪凱(IPBB) SIP Trunk 設定.
Outgoing Settings

username=<sip_number>
type=peer
secret=<password>
qualify=yes
insecure=invite,port
host=210.244.221.240
disallow=all
allow=g729


Incoming Settings

username=<sip_number>
type=user
insecure=invite,port
host=msw1.mky.com
fromuser=<sip_number>
fromdomain=msw1.mky.com


Register String

<sip_number>:<password>@msw1.mky.com/<sip_number>

上面紅色字為DID Number
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

二、特定的SIP Trunk直接撥入特定的分機.
1.於Inboud Routes/Add Incoming Route填入上面SIP Trunk設定的DID Number.
2.於Set Destination/Extensions選擇欲直通的分機.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

=================================================================================
101.01.26 新增

「將TDM400P的4個FXO Port分群並籍由撥號前置碼指定外撥路由」

籍由撥號前置碼('91' ~ '94')選擇 FXO-01~04 界接之外線撥出.

一、修改'dahdi-channels.conf'檔.

PBX/Tools/Asterisk File Editor --> 'dahdi-channels.conf'

; Autogenerated by /usr/sbin/dahdi_genconf on Tue Jan 17 11:02:10 2012
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: WCTDM/4 "Wildcard S400P Prototype Board 5" (MASTER)
;;; line="1 WCTDM/4/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
callerid=
group=
context=default

;;; line="2 WCTDM/4/1 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=1 --> 原預設值為 '0'
context=from-pstn
channel => 2
callerid=
group=
context=default

;;; line="3 WCTDM/4/2 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=2 --> 原預設值為 '0'
context=from-pstn
channel => 3
callerid=
group=
context=default

;;; line="4 WCTDM/4/3 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=3 --> 原預設值為 '0'
context=from-pstn
channel => 4
callerid=
group=
context=default

[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

二、設定PBX/PBX Configuration/Trunks/Add Zap Trunk (DAHDI compatibility mode).
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

Channel g0(ZAP)
Trunk Name:ZAP Channel g0
Zap Identifier:g0
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

Channel g1(ZAP)
Trunk Name:Channel g1
Zap Identifier:g1
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

Channel g2(ZAP)
Trunk Name:Channel g2
Zap Identifier:g2
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

Channel g3(ZAP)
Trunk Name:Channel g3
Zap Identifier:g3
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

三、設定PBX/PBX Configuration/Outbound Routes.

91_outside
Route Name:91_outside
prefix=91/match pattern=.
Trunk Sequence for Matched Routes '0'=ZAP/g0
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

92_outside
Route Name:92_outside
prefix=92/match pattern=.
Trunk Sequence for Matched Routes '0'=Channel g1
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

93_outside
Route Name:93_outside
prefix=93/match pattern=.
Trunk Sequence for Matched Routes '0'=Channel g2
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

94_outside
Route Name:94_outside
prefix=94/match pattern=.
Trunk Sequence for Matched Routes '0'=Channel g3
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

大功告成
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

=================================================================================
101.05.05 新增:
今天將系統升級為新版的 Elastix 2.3.0 (Elastix-2.3.0-i386-bin-02Apr2012.iso)
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事


系統升級後,相關資訊如下:
Details of package versions

Kernel
Linux(i386)-2.6.18-238.12.1.el5

Elastix
elastix-2.3.0-5
elastix-my_extension-2.2.0-6
elastix-im-2.2.0-2
elastix-agenda-2.3.0-3
elastix-email_admin-2.3.0-6
elastix-asterisk-sounds-1.2.3-1
elastix-fax-2.3.0-2
elastix-framework-2.3.0-6
elastix-reports-2.3.0-3
elastix-extras-2.2.0-1
elastix-security-2.3.0-4
elastix-a2billing-1.9.4-3
elastix-system-2.3.0-6
elastix-firstboot-2.3.0-5
elastix-addons-2.3.0-3
elastix-vtigercrm-5.2.1-5
elastix-pbx-2.3.0-5

RounCubeMail
RoundCubeMail-0.3.1-11

Mail
postfix-2.3.3-2.3.el5_6
cyrus-imapd-2.3.7-12.el5_7.2

IM
openfire-3.7.1-1

FreePBX
freePBX-2.8.1-12

Asterisk
asterisk-1.8.11.0-0
asterisk-perl-0.10-2
asterisk-addons-1.8.11.0-0

FAX
hylafax-4.3.10-2rhel5
iaxmodem-1.2.0-1.1

DRIVERS
dahdi-2.4.1.2-10
rhino-0.99.4-3.rc1
wanpipe-util-3.5.25-0

[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事


安裝後有以下發現:
1.這一版(v2.30)的Web UI同前一版(v2.20)一樣,都沒變.
2.這一版仍可繼續沿用前一版的 Codec.
3.這一版修正了前一版在 'Operator Panel、Flash Operator Panel' 顯示錯誤的Bug.
4.這一版在 'PBX/Tools/Asterisk File Editor' 功能有些改進(可以防止在 .conf 檔裡輸入空白或亂碼).
5.這一版使用TDM400P這塊4FXO卡,仍然有CID沒辦法顯示的問題,解決方式和前一版一樣,
不用重新去patch driver,只要在 'chan_dahdi.conf' 增加以下內容就可以了.

callerid=asreceived
usecallerid=yes
cidsignalling=dtmf
hidecallerid=no
cidstart=dtmf
dtmfcidlevel=380 (這個值視線路雜訊強度調整)


前一版(v2.20)連續Run了102天15小時18分鍾,沒有當機重啟的紀錄.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

=================================================================================
101.05.19 新增:

為TDM400P的PSTN進線指定DID Number


TDM400P這塊卡是「4Port母卡+4塊FXO子卡」的組合,也就是說它可以讓您接4路的PSTN線路.
PSTN是類比的訊號,1對銅線(2蕊)只能跑1路語音及傳送DTMF、CID訊號而以,
不像E1利用PCM調變技術,可以讓1對銅線(2蕊)跑30路語音及傳送DTMF、CID訊號之外,
還能做DID–直接撥入,在Elastix的系統下,若是PSTN進線也想要有 DID 的功能,要怎麼做呢?

在設定 'PBX/PBX Configuration/Incoming Route' 的規則,允許二種識別方式:
1.識別 'DID Number'.
2.識別 'Caller ID Number'.

因為PSTN的進線是不帶DID訊號的,假如今天有一個需求是:
卡上接進來的4路PSTN(Channel 1~4),分別要給它做不同的 'Incoming Route',
例如:'FWD to Extensions' 、 'FWD to RingGroups' or 'FWD to IVR' ...etc,
就像小弟想充份利用 '7-Mobile' 網內免費的這個優惠,讓出門在外的同網手機,
可以免費撥回自己家,或父母親家電話(Extensions)的這個需求時一樣,
這時就可以利用指定DID的方式去規劃 'Incoming Route'.

做法是:僅讓這一路PSTN來電時直接進 IVR,
再經由 '二次撥號' 決定接通至何處的分機(自己家 or 父母親家),
這樣的需求要怎麼做呢? 答案就是利用 'Zap Channel DIDs'這個功能了.
大致上有二個步驟要設定,方法如下:

步驟一:Add Zap Channel
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
1.Channel這個欄位輸入: '1' ~ '4'
2.Description這個欄位輸入這條PSTN線路的號碼,例: '0989123456'
3.DID這這個欄位也輸入這條PSTN線路的號碼,例: '0989123456'


完成後,這裡會新增一些資訊,如下圖.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

步驟二:用 'PBX/Tools/Asterisk File Editor' 修改 'dahdi-channels.conf' 檔
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

; Autogenerated by /usr/sbin/dahdi_genconf on Sat May 5 18:00:58 2012
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: WCTDM/4 "Wildcard S400P Prototype Board 5" (MASTER)
;;; line="1 WCTDM/4/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
callerid=
group=
context=default

;;; line="2 WCTDM/4/1 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-pstn
channel => 2
callerid=
group=
context=default

;;; line="3 WCTDM/4/2 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=2
context=from-zaptel (原內容是 'from-pstn')
channel => 3
callerid=
group=
context=default

;;; line="4 WCTDM/4/3 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=3
context=from-pstn
channel => 4
callerid=
group=
context=default

※完成後別忘了 Login to Console畫面去做 'amportal restart',使其設定生效.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事


這樣您就可以用 'DID Num' 去分別規劃卡上各Channel(FXO-01~04)PSTN線的 'Incoming Route'.
像小弟是單獨把 '7-Mobile' 這一路PSTN(FXO-03/GSM Gateway)的 'Incoming Route',
設定為來電時直接進 IVR,如下圖:
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

※至於IVR要怎麼設定呢? 且待下回分曉...

=================================================================================
101.05.20 新增

建立簡單的IVR(Interactive Voice Response).

在 'PBX/PBX Configration/IVR' 的選單裡,有一個可以讓你建立自動語音應答功能.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

它是這樣介紹的:

Digital Receptionist

Instructions


You use the Digital Receptionist to make IVR's, Interactive Voice Response systems.
When creating a menu option, apart from the standard options of 0-9,* and #, you can also use 'i' and 't'

destinations. 'i' is used when the caller pushes an invalid button, and 't' is used when there is no response. If

those options aren't supplied, the default 't' is to replay the menu three times and then hang up, and the default

'i' is to say 'Invalid option, please try again' and replay the menu. After three invalid attempts, the line is

hung up.


在按下右上角的 'Add IVR' 按鈕後,接著有一些欄位要填入資料.

[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
Change Name 為這個IVR取一個名字.
Announcement自動語音的第一段語音檔(電話接通後只撥放一次).
Timeout 等待若干秒數後再撥放下一段語音檔.
VM Return to IVR這個不知.
Enable Direct Dial語音撥放期間是否允許按鍵.
Loop Before t-dest時間到達設定值後重複撥放第二段語音檔.
Timeout Message自動語音的第二段語音檔(會重複撥放n次).
Loop Before i-dest按鍵無效時重複撥放第三段語音檔.
Invalid Message 自動語音的第三段語音檔(會重複撥放n次).
Repeat Loops: 總共重複撥放n次.


當您試圖照著上面的教學做時,您會發現在上圖的 '1 ~ 3' 處的欄位只有 'None' 選項,
而找不到 'IVR00~02' 這些選項,不用慌,那是因為您尚未替系統建立語音檔,
所以我們必需先執行 'PBX/PBX Configration/System Recordings' 這個步驟,來為系統建立語音檔.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

您可採任一分機利用系統內建的功能 '即時錄製 或以事先錄製完成的語音檔 '直接上傳' .
若是您想用別的軟體來錄製語音檔,那有二點要注意:
1.檔案需為相容於Microsoft Recorder的 '.wav' 格式.
2.格式要求為:PCM編碼、16 Bits單音、8KHz的取樣率.


※這個系統以外的錄音軟體,建議採用 'GoldWave',它有剪輯的功能,小弟就是採用這套軟體.

在前面提到的 '7-Mobile-IVR' 裡需要3個語音檔,我以我事先以'GoldWave'錄製了,
檔名分別為:'IVR00'、'IVR01'及'IVR02',
錄製總機語音的工作,是請我的小情人擔綱,不為什麼? 就是因為她的聲音比較甜美啦!

小弟為系統錄製的語音檔內容是這樣的:

IVR00.wav 第一段語音檔.
「Hi! 您好:我是xxx,請直撥分機號碼或撥9由總機為您轉接」.


IVR01.wav 第二段語音檔.
「阿公阿嬤家請撥1005或1006、我們家請撥2005或2006,謝謝」.


IVR02.wav 第三段語音檔.
「您輸入的分機號碼無效,請重新輸入」.


將錄製完成的語音檔逐一上傳,完成後如以下晝面.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

這時候,您再回到 ''PBX/PBX Configration/IVR/Add IVR' 畫面時,
'Announcement' 、 'Timeout Message' 、 'Invalid Message' 等欄位就有'IVR00~02' 這些選項了.


重要的提醒:
啟用IVR時,記得將 'chan_dahdi.conf' 設定檔內的
busydetect=yes
busycount=3
這二項設定啟用,否則若撥入端半途掛斷,這一路的PSTN將會被IVR咬線.
[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事


=================================================================================
101.05.24 新增

DISA(Direct Inward System Access)的設定與操作.

小弟在前幾天的文章中有提到說要用'DISA(外線撥外線)'的功能來實現
「以 '7-Mobile' 進線,由 'FET 070' 撥出,充份應用 '雙省節費盒' 的免費 credit」
的這個計畫,礙於最近工作較忙碌,遲延至今天才發表,在此說聲 Sorry! 先.

目前小弟家中的IP-PBX上的TDM400P這塊卡接了三個門號,分別是:
FXO-01:中華PSTN:月租費50元(可抵 '市內 ' 通話費).
FXO-02:遠傳(WT5):網路費460元(可抵通話費/FET070網內互打免費).
FXO-03:GSM Gateway(7-Mobile):月租費140元(可抵通話費/7-Mobile網內互打免費).

所以,上述的每一門號或多或少每月都有一些免費的credit可以應用,不打白不打呀!


現在出門在外時,用來打回自己家或父母親家是用 '7-Mobile' 進線,由IVR接取,經二次撥號轉分機,
而在家時,打回父母親家,或父母親家打到小弟家,都是分機打分機,在充份應用網路電話的情況下,
撥打外線的機會大大的減少,進而讓這些免費的credit都放著白白浪費了..

而出門在外時,偶有需用手機撥打網外長舌的機會,造成行動通話費大大的增加,
為了截長補短,小弟找到一個Solution,那就是 'DISA' 了,
或許有人會問,為何不用手機上的SIP軟體電話直接註冊在IP-PBX上來當分機用,
非得搞得這麼複雜呢?

這也是沒辦法的事,簡單做個解釋:
一來小弟目前沒有智慧型手機,二來沒有租用行動上網,這樣說夠明白了嗎?

好了,廢話就不多說了,接下來講正題,在Elastix中只要二個步驟,上述的需求就搞定了:

步驟一:在 'PBX/PBX Configration/DISA/Add DISA' 中新增一個DISA設定,如: 'test'.

[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事

DISA name:這欄隨便輸入一個名字.
PIN:這欄設定要外撥的驗證密碼,如要設多組密碼就用逗點區隔.
Response Timeout:設定幾秒鐘撥入者沒按鍵就掛斷.
Digit Timeout:設定按鍵與按鍵的時間間隔,超過幾秒鐘就掛斷.
Require Confirmation:需確認撥入者的CID(選取 or 不選).
Caller ID:撥入者的CID設定(可空白不指定).
Context:from-internal;指定的Dialplan.
Allow Hangup:允許按 '**' 做線路暫切(選取 or 不選).


步驟二:在 'PBX/PBX Configration/IVR/Add IVR' 中新增一個號碼對應 'DISA',例: '5050'.

[分享]IP-PBX之Elastix with TDM400P(4FXO)安裝記事
使用者輸入 '5050' 時轉入 'DISA'.


就這二個步驟就大功告成,簡單吧! 接下來進入成果驗收.

操作方法:(在這個之前,小弟已將 '7-Mobile' 那一個門號導入 'IVR' )
1.拿一支手機撥 '7-Mobile' 那個門號.
2.響鈴一聲後,系統會自動接取來電並撥放之前預錄的IVR語音(Hi! 您好:請直撥....).
3.輸入 'DISA' 的分機號 '5050'.
4.系統回應 'Please enter your password follow by pound key'.
5.輸入 'PIN' 的設定碼 '0000'.
6.系統回應 'Thank You',接著出現Tone音.

※這時您可以輸入 「分機號碼」(外線轉分機)、「功能碼*80+分機碼」(執行Intercom),或「外撥碼(依Outbound Routes)+電話號碼」(外線撥外線).



小弟簡單描述 'DISA' 運行中的情境:
撥入外線這時候的角色定位、功能、權限、操作方式都同內部分機一樣.
文章關鍵字
內容豐富,按讚!


rontzong wrote:
最近對IP-PBX上...(恕刪)
我也按讚!看得出來字字血汗 ^__^

前一陣子也有在試這一部份,只不過試了很多方法都不成功,包含你提到的。因此,想請教幾個問題:

- 你的主機放在哪個縣市?以我的經驗,CID 顯示問題在北部,中部有不同的結果。
- 透過這張卡撥出及撥入,是否覺得對方或我方音量過小?雖然可以調整 gain 但會產生 Echo 等副作用。
- CID 是否 100% 能顯示呢?
- 有沒發生電話掛不斷的問題呢?

希望有技術能力的玩家一起來推廣 Asterisk,讓家庭及企業都能享受更便利及更便宜的網路通訊。

-- IPOX: 0702500267 iNum: +883 510008099702

gerrybbs wrote:
透過這張卡撥出及撥入,是否覺得對方或我方音量過小?雖然可以調整 gain 但會產生 Echo 等副作用。
有沒發生電話掛不斷的問題呢?
(恕刪)


1. 前3秒,對方會覺得我方太小聲,如果調整ippbx效果不大,調整 linksys FXS 效果OK!

2. 別人打入分機,轉出手機,手機沒接到 或 手機接起後掛斷,到了手機這段很容易沒斷線!
CID的部份目前測試由手機撥入及市話撥入都正常.

關於Hang up的部份,目前發現它似乎只偵則主機端的SIP Phone,
若只是它端的電話掛斷,而主機端的SIP Phone沒掛斷,
在 "Opterator Pannel" 畫面的Extensions、DAHDI都仍呈現通聯中..

關於TDM400P這張4FXO卡的設定,可以參考Youtube上面的這段影片.
Configuracion de placa openvox con 4 FXO en asterisk usando elastix

另外,聲音太小聲的問題,在影片中有關/etc/asterisk/chan_dahdi.conf 裡的設定值是
rxgain=4.0
txgain=4.0

我是依照方法調,並沒有太小聲,或回音的問題.
請教一下
我安裝了Elastix也安裝了繁體中文語系,但在網頁上還是有滿多地方翻譯不完全,但查看tw.lan翻譯檔,該相關字有正確的翻譯,我該怎樣修正呢?
例如PBX頁面,在tw.lan裡有翻譯,但網頁上顯示不出來,還是英文的畫面。
另外FreePBX的模組更新,剛安裝完成後,更新至2.8的最新版更新ok。但要更新到2.9時就會卡住無法更新。我有依提示先更新FreePBX framework,每次都會卡住然後因為FreePBX更新不完全整個還原重做。有人有這方面的經驗嗎?
我的系統是安裝在ESXi4上面的虛擬環境。

另外不知道rontzong大大,是否有意願分享您安裝/測試Elastix的心得或教學來造福大家呢?在此先謝謝您^^
wnchn wrote:
我安裝了Elastix也安裝了繁體中文語系,但在網頁上還是有滿多地方翻譯不完全,但查看tw.lan翻譯檔,該相關字有正確的翻譯,我該怎樣修正呢?


繁體中文化的問題,小弟遇到的情況也和您一樣.

wnchn wrote:
另外不知道rontzong大大,是否有意願分享您安裝/測試Elastix的心得或教學來造福大家呢?在此先謝謝您^^

在IP-PBX的領域,小弟只是乳臭未乾的小子,講 '教學' 是萬萬不敢啊!
基於分享心得的精神,小弟倒是願意和諸位神人大大多多交流.
rontzong兄,繁體中文化的方式我有找到方法了。
參考來源:OSSlab
http://www.osslab.com.tw/VoIP/IP_PBX/%E8%BB%9F%E9%AB%94%E5%BC%8F_IP_PBX/Asterisk/%E7%99%BC%E8%A1%8C%E5%A5%97%E4%BB%B6%E5%8F%8A%E7%B3%BB%E7%B5%B1%E5%AE%89%E8%A3%9D/Elastix/Elastix_%E7%B9%81%E9%AB%94%E4%B8%AD%E6%96%87%E5%8C%96%E7%BF%BB%E8%AD%AF

/var/www/html/lang/tw.lang → 主選單的語系檔

/var/www/html/modules/模組名稱/lang/tw.lang → 模組的語系檔

因為我對PHP不熟
我不知道為要如何在 /var/www/html/modules/模組名稱/lang/tw.lang 去載入 /var/www/html/lang/tw.lang裡頭定義的全域變數 global $arrLang; 。

所以我是針對各模組進行翻譯。方法是Copy /var/www/html/modules/模組名稱/lang/en.lang → /var/www/html/modules/模組名稱/lang/tw.lang ,再修改對照的字串。

如果你有更佳的作法,請指導一下謝謝。
那個繁體中文語系已經是很久以前做的,當時的版本是 Elastix 1.1,所以不適用在現在的版本。
當初也是因為 Elastix 在語系設計所用的字串,會隨著版本變動作改變,所以就放棄了繼續中文化。

不過,盡管如此,Elastix 中文化的方法仍是維持不變的,方法也很簡單,重點如下:

- Elastix 中文化與其所包含的 FreePBX 的功能的中文化是互相分開的,換言之,即使作完 Elastix 的中文化,在 FreePBX 的部份也就是主功能 PBX 部份需要另外作中文化,方法依據 FreePBX 的語系設計。
- Elastix 的 中文語系分為兩大項,首頁及每個模組有獨立的語系檔。
- 中文化的方法只需將語系檔內的字串翻成中文,That's it.
- 第一次翻譯時,可用英文語系檔作參照,如果有發現語系檔內有字串,但頁面上仍無法顯示中文的,找出該字串出現在哪個 PHP 檔,檢查字串是否與語系檔內容相同(區分大小寫,空白等符號)。
- 如果連英文語系檔都沒有寫入字串,但仍想將它中文化的,只要找出該顯示文字是在哪個 PHP 檔,然後依樣畫葫蘆加上 $arrLang['This is Me'] 就可以了。
- 最後兩項需要稍懂 PHP 。

簡單範例:$arrLang['About Elastix2'] 所謂字串就是 About Elastix2。
-- IPOX: 0702500267 iNum: +883 510008099702
請問...............如何安裝 codec g.729 & g.723 Codecs?

我的elastix:2.0 asterisk:1.6x

core show translation,codec g.729 & g.723 都是 - - - - - - - -
好慘阿
加入 sip_general_custom.conf再重新啟動也不行
請問有什麼小密技嗎?
關閉廣告
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 12)

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