[asterisk-dev] Re: Urgent: DTMF does not work with rtpmap:101

YojiTakeuchi info at yogicomm.co.jp
Sun May 27 17:52:31 MST 2007


JK-san,

I think you should try to test without SER, so that you may be able to
find out someting.   Actually, I have a DTMF problem as well but I
don`t know if your problem is from the same cause or not.

My problem is as follows.   If the cause of the error is from the
same origin, we may be able to figure out something.
My problem is very simple but it does not work.



(Problem)
The DTMF signal won`t go through from an Analog telephone (TDM400P)
to a GarndStream IP-hard phone, although the DTMF signal is properly
heard in the opposite direction.    Voice is very fine for both ways.

- TDM400P (analog) phone --->  Budgetone (IP phone)  =  No Good
- TDM400P (analog) phone <---  Budgetone (IP phone)  =  OK

The dialpad numbers are properly recognized but there is an only
DTMF sending problem on the TDM400P side, I guess.

(Background)
I am going to put a SIP-based IP-IVR behind Asterisk, so that
I need to have the DTMF signal from anywhere, from Analog
telephone, from PSTN line, wherever.  I tested with the IP-IVR
and it didn`t work.   So, I simply put IP hardphone (GrandStream)
in stead of IP-IVR and I found that the DTMF signal is NOT coming
from only in case of the call from the TDM400P board, which is FXS and FXO.

(Environment)
I have the following evnrionment.
Asterisk
- RedHat 9
- Asterisk-1.4.4 (newest version)
- Libpri-1.4.0
- Zaptel-1.4.2.1 (newest version)
- TDM400P (2 FXO, 2 FXS) with two analog telephones connected
IP Hard Phone
- GrandSteam Budgtone100 --- 2 units

(Tests)
As far as I am concerned, everything seems to be working fine except
the DTMF signal issue which is only from the TDM400P board to SIP hard
phone.

The testing resuls are as follows;
In any cases, voice can be heard perfect.

- On the call between two IP-hardphones (BudgeTone)
---> DTMF goes fine either way from one Budgetone to another (OK)

- On the call between two Analog phones on the TDM400P
---> DTMF goes fine wither way from one analog phone to another (OK)

- On the call between one PSTN line and an Analog phone on TDM400P
---> DTMF goes fine either way (OK)

- On the call between an IP-hardphone and an Analog phone
---> DTMF goes from an IP-hardphone to an Analog phone (this is OK)
---> However, DTMF won`t go from the Analog phone to the IP phone. (No Good)
(This is the issue.  I hear a clicking-like sound with partial DTMF signal
sound.)

- On the call between a PSTN line and an IP phone
---> DTMF goes from an IP phone to the PSTN line. (Again, this is OK)
---> However, it does not go from the PSTN line to the IP phone.(No Good)
(This is the same issue above maybe because the TDM400P is related)

(Guess)
I just guess the issue is caused only when the TDM400P board is sending
the DTMF signal to the IP phone.   I have tried the following things but
still I can not solve it.

- I have set "dtmfmode=rfc2833" for SIP phone
(so it is working for IP phone)
- I tried "relaxdtmf" of Zapata.conf but the issue still happens.
- I tried to set "dtmfmode=inband" for Zapata.conf even though
such parameter is not allowed for TDM.  It didn`t cause any errors but still
the issue happens.
- I tried "Console Dial" to an Analog phone and push the dial pad.
Then, the numbers were properly recognized by showing on the screen
with the number pushed and "59ms" or 260ms", which seems to be the
duration of the DTMF signal. (if I can make it longer, it might be one
solution)
But, I didn`t hear the DTMF from the sound card but just the clicking
sounds, which could be the 59ms sound.

(Question)
- Do you have any parameter like "dtmfmode=" for Zapata.conf?
- I know "relaxdtmf" parameter but it does not work for this issue.

Have you had such an issue before?
I believe someone must have an IP-IVR behind Asterisk.
How do you solve this issue.   I really appreciate any of your advices.
I am looking forward to hearing from anyone.


Thank You for reading such along mail --- Yogi





----- Original Message -----
From: "Paul" <ast2005 at 9ux.com>
To: "Asterisk Developers Mailing List" <asterisk-dev at lists.digium.com>
Sent: Monday, May 28, 2007 12:31 AM
Subject: Re: [asterisk-dev] Re: Urgent: DTMF does not work with rtpmap:101


> I think this belongs on the -users list. It looks like a configuration
> question. Possibly it is more related to ser than asterisk.
>
> JK wrote:
>
> > Anyone please??
> >
> >
> >
> > -JK
> > Message: 5
> > Date: Sat, 26 May 2007 22:46:26 -0700
> > From: JK <jk at bingoconsulting.com>
> > Subject: [asterisk-dev] Urgent: DTMF does not work with rtpmap:101
> >     telephone-event/8000
> > To: asterisk-dev at lists.digium.com
> > Message-ID: <46591B32.4070703 at bingoconsulting.com>
> > Content-Type: text/plain; charset="iso-8859-1"
> >
> > Hello Developers,
> > I am using Asterisk-1.2.12.1.
> >
> > I have been scratching my head for almost a week. We are trying to set
> > a service with verizon (ip=XXX.XXX.XXX.XXX) and dtmf is not working.
> > In our scenario  verizon is sending call to our ser server and ser is
> > forwarding the call to asterisk. In the asterisk debug I can see the
> > DTMF keys are coming but ivr does not recognice those keys at all. I
> > can see this in the debug. We are using ulaw and alaw for codec.
> >
> > *May 24 20:14:00 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:01 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:01 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX*
> >
> >
> > Voice part works great. I mean if I forward that call to asterisk sip
> > user we can talk.
> > Every thing is working great with other SP. The only difference I can
> > see is the rtpmap:101 telephone-event/8000.
> > With the working SP the rtpmap is rtpmap:100 telephone-event/8000.
> >
> > I need solution ASAP, so please give me any hint you can.
> >
> > Here is complete debug log for one call.
> >
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: Allocating new SIP dialog for
> > 9CB80474-
> > 98311DC-86A1C9BE-38B97399 at XXX.XXX.XXX.XXX - INVITE (With RTP)
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: **** Received INVITE (5) -
> > Command in S
> > IP INVITE
> > May 24 20:13:47 DEBUG[26583] res_config_mysql.c: MySQL RealTime:
> > Everything is f
> > ine.
> > May 24 20:13:47 DEBUG[26583] res_config_mysql.c: MySQL RealTime:
> > Retrieve SQL: S
> > ELECT * FROM cc_sip_buddies WHERE name = '6056911122'
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: Setting NAT on RTP to 0
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: Checking SIP call limits for
> > device
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: Updating call counter for
> > incoming call
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: build_route: Record-Route
> > hop: <sip:209.zzz.zzz.zzz;ftag=E3F05090-621;lr=on>
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: build_route: Record-Route
> > hop: <sip:zzz.zzz.zzz.zzz;ftag=E3F05090-621;lr=on>
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: build_route: Record-Route
> > hop: <sip:yy-proxy-ip.yy;lr>
> > May 24 20:13:47 DEBUG[26574] chan_sip.c: Checking device state for
> > peer XXX.XXX.XXXX.XXX
> > May 24 20:13:47 DEBUG[26803] pbx.c: Launching 'NoOp'
> > May 24 20:13:47 DEBUG[26574] devicestate.c: Changing state for
> > SIP/XXX.XXX.XXX.XXX -
> > state 2 (In use)
> > May 24 20:13:47 DEBUG[26804] app_queue.c: Device 'SIP/XXX.XXX.XXX.XXX'
> > changed to st
> > ate '2' (In use) but we don't care because they're not a member of any
> > queue.
> > May 24 20:13:47 DEBUG[26803] pbx.c: Launching 'Goto'
> > May 24 20:13:47 DEBUG[26803] pbx.c: Launching 'Set'
> > May 24 20:13:47 DEBUG[26803] pbx.c: Launching 'Goto'
> > May 24 20:13:47 DEBUG[26803] pbx.c: Launching 'Set'
> > May 24 20:13:47 DEBUG[26803] pbx.c: Launching 'Set'
> > May 24 20:13:47 DEBUG[26803] pbx.c: Launching 'Answer'
> > May 24 20:13:47 DEBUG[26803] chan_sip.c:
> > sip_answer(SIP/XXX.XXX.XXX.XXX-b7b03730)
> > May 24 20:13:47 DEBUG[26574] chan_sip.c: Checking device state for
> > peer XXX.XXX.XXXX.XXX
> > May 24 20:13:47 DEBUG[26574] channel.c: Avoiding initial deadlock for
> > 'SIP/XXX.XXX.XXXX.XXX-b7b03730'
> > May 24 20:13:47 DEBUG[26803] pbx.c: Launching 'Wait'
> > May 24 20:13:47 DEBUG[26574] devicestate.c: Changing state for
> > SIP/XXX.XXX.XXX.XXX -
> > state 2 (In use)
> > May 24 20:13:47 DEBUG[26805] app_queue.c: Device 'SIP/XXX.XXX.XXX.XXX'
> > changed to st
> > ate '2' (In use) but we don't care because they're not a member of any
> > queue.
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: = Found Their Call ID:
> > 9CB80474-98311DC
> > -86A1C9BE-38B97399 at XXX.XXX.XXX.XXX Their Tag E3F05090-621 Our tag:
> > as3becafbb
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: **** Received ACK (6) -
> > Command in SIP
> > ACK
> > May 24 20:13:47 DEBUG[26583] chan_sip.c: Stopping retransmission on
> > '9CB80474-98
> > 311DC-86A1C9BE-38B97399 at XXX.XXX.XXX.XXX' of Response 101: Match Found
> > May 24 20:13:48 DEBUG[26803] pbx.c: Launching 'Set'
> > May 24 20:13:48 DEBUG[26803] pbx.c: Launching 'Set'
> > May 24 20:13:48 DEBUG[26803] pbx.c: Launching 'BackGround'
> > May 24 20:13:48 DEBUG[26803] channel.c: Set channel
> > SIP/XXX.XXX.XXX.XXX-b7b03730 to
> > write format slin
> > May 24 20:13:48 DEBUG[26803] rtp.c: Ooh, format changed from unknown
> > to ulaw
> > May 24 20:13:48 DEBUG[26803] channel.c: Scheduling timer at 160 sample
> > intervals
> > May 24 20:13:49 DEBUG[26803] rtp.c: Got RTCP report of 132 bytes
> > May 24 20:13:52 DEBUG[26803] rtp.c: Got RTCP report of 132 bytes
> > May 24 20:13:53 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:13:58 DEBUG[26803] rtp.c: Got RTCP report of 132 bytes
> > May 24 20:14:00 DEBUG[26803] channel.c: Scheduling timer at 58 sample
> > intervals
> > May 24 20:14:00 DEBUG[26803] channel.c: Scheduling timer at 0 sample
> > intervals
> > May 24 20:14:00 DEBUG[26803] channel.c: Scheduling timer at 0 sample
> > intervals
> > May 24 20:14:00 DEBUG[26803] channel.c: Set channel
> > SIP/XXX.XXX.XXX.XXX-b7b03730 to
> > write format ulaw
> > May 24 20:14:00 DEBUG[26803] res_config_mysql.c: MySQL RealTime:
> > Everything is f
> > ine.
> > May 24 20:14:00 DEBUG[26803] res_config_mysql.c: MySQL RealTime:
> > Retrieve SQL: S
> > ELECT * FROM extensions WHERE exten = 's' AND context = 'ext-local'
> > AND priority
> > = '8'
> > May 24 20:14:00 DEBUG[26803] res_config_mysql.c: MySQL RealTime:
> > Everything is f
> > ine.
> > May 24 20:14:00 DEBUG[26803] res_config_mysql.c: MySQL RealTime:
> > Retrieve SQL: S
> > ELECT * FROM extensions WHERE exten LIKE '\\_%' AND context =
> > 'ext-local' AND pr
> > iority = '8' ORDER BY exten
> > *May 24 20:14:00 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:01 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:01 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:01 DEBUG[26803] rtp.c: Got RTCP report of 132 bytes
> > May 24 20:14:01 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:02 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:02 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:02 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:03 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:03 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:03 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:04 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:04 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX
> > May 24 20:14:04 DEBUG[26803] rtp.c: Sending dtmf: 49 (1), at
> > XXX.XXX.XXX.XXX*
> > May 24 20:14:07 DEBUG[26803] rtp.c: Got RTCP report of 108 bytes
> > May 24 20:14:09 DEBUG[26803] rtp.c: Got RTCP report of 44 bytes
> > May 24 20:14:09 DEBUG[26583] chan_sip.c: = Found Their Call ID:
> > 9CB80474-98311DC
> > -86A1C9BE-38B97399 at XXX.XXX.XXX.XXX Their Tag E3F05090-621 Our tag:
> > as3becafbb
> > May 24 20:14:09 DEBUG[26583] chan_sip.c: **** Received BYE (8) -
> > Command in SIP
> > BYE
> > May 24 20:14:09 DEBUG[26583] chan_sip.c: Received bye, issuing owner
> > hangup
> > .May 24 20:14:09 DEBUG[26803] pbx.c: Launching 'Hangup'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Spawn extension (ivr-2,h,1) exited
> > non-zero
> > on 'SIP/XXX.XXX.XXX.XXX-b7b03730'
> > May 24 20:14:09 DEBUG[26803] cdr_addon_mysql.c: cdr_mysql: inserting a
> > CDR recor
> > d.
> > May 24 20:14:09 DEBUG[26803] cdr_addon_mysql.c: cdr_mysql: SQL command
> > as follow
> > s: INSERT INTO cdr
> > (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,la
> > stdata,duration,billsec,disposition,amaflags,accountcode) VALUES
> > ('2007-05-24 20
> > :13:47','6056911122','6056911122','s','ivr-2',
> > 'SIP/XXX.XXX.XXX.XXX-b7b03730','','Ha
> > ngup','',22,22,'ANSWERED',3,'')
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '6056911122'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '6056911122'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is 's'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is 'ivr-2'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is
> > 'SIP/XXX.XXX.XXX.XXX-b7b03730
> > '
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '(null)'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is 'Hangup'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '(null)'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '2007-05-24
> > 20:13:47'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '2007-05-24
> > 20:13:47'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '2007-05-24
> > 20:14:09'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '22'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '22'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is 'ANSWERED'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is 'DOCUMENTATION'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '(null)'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '1180062827.5'
> > May 24 20:14:09 DEBUG[26803] pbx.c: Function result is '(null)'
> > May 24 20:14:09 DEBUG[26803] channel.c: Hanging up channel
> > 'SIP/XXX.XXX.XXX.XXX-b7b0
> > 3730'
> > May 24 20:14:09 DEBUG[26803] chan_sip.c: Hangup call
> > SIP/XXX.XXX.XXX.XXX-b7b03730, S
> > IP callid 9CB80474-98311DC-86A1C9BE-38B97399 at XXX.XXX.XXX.XXX)
> > May 24 20:14:09 DEBUG[26803] chan_sip.c: update_call_counter() -
> > decrement call
> > limit counter
> > May 24 20:14:09 DEBUG[26803] chan_sip.c: Updating call counter for
> > incoming call
> > May 24 20:14:09 DEBUG[26574] chan_sip.c: Checking device state for
> > peer XXX.XXX.XXXX.XXX
> > May 24 20:14:09 DEBUG[26574] devicestate.c: Changing state for
> > SIP/XXX.XXX.XXX.XXX -
> > state 1 (Not in use)
> > May 24 20:14:09 DEBUG[26809] app_queue.c: Device 'SIP/XXX.XXX.XXX.XXX'
> > changed to st
> > ate '1' (Not in use) but we don't care because they're not a member of
> > any queue
> >
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL:
> >
http://lists.digium.com/pipermail/asterisk-dev/attachments/20070525/9ac1c3df
/attachment.htm
> >
> >
> > ------------------------------
> >
> > _______________________________________________
> > --Bandwidth and Colocation provided by Easynews.com --
> >
> > asterisk-dev mailing list
> > To UNSUBSCRIBE or update options visit:
> >   http://lists.digium.com/mailman/listinfo/asterisk-dev
>
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev



More information about the asterisk-dev mailing list