我現在用一台 Linksys SPA3000 + FreePBX
目前打進來時會先經過 IVR, 然後我撥分機100, 我電腦上的 softphone 可以正確接聽
但是呢, 我如果用 softphone 撥號, 一撥出去就會立刻斷線
而且我一直不懂一件事, 在 DID Number 這裡
包含所有要對應到的地方, 例如在 SPA3000 裡的 Dial Plan 2
我究竟是要設定的號碼要不要含區碼?
假設我的電話是 02-29031234
那我 DID Number 是設 0229031234 還是 29031234?
在 SPA3000 裡的 Dial Plan 2: 是 (S0<:0229031234>) 還是 (S0<:29031234>)?
奇怪的是, 我不管加不加區碼, 我測試的結果都一樣可以接, 但撥不出去
我一撥, 在 Asterisk 的 log 是這樣的:
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: -- Executing [s@macro-dialout-trunk:19] ExecIf("SIP/100-0000000a", "1?Set(CONNECTEDLINE(num,i)=29015678)") in new stack
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: -- Executing [s@macro-dialout-trunk:20] ExecIf("SIP/100-0000000a", "1?Set(CONNECTEDLINE(name,i)=CID:29031234)") in new stack
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: -- Executing [s@macro-dialout-trunk:21] GotoIf("SIP/100-0000000a", "0?customtrunk") in new stack
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: -- Executing [s@macro-dialout-trunk:22] Dial("SIP/100-0000000a", "SIP/pstn/29015678,300,Tt") in new stack
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] netsock2.c: == Using SIP RTP TOS bits 184
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] netsock2.c: == Using SIP RTP CoS mark 5
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] app_dial.c: -- Called SIP/pstn/29015678
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] app_dial.c: -- SIP/pstn-0000000b is ringing
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] app_dial.c: -- SIP/pstn-0000000b answered SIP/100-0000000a
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: -- Executing [h@macro-dialout-trunk:1] Macro("SIP/100-0000000a", "hangupcall,") in new stack
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: -- Executing [s@macro-hangupcall:1] GotoIf("SIP/100-0000000a", "1?theend") in new stack
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: -- Goto (macro-hangupcall,s,3)
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: -- Executing [s@macro-hangupcall:3] ExecIf("SIP/100-0000000a", "0?Set(CDR(recordingfile)=)") in new stack
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: -- Executing [s@macro-hangupcall:4] Hangup("SIP/100-0000000a", "") in new stack
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] app_macro.c: == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/100-0000000a' in macro 'hangupcall'
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: == Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on 'SIP/100-0000000a'
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] app_macro.c: == Spawn extension (macro-dialout-trunk, s, 22) exited non-zero on 'SIP/100-0000000a' in macro 'dialout-trunk'
[2013-10-04 00:49:54] VERBOSE[18031][C-00000005] pbx.c: == Spawn extension (from-internal, 29015678, 5) exited non-zero on 'SIP/100-0000000a'
然後 SPA3000 的 syslog 如下:
Oct 4 00:49:54 192.168.1.145 [1: 0]AUD ALLOC CALL (port=16482)
Oct 4 00:49:54 192.168.1.145 [1: 0]RTP Rx Up
Oct 4 00:49:54 192.168.1.145 AUD: Stop PSTN Tone
Oct 4 00:49:54 192.168.1.145 CC: Connected
Oct 4 00:49:54 192.168.1.145 AUD: Stop PSTN Tone
Oct 4 00:49:54 192.168.1.145 [1: 0]ENC INIT 0
Oct 4 00:49:54 192.168.1.145 [1: 0]RTP Tx Up (pt=0->c0a80194:18066)
Oct 4 00:49:54 192.168.1.145 [1: 0]RTCP Tx Up
Oct 4 00:49:54 192.168.1.145 FXO: Off Hook
Oct 4 00:49:54 192.168.1.145 FXO: Stop CNDD
Oct 4 00:49:54 192.168.1.145 [1: 0]RTP Rx 1st PKT @16482(2)
Oct 4 00:49:54 192.168.1.145 [1: 0]DEC INIT 0
Oct 4 00:49:54 192.168.1.145 FXO: CPC
Oct 4 00:49:54 192.168.1.145 AUD: Stop PSTN Tone
Oct 4 00:49:54 192.168.1.145 FXO: On Hook
Oct 4 00:49:54 192.168.1.145 FXO: Stop CNDD
Oct 4 00:49:54 192.168.1.145 AUD: Stop PSTN Tone
Oct 4 00:49:54 192.168.1.145 [1: 0]AUD Rel Call
Oct 4 00:49:58 192.168.1.145 [0: 5060]->192.168.1.148:5060
Oct 4 00:49:58 192.168.1.145 [0: 5060]->192.168.1.148:5060
我看不出來是什麼問題? 我只知道可能問題出在 SPA3000 這裡, 沒有正確撥出去就掛掉了的樣子?
不知道是否有人對此有經驗?
感謝大家, 我是IPPBX領域的新手, 搞2,3天了還不太明白
謝謝各位
那想請教一下, 我的問題是不是可能出在 SPA3000 裡 PSTN Line 的設定上?
就我現在的了解, 當我撥號出去時, 例如由 Extension 100 撥出
是由 softphone -> Freepbx (Outbound Route -> SIP Trunk 的 Outgoing Settings) -> SPA3000
而 Outbound Route 裡十分單純的只是設定 Trunk Sequence for Matched Routes 設為 PSTN 的 SIP Trunk
然後我的 Dial Patterns 是:
NXXXXXXX
至於 SIP Trunk (Outbound CallerID: "PSTN Caller"<29031234>) 的 Outgoing Settings 如下:
disallow=all
allow=ulaw
canreinvite=no
context=from-trunk
dtmfmode=rfc2833
host=192.168.1.145
incominglimit=1
nat=yes
port=5061
qualify=yes
secret=XXXXXXXX
type=friend
username=pstn
感覺起來好像不是在 Freepbx 這段有錯, 因為好像有串到 SPA3000 上(不然就不會有LOG了)
但一撥了就被掛掉
所以我在猜是 PSTN Line 的設定有問題?
另外, 我撥出去的時候應該怎麼撥啊? 一般電話拿起來是撥29015678, 區碼我也不必加
但如果用 Freepbx -> SPA3000, 我撥的時候要不要加區碼?
也是直接撥29015678嗎?
謝謝
後來我把問題解決了, 我直接把問題拿去問當時賣我 SPA3000 的賣家
他叫我看看 PSTN Disconnect Reason 是什麼
我看了一下是 CPC Signal
接著他要我把 Min CPC Duration 調大一倍
問題就解決了
我是外行, 他是和我解釋說, 可能是因為我們這裡的線路品質不好
所以會瞬斷, 一般是不必調就可以
總之問題是解決了
謝謝各位
我現在反而有另一個問題是, 我撥到電話後轉IVR然後撥100分機
奇怪的是, 有時候 X-Lite 還有我平版上的 Lin-phone 會響, 有時候則不會
不懂 (不過好像是同時有2個裝置用同一個帳號時才會這樣...不是會同時響啊?)
內文搜尋

X