由於架設了Asterisk Server之後,進一步想要玩將原本走網路的部分,可以下車到局線市話,所以就會有轉接。
轉市話說起來應該是會透過一台gateway幫忙,所以我們的server自然要想辦法轉接過去囉!
有了上述的理由,因此我們先做簡單一點的,兩台Asterisk server互連,看能不在A server註冊的SIP帳號能打電話到註冊B server的SIP帳號,如果可以,那麼離目標就不遠啦!
還記得前面我有發一篇部分抄來的FreePBX文章嗎?老實說,架起來之後我不知道怎麼設定,所以又回頭直接看單純架設Asterisk的設定法,這樣會比較容易理解一些,也比較能了解依些技術知識。
文章正式開始,假設我們有兩台伺服器,它們都在同一個網段之下,撇除防火牆問題,IP如下:
A:192.168.0.102
B:192.168.0.115
看一下A server的設定檔:
/etc/asterisk/sip.conf
[5000] ;A server上的註冊帳號
type=friend
secret=1234
qualify=yes
host=dynamic
canreinvite=no
context=siptest
dtmfmode=rfc2833
nat=yes
[6000] ;A server上要給B server 撥入的帳號
type=friend
username=Server115
secret=
host=192.168.0.115 ;login for server B
context=siptest
dtmfmode=rfc2833
nat=yes
/etc/asterisk/extensions.conf
[siptest]
exten => _5XXX,1,Dial(SIP/${EXTEN},30,Ttm) ;來電是A server本身的帳號
exten => _5XXX,2,Hangup
exten => _4XX,1,Dial(SIP/6000/${EXTEN},30,r) ;與外部server [4XX]通話用,外部來電號碼是4XX這樣號碼的帳號,透過[6000]這組帳號撥入。
exten => _4XX,2,Congestion
B server設定檔
/etc/asterisk/sip.conf
[401]
type=friend
username=401
secret=1234
host=dynamic
context=mysip
qualify=yes
insecure=no
dtmfmode=rfc2833
nat=yes
[7000] ;B server上要給A server 撥入的帳號
type=friend
username=Server102
secret=
host=192.168.0.102
context=mysip
dtmfmode=rfc2833
nat=yes
/etc/asterisk/extensions.conf
[mysip]
exten => _4XX,1,Dial(SIP/${EXTEN},30);內部通話用
exten => _4XX,2,Hangup
exten => _5XXX,1,Dial(SIP/7000/${EXTEN},30,r) ;與外部server [5XXX]通話用,外部來電號碼是5XXX這樣號碼的帳號,透過[7000]這組帳號撥入。
exten => _5XXX,2,Congestion
完成之後,就可以試著通話囉!
