miércoles, 11 de diciembre de 2013

Configurando FreePBX en la Raspberri PI

Tal y como os conté el otro día, ya está FreePBX instalado en nuestra Raspberri PI. Ahora nos va a tocar configurarla del todo.

Para recodar el estado de la última vez: hemos llevado a cabo los comandos que hacen referencia a la localización del servidor. Y hemos accedido al cuadro de mandos desde la interfaz web. Ahora tenemos que afinar la configuración inicial. De hecho, según el estado que indica de los servicios, Asterix da error.

Vamos a ver: voy a utilizar la wiki de FreePBX, que es la distribución de la que parte el sistema que hemos instalado. Y en su wiki explican los primeros pasos que hay que dar justo después de la instalación.

La primera que quería hacer era ponerle una dirección IP estática. Pero no lo he encontrado en la interfaz web. De hecho, tiene muchas menos opciones que la que me instalé en la máquina virtual. Y es lógico. No se puede pedir lo mismo en un equipo que a una rasp. Bien. En el fichero /etc/networking/interfaces, tendría que cambiarse a:
iface eth0 inet static
  address 192.0.2.7
  netmask 255.255.255.0
  gateway 192.0.2.254

Como no me acordaba muy bien cómo se cambiaba, lo he buscado. Pero este es un buen ejemplo. Evidentemente, acuérdate de poner bien los datos para que te encuentres en la misma red que la que estás configurando.

También habrá que poner los DNSs. Estos sí que sí, hay que ponerlos en el fichero /etc/resolv.conf. Yo pondré los que normalmente utilizo. Pero, por poner aquí el ejemplo:
nameserver 8.8.8.8
nameserver 8.8.4.4
 Ahora, le he ejecutado un

reboot

Recordemos poner nuestra interfaz de red en su configuración habitual, para poder volver a acceder al servidor. Si no, mal vamos.

Continuemos con las configuraciones de la wiki. La conference room, se puede indicar qué aplicación (según se puede desprender de la terminología mostrada) se puede utilizar. Tiene dos por defecto. La que viene seleccionada es la que dicen que es más nueva. Se puede cambiar en el listado que aparece en Settings --> Advanced Settings. Mi consejo: hacer una búsqueda en esa ventana. Será más fácil de encontrar. Pero como digo: lo que recomiendan es que se deje tal y como está.

Ahora, pasando a la siguiente tarea: es cierto que no me he fijado bien en el resultado que mostraba la pantalla de inicio de sesión del panel, en la parte superior izquierda. Ahí es donde suele mostrar los módulos que hay que actualizar, entre otras cosas.

Avisos del FreePbx
Avisos del FreePbx
Vamos a ver qué podemos cambiar o marcar como ya solucionados. Por ejemplo: el de conference room app changed. Como lo hemos dejado por defecto, pero es el que queremos, podemos quitar este aviso. También podemos desactivar el browser stats, en el mismo menú que vimos antes en Advanced Settings. Aunque lo he desmarcado, no se por qué me está dando problemas. Iré a los siguientes avisos. Si me encuentro con que hay que hacer algo en especial, os aviso.

¡Genial! Una cosa: si estáis conectando vuestra rasp directamente al ordenador... posiblemente os de problemas con alguno de estos pasos. Una vez la he conectado al switch, incluso el servicio de Asterix se ha puesto en verde y algunos errores que me habían aparecido se han quitado. Sólo por si las moscas.

Vale: una vez hemos puesto el conference room app, hemos revisado y actualizado los módulos del sistema, hemos definido el e-mail si es lo que queríamos, hemos quitado la recogida de estadísticas del navegador... Podremos seguir con los siguientes pasos.

Otra configuración que dicen que es importante: desde Settings --> Asterix SIP Settings. Según dicen, es importante si se va a montar algún tipo de trunk (que aún no se muy bien lo que es). Pero, como ya había leído algo al respecto, sé que vamos a necesitar configurarlo (si es que esta minidistro se deja). Si haces click sobre el botón autoconfigure se podrá configurar automáticamente. De todas formas, hay que tener en cuenta varias cosas:

  • Que si vas a usar la configuración para dar servicio al exterior, que tengas una dirección pública dinámica. 
  • Que estés configurando el dispositivo en un lugar distinto al que lo vayas a situar (como está siendo mi caso)
Y no se me ocurren más razones, pero que lo tengas en cuenta. 

Ahora mismo no voy a hablar de la configuración del correo electrónico. Creo que no lo voy a necesitar. Me temo que voy a pasar de él. 

También hay una configuración muy curiosa. Son los RTPs timers. Hacen referencia al tiempo en el que si se deja de producir sonido, Asterix tire la llamada. Estos son, según he podido entender: 
  • rtptimeout: Una llamada en la que no haya sonido durante 30 segundos, se corta.
  • rtpholdtimeout: Si pones en espera la llamada, y no hay sonido en 300 segundos, también se corta.
  • rptkeepalive: es un paquete que hace que se envíe un "sonido" para evitar que se corte la llamada si hubiese otro sistema mirando esos valores de presencia o ausencia de sonido. 
Si seguimos con las configuraciones iniciales, ya indican algunas cosas que me suena haber leído en el manual donde explican cómo se ha de configurar tanto la centralita, como el SPA3102 que compré, para integrarlos entre ellos. Recordemos que estamos usando una versión light de lo que sería la descargada en la página oficial, por lo que es posible que algunas cosas no las podamos configurar. Toquemos madera para que sí que sea posible. 

Lo primero es crear un SIP Trunk. Para hacerlo tendremos que ir a Conectivity --> Trunks. De las distintas opciones que nos ofrezcan, seleccionamos Add SIP Trunk.
  • Trunk name: Yo he puesto una descripción como 1-pstn.
  • Outbound Caller ID: No sabría muy bien qué poner, dado que no da muchos detalles. Posiblemente probaría a poner el número de teléfono fijo, pero si se deja en blanco, a lo mejor no se queja. Cuando le de a grabar sabremos si se puede quedar en blanco o no.
  • Maximum channels: He puesto 1. Sólo podrá haber una salida a la vez. Al menos de momento servirá.
De momento las demás las dejaré tal cual. Lo que me escama es que hay dos trunk name. Eso sí, seguiré el consejo de poner un nombre simple, y que empiece por '1' (uno).

Los datos para el peer details van a ser estos. Quita los comentarios o esto fallará:
disallow=all ;Desde FreePBX 2.4, tiene que estar al principio del todo en esta configuracion en concreto
allow=ulaw
canreinvite=no
context=from-trunk ;muy, muy importante. No lo obvies
dtmfmode=rfc2833 ; Puedes intentar utilizar 'inband' si tienes problemas con los menús IVR
host=dynamic ; También puede tener el valor de una IP estática. Mira la advertencia de la documentaicón por si lo quieres cambiar. En mi caso, después de ver que no conseguía hacerlo funcionar (que estoy editando esto antes de que se publicase), lo he puesto a dynamic.
incominglimit=1
nat=never ; Si el SPA3102 no está en tu red, tendrás que ponerlo a 'yes'
port=5061 ; Cambian el puerto por defecto. En vez de '5060' se usa este. Sigamos el consejo.
qualify=yes
secret=XXXXXX ; Selecciona uno bueno. Hará falta más adelante. Si usas un chorro muy, muy largo, podría fallar el registro.
type=friend
username=1-pstn ; Tiene que coincidir con el 'trunk-name' o fallará el registro.
El post de donde estoy siguiendo las instrucciones dicen que el autor original informaba de que si se ponía la dirección del host como estática, Asterix metía en los logs de que no estaba como dínámica. De todas formas, a saber cuándo se escribió y si ya se ha solucionado. Tampoco es que expliquen del todo bien qué es cada dato. Para mí, los más importantes posiblemente sean host (si le pones la dirección estática, será la del SPA3102), seguro que secret y username y port son datos que tendrás que tener a mano para más adelante. Bien. Ahora sólo falta hacer click sobre el botón submit changes y después el botón rojo de apply changes.

Por cierto: ojo que la sesión caduca muy rápido. Que ya me ha pasado varias veces.

Ahora vamos a hacer las outbounds routes. Para eso tendremos que ir a Connectivity --> Outbound Routes.

  • Le vamos asignar el nombre que aconsejan: SPA3102. Si quieres: OutboundSPA3102. Más adelante crearemos uno para el inbound
  • Aunque no lo voy a configurar, sí que comentan que puedes poner una contraseña para salir por ese trunk.
  • También dicen que sólo permitirán una serie de patrones para que se utilice para unas llamdas en concreto. En mi caso, tampoco lo voy a utilizar. 
  • Trunk secuence...: Seleccionaremos el primer combo el valor del trunk que acabamos de crear. Supongo que se podrá configurar para que el siguiente trunk se utilice si el primero no funciona. En mi caso, sólo utilizaré el primero. 
Ya podemos hacer el submit y el apply.

Ahora configuraremos las Inbound Routes. Tal y como hemos hecho, tendremos que ir al menú Connectivity --> Inbound Routes.
  • Name: El nombre que aconsejan puede estar bien: InboundSPA3102.
  • DID number: Muy importante apuntarse el número que pongas aquí, porque lo necesitarás para indicarselo al SPA3102. Por ejemplo, el número de teléfono fijo al que te estás conectando. 
  • Ahora, si vas abajo del todo, podrás decidir qué destino tendrán las llamadas lleguen a esta ruta. Podrá ser una extensión (que aún no hemos creado ), un IVR (de esos menús que te dicen "pulsa 1 para XXX", "pulsa 2 para YYY"...), etc. Ahora mismo me tocará crear una extensión. Pero será de prueba. Ya se podrá afinar más adelante creando otra con el número correcto. Esto es porque no permite continuar sin seleccionar alguna opción, y ésta tiene que existir en el sistema. Por lo tanto, para crear la extensión, ya sea porque te lo ofrezca o porque lo hagas directamente desde el menú Applications --> Extensions (tal y como voy a hacer ahora):
    • User extension: Es el número de extensión. Importante coger algo que sea coherente para cada una de las que vayas a crear.
    • Display Name: Si no me equivoco, será la descripción que les debería de aparecer a los otros dispositivos que reciban sus llamadas. ¿Sólo desde la misma red? Eso no lo se.
    • Outbound currency limit: Cuando hice pruebas con la máquina virtual, vi que había que cambiarlo. En mi caso, al menos por ahora, lo pondré a '1'. 
Lo mismo que las otras veces: se pulsa sobre submit y después sobre apply.

En principio, ya bastaría con esto. Al menos, en lo que respecta al Asterisk, y según las instrucciones. En algún momento, posiblemente para el siguiente post, os contaré la configuración del SPA3102, para que tire de la línea telefónica (que ya ni sé cómo lo hice funcionar) y que se enganche a este servidor. Para probar esto último, lo más seguro es que configure una extensión. Y esto es lo que quería poner aquí para terminar este post.

No hay comentarios:

Publicar un comentario