Versión mejorada del mensaje “all circuits are busy” de Elastix/FreePBX (v4)

8 Abr

Actualización 2016-01-13: La liga de los archivos de sonido ya está disponible nuevamente.

Hace casi 2 años escribí un artículo sobre como mejorar los mensajes de código de error en llamadas por E1 para Elastix. El tiempo ha pasado y han habido cambios tanto en Asterisk como en Elastix, ocasionando que algunas partes de ese viejo post ya no funcionen, por lo que decidí reescribirlo y mejorarlo.

Este código les permitirá dar mensajes más descriptivos para los códigos de error Q931 que los enlaces digitales arrojan al momento en que una llamada sale mal. Con respecto del post anterior, estas son las mejoras:

  • Existen más códigos de error documentados.
  • Las voces son sintetizadas con acento neutro (para todos los que nos leen en América Latina, esto es más cómodo que el acento español que se tenía antes)
  • Ya solo se requiere meter el código en un único archivo .conf, no es necesario usar el .ael.

Según la versión de Elastix que estemos ocupando, el código debe insertarse en uno de los 2 archivos siguientes:

  • /etc/asterisk/extensions_override_elastix.conf
  • /etc/asterisk/extensions_override_freepbx.conf

Preferentemente usar el extensions_override_elastix.conf, pero si no existe, usar el otro. Coloquen este código al final del archivo:

[macro-outisbusy]
exten => s,1,Progress
exten => s,n,Set(MSG=all-circuits-busy-now&pls-try-call-later) ; Clausula default
exten => s,n,Goto(s-${HANGUPCAUSE},1)
 
; Numero no existe
exten => s-1,1,Set(MSG=no-existe)
; No hay una ruta para llegar a este equipo. Tratar como no existe
exten => s-2,1,Set(MSG=no-existe)
; Celular fuera de area de servicio
exten => s-20,1,Set(MSG=celular-no-disponible&intente-mas-tarde)
; Numero mal marcado
exten => s-28,1,Set(MSG=cannot-complete-as-dialed&check-number-dial-again)
; Numero fuera de servicio
exten => s-27,1,Set(MSG=fuera-servicio&intente-mas-tarde)
; Red fuera de servicio
exten => s-38,1,Set(MSG=fuera-servicio&intente-mas-tarde)
; Falla temporal en la red
exten => s-41,1,Set(MSG=falla-red&intente-nuevamente)
; Congestion por alta cantidad de trafico
exten => s-42,1,Set(MSG=alto-trafico&intente-mas-tarde)
; La central telefonica no dio respuesta
exten => s-102,1,Set(MSG=falla-red&intente-nuevamente)
; Problema de interconexion de carriers
exten => s-127,1,Set(MSG=no-proveedor&intente-mas-tarde)
 
exten => _s-.,n,Playback(${MSG},noanswer) ; Reproducir el mensaje
exten => _s-.n,Macro(hangupcall)

Los nuevos archivos de sonido pueden descargarse desde la liga Sonidos mejorados para Elastix. Recuerden que hay que desempaquetar el .zip y el contenido subirlo a la carpeta /var/lib/asterisk/sounds para que puedan reproducirse sin problemas.

¡Suerte!

Christian Cabrera

Soy un ingenieron en comunicaciones con especial interés en el área de voz sobre IP y tecnologías sobre información. He usado Asterisk de manera diaria desde hace más de 12 años.En el 2011 co-fundé Enlaza Comunicaciones, una empresa que se especializa en brindar servicios profesionales de consultoría sobre voz sobre IP basadas en Asterisk.

  • JhonnyD

    Que psa si tengo mas codigo el el archivo.. aun asi se pega el que tu indicas???? gracias por el mensaje,,,

    • Tan solo fíjate que no exista previamente el bloque que aparece en el artículo. En todo caso, debes fusionarlo con lo que ya tienes para que no eches a perder alguna alteración que ya tengas.

  • Pingback: Asterisk México» Blog Archive » Versión mejorada del mensaje “all circuits are busy” de Elastix (v3)()

  • Guillermo Cárdenas

    Que tal!
    Excelente artículo y funcional.
    Una pregunta, puedo públicar este artículo lógico tendiendo en cuenta autor y pagina en mi Blog al igual realice un script para que sea manejable este tema.

    Saludos y como siempre buenos post.

    • Desde luego Guillermo: todo nuestro contenido es Creative Commons, siempre y cuando se conserve la atribución original. Si quieres basarte en eso para tus propios trabajos, es todo lo que se pide 😉

      • Guillermo Cárdenas

        Perfecto claro, mis contenidos y mis trabajos que son publicados así lo son y pues gracias y aquí estamos saludos.

  • Wilmer Duque

    Agradecido totalmente con su aporte, hace mucho estaba buscando la solución a este problema.

  • Ivan Zamora

    Buen día, disculpe nosotros tenemos problemas en las llamadas, ya que al marcar en ocasiones tarda mucho en enlazar y esto ocurre en diversas extensiones que tenemos, y hemos verificado pero no damos a ciencia cierta con el problema, que podemos realizar? de antemano muchas gracias por su atención.

    • Lo más probable es que el problema no sea ocasionado por Asterisk, sino por la configuración del teléfono. La mayoría de los aparatos tienen un dialplan interno que valida lo que tratas de marcar y al no estar bien configurado, tarda en enviar la llamada hasta estar seguro de que lo que se envía es realmente lo que quieras marcar.

      Una solución sencilla en la mayoría de los dispositivos es marcar # al momento en que termina el número. Con eso la llamada debe de salir inmediatamente sin tiempo de espera.

      • Evan Qxho Zamora

        Buen día, Agradezco su atención, quisiera ponerme en contacto con usted, ya que hemos implementado el consejo que nos brindo, el cual no arrojo resultados muy positivos y me gustaría que me pudiese brindar una asesoría o una platica acerca del tema ya que es muy recurrente en el equipo con el que trabajamos, agradezco su atención.

        • Iván,

          Con todo gusto. Si entras a nuestro formulario de contacto http://asteriskmx.com/contacto y nos proporcionas tus datos, con gusto podemos hacerte llegar las características comerciales de nuestros servicios.

          • Evan Qxho Zamora

            Gracias, me pondre en contacto

  • Cesar

    Hola, actualmente tenemos un problema con el mensaje: “everyone is busy/congested at this time” el elastix, tenemos contratado un enlace R2 modificado con Telmex con 24 lineas. este post aplica para este tipo de problema? Gracias. Saludos.

  • Alejandro

    Hola, segu todos tus pasos para implementarlo en mi Elastix 2.4 pero no funciona, luego de editar el archivo /etc/asterisk/extensions_override_elastix.conf hago un reload desde el CLI de Asterisk, luego marco un numero de mi pais que no existe y me da tono de ocupado en vez de reproducir el audio de error. Y tambien intente en copiar los audios en /var/lib/asterisk/sounds/es/ en lugar de /var/lib/asterisk/sounds, pero sigue igual.

    Que pued hacer???

    Muchas gracias.

  • Andres

    esto aplica para troncales SIP?

  • Alex Moros

    Hola Cristian mil gracias por tu guía, realicé el procedimiento como lo mencionaste y funcionó muy bien por un tiempo. Pero ahora en algunas extensiones ya no carga el mensaje sino que directamente me pone un mensaje en el Softphone que dice “Servidor inalcanzable”. Ya mire en el CLI y efectivamente no carga los audios, lo raro es que hay otras extensiones donde si los carga. ¿Que podrá ser?

  • Noel Alban Rivera Rivera

    Hola Christian yo el problema que tengo con la troncal digital de Telmex es que marco un numero inexistente perro no me da el mensaje de que todas las lineas estan ocupadas en lugar de este me da el tono como si estuviera marcando, como puedo hacer para diagnosticar este problema?

    • Seguramente lo que pasa es que Telmex te manda una grabación en vez de mandarte el código de error. Algo que no especifiqué en este artículo (mi error) es que para que esto funcione, el carrier tiene que mandarte códigos de error, no grabaciones.

      En tu caso, lo que habría que hacer es modificar el plan de llamadas para que todo el audio se pase hacia el teléfono, y no dejar que Elastix interprete la falta de contestado como un timeout al momento de marcar.

      • Miguel Angel Reyes

        Christian, hay algún documento o algún lugar donde se pueda ver el procedimiento para que el audio se pase directamente al teléfono?

        De antemano muchas gracias

  • Carlos Sifuentes Ludeña

    Buen día me interesa mucho poner en práctica esta modificación pero no puedo descargar los archivos de sonido podría ayudarme con eso por favor.

  • Christian Villarreal

    no logro descargar las grabaciones

    • Gracias por la observación. Acabo de corregir el artículo para que refleje la nueva liga.

  • Felipe Patiño

    Buenas tardes, pude seguir el post al pie de la letra pero me he encontrado con un problema, tengo números telefonicos que no estan funcionando adecuadamente. Hicé la prueba pero no me sale el audio, por el contrario sale tres pitidos y se cuelga la llamada. Cúal puedes ser la razón?

  • Linuxanmmx

    Muy buen post, me esta funcionando a la perfecion, mil gracias..

  • wilson astudillo

    Christian, me da un sonido de llamada ocupada, no sera necesario que los archivos sean convertidos en .gsm en vez de .wav?

  • Manuel Rodriguez

    No se si mi duda se publicó, pero va de nuevo. Tengo Elastix 2.4 y bestel me está mandando grabaciones para casos de línea ocupada, o no existe o fuera de servicio. Y no logro oir las grabaciones, solo hay vacío mientras hay un timeout de 90 segundos. Alguna sugerencia de donde revisar? Gracias de antemano.

    • Carlos Alberto Rivero Salazar

      Hola Manuel, buenos días, veo que al menos has podido descargar los audios, pudieras compartirlos aunque sea en un enlace de MEGA o de Google Drive, mi correo es carlos.riverosalazar@gmail.com
      Muchas Gracias.

  • Memo

    link down

  • Noel Alban Rivera Rivera

    buen dia, la liga para descargar el audio de los mensajes no estan funcionando, gracias.

  • Andrea Torres Casales

    Hola podrias volver a poner el link de los audios ya que no ets disponible

    Gracias

  • Athiel Criollo

    Hola, alguien puede compartirme el archivo con los audios de este articulo?

  • Salo

    Hola!
    Este artículo me puede ayudar mucho pero podrían reactivar el link de los audios?
    Gracias!!

  • Miguel Escalante

    buen dia a todos, alguien tendra los archivos de sonido, mi correo es maermex0509@gmail.com, gracias de antemano

  • Jesus Peña

    buenas tardes

    esta roto el link de los audios podras reponerlos de nuevo??

    Saludos

  • Abisai Cruz

    Acabo de seguir los pasos pero ahora siempre que hay una congestión me marca el tono de ocupado tengo un E1 R2 de Telmex

    • Abisai:

      Esto se debe a que a nivel de R2 no hay causas de desconexión. Estos sonidos requieren del Q931 que se entrega cuando la señalización es ISDN. En el caso de R2, no notarás diferencia porque ni el mismo carrier te sabe explicar con códigos de error. Lo único que puede hacer es reproducirte una grabación de lo que salió mal.

      Saludos.

      • Abisai Cruz

        Gracias por tu respuesta Christian, lo malo que no me pone grabación en algunos casos y se reproduce que todos los circuitos están ocupados y ya no se si hay algún problema con mi configuración o es problema de Telmex o es el número al que están marcando

        • Es el eterno problema con R2, y lo malo es que el cliente no entiende que eso es lo que el carrier entrega, por eso le echan la culpa al PBX.

          Una recomendación que puedo hacerte es que el canal lo contestestes antes de mandar la llamada por R2. Esto te haria que siempre escuches las grabaciones, pero el problema es que en tu CDR te aparecerán todas tus llamadas como contestadas. Es resolver una pero te aparecerán otras. Tu tendrás que decidir cual te pesa mas.

          • Abisai Cruz

            Me parece buena idea lo que comentas, investigare como configurar esa opción, ya que no me interesa saber que llamadas salientes se contestaron, solo que llamadas entrantes se contestaron y cuales no.

  • Diego Estrada

    Hola en ese paquete creo que hace falta el archivo “intente-mas-tarde.wav” y “no-proveedor.wav”