2009-01-30 35 views
11

Necesito configurar un sistema IVR simple para la compañía de un amigo que permita a la persona que llama navegar por el menú presionando las teclas del teléfono. Es como un horario de autobuses.configurar un IVR con Asterisk

para el horario de hoy presione '1', para el horario de mañana presione '2' y y así sucesivamente.

Es únicamente un sistema de información, es decir, ninguna ruta de navegación terminará con una persona real, pero solo se reproducirán los mensajes de audio.

Ahora, nunca antes configuré algo como esto e investigué un poco en Google. Parece que podré lograr esto usando Asterisk.

  • ¿Qué más necesito hardware-wise?
  • ¿Es suficiente un servidor Linux simple y una cuenta VOIP con un proveedor en Alemania?
  • ¿Un VPS manejará la tarea?
  • ¿Qué hay de las llamadas entrantes concurrentes múltiples?
  • ¿Los maneja Asterisk?
+0

¿Hay un ángulo de programación? – Kev

+1

Aún no lo sé ... por ahora solo está relacionado con la tecnología. Pero las personas parecen estar ansiosas por ayudar y dar respuestas ... – Sebastian

Respuesta

16

Es perfectamente posible.

lo que necesita saber:

  1. asterisco tiene algunos problemas con H323.Si su proveedor suministra SIP, solicíteles SIP.

  2. Puede construir un total IVR en planes de marcado en su extensions.conf, pero para tareas complejas es mejor usar AGI. Estos son Perl o Python o cualquiera de los lenguajes que implementen su lógica IVR. Cada sesión AGI abarca un proceso secundario, use FastAGI y un daemon de red si espera conexiones frecuentes.

  3. Múltiples llamadas simultáneas no son un problema, mi instalación de Asterisk en una PC simple maneja llamadas simultáneas cientos.

  4. Las únicas cosas que pueden realmente afectar al rendimiento son de conversión de sonido ytono de detección de.

    Para mejorar el rendimiento, se debe:

    1. se adhieren a un códec (µLaw es que yo uso), obligar a todos los SIP conexiones de usar el codec y preconvert todos sus archivos de sonido a él utilizando sox -t ul. Tan pronto como lo haya hecho, todas las operaciones de Asterisk equivalen a leer los bytes del archivo del disco y enviarlos a través de la red con solo un ajuste básico. No hay matemática, nada más que simples operaciones de lectura-envolver-enviar.

    2. Pídale a su proveedor que detecte los tonos de su lado y se los envíe a de la banda, usando RFC 2833. La detección de tonos es una operación que consume bastante CPU, que ellos mismos lo hagan.

    personalmente dirigir Asterisk en un 2,66 MHz Celeron IV con 2048 MB RAM, bajo Fedora 10 X86_64. 150 conexiones a la vez funcionan bien, no hay retrasos.

    El tráfico total asciende a aproximadamente 9.6 KByte/sec por conexión. Para un VPS moderno, no debería haber ningún problema.

+0

¿crees que un IVR también se puede realizar empleando un VPS regular que tenga instalado Asterisk? ¿O debería obtener un servidor dedicado? – Sebastian

+0

Ver la publicación actualizada – Quassnoi

+0

y ¿puede sugerir algún hardware (placa) para tal sistema? – sepehr

0

He trabajado con IVR en el pasado pero principalmente con sistemas grandes y nunca he usado Asterisk. Eché un vistazo rápido a su sitio web (http://www.asterisk.org/) y me parece muy informativo, ¿has marcado allí?

+0

yepp. Ya hiciste eso. Pero me gustaría saber de alguien que ya ha hecho lo que quiero hacer y que puede decirme sobre posibles complicaciones o recomendar sobre la configuración. – Sebastian

2

Asterisk rocks. Para algunas líneas, un simple P3 o mejor será suficiente. No virtualice la PBX; Asterisk depende de un tiempo bastante preciso.

FreePBX hace que sea realmente fácil configurar un IVR - tiene un front-end decente basado en la web y es compatible con algunas herramientas geniales de Asterisk listas para usar.

EDITAR: FreePBX no es Asterisk, es una bonita interfaz que genera las configuraciones para usted. Trixbox lo incluye por defecto si quieres una solución simple de apuntar y disparar.

Si su cuenta VoIP admite múltiples líneas entrantes, entonces Asterisk las usará muy bien. También necesita suficiente ancho de banda de Internet y buena calidad de servicio. Para más de una línea en un sistema comercial, insistiría en una conexión dedicada para que no experimente abandonos cuando los usuarios accedan a la red.

+0

¿Cree que un IVR también se puede realizar empleando un VPS regular que tenga instalado Asterisk? ¿O debería obtener un servidor dedicado? – Sebastian

+0

Si tiene instalado Asterisk en alguna parte, utilícelo. Un IVR para un puñado de líneas difícilmente requerirá muchos recursos. Si habla muchas líneas (más de 20), piense en hardware dedicado. –

+0

el hipervínculo a FreePBX apunta a Free-B-P-X. El póster podría querer arreglar eso. –

0

No es la programación relacionada, pero ...

Tome un vistazo a trixbox.org, Soporta la configuración de Cisco para teléfonos snom ... Su asterisco/Freepbx mod y todo bajo una interfaz de usuario agradable!

Tengo un proveedor en Australia que los agregó como una troncal gsm, tomó 3 horas para configurar 4 teléfonos. IVR es compatible

Los únicos problemas podrían posiblemente estar ... la calidad de voz de la grabación

0

Es bastante simple. Estoy usando sipgate.de como proveedor de mi asterisco. necesita configurar un plan de marcado.

esto también es bastante simple. echar un vistazo here. también debería echar un vistazo a las extensiones.conf. hay algunas muestras dentro. también es una muestra que se ajusta a su problema. para conectarse a sipgate, eche un vistazo a su knowledgebase. hay algunas muestras para la configuración del asterisco.

sipgate es gratuito, excepto que usted está haciendo llamadas salientes.

2

La mejor forma de crear una aplicación de IVR es utilizar VoiceXML diseñado por W3C.org (http://www.w3.org/TR/voicexml21/). Asterisk no viene con el navegador VoiceXML, pero hay compañías que ofrecen eso para Asterisk como SoftSyl Technologies (http://www.softsyl.com).

Las compañías como Cisco y Avaya también proporcionan el navegador VoiceXML, pero no son para Asterisk.

1

Usted puede hacer esto en el plan de marcado ...

[menu-main] 
exten => s,1,Noop() 
exten => s,n(msg),Background(ForTodayPress1TomorrPress2) 
exten => s,1,Goto(menu-today) 
exten => s,2,Goto(menu-tomorrow) 
exten => i,1,Playback(invalid) 
exten => i,n,Goto(msg) 
exten => t,1,Goto(msg) 

[menu-today] 
etc... 

[menu-tomorrow] 
etc... 

O como alguien ha sugerido que puede hacerlo en cualquier idioma que puede escribir en la entrada estándar y leer desde la salida estándar. La implementación de phpagi es mi sabor favorito particular. Podría encajar en este ejemplo como el de PHP en una caja separada para que no afecte a la PBX bajo ningún tipo de carga.

[menu-main] 
exten => s,1,Noop() 
exten => s,n(msg),Background(ForTodayPress1TomorrPress2) 
exten => s,1,Goto(menu-today,s,1) 
exten => s,2,Goto(menu-tomorrow,s,1) 
exten => i,1,Playback(invalid) 
exten => i,n,Goto(msg) 
exten => t,1,Goto(msg) 

[menu-today] 
exten => s,1,Noop() 
exten => s,n,agi(http://myapache/agi/readschedule.php) 
exten => s,n,Hangup() 
1

Para más complejas de IVR puede probar Astive Toolkit, especialmente si necesita bases de datos o servicios web iteración.

2

Si estás completamente fresco, te sugiero que estudies FreeSWITCH en lugar de Asterisk. Está mucho mejor estructurado, y también viene con algunos ejemplos preconstruidos, incluido un menú IVR, y la sintaxis de IVR es bastante simple: http://wiki.freeswitch.org/wiki/IVR_Menu

Estoy ejecutando una instancia de FreeSWITCH en un servidor virtual Xen, y funciona perfectamente con múltiples llamadas simultáneas.

+0

Por cierto, aquí en la parte inferior se encuentra una descripción detallada de lo que he implementado: http://txlab.wordpress.com/tag/dvop- red/ –

1

El diseño IVR en Asterisk no es difícil, pero hay un poco de "acantilado de aprendizaje" asociado con la puesta en marcha de su primer servidor Asterisk.

Según lo expresado por otra persona, la calidad de la llamada lo es todo. Pague para tener grabaciones de grado profesional para sus avisos de IVR y sus anuncios. Asegúrese de estar usando códigos de 64k como uLaw y aLaw; GSM (teléfono celular) puede ser barato en banda ancha, pero rompe las expectativas de los clientes sobre la calidad.

Sugiero encarecidamente que coloque el IVR en su propio contexto de plan de marcado y luego envíe llamadas directamente al mismo. Eso hace que gestionar cosas como las opciones de menú sea mucho más fácil. Para cada subconjunto de opciones, use un contexto de plan de marcado diferente.

Pruebe y mantenga su menú "poco profundo". Si se necesitan más de tres opciones de menú para obtener la información que su cliente está buscando, es muy probable que cuelguen, o simplemente presione "0" para hablar con un ser humano. Eso derrota el punto de tu IVR.

Si va a hacer algo realmente genial con las búsquedas en la base de datos, o la autenticación de la cuenta o similar, le recomendaría usar una aplicación "AGI" - Asterisk Gateway Interface -. Mi favorito personal es "Adhearsion", que se combina bien con Ruby/Rails en el lado de DB/Web.

Si necesita ayuda o más información, hágamelo saber.

0

Si desea configurar un Asterisk IVR, también puede utilizar alguna herramienta de arrastrar y soltar basada en web para hacer un asistente automático simple (como en su ejemplo) o IVR complejo (administración de secuencias de comandos o base de datos manejada por IVR) . Una opción es Cally Square. Eche un vistazo aquí: http://www.callysquare.com/