[asterisk-bugs] [Asterisk 0011368]: chan_mobile does not recognize dtmf together with Authenticate or DISA

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Apr 3 16:46:05 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11368 
====================================================================== 
Reported By:                bt047265
Assigned To:                mnicholson
====================================================================== 
Project:                    Asterisk
Issue ID:                   11368
Category:                   Addons/chan_mobile
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     ready for testing
Asterisk Version:            SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 89454 
Request Review:              
====================================================================== 
Date Submitted:             2007-11-25 08:42 CST
Last Modified:              2009-04-03 16:46 CDT
====================================================================== 
Summary:                    chan_mobile does not recognize dtmf together with
Authenticate or DISA
Description: 
Hello,

chan_mobile is configured according to the documentation. Incoming and
outgoing calls are working via the new channel "Mobile". 

Mobile.conf:

[adapter]
id=stick1
address=00:08:F4:16:3A:E2
[SGH-F200]
;address=00:1D:25:73:0E:76
address=00:1B:59:14:77:38
port=4
context=incoming_mobile
adapter=stick1
dtmfskip=50

This dialplan was added to the extensions.conf:

[incoming_mobile]
exten => _!,1,Answer()
exten => _!,n,Wait(1)
exten => _!,n,Verbose(${EXTEN})
exten => _!,n,Verbose(${CALLERID})
exten => _!,n,Authenticate(1234)
exten => _!,n,Background(vm-enter-num-to-call)
exten => _!,n,DISA(no-password,phones,"sipgate" <7001>)

No DTMF tones are regocnized by the Authenticate function.  If the same
context is assigned to the SIP channel Authenticate and DISA is working.

Attached the output of /var/log/asterisk/full for:

- incoming mobile authenticate
- icoming mobile to SIP extension
- incoming SIP authenticate

If the incoming call from the mobile is directly routed to an SIP
extension, DTMF is sended to the SIP extension.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
has duplicate       0012768 Multipile issues with chan_mobile
related to          0012567 Big latency (up to 3 sec) when call wai...
====================================================================== 

---------------------------------------------------------------------- 
 (0102716) alexz (reporter) - 2009-04-03 16:46
 http://bugs.digium.com/view.php?id=11368#c102716 
---------------------------------------------------------------------- 
Strange... I wasn't able to compile it yesterday - something to do with
libsbc.lo that somehow wasn't compiled and as a result failed linking. On
the other hand 4.30,32,32,33 were OK.

A reason behind why I would like to have chan_mobile with ANY legit
hardware (dahdi) (OpenVox in our case) is that we would like to have stable
and proven clock source, not dahdi_dummy or something else (which generally
speaking most of the cases is based on hardware RTC or OS clock tick, which
in turn wouldn't give you precise clocking). By the way, this might be a
reason why some users complained in a past about increasing audio delay
during the conversation. I am not completely positive with this regard, but
it's more likely the case. Actually I am surprised why nobody up till today
did come up with cheap solution for the timing source. From my telco
background standpoint I would use hardware clock source rather then rely on
OS clocking resources. Network based clock source is good for general
purposes, but I wouldn't use it for voice communications. When it comes to
DTMF decoding, it's a real challenge in wireless world. First of all, DTMF
in this area does exist solely for user audio confirmation purposes, and
not as an engine to deliver DTMF digits (digits are delivered over message
link, not voice channel). As a result, telco provider can simply slightly
alter each tone frequencies, just enough to be out of 5% deviation allowed
by standard, and we will not be able to detect a damn thing, unless our
DTMF Goerzel algo will be tuned correspondingly, or we'll have a way to
implement some sort of 'learning' mode and alter corresponding base
frequencies for the algorithm, but then again, we might screw up other DTMF
decoding users. My only hope is that telco on their switches is using the
same hardware for encoding DTMF tones both directions (cellular and PSTN).
At least on DMS switches from Nortel it's done that way. Simple example - I
am in Ottawa, Canada and I am with Rogers. When I started to play with
chan_mobile half a year ago (just for try), it turned out that locally in
Ottawa DTMF tones were absent AT ALL between Rogers cellular customers. It
did work though if I will move to the long distance zone, or will place a
call to Bell Canada customer (everything was fine on calls to the land
lines - but they had to, otherwise none of the IVR applications would
work). Took me 3 month and 10 or so tech support tickets before they fixed
it (excuse was that their Ericsson switch did luck certain hardware (read -
DTMF encoders). Even now, when it's fixed, it's crappy anyways. If you
noticed, there is some reason behind Rogers customer service is based on
voice recognition rather then 'push button' conception. I am dying to see
how asterisk will handle this very distorted and crappy tones. I am not a
musician, but to my ear they are sound slightly wrong. I spent at some
point few years ago  great deal of time with variety software based DTMF
decoding algos and can distinguish between good tones and distorted ones.
But then again, it's Rogers. I might sound paranoic, but I think that the
best way to accomplish the job would be:

1) Have small applet written for the cell phone itself, which on demand
(from phone book for example, or from app) will play sequence of mp3 DTMF
digit files. DTMF dialer app does exist for many cell phones, and in a
sense replicates old fashion DTMF dialer, when you can approach the regular
phone and just 'play' the number - speaker to mike.

2) Something more advanced - together with placing a call send
simultaneous SMS with destination number sequence. I didn't try it
personally, but I think it's possible to get SMS notification while in
voice call - also requires small app on a cell phone.

I didn't play around with SMS, because all phones that I have in hand do
report no support for SMS via mobile show devices.

I will try Lenny from scratch next week and will immediately report the
results.


I think that both approaches are doable, nowadays almost each and every
cell phone provider gives you some sort of programming capability. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-04-03 16:46 alexz          Note Added: 0102716                          
======================================================================




More information about the asterisk-bugs mailing list