由於架設了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

 

完成之後,就可以試著通話囉!

 

文章標籤
全站熱搜
創作者介紹
創作者 Yilun 的頭像
Yilun

我的吃吃喝喝到處玩,工作學習隨手筆記

Yilun 發表在 痞客邦 留言(0) 人氣(2,260)