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
Genial, gracias ;)
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/
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. ¿?¿?¿
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
>
> >
>
--
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
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.
Como siempre magistral.
Hola a ver si me pueden ayudar con esta situación, cuando tengo los teléfonos con