[asterisk-r2] Failed calls CANTV (suspect on fast-busy tone)

Mc GRATH Ricardo mcgrathr at mail2web.com
Tue Feb 26 03:59:58 CST 2013


Hola Rafael
No se entiende que bien el fast-busy que es y que hace exactamente, por otro lado quien libera es CANTV ya que ruta de destino esta en falla como te referis (por el lado de CANTV puede ser una forma que los recursos no queden tomados y forzar una liberacion al originante), todo esto se sucede en solo 3 segundos, por otro lado porque OpenR2 indica un error de invalid CAS?? que secuencia toma OpenR2 para determinar una falla, puede que sea un problemas de timing, asociado a la liberación por parte de CANTV y que tenga que ser a un tiempo superior de 3 segundos para que Openr2 no indique una falla de CAS, esto lo podria aclarar mas Moise.
Saludos

Mc GRATH Ricardo
E-Mail mcgrathr at mail2web.com<mailto:mcgrathr at mail2web.com>

________________________________
From: asterisk-r2-bounces at lists.digium.com [asterisk-r2-bounces at lists.digium.com] On Behalf Of Rafael Angulo [rafael.angulo at tarma.com.ve]
Sent: 26 February 2013 00:22
To: asterisk-r2 at lists.digium.com
Subject: Re: [asterisk-r2] Failed calls CANTV (suspect on fast-busy tone)

Saludos amigos de la lista, mil gracias por sus respuestas, me han dado algunas ideas interesantes, sin embargo avance un poco mas en la comprensión del problema y acá les relato esperando que puedan ayudarme.Como ya he mencionado en varios mensajes, sigo trabajando sobre el problema de la Elastix -> sangoma E1 -> R2/DMTF -> CANTVHoy descubrí casi por azar que las llamadas fallidas ocurren (no se si siempre) cuando CANTV envía un fast busy tone justo después de que se envía el numero discado por DTMF(no era como pensaba el técnico de CANTV, que el numero no se enviaba). Lo comprobé llamando al numero desde mi celular y evidenciando el fast-busy tone(el numero esta dañado), para ese numero, la central siempre falla, colocando en los logs lo que les he mandado en los otros correos(mas abajo en el correo están los log). Esto en mi experiencia ocurre aleatoriamente con números que no tienen problemas, y siempre con números dañados.

Debo suponer que estas lineas del log:
[Chan 17] - CAS Rx << [0x08] 0x08
[Chan 17] - Protocol error. Reason = Invalid CAS, R2 State = Seize ACK Received, MF state = MF Engine Off, MF Group = Forward DTMF init, CAS DNIS = 4092442, ANI = 2748100, MF = 0x20
Indican que para la maquina de estados de openR2, recibir un fast-busy tone después de enviar el numero marcado por DTMF es un estado invalido. Entonces me surgen estas preguntas:

1) Se podrá modificar el comportamiento de OpenR2 para que envíe el fast-busy tone al llamante (creo que es lo mas justo) en este caso.
2) Habrá forma de evitar que asterisk responda "todas las lineas están ocupadas"?
3) Servirá el busydetect de asterisk para ayudar al problema como se menciona en este post: http://lists.digium.com/pipermail/asterisk-r2/2011-July/002244.html

Si divido las lineas salientes en tres grupos(por ejemplo 17-21,22-27,28-31) y el primero falla, intentara por el segundo o el tercero, esto debería funcionar si el fast busy tone se genero por error de CANTV para un numero bueno, pero si el numero esta dañado, CANTV siempre responderá con el Fast-Busy tone, y asterisk intentará sacar la llamada por los tres grupos después de lo cual enviara al llamante el mensaje de "todas las lineas están ocupadas" y de igual manera el llamante pensara que las lineas están ocupadas y no que el numero esta malo.

Alguna experiencia de los amigos de la lista al respecto?

Mil gracias de antemano,

rafa


On Mon, Feb 25, 2013 at 2:39 AM, <asterisk-r2-request at lists.digium.com<mailto:asterisk-r2-request at lists.digium.com>> wrote:
Send asterisk-r2 mailing list submissions to
        asterisk-r2 at lists.digium.com<mailto:asterisk-r2 at lists.digium.com>

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.digium.com/mailman/listinfo/asterisk-r2
or, via email, send a message with subject or body 'help' to
        asterisk-r2-request at lists.digium.com<mailto:asterisk-r2-request at lists.digium.com>

You can reach the person managing the list at
        asterisk-r2-owner at lists.digium.com<mailto:asterisk-r2-owner at lists.digium.com>

When replying, please edit your Subject line so it is more specific
than "Re: Contents of asterisk-r2 digest..."

Today's Topics:

   1. Re: Failed calls CANTV updated again (Rafael Angulo)
   2. Re: Failed calls CANTV updated again (Gerardo Barajas)


---------- Forwarded message ----------
From: Rafael Angulo <rafael.angulo at tarma.com.ve<mailto:rafael.angulo at tarma.com.ve>>
To: asterisk-r2 at lists.digium.com<mailto:asterisk-r2 at lists.digium.com>
Cc:
Date: Mon, 25 Feb 2013 01:33:58 -0430
Subject: Re: [asterisk-r2] Failed calls CANTV updated again
Saludos a todos los amigos de la lista, he seguido trabajando sobre el problema aleatorio que ocurre en los canales salientes del E1 de cantv, abajo en el correo esta el planteamiento original del problema, pero en resumen, de forma aleatoria en canales aleatorios, el log de llamadas muestra esto (extracto):

Bits changed from 0x0C to 0x08
[Chan 17] - CAS Rx << [0x08] 0x08
[Chan 17] - Protocol error. Reason = Invalid CAS, R2 State = Seize ACK Received, MF state = MF Engine Off, MF Group = Forward DTMF init, CAS DNIS = 4092442, ANI = 2748100, MF = 0x20
Posterior a esto le indica al llamante que todas las lineas están ocupadas sin intentar con otro canal. Por lo que el llamante debe colgar e intentar de nuevo
Por un tiempo el log estaba lleno de estos errores solo cuando el numero discado era Movistar (otra operadora Venezolana el patron es 0414XXXXXXX o  0424XXXXXXX), pero han ido apareciendo otros números. El técnico de CANTV coloco un analizador de protocolos y su conclusión es que aleatoriamente la central no esta enviando los tonos DTMF (la señalización saliente es DTMF) con los números discados (efectivamente no se oyen en el analizador de protocolos). A nivel de señalización esto es lo que aparentemente ocurre:

IPBX                                       CANTV
1001 ------------------------------------ 1001 (Idle)
0001 ------------------------------------ 1001
0001 ------------------------------------ 1101 (Inicio de llamada y envío de tono de invitación a marcar por parte de CANTV) (Seize) y (Seize ACK)
cierto tiempo
0001 ------------------------------------ 1001
0001 ------------------------------------ 1101
y nada mas pasa, sigue en este ciclo, a veces el canal se bloquea a veces vuelve a IDLE.

La tarjeta es una Sangoma A102D y ya le actualice el firmware a la ultima versión. Alguien tendrá alguna pista de que puede estar pasando? Alguien sabrá como puedo evitar que Asterisk indique que todas las lineas están ocupadas e intente por otro canal hasta que tenga éxito?

Mil gracias de antemano,

Rafa




On Mon, Feb 4, 2013 at 12:10 PM, Rafael Angulo <rafael.angulo at tarma.com.ve<mailto:rafael.angulo at tarma.com.ve>> wrote:
Hola a todos!,

Abajo en el correo esta el planteamiento original del problema. Logre determinar que el problema no esta relacionado con ocupación de las lineas, ocurre aun cuando hay lineas disponibles. Y lo problemático es que Asterisk no trata con el siguiente canal disponible después del error sino que envía el mensaje de "todas las lineas están ocupadas" de vuelta al llamante. El problema ocurre aleatorio y por cualquier canal .Por favor si alguien tiene alguna pista sobre la solución, sugerencias de que probar, donde investigar o que leer, mucho lo sabría agradecer. adjunto el archivo de debug de openr2 para una llamada fallida y la configuración del chan-dahdi.conf.

[Chan 17] - Call started at Mon Dec 10 08:54:38 2012 on chan 17 [openr2 version 1.3.1, revision exported]
[Chan 17] - Outgoing call proceeding: ANI=2748100, DNIS=4092442, Category=National Subscriber
[Chan 17] - CAS Tx >> [SEIZE] 0x00
[Chan 17] - CAS Raw Tx >> 0x01
[Chan 17] - scheduled timer id 2 (r2_seize)
[Chan 17] - Bits changed from 0x08 to 0x0C
[Chan 17] - CAS Rx << [SEIZE ACK] 0x0C
[Chan 17] - Attempting to cancel timer timer 2
[Chan 17] - timer id 2 found, cancelling it now
[Chan 17] - DTMF/R2 call acknowledge!
[Chan 17] - scheduled timer id 3 (start_dialing_dtmf)
[Chan 17] - scheduled timer id 4 (r2_answer)
[Chan 17] - Attempting to cancel timer timer 3
[Chan 17] - timer id 3 found, cancelling it now
[Chan 17] - calling timer 3 (start_dialing_dtmf) callback
[Chan 17] - Dialing 4092442 with DTMF/R2 (tone on = 50, tone off = 100)
[Chan 17] - Done with DTMF generation
[Chan 17] - Attempting to cancel timer timer 0
[Chan 17] - Cannot cancel timer 0
[Chan 17] - DTMF R2 call is done generating DTMF, forcing accept signal
[Chan 17] - Bits changed from 0x0C to 0x08
[Chan 17] - CAS Rx << [0x08] 0x08
[Chan 17] - Protocol error. Reason = Invalid CAS, R2 State = Seize ACK Received, MF state = MF Engine Off, MF Group = Forward DTMF init, CAS DNIS = 4092442, ANI = 2748100, MF = 0x20
[Chan 17] - Attempting to cancel timer timer 0
[Chan 17] - Cannot cancel timer 0

chan_dahdi.conf

[channels]
context=default
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
relaxdtmf=yes
rxgain=0.0
txgain=0.0
;group=1
callgroup=1
pickupgroup=1
immediate=no

group=1
context=from-trunk
signalling=mfcr2
mfcr2_variant=ve
mfcr2_get_ani_first=yes
mfcr2_max_ani=10
mfcr2_max_dnis=4
mfcr2_immediate_accept=no
mfcr2_category=national_subscriber
mfcr2_call_files=yes
mfcr2_logdir=cantv
mfcr2_logging=all
mfcr2_mfback_timeout=-1
;channel => 1-15,32-46
channel => 1-15

group=2
context=from-internal
signalling=mfcr2
mfcr2_variant=ve
mfcr2_get_ani_first=yes
mfcr2_immediate_accept=yes
mfcr2_dtmf_detection=1
mfcr2_dtmf_dialing=1
mfcr2_max_ani=10
mfcr2_max_dnis=4
mfcr2_category=national_subscriber
mfcr2_logdir=cantv
mfcr2_logging=all
mfcr2_mfback_timeout=-1
channel => 17-31

group=3
channel => 22-31


On Sat, Feb 2, 2013 at 1:30 PM, <asterisk-r2-request at lists.digium.com<mailto:asterisk-r2-request at lists.digium.com>> wrote:
Send asterisk-r2 mailing list submissions to
        asterisk-r2 at lists.digium.com<mailto:asterisk-r2 at lists.digium.com>

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.digium.com/mailman/listinfo/asterisk-r2
or, via email, send a message with subject or body 'help' to
        asterisk-r2-request at lists.digium.com<mailto:asterisk-r2-request at lists.digium.com>

You can reach the person managing the list at
        asterisk-r2-owner at lists.digium.com<mailto:asterisk-r2-owner at lists.digium.com>

When replying, please edit your Subject line so it is more specific
than "Re: Contents of asterisk-r2 digest..."

Today's Topics:

   1. Failed calls E1 CANTV (Rafael Angulo)


---------- Forwarded message ----------
From: Rafael Angulo <rafael.angulo at tarma.com.ve<mailto:rafael.angulo at tarma.com.ve>>
To: asterisk-r2 at lists.digium.com<mailto:asterisk-r2 at lists.digium.com>
Cc:
Date: Fri, 1 Feb 2013 16:29:02 -0430
Subject: [asterisk-r2] Failed calls E1 CANTV
Hello everybody,

I have an E1 (CANTV VENEZUELA) configured against an elastix appliance. Elastix version is 2.3 asterisk version is 1.8.17.0 and dahdi version is 2.4.1.2. Some calls are failing to go out, writing the "busy/congested" message  into the log and sending the appropriate message back to the caller. I'm not sure why the calling is failing, I think all the outgoing channels in the E1 are getting busy, but when I check the logs, there are some errors and I'm not sure if is the regular way asterisk log when all channels in a E1 are busy or there is actually an error in the progress of the call.

Any help will be appreciated, right now I'm saving the output of the command mfcr2 show channels executed every two seconds to monitor if all the channels get busy together at any time during the day. Attached to this email is the log with the failing calls, this same behavior happens randomly with many other channels.

[Feb  1 09:50:20] DEBUG[12104] chan_dahdi.c: Chan 22 - Requested to make call (ANI=2748100, DNIS=04149898199<tel:04149898199>, category=National Subscriber)
[Feb  1 09:50:20] DEBUG[12104] chan_dahdi.c: Chan 22 - Call started at Fri Feb  1 09:50:20 2013 on chan 22 [openr2 version 1.3.1, revision exported]
[Feb  1 09:50:20] DEBUG[12104] chan_dahdi.c: Chan 22 - Outgoing call proceeding: ANI=2748100, DNIS=04149898199<tel:04149898199>, Category=National Subscriber
[Feb  1 09:50:20] DEBUG[12104] chan_dahdi.c: Chan 22 - CAS Tx >> [SEIZE] 0x00
[Feb  1 09:50:20] DEBUG[12104] chan_dahdi.c: Chan 22 - CAS Raw Tx >> 0x01
[Feb  1 09:50:20] VERBOSE[12104] app_dial.c:     -- Called DAHDI/g3/04149898199
[Feb  1 09:50:20] DEBUG[12104] chan_dahdi.c: bits changed in chan 22
[Feb  1 09:50:20] DEBUG[12104] chan_dahdi.c: Chan 22 - Bits changed from 0x08 to 0x0C
[Feb  1 09:50:20] DEBUG[12104] chan_dahdi.c: Chan 22 - CAS Rx << [SEIZE ACK] 0x0C
[Feb  1 09:50:20] DEBUG[12104] chan_dahdi.c: Chan 22 - DTMF/R2 call acknowledge!
[Feb  1 09:50:21] DEBUG[12104] chan_dahdi.c: Chan 22 - calling timer 3 (start_dialing_dtmf) callback
[Feb  1 09:50:21] VERBOSE[12104] chan_dahdi.c: Chan 22 - Dialing 04149898199<tel:04149898199> with DTMF/R2 (tone on = 50, tone off = 100)
[Feb  1 09:50:22] DEBUG[12104] chan_dahdi.c: Chan 22 - Done with DTMF generation
[Feb  1 09:50:22] DEBUG[12104] chan_dahdi.c: Chan 22 - DTMF R2 call is done generating DTMF, forcing accept signal
[Feb  1 09:50:22] VERBOSE[12104] chan_dahdi.c: MFC/R2 call has been accepted on forward channel 22
[Feb  1 09:50:22] VERBOSE[12104] app_dial.c:     -- DAHDI/22-1 is ringing
[Feb  1 09:50:22] DEBUG[12104] chan_dahdi.c: Enqueuing progress frame after R2 accept in chan 22
[Feb  1 09:50:22] VERBOSE[12104] app_dial.c:     -- DAHDI/22-1 is making progress passing it to SIP/116-000089f0
[Feb  1 09:50:23] DEBUG[12104] chan_dahdi.c: bits changed in chan 22
[Feb  1 09:50:23] DEBUG[12104] chan_dahdi.c: Chan 22 - Bits changed from 0x0C to 0x08
[Feb  1 09:50:23] DEBUG[12104] chan_dahdi.c: Chan 22 - CAS Rx << [0x08] 0x08
[Feb  1 09:50:23] ERROR[12104] chan_dahdi.c: Chan 22 - Protocol error. Reason = Invalid CAS, R2 State = Seize ACK Received, MF state = MF Engine Off, MF Group = Forwar$
DNIS = 04149898199<tel:04149898199>, ANI = 2748100, MF = 0x20
[Feb  1 09:50:23] DEBUG[12104] chan_dahdi.c: Chan 22 - CAS Tx >> [IDLE] 0x08
[Feb  1 09:50:23] DEBUG[12104] chan_dahdi.c: Chan 22 - CAS Raw Tx >> 0x09
[Feb  1 09:50:23] ERROR[12104] chan_dahdi.c: MFC/R2 protocol error on chan 22: Invalid CAS
[Feb  1 09:50:23] VERBOSE[12104] chan_dahdi.c:     -- Hungup 'DAHDI/22-1'
[Feb  1 09:50:23] VERBOSE[12104] app_dial.c:   == Everyone is busy/congested at this time (1:0/0/1)
[Feb  1 09:50:23] VERBOSE[12104] pbx.c:     -- Executing [s at macro-dialout-trunk:20] NoOp("SIP/116-000089f0", "Dial failed for some reason with DIALSTATUS = CHANUNAVAIL$
[Feb  1 09:50:23] VERBOSE[12104] pbx.c:     -- Executing [s at macro-dialout-trunk:21] Goto("SIP/116-000089f0", "s-CHANUNAVAIL,1") in new stack





--
Rafael A Angulo R
Director Gerente
Tarma Consultores C.A.
Cel. (58)(414)106.04.73
Ofi. (58)(212)793.49.81


_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--

asterisk-r2 mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-r2



--
Rafael A Angulo R
Director Gerente
Tarma Consultores C.A.
Cel. (58)(414)106.04.73
Ofi. (58)(212)793.49.81




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-r2/attachments/20130226/5f8d7a8f/attachment-0001.htm>


More information about the asterisk-r2 mailing list