Ian,

We've had issues with this for years. We too have to use a lot of DTMF, for automatically transversing remote IVR's. We've never had 100% success. But we do pretty good now. There are multiple variables at play here.

First there is the device ( ATA / Phone ) having it set to rfc2833 can mean trouble, what you may want to do is use wireshark to see how the device is sending it's RTP EV packets. Almost every device I have sends them differently, both in numbers and the values in the ascending packets. You'd think that when you hit the digit 2 on your phone it would send one packet saying you hit the two.Not so! The device will send a stream of packets depending on how quickly you hit the button, and typically it will send a mininum of 3 or 4 with a very quick touch. Each of these packets will have a value for the key you hit and then a duration value, which will ascend as you hold it down ( or you'd think so ). I have some sipura 2002's and pap2's which send very strange packets, not ascending in values consistently, with like 3 packets of the same duration, where as my polycoms will send a consistent pattern with a consistent ascending value in the duration.

Second, asterisk's interpretation, conversion doesn't seem to be consistent when converting rfc2833 to inband.

Third is the interconnects of your A-Z termination ( in your case this may not be an issue ) where one provider when handing off the DTMF isn't configured properly with the end termination point.

The way we got this to improve using asterisk was to set the dialing devices to inband, tell asterisk in sip.conf that dtmfmode=auto and set the trunk to dtmfmode=inband.

We still have issues with some destinations (overseas) due to the carriers using compression, so for these destinations we have set up a secondary trunk with a different DTMF mode to utilize rfc2833, relying on asterisk to convert them.

I know in the past there has been issues with asterisk's handling of dtmf, and we've not upgraded to the latest to see if this will help with the issue. We're also setting up a test system using freeswitch to see how it handles things.

Mike


Ian Darwin wrote:
Part N of my continuing saga.

A few months back I wrote of my problems getting dialing working with an ATA. Two ATAs later, I have given up and replaced all the hardware. It is now a standard PC (Celeron 1.2GHz) running "Asterisk Now" 1.0.2 with a cloned TDM410 (1 FXO) PCI card talking to my analog phone line, and various (SIP and Unistim) phones inside.

Part of the complexity was and still is that we have an ALDS (Alt. L.D. service) that we activate by dialing 10 digits, waiting for dialtone, and dialing the actual 10-digit number.

There is some progress. I can fairly reliably have Asterisk dial numbers
both locally and over the ALDS. Incoming calls still work; this has never been the problem.

But everything involving dialing from the phones while connected is unreliable. E.g., dealing with IVR-based voicemail, scheduling, etc.

The setup, now, is

Analog ---- TDM400 FXO -- Asterisk -- internal phones

Most of the phones are on a full-duplex switch, because that is providing POE for several of the phones.

Here is part of the sip.conf for one of the SIP phones:

[general]
realm=XXX
disallow=all
allow=ulaw
localnet=192.168.1.0/24

; Grandstream BT100 phone
[31]
type=friend
secret=XXX
context=internal
nat=no
host=dynamic
canreinvite=no
qualify=yes
mailbox=20
dtmfmode=rfc2833

The GS phone has these settings:

Send DTMF:         in-audio    X  via RTP (RFC2833)      via SIP INFO
DTMF Payload Type: 101  (that was the factory default)

-------------------------

Here is the zapata.conf:

[trunkgroups]

[channels]

; default
; usecallerid=yes
; hidecallerid=no
; callwaiting=no
; threewaycalling=yes
; transfer=yes
; echocancel=yes
; echotraining=yes

; increased, to let sending work.
toneduration=300

; last resort
relaxdtmf=yes

; define channels
context=incoming

---------------------------------

Unistim.conf isn't shown but it has no settings related to DTMF;
these phones always communicate over a local LAN and always send DTMF out of band (according to chan_unistim anyway)

---------------------------------

And here's the local and ALDS dialing macros:

PSTN_DIALER=Zap/1

[macro-dial-outbound-local]
exten => s,1,SetCallerID("Darwin" <905-XXX-XXXX>)
exten => s,n,Dial(${PSTN_DIALER}/${ARG1},20)
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => s,n(unavail),Congestion()
exten => s,n,Hangup()
exten => s,n(busy),Congestion()
exten => s,n,Hangup()

[macro-dial-outbound-worldline]
;exten => s,1,Dial(${PSTN_DIALER}/${WORLDLINE_ACCESS},10,D(wwwww${ARG1}))
exten => s,1,Dial(${PSTN_DIALER}/${WORLDLINE_ACCESS}wwwwww${ARG1}))
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"],busy)
exten => s,n(busy),Congestion()
exten => s,n,Hangup()
---------------------------------------

Summary: dialing via either of these macros works, but anytime we send DTMF from any keypad, it's unreliable. Dialing "9" by itself, for example, dials Worldline's number, where sending 10 digits should work. I wonder if this is related to why the first attempt at dial-outbound-worldline didn't work?

Using an analog phone on the same phone line works 100%, btw.

Thoughts? Further information needed?

Many thanks if you can help.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
Mike Ashton

Quality Track Intl

Ph:     647-722-2092 x 301
Cell:   416-527-4995
Fax:    416-352-6043

QTI CONFIDENTIAL AND PROPRIETARY INFORMATION

The contents of this material are confidential and proprietary to Quality Track 
 International, Inc.
and may not be reproduced, disclosed, distributed or used without the express 
permission of an authorized representative of QTI.
Use for any purpose or in any manner other than that expressly authorized is 
prohibited.
If you have received this communication in error, please immediately delete it 
and all copies, and promptly notify the sender.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to