透過手機閘道器撥號問題

112 views
Skip to first unread message

StevenHsu

unread,
Sep 3, 2010, 10:11:53 PM9/3/10
to Taiwan Asterisk Users' Group - www.osslab.org.tw
各位先進大家好

在下想向各位先進們請教一個問題,目前我使用WindowsMobile系統的HTC TouchHD,有個問題是透過威寶門號撥入公司3G閘道器(也
是威寶)並轉入asterisk主機聽見IVR語音後,手機輸入的數字系統都吃不進去(有撥號音),所以IVR會反覆重播然後斷線;不過使用中華門號透
過2G手機撥入同一個3G閘道器後,輸入的數字系統就讀的到,"但是都回覆輸入分機無效",不過手機透過市話撥入系統的話,IVR則都是都正常沒問題。
不知道這整個問題是出在3G閘道器還是Asterisk的設定或是手機本身問題,希望先進們可以指引些方向讓我做檢測,感謝

區網sip
手機------->3G閘道器 -------------> Asterisk <---------- PSTN

3G閘道器跟Asterisk之間是透過SIP Trunk連接(設定檔如下) 有確認過閘道器方面使用的是inband DTMF和ulaw,
alaw codec

OUTGOING SETTING
host=192.168.1.52
type=peer
port=5060
dtmfmode=inband
context=from-internal
disallow=all
allow=ulaw&alaw

INCOMING SETTING
host=192.168.1.52
type=peer
port=5060
insecure=very
dtmfmode=inband
disallow=all
allow=ulaw&alaw
context=from-trunk

ASTERISK LOG
Sep 4 09:55:35 -- Executing [0986***958@from-trunk:1] Set("SIP/from3G2-
b6a01fc8", "__FROM_DID=0986***958") in new stack
Sep 4 09:55:35 -- Executing [0986***958@from-trunk:2] Gosub("SIP/
from3G2-b6a01fc8", "app-blacklist-check|s|1") in new stack
Sep 4 09:55:35 -- Executing [s@app-blacklist-check:1]
LookupBlacklist("SIP/from3G2-b6a01fc8", "") in new stack
Sep 4 09:55:35 -- Executing [s@app-blacklist-check:2] GotoIf("SIP/
from3G2-b6a01fc8", "0?blacklisted") in new stack
Sep 4 09:55:35 -- Executing [s@app-blacklist-check:3] Return("SIP/
from3G2-b6a01fc8", "") in new stack
Sep 4 09:55:35 -- Executing [0986***958@from-trunk:3] ExecIf("SIP/
from3G2-b6a01fc8", "0 |Set|CALLERID(name)=0986***859") in new stack
Sep 4 09:55:35 -- Executing [0986***958@from-trunk:4] Set("SIP/from3G2-
b6a01fc8", "FAX_RX=disabled") in new stack
Sep 4 09:55:35 -- Executing [0986***958@from-trunk:5] Set("SIP/from3G2-
b6a01fc8", "__CALLINGPRES_SV=allowed_not_screened") in new stack
Sep 4 09:55:35 -- Executing [0986***958@from-trunk:6]
SetCallerPres("SIP/from3G2-b6a01fc8", "allowed_not_screened") in new
stack
Sep 4 09:55:35 -- Executing [0986***958@from-trunk:7] Goto("SIP/
from3G2-b6a01fc8", "ivr-3|s|1") in new stack
Sep 4 09:55:35 -- Goto (ivr-3,s,1)
Sep 4 09:55:35 -- Executing [s@ivr-3:1] Set("SIP/from3G2-b6a01fc8",
"MSG=custom/ITCI_IVR") in new stack
Sep 4 09:55:35 -- Executing [s@ivr-3:2] Set("SIP/from3G2-b6a01fc8",
"LOOPCOUNT=0") in new stack
Sep 4 09:55:35 -- Executing [s@ivr-3:3] Set("SIP/from3G2-b6a01fc8",
"__DIR-CONTEXT=") in new stack
Sep 4 09:55:35 -- Executing [s@ivr-3:4] Set("SIP/from3G2-b6a01fc8",
"_IVR_CONTEXT_ivr-3=") in new stack
Sep 4 09:55:35 -- Executing [s@ivr-3:5] Set("SIP/from3G2-b6a01fc8",
"_IVR_CONTEXT=ivr-3") in new stack
Sep 4 09:55:35 -- Executing [s@ivr-3:6] GotoIf("SIP/from3G2-b6a01fc8",
"0?begin") in new stack
Sep 4 09:55:35 -- Executing [s@ivr-3:7] Answer("SIP/from3G2-b6a01fc8",
"") in new stack
Sep 4 09:55:35 -- Executing [s@ivr-3:8] Wait("SIP/from3G2-b6a01fc8",
"1") in new stack
Sep 4 09:55:36 Registration from '"0986***958" <sip:
0986***8...@192.168.1.150:5060>' failed for '192.168.1.52' - No
matching peer found
Sep 4 09:55:36 -- Executing [s@ivr-3:9] Set("SIP/from3G2-b6a01fc8",
"TIMEOUT(digit)=3") in new stack
Sep 4 09:55:36 -- Digit timeout set to 3
Sep 4 09:55:36 -- Executing [s@ivr-3:10] Set("SIP/from3G2-b6a01fc8",
"TIMEOUT(response)=5") in new stack
Sep 4 09:55:36 -- Response timeout set to 5
Sep 4 09:55:36 -- Executing [s@ivr-3:11] Set("SIP/from3G2-b6a01fc8",
"__IVR_RETVM=") in new stack
Sep 4 09:55:36 -- Executing [s@ivr-3:12] ExecIf("SIP/from3G2-
b6a01fc8", "1|Background|custom/ITCI_IVR") in new stack
Sep 4 09:55:36 -- <SIP/from3G2-b6a01fc8> Playing 'custom/
ITCI_IVR' (language 'tw')
Sep 4 09:55:37 Registration from '"0986***958" <sip:
0986***8...@192.168.1.150:5060>' failed for '192.168.1.52' - No
matching peer found
Sep 4 09:55:47 -- Executing [s@ivr-3:13] WaitExten("SIP/from3G2-
b6a01fc8", "|") in new stack
Sep 4 09:55:52 -- Timeout on SIP/from3G2-b6a01fc8, going to 't'
Sep 4 09:55:52 -- Executing [t@ivr-3:1] Goto("SIP/from3G2-b6a01fc8",
"loop|1") in new stack
Sep 4 09:55:52 -- Goto (ivr-3,loop,1)
Sep 4 09:55:52 -- Executing [loop@ivr-3:1] Set("SIP/from3G2-b6a01fc8",
"LOOPCOUNT=1") in new stack
Sep 4 09:55:52 -- Executing [loop@ivr-3:2] GotoIf("SIP/from3G2-
b6a01fc8", "0?hang|1") in new stack
Sep 4 09:55:52 -- Executing [loop@ivr-3:3] Goto("SIP/from3G2-
b6a01fc8", "ivr-3|s|begin") in new stack
Sep 4 09:55:52 -- Goto (ivr-3,s,9)
Sep 4 09:55:52 -- Executing [s@ivr-3:9] Set("SIP/from3G2-b6a01fc8",
"TIMEOUT(digit)=3") in new stack
Sep 4 09:55:52 -- Digit timeout set to 3
Sep 4 09:55:52 -- Executing [s@ivr-3:10] Set("SIP/from3G2-b6a01fc8",
"TIMEOUT(response)=5") in new stack
Sep 4 09:55:52 -- Response timeout set to 5
Sep 4 09:55:52 -- Executing [s@ivr-3:11] Set("SIP/from3G2-b6a01fc8",
"__IVR_RETVM=") in new stack
Sep 4 09:55:52 -- Executing [s@ivr-3:12] ExecIf("SIP/from3G2-
b6a01fc8", "1|Background|custom/ITCI_IVR") in new stack
Sep 4 09:55:52 -- <SIP/from3G2-b6a01fc8> Playing 'custom/
ITCI_IVR' (language 'tw')
Sep 4 09:56:02 -- Executing [s@ivr-3:13] WaitExten("SIP/from3G2-
b6a01fc8", "|") in new stack
Sep 4 09:56:08 -- Timeout on SIP/from3G2-b6a01fc8, going to 't'
Sep 4 09:56:08 -- Executing [t@ivr-3:1] Goto("SIP/from3G2-b6a01fc8",
"loop|1") in new stack
Sep 4 09:56:08 -- Goto (ivr-3,loop,1)
Sep 4 09:56:08 -- Executing [loop@ivr-3:1] Set("SIP/from3G2-b6a01fc8",
"LOOPCOUNT=2") in new stack
Sep 4 09:56:08 -- Executing [loop@ivr-3:2] GotoIf("SIP/from3G2-
b6a01fc8", "1?hang|1") in new stack
Sep 4 09:56:08 -- Goto (ivr-3,hang,1)
Sep 4 09:56:08 -- Executing [hang@ivr-3:1] Playback("SIP/from3G2-
b6a01fc8", "vm-goodbye") in new stack
Sep 4 09:56:08 -- <SIP/from3G2-b6a01fc8> Playing 'vm-
goodbye' (language 'tw')
Sep 4 09:56:10 -- Executing [hang@ivr-3:2] Hangup("SIP/from3G2-
b6a01fc8", "") in new stack
Sep 4 09:56:10 == Spawn extension (ivr-3, hang, 2) exited non-zero on
'SIP/from3G2-b6a01fc8'
Sep 4 09:56:10 -- Executing [h@ivr-3:1] Hangup("SIP/from3G2-b6a01fc8",
"") in new stack
Sep 4 09:56:10 == Spawn extension (ivr-3, h, 1) exited non-zero on
'SIP/from3G2-b6a01fc8'

A.Lang, Hsu - Blog.osslab.org.tw

unread,
Sep 4, 2010, 9:43:43 AM9/4/10
to aster...@googlegroups.com
DTMF 問題有沒可能是發生在
手機 ---------> 3G gateway ????

Tips: 若要確認 Asterisk 是否發生 DTMF 辨識的問題(不管是數字漏掉或重複產生),請參考這篇
http://www.osslab.org.tw/index.php?title=VoIP/IP_PBX/%E8%BB%9F%E9%AB%94%E5%BC%8F_IP_PBX/Asterisk/Tips/CLI_%E9%80%B2%E9%9A%8E%E7%94%A8%E6%B3%95#.e2.96.a0_.e5.a6.82.e4.bd.95.e9.96.8b.e5.95.9f_DTMF_Debugging
 


2010/9/4 StevenHsu <sints...@gmail.com>

--
您已訂閱「Google 網上論壇」的「Taiwan Asterisk Users' Group - www.osslab.org.tw」群組,因此我們特別傳送這封郵件通知您。
如要在此群組張貼留言,請傳送電子郵件至 aster...@googlegroups.com
如要取消訂閱此群組,請傳送電子郵件至 asterisk-tw...@googlegroups.com
如需更多選項,請造訪此群組:http://groups.google.com/group/asterisk-tw?hl=zh-TW


白馬

unread,
Sep 4, 2010, 9:48:01 AM9/4/10
to Taiwan Asterisk Users' Group - www.osslab.org.tw
這個問題與應ASTERISK無關,要問問看3G GATEWAY的廠商,不然就另外使用我的方式,把手機當作GATEWAY,
設定請參照 http://easy-play-android.blogspot.com/2010/09/i9000-elastix-pbx-gateway.html
不過要如何利用當作GATEWAY的手機撥打出去,如果有需要,我再另外說明。
> 0986***...@192.168.1.150:5060>' failed for '192.168.1.52' - No
> matching peer found
> Sep 4 09:55:36 -- Executing [s@ivr-3:9] Set("SIP/from3G2-b6a01fc8",
> "TIMEOUT(digit)=3") in new stack
> Sep 4 09:55:36 -- Digit timeout set to 3
> Sep 4 09:55:36 -- Executing [s@ivr-3:10] Set("SIP/from3G2-b6a01fc8",
> "TIMEOUT(response)=5") in new stack
> Sep 4 09:55:36 -- Response timeout set to 5
> Sep 4 09:55:36 -- Executing [s@ivr-3:11] Set("SIP/from3G2-b6a01fc8",
> "__IVR_RETVM=") in new stack
> Sep 4 09:55:36 -- Executing [s@ivr-3:12] ExecIf("SIP/from3G2-
> b6a01fc8", "1|Background|custom/ITCI_IVR") in new stack
> Sep 4 09:55:36 -- <SIP/from3G2-b6a01fc8> Playing 'custom/
> ITCI_IVR' (language 'tw')
> Sep 4 09:55:37 Registration from '"0986***958" <sip:
> 0986***...@192.168.1.150:5060>' failed for '192.168.1.52' - No

StevenHsu

unread,
Sep 6, 2010, 10:30:44 AM9/6/10
to Taiwan Asterisk Users' Group - www.osslab.org.tw
代誌大條...開啟CLI模式以後發現從3G閘道完全沒有DTMF的編碼進入,撥打PSTN則會出現
我們這邊用的是個台灣廠商的設備,型號是SC-385 (MV-372)

不知道是不是下面這個設定的問題,SIP From: 有四個選項可選,說明書上寫選第三種(Tel/Tel),而且不用註冊SIP
1.Tel/User (Standard)
2.User/User (Standard)
3.Tel/Tel (Not Reg)
4.User/Tel (Not Reg)

MV-372 will send the message as follows in the Packet. From: "caller
number" <sip: caller number @192.168.0.228>;tag=6ac93f7c
※Please note: If you choose this option, please don't register to
Asterisk and proxy server. Please only fill proxy server IP and choose
Active: on (else field empty) in sip setting/service demain

On 9月4日, 下午9時43分, "A.Lang, Hsu - Blog.osslab.org.tw"
<alang....@gmail.com> wrote:
> DTMF 問題有沒可能是發生在
> 手機 ---------> 3G gateway ????
>
> Tips: 若要確認 Asterisk 是否發生 DTMF 辨識的問題(不管是數字漏掉或重複產生),請參考這篇http://www.osslab.org.tw/index.php?title=VoIP/IP_PBX/%E8%BB%9F%E9%AB%...
>
> 2010/9/4 StevenHsu <sintsu1...@gmail.com>
> > 0986***...@192.168.1.150:5060>' failed for '192.168.1.52' - No
> > matching peer found
> > Sep 4 09:55:36 -- Executing [s@ivr-3:9] Set("SIP/from3G2-b6a01fc8",
> > "TIMEOUT(digit)=3") in new stack
> > Sep 4 09:55:36 -- Digit timeout set to 3
> > Sep 4 09:55:36 -- Executing [s@ivr-3:10] Set("SIP/from3G2-b6a01fc8",
> > "TIMEOUT(response)=5") in new stack
> > Sep 4 09:55:36 -- Response timeout set to 5
> > Sep 4 09:55:36 -- Executing [s@ivr-3:11] Set("SIP/from3G2-b6a01fc8",
> > "__IVR_RETVM=") in new stack
> > Sep 4 09:55:36 -- Executing [s@ivr-3:12] ExecIf("SIP/from3G2-
> > b6a01fc8", "1|Background|custom/ITCI_IVR") in new stack
> > Sep 4 09:55:36 -- <SIP/from3G2-b6a01fc8> Playing 'custom/
> > ITCI_IVR' (language 'tw')
> > Sep 4 09:55:37 Registration from '"0986***958" <sip:
> > 0986***...@192.168.1.150:5060>' failed for '192.168.1.52' - No
> > 如要取消訂閱此群組,請傳送電子郵件至 asterisk-tw...@googlegroups.com<asterisk-tw%2Bunsubscribe@googlegr oups.com>
> > 。
> > 如需更多選項,請造訪此群組:http://groups.google.com/group/asterisk-tw?hl=zh-TW

白馬

unread,
Sep 8, 2010, 10:00:29 AM9/8/10
to Taiwan Asterisk Users' Group - www.osslab.org.tw
今天不知道是怎麼了,之前回了兩次都說回覆成功,但是都沒有出來。
其實我用我的方式,把手機當作GATEWAY,得到的結果和你一樣,台哥大及威寶撥打台哥大,
PBX都沒有辦法辨識DTMF,但是撥打PSTN就沒問題。
撥手機撥3G在手機打分機時,其DTMF的訊號,會帶上類似PLUS的訊號,但是手機撥打PSTN就
不會?我認為這應該就是導致PBX無法辨識DTMF的問題。

StevenHsu

unread,
Sep 8, 2010, 4:51:53 PM9/8/10
to Taiwan Asterisk Users' Group - www.osslab.org.tw
感謝白馬兄的熱心回覆

我目前是採用折衷方案,就是讓IVR逾時直接轉總機,這樣就不用輸入分機號碼,不過就沒辦法用心愛的DISA功能...

在google上看了一篇介紹DTMF rfc2833, inband和sip info的文章還不錯,不知道這文章內能否找出什麼端倪?

https://www.aretta.com/support/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=39

白馬

unread,
Sep 8, 2010, 9:48:47 PM9/8/10
to Taiwan Asterisk Users' Group - www.osslab.org.tw
因為DTMF是採用兩個音頻組合而成,如果音頻不準將無法讓PBX判別。
我在猜想有幾個原因,導致行動撥打行動出現問題:
一、行動電話撥打行動電話的protocol與行動電話打PSTN的protocol不大一樣。
二、在手機傳送中的控制訊號中,帶有類似rfc2833的功能,但是中華電信能夠正確反映在PSTN的線路上,
而我的手機跟你的GATEWAY沒有辦法辨別。
不過,我剛剛想到一件事情,如果讓elastix的判別DTMF的時間縮短是不是就可以解決?因為在DTMF訊號後
半段無PLUS的訊號。

On 9月9日, 上午4時51分, StevenHsu <sintsu1...@gmail.com> wrote:
> 感謝白馬兄的熱心回覆
>
> 我目前是採用折衷方案,就是讓IVR逾時直接轉總機,這樣就不用輸入分機號碼,不過就沒辦法用心愛的DISA功能...
>
> 在google上看了一篇介紹DTMF rfc2833, inband和sip info的文章還不錯,不知道這文章內能否找出什麼端倪?
>
> https://www.aretta.com/support/index.php?_m=knowledgebase&_a=viewarti...
> ...
>
> 閱讀更多 >>

白馬

unread,
Sep 8, 2010, 11:38:11 PM9/8/10
to Taiwan Asterisk Users' Group - www.osslab.org.tw
我剛剛在仔細測試之後,發現問題出在PBX身上,跟我說的帶有PLUS訊號導致無法辨識結果是不一樣的。
已排除跟電信公司及GATEWAY有關。
測試結果是進入IVR時PBX無法辨別第二個DTMF碼,因此造成無法轉接。但是一但離開IVR時,DTMF辨識
卻沒問題,可連續辨識。
> ...
>
> 閱讀更多 >>

StevenHsu

unread,
Sep 10, 2010, 12:34:50 PM9/10/10
to Taiwan Asterisk Users' Group - www.osslab.org.tw
我手邊還有一台NEOS3000a,滿多二類電信都是用這台,他是內建一埠FXO、一埠FXS可以直接接在電腦的TDM410上,不知道能不能解決這個
問題...不過如果照白馬兄測試的結果,問題發生在elastix上的話還是無解-_-,明天來測試一下再回來分享,目前還一堆問題待處理...有回音
還有來電顯示的毛病,我在另外開個主題討論好了
> ...
>
> 閱讀更多 >>

白馬

unread,
Sep 7, 2010, 10:44:06 PM9/7/10
to Taiwan Asterisk Users' Group - www.osslab.org.tw
經過我用手機當gateway測試,發現威寶及台哥大撥打台哥大手機中DTMF傳送有問題,其DTMF傳送時帶有 plus
之聲音,而撥打PSTN就沒有,我猜這個可能是導致PBX無法判定DTMF的原因。

On 9月6日, 下午10時30分, StevenHsu <sintsu1...@gmail.com> wrote:

白馬

unread,
Sep 7, 2010, 10:50:39 PM9/7/10
to Taiwan Asterisk Users' Group - www.osslab.org.tw
我用手機當GATEWAY,也發生跟你一樣的結果,經過我測試後發現台哥大與威寶打台哥大的手機,在輸入DTMF時,
其DTMF聲音很不清楚,有帶plus之聲音,而撥打PSTN就無此現象,我在猜想,就是因為這樣導致PBX無法判定DTMF
訊號。

On 9月6日, 下午10時30分, StevenHsu <sintsu1...@gmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages