大家好,
小弟是VoIP新學習者, 請大家多多指教. 近來設置 Asterisk VoIP, 但出現了一些奇怪問題, 想請教一下各界高手, 希望多多指
點.
================================================
現在的設置環境:
Office C :
只放一隻 Asterisk 1.4 VoIP server.
用固定公共 IP 直接放到網上.
已安裝上 g729 codec
core show translation
Translation times between formats (in milliseconds) for one
second of data
Source Format (Rows) Destination Format (Columns)
g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc
g726 g722
g723 - - - - - - - - - -
- - -
gsm - - 2 2 2 2 1 4 7 -
- 2 -
ulaw - 3 - 1 2 2 1 4 7 -
- 2 -
alaw - 3 1 - 2 2 1 4 7 -
- 2 -
g726aal2 - 3 2 2 - 2 1 4 7 -
- 1 -
adpcm - 3 2 2 2 - 1 4 7 -
- 2 -
slin - 2 1 1 1 1 - 3 6 -
- 1 -
lpc10 - 4 3 3 3 3 2 - 8 -
- 3 -
g729 - 3 2 2 2 2 1 4 - -
- 2 -
speex - - - - - - - - - -
- - -
ilbc - - - - - - - - - -
- - -
g726 - 3 2 2 1 2 1 4 7 -
- - -
g722 - - - - - - - - - -
- - -
================================================
Office A : (在香港)
用 Linksys SPA400 接上四條 PSTN 電話線
放在 Router 內的 DMZ
有固定IP, 用dynamic dns登記接上
[spa400a]
type=peer
user=spa400a
dtmfmode=auto
host=
abcd01.dyndns.com
canreinvite=no
context=from-trunk
insecure=very
nat=yes
disallow=all
allow=gsm
allow=g729
;allow=ulaw
;allow=alaw
================================================
Office B : (在澳門)
用 Linksys SPA400 接上四條 PSTN 電話線
放在 Router 內的 DMZ
沒有固定IP, 用dynamic dns登記接上
[spa400b]
type=peer
user=spa400b
dtmfmode=auto
host=
abcd02.dyndns.com
canreinvite=no
context=from-trunk
insecure=very
nat=yes
disallow=all
allow=ulaw ; 試過不加這個
allow=alaw ; 試過不加這個
allow=gsm
allow=g729
================================================
沒有用上以下 spa400 register, 因為 asterisk 回應是 incorrect password
但 office A 完全正常, 所以之後沒有再用
register =
spa...@abcd01.dyndns.com
register =
spa...@abcd02.dyndns.com
================================================
測試 dial plan
exten => _09XXXXXXXX,1,Playback(demo-nomatch)
exten => _09XXXXXXXX,2,Dial(SIP/${EXTEN:2}@spa400b)
exten => _09XXXXXXXX,3,Playback(demo-thanks)
exten => _09XXXXXXXX,4,Hangup()
exten => _09XXXXXXXX,103,Congestion(8)
exten => _09XXXXXXXX,104,Hangup()
================================================
現在使用結果:
ok --> User A 用 X-Lite 打電話到 X-lite user B
X-Lite user A --> Asterisk --> X-Lite user B
ok --> 用 X-Lite 經由office A spa400, 打電話到當地本地電話
X-Lite --> Asterisk --> Office A spa400 --> Local A mobile
ok --> 用當地本地電話經由 office A spa400 打電話到 X-Lite user A
Local A --> Office A spa400 --> Asterisk --> X-Lite user A
XX --> 用當地本地電話經由 office A spa400, 打電話到 office B spa400, 再到當地本地電話
Local A --> Office A spa400 --> Asterisk --> Office B spa400
--> Local B mobile
ok --> 用當地本地電話經由 office B spa400, 打電話到 office A spa400, 再到當地本地電話
Local B --> Office B spa400 --> Asterisk --> Office A spa400
--> Local A mobile
ok --> 用當地本地電話經由 office B spa400 打電話到 X-Lite user B
Local B --> Office A spa400 --> Asterisk --> X-Lite user B
XX --> 用 X-Lite 經由office B spa400, 打電話到當地本地電話
X-Lite --> Asterisk --> Office B spa400 --> Local B mobile
================================================
經以上測試, 大部份可以使用, 只是如電話沒辦法經 Office B SPA400 完全接通.
用上測試 Dial Plan 做例子:
1. 可以播出Playback(demo-nomatch)
2. 打電話到手提上, 手提電話亦出現來電鈴聲
可是接手機之後, 相方亦聽不見對方話音
十多秒後, 會自動斷線, asterisk 播出 user not available......
3. 其後正常播出Playback(demo-thanks)
表面看來是Asterisk 可以接上Office B SPA400b,
但電話話音不可以正常交流,相方聽不見對方話音.
如果相反地經由 Office B SPA400b 打入電話,完全沒這問題.
================================================
估計可能是以下問題,但不知道甚樣處理
1. 不知道跟 dynamic ip 有沒直接關係, 但已經用上 ddns
2. 不知道跟 firewall 有沒直接關係, 但已經把 spa400 放到 dmz
3. 不知道跟 office B (澳門) 電話公司有沒關係, 因為待電話的訊號聲音不同
4. 已經在 office B 換上另一個新的 spa400 , 問題還是一樣
現在煩惱得很, 完全摩不著頭腦, 希望請大家多多指點, 謝謝