Asterisk y los DTMF

1,344 views
Skip to first unread message

Iñaki Baz Castillo

unread,
Jan 7, 2008, 5:04:52 AM1/7/08
to aster...@googlegroups.com
Hola, una curiosidad:

Si declaro un peer con "dtmfmode=info" y configuro el teléfono con "DMTF = SIP
INFO" entonces los DTMF funcionan al llamar a Asterisk.

Pero si declaro el peer con "dtmfmode=info" y configuro el teléfono con
RFC2833 entonces no funciona.

Qué cosa más absurda, ¿no?


PD: El otro día estuve tratando de ver los logs de DTMF RFC2833 en Asterisk y
no hubo forma. Tenía el debug y verbose a fuego y no salía nada. ¿Cómo los
podría visualizar?


--
Iñaki Baz Castillo
i...@in.ilimit.es

Jonathan GF

unread,
Jan 7, 2008, 5:49:07 AM1/7/08
to aster...@googlegroups.com
Hola Iñaki,

creo que lo que necesitas es esto:

Q: After I upgraded from 1.2 to 1.4.13 the CLI does not show DTMF anymore, even at high debug level. Do I need to activate that?
A: You need to enable DTMF debugging in logger.conf, then type "logger reload" at the Asterisk CLI for those changes to take effect.

Sacado de http://www.voip-info.org/wiki/view/Asterisk+DTMF

Saludos,

Jonathan GF

Iñaki Baz Castillo

unread,
Jan 7, 2008, 6:11:04 AM1/7/08
to aster...@googlegroups.com
On Monday 07 January 2008 11:49:07 Jonathan GF wrote:
> Hola Iñaki,
>
> creo que lo que necesitas es esto:
>
> *Q:* After I upgraded from 1.2 to 1.4.13 the CLI does not show DTMF

> anymore, even at high debug level. Do I need to activate that?
> *A:* You need to *enable DTMF debugging in logger.conf*, then type "logger

> reload" at the Asterisk CLI for those changes to take effect.

Genial, gracias ;)

Saúl Ibarra

unread,
Jan 7, 2008, 6:54:12 AM1/7/08
to aster...@googlegroups.com
On Jan 7, 2008 11:04 AM, Iñaki Baz Castillo <i...@in.ilimit.es> wrote:
>
> Hola, una curiosidad:
>
> Si declaro un peer con "dtmfmode=info" y configuro el teléfono con "DMTF = SIP
> INFO" entonces los DTMF funcionan al llamar a Asterisk.
>
> Pero si declaro el peer con "dtmfmode=info" y configuro el teléfono con
> RFC2833 entonces no funciona.
>
> Qué cosa más absurda, ¿no?

Si Asterisk espera un SIP INFO y tu se los mandas por RTP, debería de
pasar de ti no?

Si pones dtmfmode=info,rfc2833 te tira de las 2 maneras? (yo no he probado xD)

>
>
> PD: El otro día estuve tratando de ver los logs de DTMF RFC2833 en Asterisk y
> no hubo forma. Tenía el debug y verbose a fuego y no salía nada. ¿Cómo los
> podría visualizar?
>
>
> --
> Iñaki Baz Castillo
> i...@in.ilimit.es
>
> >
>

--
Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."
----------------------------------------------------------------
http://www.saghul.net/

Iñaki Baz Castillo

unread,
Jan 7, 2008, 6:59:47 AM1/7/08
to aster...@googlegroups.com
On Monday 07 January 2008 12:54:12 Saúl Ibarra wrote:
> On Jan 7, 2008 11:04 AM, Iñaki Baz Castillo <i...@in.ilimit.es> wrote:
> > Hola, una curiosidad:
> >
> > Si declaro un peer con "dtmfmode=info" y configuro el teléfono con "DMTF
> > = SIP INFO" entonces los DTMF funcionan al llamar a Asterisk.
> >
> > Pero si declaro el peer con "dtmfmode=info" y configuro el teléfono con
> > RFC2833 entonces no funciona.
> >
> > Qué cosa más absurda, ¿no?
>
> Si Asterisk espera un SIP INFO y tu se los mandas por RTP, debería de
> pasar de ti no?

Sí, y eso hace. Vale, he puesto mal el correo anterior, lo corrijo:

Si declaro un peer con "dtmfmode=rfc2833" y configuro el teléfono
con "DMTF=SIP INFO" entonces los DTMF funcionan al llamar a Asterisk.

Pero si declaro el peer con "dtmfmode=info" y configuro el teléfono con
RFC2833 entonces no funciona.

Qué cosa más absurda, ¿no?

> Si pones dtmfmode=info,rfc2833 te tira de las 2 maneras? (yo no he probado
> xD)

Eso no lo he probado más que nada porque desconozco si es válido (pero no lo
he visto en ningún sitio).
Pero el caso es que si pones "dtmfmode=rfc2833" para un peer pero ese peer
manda un SIP INFO entonces sí que te lo pilla. ¿?¿?¿

Saúl Ibarra

unread,
Jan 7, 2008, 7:10:48 AM1/7/08
to aster...@googlegroups.com
>
> Eso no lo he probado más que nada porque desconozco si es válido (pero no lo
> he visto en ningún sitio).
> Pero el caso es que si pones "dtmfmode=rfc2833" para un peer pero ese peer
> manda un SIP INFO entonces sí que te lo pilla. ¿?¿?¿
>

Entonces algo raro si que es...

Mirando por encima el chan_sip.c creo que lo que te he comentado antes
no funcionaría... pero me he encontrado esto, que igual te sirve:

SIPDtmfMode(inband|info|rfc2833): Changes the dtmfmode for a SIP call

>
>
>
> --
>
> Iñaki Baz Castillo
> i...@in.ilimit.es
>
> >
>

--

Iñaki Baz Castillo

unread,
Jan 7, 2008, 7:18:28 AM1/7/08
to aster...@googlegroups.com
On Monday 07 January 2008 13:10:48 Saúl Ibarra wrote:
> > Eso no lo he probado más que nada porque desconozco si es válido (pero no
> > lo he visto en ningún sitio).
> > Pero el caso es que si pones "dtmfmode=rfc2833" para un peer pero ese
> > peer manda un SIP INFO entonces sí que te lo pilla. ¿?¿?¿
>
> Entonces algo raro si que es...
>
> Mirando por encima el chan_sip.c creo que lo que te he comentado antes
> no funcionaría... pero me he encontrado esto, que igual te sirve:
>
> SIPDtmfMode(inband|info|rfc2833): Changes the dtmfmode for a SIP call

No, si el caso es que no me quejo, lo que yo quería era que Asterisk admitiese
DTMF bien vía RFC2833 o INFO.

O sea, que si es un bug bienvenido sea y ¡no lo reportéis! XD

Julian J. M.

unread,
Jan 7, 2008, 7:25:14 AM1/7/08
to aster...@googlegroups.com
On Jan 7, 2008 11:59 AM, Iñaki Baz Castillo <i...@in.ilimit.es> wrote:
> Si declaro un peer con "dtmfmode=rfc2833" y configuro el teléfono
> con "DMTF=SIP INFO" entonces los DTMF funcionan al llamar a Asterisk.
>
> Pero si declaro el peer con "dtmfmode=info" y configuro el teléfono con
> RFC2833 entonces no funciona.
>
> Qué cosa más absurda, ¿no?

Asterisk ignora los DTMF en el RTP cuando dtmfmode!=rfc2833.
chan_sip.c función ast_rtp_read(). Se puede comentar esas líneas y
forzar a asterisk a utilizarlos/reenviarlos:

/* Don't forward RFC2833 if we're not supposed to */
if (f && (f->frametype == AST_FRAME_DTMF) &&
(ast_test_flag(&p->flags[0], SIP_DTMF) != SIP_DTMF_RFC2833))
return &ast_null_frame;

El DTMF en SIP INFO lo trata siempre. función handle_request_info().

Mientras el teléfono no envíe el DTMF de las dos formas, no veo
especial problema en comentar las líneas anteriores. La ventaja es que
recibes el DTMF venga como venga, pero se lo reenvías al otro peer en
el formato que elijas. Aunque esto es la teoría, claro ;)

Julián J. M.

--
http://www.julianmenendez.es

Iñaki Baz Castillo

unread,
Jan 7, 2008, 7:28:59 AM1/7/08
to aster...@googlegroups.com

Como siempre magistral.

carlos augusto acosta ardila

unread,
Aug 27, 2013, 12:08:52 PM8/27/13
to aster...@googlegroups.com, i...@in.ilimit.es

Hola a ver si me pueden ayudar con esta situación, cuando tengo los teléfonos con 
 

 y marco a otra empresa no me marca extensiones saben que esta pasando ?


Reply all
Reply to author
Forward
0 new messages