Summary:ASTERISK-09061: Ekiga DTMF doesn't work in Asterisk 1.4.1 but works in 1.2.4-BRIstuffe
Reporter:Iñaki Baz Castillo (ibc)Labels:
Date Opened:2007-03-21 04:48:47Date Closed:2011-06-07 14:07:48
Versions:Frequency of
Environment:Attachments:( 0) ekiga-dtmf-not-working-asterisk-1.4.txt
( 1) verbosedebug.txt
( 2) verbosedebug-rfc2833compensate.txt
Description:Two Asterisk in the same LAN (1.4.1 and 1.2.4-BRIstuffe) with the same SIP configuration.

The DTMF doesn't work in Ekiga 2.0.3-0ubuntu3.2 with Asterisk 1.4.1 but it works in 1.2.4-BRIstuffe.

The sip user DTMF is configures in Asterisk as RFC2833 (the only way Ekiga allows)

I paste the "diff" in "Additional Information" and attach a text file with SIP settings and Ekiga peer setting in both Asterisk.


#> sdiff -s asterisk-1.4.1-sip-settings asterisk-1.2.4-BRIstuffed-sip-settings

 Allow subscriptions:    Yes                                 <
 Allow overlap dialing:  No                                  <
 Always auth rejects:    No                                  |   User Agent:             Asterisk PBX
 Call limit peers only:  No                                  <
 Direct RTP setup:       No                                  <
 User Agent:             NEW Ilimit - Asterisk PBX           <
 IP ToS SIP:             none                                |   IP ToS:                 0x0
 IP ToS RTP audio:       none                                |   OSP Support:            No
 IP ToS RTP video:       none                                <
 T38 fax pt UDPTL:       No                                  <
 RFC2833 Compensation:   No                                  <
 Codecs:                 0xe (gsm|ulaw|alaw)                 |   Codecs:                 alaw,ulaw,ilbc,gsm,h263p,h263
 Codec Order:            alaw:20,ulaw:20,gsm:20              <
 T1 minimum:             100                                 <
 RTP Keepalive:          3                                   <
 DNS SRV lookup:         Yes                                 |   DNS SRV lookup:         No
 Reg. min duration       60 secs                             <
 Notify hold state:      No                                  <
 SIP Transfer mode:      open                                <
 Max Call Bitrate:       384 kbps                            <
 Auto-Framing:           No                                  <
 Context:                entrantes-voip                      |   Context:                entrada_voip
 MOH Interpret:          default                             |   Musicclass:             default
 MOH Suggest:                                                <

#> sdiff -s asterisk-1.4.1-ekiga-peer asterisk-1.2.4-BRIstuffed-ekiga-peer
 * Name       : ibc-ekiga                                    |   * Name       : ibc-ekiga-old
 Context      : desde-usuarios                               |   Context      : entrada_extensions
 Transfer mode: open                                         <
 LastMsgsSent : 32767/65535                                  |   LastMsgsSent : -1
 MaxCallBR    : 384 kbps                                     |   Expire       : 8277
 Expire       : 354                                          <
 T38 pt UDPTL : No                                           <
 Video Support: Yes                                          <
 Subscriptions: Yes                                          <
 Overlap dial : No                                           <
 Addr->IP     : Port 5063                       |   Addr->IP     : Port 5061
 Def. Username: ibc-ekiga                                    |   Def. Username: ibc-ekiga-old
 Codecs       : 0xe (gsm|ulaw|alaw)                          |   Codecs       : 0x18040e (gsm|ulaw|alaw|ilbc|h263|h263p)
 Codec Order  : (alaw:20,ulaw:20,gsm:20)                     |   Codec Order  : (alaw,ulaw,ilbc,gsm,h263p,h263)
 Auto-Framing:  No                                           <
 Reg. Contact : sip:ibc-ekiga@;transport=ud |   Reg. Contact : sip:ibc-ekiga-old@;transpor
Comments:By: Serge Vecher (serge-v) 2007-03-21 09:02:46

As per bug guidelines, you need to attach a SIP debug trace illustrating the problem. Please do the following:
1) Prepare test environment (reduce the amount of unrelated traffic on the server);
2) Make sure your logger.conf has the following line:
  console => notice,warning,error,debug
3) restart Asterisk with the following command:
  'asterisk -Tvvvvvdddddngc | tee /tmp/verbosedebug.txt'
4) Enable SIP transaction logging with the following CLI commands (1.4/trunk commands in parenthesis):
set debug 4 (core set debug 4)
set verbose 4 (core set verbose 4)
sip debug (sip set debug)
rtp debug (rtp set debug)
5) Reproduce the problem
6) Trim startup information and attach verbosedebug.txt to the issue.

By: Iñaki Baz Castillo (ibc) 2007-03-21 09:44:42

I attach the trimed "verbosedebug.txt".

The action I did with Ekiga is just call to 901 exten, so Asterisk makes a "Goto(pruebas-ivr,s,1)" as the following:

[pruebas-ivr]  ; test DTMF

exten => s,1,PlayBack(welcome)
exten => s,n(repetir),WaitExten(10)

exten => 1,1,NoOp(----------- 1 ------------)
exten => 1,n,PlayBack(digits/1)
exten => 1,n,Goto(s,repetir)

exten => 2,1,NoOp(----------- 2 ------------)
exten => 2,n,PlayBack(digits/2)
exten => 2,n,Goto(s,repetir)

exten => t,1,Goto(s,1)
exten => i,1,NoOp(---- ??? INVALID !!! ----)
exten => i,n,Goto(s,1)

When Asterisk answered I pressed 1 and then 2 in the keypad of Ekiga and nothing occurs, after that I hangup and finished the debug.

Note that with exactly the same SIP and peers configuration the same Ekiga works propery (DTMF) in an Asterisk 1.2.4-BRIstuffe.

Note: The SIP and peers configuration is attached previously.

By: Joshua C. Colp (jcolp) 2007-03-21 09:46:46

Switch RFC2833 compensation on by adding rfc2833compensate=yes to the entry in sip.conf.

By: Iñaki Baz Castillo (ibc) 2007-03-22 03:49:11

It still doesn't work with "rfc2833compensate=yes" in Ekiga's SIP peer entry.

By: Serge Vecher (serge-v) 2007-03-22 08:37:03

alright, let's see the new verbosedebug.txt -> don't forget to enter "sip set debug" this time.

By: Iñaki Baz Castillo (ibc) 2007-03-22 10:42:05

I have already attached the "verbosedebug-rfc2833compensate.txt".
Exactly the same: when Asterisk answered I pressed 1 and then 2 in the keypad of Ekiga and nothing occurred, after that I hangup.

Note that in the debug file you can see:
 RTP RFC2833 [...] event 00000001 [...]   (I suppose it's when pressing 1)
 RTP RFC2833 [...] event 00000002 [...]

By: Serge Vecher (serge-v) 2007-03-22 11:09:16

hmm, interesting. Will DTMF work if you replace the WaitExten application with something else, like Voicemail()?

By: Iñaki Baz Castillo (ibc) 2007-03-22 11:23:45

No, it works never, neither in VoiceMail, neither in an external IVR via IAX, SIP or ISDN.

By: Joshua C. Colp (jcolp) 2007-03-22 11:37:17

There looks to be a few things iffy in here...

1. Comfort noise/silence suppression seems to be on, that needs to be disabled.
2. The RFC2833 packets from Ekiga aren't the best. What version are you running of Ekiga?
3. I added extra code in 1.4.2 to compensate for the above with compensation turned on, might want to give that a try.

By: Iñaki Baz Castillo (ibc) 2007-03-22 12:06:32

1. There is no way to dissable "comfort noise/silence" in Ekiga, but I have "Enable silence detection" and "Enable echo cancelation" NOT enabled.
Anyway I comment again that Ekiga's DTMF works perferly in Asterisk 1.2.4-BRIstuffe.

2. Ekiga version 2.0.3-0ubuntu3.2.

Thanks for all.

By: Joshua C. Colp (jcolp) 2007-03-22 12:11:00

1.2 and lower was more forgiving with DTMF. I would HIGHLY suggest using a newer version of Ekiga though as per http://www.gnomemeeting.org/ Ekiga 2.0.4:

Fixed RFC2833 DTMFs. (#347177, Hannes Friederich)

So I bet if you update Ekiga DTMF will start working.

By: Iñaki Baz Castillo (ibc) 2007-03-23 06:04:54

Exactly, DTMF works perfectly with Ekiga 2.0.7. :)
Thanks a lot.

By: Joshua C. Colp (jcolp) 2007-03-23 10:43:23

Fixed by upgrading to latest Ekiga.