Categoría: Elastix – Asterisk

  • Revisando Elastix 1.3

    Hoy estoy instalando y preparando un Elastix. Dado que el anterior post que hice sobre Elastix estaba basado en una versión anterior. Voy a seguir los pasos del mismo y las diferencias que encuentre las hiré poniendo aquí!
    Comentar que Elastix es un software de Centralita Telefónica IP basado en Asterisk muy potente. Se puede hacer de todo: Menus de Voz, Extensiones ilimitadas, Grupos ilimitados, Reglas de Entrada, Reglas de Salida, Buzones de Voz, Reglas de Ring, Programación personalizada, Grabación de conversaciones, Call Center, etc.

    I. Instalación

    La instalación ha ido correcta. He creado una extensión y he llamado al 7777. La voz que sale no es en español. Voy a ver si lo pongo en español!

    II. Voces en Español

    Las voces en Español son grabaciones realizadas por empresas desinteresadamente. Las más óptimas para mi gusto son las de voipnovatos/vocesenlared, respecto a otras son sin duda lo mejor! Para ello acudimos a la dirección http://www.voipnovatos.es/index.php?itemid=943 y en el lateral derecho están todos los enlaces.
    Los descargamos y los descomprimimos. Veremos varias carpetas /dictate /digits /es /followme /letters /phonetic /silence; las subimos todas a:
    /var/lib/asterisk/sounds/ y si no vamos a necesitar el ingles, el contenido de la carpeta /es lo volcamos en /var/lib/asterisk/sounds/ pues se me ha dado el caso que a veces saca la voz de ese directorio!
    Ya tenemos los archivos de sonido, ahora falta configurar Asterisk para que los tome!
    Para ello vamos al fichero en sip.conf ó sip_custom.conf (uno de los dos) y en voicemail.conf ponemos debajo de
    [general]
    language=es

    Reiniciamos y listo!

    NOTA: Para copiar ficheros empleo WinSCP.

    III. Revisión de Festival. Generación de voces en tiempo real.

    Primero verifico lo que pongo en mi manual. Creo el «demoagi.php». Verifico el /etc/asterisk/phpagi.conf y veo que en esta distribución de Elastix no está el text2wave! text2wave=/usr/src/festival/bin/text2wave y el caso es que en el panel de administración si sale nuevo.
    Pues voy a hacer un «locate festival» desde un telnet. Me da error porque no hay base de datos de locate. La recreo poniendo «updatedb». Y pongo nuevamente «locate festival».
    Me salen varios resultados y pongo mejor «locate text2wave» y voialá:
    /usr/bin/text2wave
    pues vamos a poner eso en el phpagi.conf
    También he creado la carpeta tmp dentro de sounds.
    Editamos extensions_custom.conf como pongo en mi anterior tutorial y probamos.

    Pues no sale voz! Ya me parecía que fuera todo a la primera :P

    Abrimos un telnet a través de Putty y ejecutamos el depurador de asterisk «asterisk -rvvvvvv». Realizamos la llamada y vemos qué pasa.

    — Launched AGI Script /var/lib/asterisk/agi-bin/demoagi.php
    == demoagi.php|»Esto es una prueba de voz de asterisk.»: Failed to execute ‘/ var/lib/asterisk/agi-bin/demoagi.php’: Permission denied

    Problema de permisos. Localizamos el demoagi.php y le ponemos permisos 755. Probamos nuevamente la llamada y… :D sale la voz! la voz mala pero sale!
    Yupiiii!

    IV. Festival en Español

    Recordemos que Festival / Text2wave es un generador de voz en tiempo real. Esto nos vale para muchas cosas.
    Por ejemplo, si queremos informar a nuestro cliente del stock de un producto o un mensaje en especial (voces dinámicas).
    Copio ambos ficheros .rpm a /tmp y ponemos:

    cd /tmp
    rpm -qpl festvox-palpc16k-1.0-2.noarch.rpm
    rpm -qpi festvox-palpc16k_1.0-1_all.rpm

    rpm -i festvox-palpc16k_1.0-1_all.rpm
    rpm -i festvox-sflpc16k-1.0-2.noarch.rpm

    Los últimos son los que realmente valen e instala el paquete.

    Ahora editamos el fichero «voices.scm» tal como indico en mi anterior guia.

    Reiniciamos y… marcamos 1235 y…. nada; en inglés :( xD

    Voy a revisar…
    aaaaaahhh, pijooo (tipical murcianico word); menos mal que he releido mi anterior guia. Hay que tener en cuenta la caché. Los ficheros de voz son guardados durante 30 días para no generarlos nuevamente y optimizar así la cpu. Simplemente acudimos a /var/spool/asterisk/tmp y lo vaciamos y ahora si que si :))

    Nota adicional

    Todos los ficheros que estoy modificando los estoy guardando en local con su estructura de directorios correspondiente. ¿Para qué? Para luego instalar un Elastix 1.3 a pelo y volcarle todos los ficheros a saco y así obtengo en un tiempo mínimo una Centralita limpia y bien configurada ;D

    Yeah! :lalala:

    Instalando Lynx

    No es necesario pero a mi me hace falta ;)

    yum install lynx

    Debería de funcionar a la primera pero para variar nos da un error :/ En mi caso que no puede resolver una dirección mirrorlist.centos.org/…

    Simplemente tenemos que ir a Sistema – Red – Parámetros de Red; e introducimos la puerta de enlace y el DNS Primario y Secundario!

    Ahora intentamos nuevamente instalar Lynx y parece que si!

  • Actualizando Flash Operator Panel (FOP) en Elastix

    Con el paso del tiempo, empleamos la misma Centralita IP sin actualizarle el software. Sin embargo, nuestros ordenadores se actualizan constantemente con nuevas versiones de software y parches de seguridad.

    En nuestro caso hay un problema que salió hace tiempo y es que al intentar acceder al FOP a través de nuestro navegador, parpadean todos los pilotos y no podemos hacer nada. Esto es debido a que nuestra máquina (en la cual estamos navegando) tiene una versión actualizada de Adobe Flash (antes conocido como Macromedia Flash) -el plug-in para internet explorer-

    La resolución es tan sencilla como actualizar el FOP de nuestro Elastix / Asterix.

    1. Descargamos la última versión estable del FOP

    2. Reemplazamos «op_server.pl» y «operator_panel.swf»

    3. Agregamos a «op_server.cfg» justo debajo de la sección [general]: use_amportal_conf=1

    La localización de estos ficheros es: /var/www/html/panel/

    Para reiniciar los servicios sin tener que reiniciar toda la máquina:

    Para reiniciar Asterisk (con esto también reinicia el FOP)
    amportal restart

    y si queremos reiniciar el Flash Operator Panel (aunque con lo anterior ya es suficiente)
    killall -HUP op_server.pl

     

    Un saludo y espero que os funcione! 

     

  • Caso Práctico Asterisk + PHPAGI

    Estoy realizando un proyecto ejemplo para aprender a programar para Asterisk en PHP. El proyecto el cual está muy avanzado consiste en lo siguiente:

    Caso Práctico: Pizzería

    Tenemos una pizzería local que actualmente trabaja a través de teléfono o encargos de forma directa (en el propio local). Esta Pizzería quiere expandirse para darle la bienvenida a las nuevas tecnologías así que le proponemos lo siguiente:

    – Centralita Asterisk para gestionar llamadas y confirmaciones de pedidos.

    – Website informativo

    – Website para venta online (a nivel local)

    – Website administrativo con Panel de Control

    Como ya he comentado el proceso está muy avanzado y está ya funcional. El flujo normal sería:

    Cliente visita el web, se registra y hace pedido online. El pedido queda registrado en internet. Una vez realizado el pedido se le informa a través del web que debe confirmar el pedido llamando al teléfono X.

    Cliente llama al teléfono X y aparece un menu de opciones, el cliente pulsa 1 (para confirmar el pedido), posteriormente introduce el número de pedido y número de teléfono (en caso que el teléfono llamante esté, no se le solicita número), asterisk comprueba en el servidor de internet que el pedido está correcto e informa al cliente que su pedido está confirmado y puede pasar en 15 minutos a recogerlas.

    Mientras el proceso en la cocina es el siguiente. El cliente hace pedido. El pedido sale en pantalla en rojo. El Cliente confirma el pedido, el pedido se pone en verde.

    Una vez finalizado el pedido, se puede automatizar el envío de un SMS o similar.

    El cliente puede además cancelar el pedido automáticamente (siempre y cuando esté sin confirmar, en caso contrario le pasa la llamada automáticamente a un operador).

    Todo esto teniendo en cuenta horarios, casos raros (como que el cliente ponga un pedido erróneo), etc.

  • Ya tengo instalado Elastix v1.1 y ahora qué?¿

    GUIA PARA LA PUESTA A PUNTO DE ELASTIX

    Contenido:

    1. Configuración de IP y otras minucias del sistema.

    2. Configuración básica y creación de Extensiones.

    3. Creación de IVR, Condiciones de Tiempo, y más.

    4. Configuración de SPA3102 como línea PSTN de entrada y salida.

    5. Creación de Servidor de FAX y prueba del mismo.

    6. Configuración de Festival + Voces en Español.

    7. Anexo I – Configuración de algunos accesos y wakeup.

    1. Configuración de IP y otras minucias del sistema.

    Una vez que tenemos instalado Elastix en el equipo y hacemos login, nos indica la IP que ha obtenido por DHCP. Necesitamos que esa IP sea fija/estática en todo momento.
    Para ello nos vamos al Panel de Elastix, en mi caso http://192.168.2.42, hacemos login (usuario: admin password: palosanto) y nos dirigimos a Sistema – Red: Hacemos click sobre el dispositivo de Red, en mi caso «Ethernet 0», lo ponemos en «Static» y ponemos una IP que nos interese, en mi caso 192.168.2.220

    A partir de este momento tendremos que volver a entrar a través de http://192.168.2.220

    Ahora nos dirigimos a Sistema – Preferencias – Idioma: Español y Fecha/Hora: lo configuramos correctamente todo.

    2. Configuración básica y creación de Extensiones.

    Ahora entramos en PBX que es donde se realizan todos los procesos relacionados con la telefonía IP. Supondremos que tenemos varios teléfonos, ya sean IP o softphones.

    Lo primero es acudir a «Configuración General» y modificar los parámetros de «International Settings» y aplicamos cambios.

    Nos vamos a «Extensiones» y agregamos las extensiones que necesitemos, en mi caso 6 que las he numerado como, 101, 102, 103, 104, 105, 106. Para añadirlas simplemente hacemos click sobre «Add Extension», Device: Generic SIP Device y Submit.
    La información que nos interesa rellenar es:
    User Extension: 101 (es el número de extensión)
    Display Name: Recepcion (el nombre que queramos ponerle a la extensión)
    secret: ***** (es la clave preferiblemente numérica para poder configurar luego los teléfonos)
    en mi caso Habilito Voice Mail: Status «Enabled» y le pongo de password: **** (clave para poder acceder al VoiceMail -buzón de voz- de esta cuenta.

    Procederemos de la misma forma para crear el resto de extensiones.

    – Llegados a este punto, tan sólo tenemos que configurar en los teléfonos IP nuestro HOST: 192.168.2.220, usuario: 110 y password: ***** y deberían de hacer login en el sistema.

    Una vez hecho login, las extensiones son funcionales a nivel internet y marcando los números deberíamos de poder hablar una con otra. :D

    3. Creación de IVR, Condiciones de Tiempo, y más.

    Para la creación del Menu se podría hacer de la forma lógica y explicativa e ir creando opciones y luego tener que volver para cambiarlas conforme se va avanzando o bien del tirón. En mi caso lo voy a explicar del tirón:

    3.1. System Recordings / Grabaciones del Sistema

    Supondremos que queremos que la centralita esté recepcionada por voz. Para ello he grabado varias locuciones:

    «Mensaje de Bienvenida» Damos la bienvenida e informamos que se mantenga a la espera para ser atendido.
    «Información del Horario» Informamos del horario de atención telefónica.
    «Agentes Ocupados» Informamos que todos los agentes están ocupados y llame pasados unos minutos.

    Los tendremos en WAV codificación PCM, 16 bits, 8000Hz

    Para añadirlos tan simple como darle a «Examinar», Upload, aceptamos el mensaje y luego le damos a «Save». Este proceso lo haremos con todos los mensajes que queramos gestionar luego.

    3.2. Announcements

    Vamos a crear una locución + acción para que si una llamada está mucho tiempo en espera (eso lo definiremos más tarde), diga un mensaje y cuelge :D

    Para ello vamos a Anuncios, Add:

    Description: FinLlamada
    Recording: Agentes Ocupados…
    y marcamos: Terminate Call / Hangup 

    3.3. Creacion de Colas / Queues

    En mi caso voy a crear una Cola de Llamadas para ir enviando las llamadas a dicha cola y que se queden a la espera. Lo he denominado «ColaLlamadas» y le he asignado la extensión «700». En «Static agents» he puesto las extensiones en las que va a sonar siempre el teléfono que son 101, 102, 103 y 104 (cada una en una línea aparte); max wait time: 10 minutes; Frequency: 45 segundos; Fail Over Destination: Announcements: FinLlamada.

    Pasados 10 minutos de espera, lo manda al anuncio que recordamos decía una locución y colgaba :D

    3.4. IVR

    Ahora vamos a crear las voces de principio de llamada que en mi caso pueden ser 2. Si está dentro del horario laboral (esto se define más tarde) aparecerá una voz agradeciendo la llamada, informando de las extensiones y que si desea contactar con un operador espere. Para ello creamos el IVR: Bienvenida:

    Name: Bienvenida
    Timeout: 0
    Enable Directory: NO
    Announcement: Bienvenida….

    Ahora podemos definir una serie de teclas especiales que van desde el 1 al 9 pasando por #; esto se define justo debajo de Return to IVR, hay un cuadrito, pues ponemos por ejemplo 0 (cero) en el primero y marcamos la opcion Queues: Colas de Llamadas 700.
    Esto hará que mientras suena la locución, si el que llama pulsa 0 se manda directamente a la Cola sin necesidad de tener que escuchar todo el mensaje.

    Es importante definir también en t, ponemos t debajo de Return to IVR y seleccionamos la Cola. t es de timeout o sea a donde queremos que vaya una vez que la locución termine.

    Guardamos todo y aplicamos cambios.

    Ahora otro IVR: Horario
    Timeout: 4
    Announcement: NuestroHorarioEs….
    t -> Terminate Call: Hangup

    Si nuestro interlocutor se topa con Horario, escucha el horario y despues se cuelga la llamada.

    Todo esto que hemos creado todavía no es funcional, vamos a crear las condiciones de tiempo para según a la hora que llamen, se redirige la llamada a un IVR o a otro.

    3.5. Time Conditions / Condiciones de Tiempo

    Name: Horario
    Time to start: 09:30
    Time to finish: 13:30
    Monday – Friday
    Destination time if matches (si está dentro del horario entonces…): IVR (Bienvenida)
    Destination Time if does not match (si está fuera del horario…): IVR (Horario)

    Si el interlocutor llama a las 09:29, al no coincidir, le sonaría un mensaje con el horario y colgaría. En caso de llamar por ejemplo a las 10:47, pues le saldría el mensaje de Bienvenida y pasaría a la Cola de Llamadas en espera.

    Pero todo esto sigue sin ser funcional. ¿Cómo hacerlo funcional? (A parte de tener que tener una línea de entrada de llamadas), pues tenemos que crear el Incoming Route

    3.6. Rutas Entrantes

    Añadimos nueva Ruta Entrante. Description: Llamadas. Set Destination: Time Conditions (Horario)

    Esto hará que todas las llamadas entrantes sean desviadas a Horario y ahí se decida según la hora si va a un IVR o a otro :D

    Ahora si. podemos coger un teléfono de nuestro Asterisk / Elastix y teclear el número de simulación de llamada entrante 7777. Debería salir una locución u otra según la hora :)

    4. Configuración de SPA3102 como línea PSTN de entrada y salida.

    He tenido varios quebraderos de cabeza configurando el SPA3102 pues lo tenía todo correcto pero no quería ir. Ya contaré el por qué. Hacemos lo que ponen en todos los tutoriales y va correctamente.

    4.1. Configuración IP del SPA3102

    Supondremos que lo tenemos enchufado al WAN, a la corriente, la linea PSTN y un teléfono analógico. Desde el teléfono marcamos lo siguiente:
    (Suponiendo que no nos interese la configuración del SPA3102 y queremos dejarlo de fábrica hacemos lo siguiente)

    ****73738# -> 1 (Esto borra toda la información del SPA3102)
    ****110# (Nos informa de la IP WAN)
    ****7932# -> 1# -> 1 (Habilita la configuración Web a través de la boca WAN)

    Ahora a través de la IP accedemos al SPA3102 y configuramos lo siguiente:

    Admin Login + Advanced Login

    Wan Setup: Static IP
    Rellenamos los 3 campos de Static IP Settings en mi caso, Static IP: 192.168.2.221, NetMask: 255.255.255.0, Gateway: 192.168.2.100

    Lan Setup: Networking Service: Bridge

    Voice – PSTN Line:

    Line Enable: Yes
    SIP Port: 5061
    Proxy and Registration / Proxy: 192.168.2.200 (elastix ip)
    Register: Yes
    Make Call Without Register: Yes
    Ans Call Withoput Register: Yes
    Display Name: PSTN
    User ID: pstn
    Password: *****
    Dial Plan 2: (S0<:192.168.2.220&gt;)
    VoIP-To-PSTN Gateway Enable: Yes
    One Stage Dialing: yes
    Line 1 VoIP Caller DP: none
    VoIP Caller Default DP: none
    Line 1 Fallback DP: none
    PSTN-To-VoIP Gateway Enable: yes
    PSTN Caller Auth Method: none
    PSTN Ring Thru Line 1: no
    PSTN CID For VoIP CID: yes
    PSTN Caller Default DP: 2
    VoIP Answer Delay: 1
    PSTN Answer Delay: 3

    Esta es la parte de configuración del SPA3102 conectado a una línea telefónica normal. Las pruebas las estuve haciendo conectando el SPA3102 directamente a una extensión de la centralita DKDA. De este modo podía recibir llamadas pero no me dejaba hacerlas. El problema estaba en los voltajes de las líneas. En la pantalla de información se puede ver el voltaje de la línea y cambia según esté conectado a la centralita o a la linea y según si está en llamada o en espera. Un valor que a mi me ha ido bien conectado a la DKDA ha sido Line-In-Use Voltage: 10

    ¿Cómo rutear la llamada entrante por el SPA-3000 utilizando INBOUND ROUTES?

    En el SPA, hay que cambiar:
    (S0<:yy.yy.yy.yy) por
    (S0<:DID#@yy.yy.yy) donde DID# es por ejemplo el numero de telefono de la linea o cualquier otro string.

    Ahora en INBOUND ROUTES se puede utilizar en el campo DID el parametro DID# que utilizamos en la configuracion del FXO para rutear la llamada. (Donde DID# = 666666666 por ejemplo)

    4.2. Configuración en Asterisk / Elastix

    Ahora tenemos que crear un Trunk en Asterisk para que nos permita tanto recibir como hacer llamadas a través de esta pasarela PSTN. Para ello nos vamos a Troncales – Add SIP Trunk:

    Maximum channels: 1
    Dial Rules: .

    Outgoing Settings:
    Trunk Name: pstn
    PEER details:
    allow=ulaw
    call-limit=50
    canreinvite=no
    context=from-trunk
    disallow=all
    dtmfmode=rfc2833
    host=192.168.2.221
    incominglimit=1
    nat=never
    port=5061
    qualify=yes
    secret=**** (el mismo que pusimos en el spa3102)
    type=friend
    username=pstn

    Incoming Settings, todo en blanco, Register string, en blanco. Submit Changes y aplicamos.

    La prueba de fuego. De esta forma deberíamos de poder recibir llamadas . Pues ale. A llamarnos nos toca y RING!

    Ahora falta poder realizar llamadas.

    4.3. Rutas Salientes

    Vamos a definir una ruta para las llamadas salientes, para comunicarnos con el exterior a través de nuestro SPA3102. Vamos a Rutas Salientes y hacemos click sobre una ruta que ya existe: 0 9_outside. Rellenamos como Dial Patterns:

    6XXXXXXXX
    8XXXXXXXX
    9XXXXXXXX

    y en trunk sequence ponemos sólamente SIP/pstn

    Guardamos y aplicamos y ahora si. Cogemos un teléfono de nuestra nueva centralita y probamos a llamarnos al movil, tarda un poco y RING!!! :D

    5. [PARA LUEGO]

    6. Configuración de Festival + Voces en Español.

    6.1. Haciendo funcionar Festival / Text2wav

    Se supone que Elastix en su versión 1.1-6 ya lleva integrado Festival pero yo lo he estado probando y no hay forma de que funcione. No me habla :D
    Para hacerlo funcionar en mi caso ha sido de la siguiente forma. Nos vamos a /var/lib/asterisk/agi-bin/ editamos el demoagi.php y ponemos lo siguiente:

    #!/usr/bin/php -q
    <?php
    require(«/var/lib/asterisk/agi-bin/phpagi.php»);
    error_reporting(E_ALL);
    $agi = new AGI();
    $agi->answer();
    $agi->text2wav($argv[1]) ;
    #$agi->hangup();
    ?>

    Ahora tenemos que revisar los ficheros de configuración del text2wav empleado a través de php, para ello nos vamos a /etc/asterisk/ y editamos y verificamos phpagi.conf que en mi caso no estaba bien y lo he puesto como:

    [festival]
    text2wave=/usr/src/festival/bin/text2wave
    tempdir=/var/lib/asterisk/sounds/tmp/

    También debemos de crear la carpeta /var/lib/asterisk/sounds/tmp/ y asignarle los permisos adecuados.

    Haciendo esto, nuestra centralita ya debería de ser capaz de hablar, en inglés pero algo es algo.

    Para poder probarlo editamos extensions_custom.conf y debajo de [from-internal-custom] ponemos:

    exten => 1235,1,Answer
    exten => 1235,2,AGI(demoagi.php|»Esto es una prueba de voz de asterisk.»)
    exten => 1235,3,Hangup()

    Guardamos y nos vamos a PBX – Herramientas – Asterisk-Cli y ejecutamos: dialplan reload (aunque si no funciona es posible que tengamos que reiniciar puesto que hemos modificado algún fichero más que los dialplan)

    Con esto y marcando la extensión 1235, deberíamos escuchar con una macarrónica pronunciación en inglés el texto «Esto es una prueba de voz de asterisk».

    6.2. Voces en Español para Asterisk / Festival / Text2wav

    Importante decir que la configuración por defecto del text2wav de php-agi hace que una frase se guarde en cache temporal durante 1 mes, si cambiamos la voz y el texto a decir es el mismo, lo coge de la caché y no lo pronuncia con la voz nueva por lo que para las pruebas iniciales, deberemos borrar frecuentemente el contenido de: /var/spool/asterisk/tmp/ (y en caso que no exista crearlo con los permisos adecuados)

    Para poner las voces en español básicas hay que descomprimir el fichero festvox_ellpc11k.tar.gz en la carpeta /usr/share/festival/voices/spanish/el_diphone/

    El fichero de configuración para poner la voz preferente es voices.scm localizado en /usr/share/festival/, casi por el final aparece «(defvar default-voice-priority-list», pues después del siguiente ‘( ponemos el_diphone, quedando así más o menos:


    the default voice. [see Site initialization]»)

    (defvar default-voice-priority-list
      ‘(el_diphone
        kal_diphone
        cmu_us_bdl_arctic_hts

    y más adelante quedaría asi con las voces medio decentes que vamos a poner a continuación:


    the default voice. [see Site initialization]»)

    (defvar default-voice-priority-list
      ‘(JuntaDeAndalucia_es_pa_diphone
        JuntaDeAndalucia_es_sf_diphone
        el_diphone
        kal_diphone
        cmu_us_bdl_arctic_hts

    Para instalar las voces de JuntaDeAndalucia, tenemos un completo manual aqui y el para los que no tengan Festival instalado aqui.

    Y una vez instalado todo y reiniciado el equipo, ahora al marcar 1235 debería hablarnos en un Español medio entendible.

    7. Anexo I – Configuración de algunos accesos y wakeup.

    7.1. Pasando llamadas a otras extensiones

    Los teléfonos que estoy empleando en las pruebas es un Linksys SP941 y OKI 3130IF- VoIP Phone, me encuentro con la pega que si descuelgo una llamada entrante y quiero pasarlo a otra extensión por defecto sólo está habilitado el Blind Transfer mediante las teclas ##, es decir trasferencia blindada sin poder comunicarme yo con la extensión antes de pasarla. Para modificar esto y poder hablar con la extensión y al colgar que se pase la llamada hay que habilitar las Attended Transfer, para ello editamos el archivo features.conf y lo dejamos algo asi como lo siguiente o como queramos:

    [featuremap]
    blindxfer => *#  ; Blind Transfer
    disconnect => **  ; Disconnect Call
    automon => *1   ; One Touch Record
    atxfer => #   ; Attended Xfer

    Ahora, cuando tenemos una llamada y queremos pasarlo a otra extensión simplemente marcamos #numeroext. y decimos, es fulanito de tal y al colgar se pasa la llamada.

    7.2. Servicio Despertador 

    Y ya que estamos, podemos editar el extensions_custom.conf y debajo de [from-internal-custom] poner:

    exten => *62,1,Answer
    exten => *62,2,AGI(wakeup.php)
    exten => *62,3,Hangup

    para habilitar el WakeUp o lo que es lo mismo, servicio de despertador.

    7.3. Quiero añadirme temporalmente a la Cola de Llamadas!

    Pues simplemente llama a NUMEROCOLA* en mi caso 700* y te pedirá número de agente (extensión). Para desconectarte como agente, NUMEROCOLA**, en mi caso 700**

    7.4. Llamadas en espera

    Por defecto están desabilitadas. Una forma rápida de activarlas en marcando *70 desde la extension que queremos llamada en espera.

    7.5. Dial plan para telefono

    Un dial plan que funciona bien es: (*x.|xx.|x.*|**|x.**)

     

    Tutorial por Eduardo / Nick: Antikton (c) 2008

  • Fax con Elastix

    Tras haber conseguido con un SPA3102 + Elastix que las llamadas entren y salgan tanto directamente en línea como a través de una Centralita DKDA (la cual me volvió loco pues no hacía llamadas salientes), hoy he configurado para recibir faxes.

    Creo que al estar a través de SPA3102 no discrimina las llamadas por lo que para las pruebas he puesto un inbound route para que todo entre a la extensión de fax de asterisk y :-O entro! que ilusión! :_)

    Una centralita con su menu de voz, sus horarios, sus líneas y ahora sus faxes! :D

    Poco a poco voy aprendiendo más sobre Asterisk. Desde luego ya podría ofrecer soluciones profesionales más o menos sencillas aunque las complicadas serían mejor pues supondrían un reto y me encantan los quebraderos de cabeza porque siempre llegan a buen puerto.

  • Centralita Telefónica con Elastix

    Estos días he estado en el trabajo estudiando el tema de las Centralitas IP y más específicamente con la distribución de Elastix.

    Elastix y otras distribuciones del tipo Trixbox están diseñadas para facilitar la configuración de las mismas. Todas se basan en Asterisk que está basado en ficheros planos de texto para su configuración. Los verdaderos gurús del tema son los que editan a mano todos esos ficheros para hacer maravillas; no obstante los entornos GUI que ofrecen estas distribuciones cada vez ofrecen funcionalidades más potentes.

    Así pues en menos de una hora se puede instalar Elastix en un PC y configurarlo para una oficina con varias extensiones de tal forma que:

    – Si llama en horario laboral sale un mensaje de bienvenida y posteriormente suena una musiquita de espera.

    – Si llama fuera de horario laboral, sale un mensaje anunciando el horario laboral y cuelga.

    – Cuando el cliente llama puede contactar con diferentes departamentos pulsando los números o llamar directamente a una extensión.

    – Asimismo las extensiones pueden llamarse entre si y realizar llamadas internas / pasar llamadas / etc.

    ¿Qué obtenemos de mejora respecto a una centralita normal/básica?

    – Mayor información al cliente y más si llama fuera de horario. Esto para mi ya es un punto muy fuerte.

    – Posibilidad de agrupar departamentos, así como crear extensiones sin fin. Si el día de mañana hace falta una nueva extensión porque ha entrado un empleado más a trabajar, simplemente se conecta el Teléfono IP a la red y se configura su extensión.

    – Posibilidad de contactar el cliente directamente con el departamento que le interese, evitando así tener una persona «pasa llamadas». Esto para mi también es un punto muy fuerte.

    – Posibilidad de tener varias lineas de salida tanto de fijo como de móvil y optimizar automáticamente las llamadas de tal forma que segun a donde llame sale por un sitio u otro, siempre el más barato.

    – Como añadidos indicar que se pueden agregar buzones de voz a cada extensión.

    – Hacer sonar sólo a los teléfonos que nos interese y no todos.

    – Infinito :)