No se detectan tonos DTMF por cambio de central telefónica

876 views
Skip to first unread message

JFranco

unread,
Aug 27, 2007, 11:47:40 AM8/27/07
to asterisk-es, fer...@utp.edu.co
Saludos al grupo, antes que nada.

Mi nombre es José Franco vivo en Colombia y tengo un problema con mi
servidor Asterisk. Tengo instalada una pequeña central que funciona a
modo de PBX. El servidor cuenta con dos trajetas TDM. Una con cuatro
módulos FXS y la otra con 4 módulos FXO.
No había tenido ningún problema que buscando en la Web no hubiese
podido solucionar pero después de que la empresa de Telefonos de mi
ciudad decidiera migrar la central telefónica en donde se encuentran
las líneas de mi PBX tengo un serio problema y es que el servidor
Asterisk es incapaz de detectar adecuadamente los tonos DTMF. Buscando
en la Web pude encontrar propuestas como agregar al zapata.conf la
línea "relaxdtmf=yes". De igual forma pude entender (Puede que haya
entendido mal) que el problema estaba relacionada con las zonas que se
definene en el zonedata.c por lo que decidí crear los tonos de
Callprogress para Colombia (A proposito. Si alguien los necesita se
los puedo proporcionar) de acuerdo al documento de la ITU "Tonos
Varios usados en redes nacionales" (ACCORDING TO ITU-T RECOMMENDATION
E.180)(03/1998) el cual se puede encontrar en el siguiente enlace:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
Creyendo que existía algún problema de configuración e incluso un
fallo en las tarjetas decidí trasladar el servidor a otra ubicación
constatando que funcionaba adecuadamente.
Decidí por lo tanto llamar a la empresa telefónica pero no han podido
encontrar una solución al problema. Me enteré de igual forma que los
tonos de Callprogress (Estos son los que se definen en zonedata.c) que
tienen configurados son los tonos de China (La central que tienen es
de marca Huawei. De esta forma previo a la migración las frecuencias y
tiempos de los diferentes tonos eran las siguientes:
Busy tone - 425 0.25 on 0.25 off
Congestion tone - 425 0.10 on 0.25 off 0.35 on 0.25 off 0.65 on
0.25 off
Dial tone - 425 continuous
Number unobtainable tone - 425 0.65 on 0.25 off 0.20 on 0.60 off
Pay tone - 50/12000/16000 0.15 on
Ringing tone - 425 1.0 on 4.5 off
Special information tone - 950/1400/1800 3x0.333 on 1.0 off
Los cuales corresponden a las especificaciones para Colombia del
documento anterior.
Mientras que ahora, las frecuencias y tiempos de los diferentes tonos
son:
Busy tone - 450 0.35 on 0.35 off
Congestion tone - 450 0.7 on 0.7 off
Dial tone - 450 continuous
Second dial tone - 450 continuous
Intrusion tone - 450 0.2 on 0.2 off 0.2 on 0.6 off
Number unobtainable tone - 450 3x(0.1 on 0.1 off) 0.4 on 0.4 off
Ringing tone - 450 1.0 on 4.0 off
Special information tone - I 450 0.4 on 0.04 off
Special information tone - II 950 0.4 on 10.0 off
Waiting tone - 450 0.4 on 4.0 off
Que corresponden a las especificaciones para China

Por lo que cambié las líneas que definen esto en mi zaptel.conf
quedando:
loadzone=cn
defaultzone=cn
Pero dicho cambio fue infructifero.


Mi zapata.conf es el siguiente:
--------------------------------------------------------------------------------------------------------------------
[trunkgroups]


[channels]
language=es
transfer=yes
transfertobusy=no
echocancel=yes
echocancelwhenbridged=yes
relaxdtmf=yes
immediate=no
busydetect=yes
busycount=8
busypattern=350,350
musiconhold=default
accountcode=000
amaflags=billing

signalling=fxo_ls
group=1
callgroup=1
pickupgroup=1
context=emprendedor
channel => 5-8

signalling=fxs_ks
group=2
context=incoming
channel=> 2-3

signalling=fxs_ks
group=2,3
context=incoming
channel=> 4

signalling=fxs_ks
group=4
context=incoming
channel=> 1
--------------------------------------------------------------------------------------------------------------------

Realmente no se me ocurre mas nada. He tratado investigar antes de
decidirme realizar una pregunta que tal vez ya fue contestada. Por
otro lado tengo entendido que los tonos DTMF son un estándar en donde
básicamente se envían dos frecuencias que varían de acuerdo a la tecla
presionada y que no debería haber mayor problema en ser reconocidos.

De antemano muchas gracias por sus aportes

JFranco

unread,
Aug 28, 2007, 8:01:51 AM8/28/07
to asterisk-es

Maxi

unread,
Aug 28, 2007, 11:10:53 AM8/28/07
to aster...@googlegroups.com
El 27/08/07, JFranco <fer...@gmail.com> escribió:


Antes que nada queria aclarar algo.
En telefonia hay al menos 4 tipos de señalizacion, uno de ellos es
"Señalizacion de informacion" otro es "Senalizacion de direccion"

Si bien ambas señalizaciones se realizan con "tonos" no son los mismo tonos.

La deteccion de DTMF que haces referencia que no te funciona es la de
direccion, es el de poder detectar si presionan una tecla en el
telefono y poder interpretarla.
Esto no tiene nada que ver con los tonos de informacion, que es lo que
has estado modificando con el callprogress y los que estan en
zonedata.c

Terminada la aclaracion.

Cual es el problema que tenes? llaman a tu Asterisk y cuando quieren
ingresar un numero de extension no lo detectas ?
Plantea un ejemplo en donde se vea como es que no te detecta los DTMFs

Iñaki Baz Castillo

unread,
Aug 28, 2007, 11:51:05 AM8/28/07
to aster...@googlegroups.com
El Martes, 28 de Agosto de 2007, Maxi escribió:
> Cual es el problema que tenes? llaman a tu Asterisk y cuando quieren
> ingresar un numero de extension no lo detectas ?
> Plantea un ejemplo en donde se vea como es que no te detecta los DTMFs

Ya me he encontrado en varios casos con gente que se queja de que no le
funcionan los tonos y resulta que usa un teléfono analógico de pulsos o
configurado para que use pulsos.
Que supongo ya lo has verificado, pero por si acaso.

Yo opino igual, crea un IVR sencillo en plan "pulse un número" y que te vaya
leyendo el número que pulsas y tal, aunque sólo sea para tener algo fiable
que testear.

--
Iñaki Baz Castillo

Saúl Ibarra

unread,
Aug 28, 2007, 6:27:44 PM8/28/07
to aster...@googlegroups.com
Activa el debug de tonos DTMF en el fichero logger.conf y vas biendo
lo que comenta Iñaki.

El 28/08/07, Iñaki Baz Castillo <i...@aliax.net> escribió:


--
Saúl -- "Some people say why, other just say, why not."
----------------------------------------------------------------
http://www.saghul.net/

JFranco

unread,
Aug 28, 2007, 9:19:30 PM8/28/07
to asterisk-es
Muchas Gracias por la aclaración.
Y decía yo que eran cosas muy diferentes.

Sin embargo el problema es que después de la migración que hizo la
empresa de Telefónos ocurre el siguente problema:
Cuando el IVR invita a presionar una extensión y quien llama presiona
por ejemplo 113 sólo detecta 11. Ya activé el debug DTMF y cuando se
presiona una tecla (Y logra reconocerla) arroja lo siguiente:

[Aug 28 20:05:54] DTMF[25157]: channel.c:2338 __ast_read: DTMF end '8'
received on Zap/2-1, duration 0 ms
[Aug 28 20:05:54] DTMF[25157]: channel.c:2372 __ast_read: DTMF begin
emulation of '8' with duration 100 queued on Zap/2-1
[Aug 28 20:05:54] DTMF[25157]: channel.c:2444 __ast_read: DTMF end
emulation of '8' queued on Zap/2-1

Pero en ocasiones cuando se presiona una secuencia de teclas no
detecta la totalidad de la secuencia presionada. Por ejemplo si se
requiere comunicarse con la extensión 208 solo detecta 28.

Tengo una extensión de prueba que lo único que hace es leer un dato
con Read y luego con SayDigits dicta la se cuencia presionada. Para
varias pruebas que he realizado Para la siguientes secuencias solo
reconoce lo siguiente:

Secuencia Valor reconocido
1234567890 2345690
0987654321 09531
11223344556677889900 1223345667890
00998877665544332211 00987765432211

Estoy seguro que no se está efectuando la llamada desde un teléfono de
tonos. Ya también probé con la línea relaxdtmf=yes y no funcionó

Quiero estar seguro de que el problema no es de una mala configuración
del servidor. Ya que tengo altas sospechas de que algo hicieron los de
la empresa de teléfonos.

Muchas Gracias por lo que puedan ayudarme.

Iñaki Baz Castillo

unread,
Aug 29, 2007, 6:26:12 AM8/29/07
to aster...@googlegroups.com


Vaya, eso suena a que los DTMFno llegan muy "limpios". Yo por ejemplo sí que
he notado a veces que enviando DTMF desde un móvil si presiono las teclas muy
deprisa sólo llegan algunos.

Teniendo en cuenta que en telefonía analógica los DTMF van inband intuyo que
una mala calidad en la señal o bien ruido añadido podrían hacer difícil
detectar los tonos pulsados. Yo investigaría por ahí. Tal vez si llamas a tu
proveedor y le dices que "se oye ruido y los tonos DTMF no llegan todos bien
puedan detectar el problema".

Mucha suerte.

--
Iñaki Baz Castillo

Reply all
Reply to author
Forward
0 new messages