pbx

12
Servidor Asterisk casero: Configuración básica de 2 anexos Asterisk es un software libre que permite convertir una computadora común y corriente en una pequeña centralita de telefonia, es decir, en una PBX (Private Branch Exchange). Voy a mostrar lo fácil que puede ser configurar 2 anexos caseros, utilizando la red de mi casa La idea será, dado que es algo casero, NO HAY télefono IP ni varios teléfonos analógicos, solo se cuenta con uno, por lo que dejaré sin línea a mi casa por un buen rato Saquen el teléfono que les ha instalado su compañía de telefonía y conectenlo un ATA cualquiera, en este caso utilizaré el SPA3102 de Linksys dado que es el que tengo a la mano: Se conecta el cable del puerto del teléfono al puerto FXS del ATA El ATA y el teléfono analógico Para poder jugar con las llamadas de un lugar a otro, necesitamos otro de alguien que haga las llamadas al teléfono analógico, lo más práctico es un sofphone como el Zoiper (www.zoiper.com/), que corre sobre linux y windows, en este caso utilizaré la versión para linux ;=) Lo pueden descargar de: http://www.zoiper.com/downloads/free/li nux/zoiper201-linux.tar.gz Ubican el archivo y le hacen un: tar zxf zoiper201-linux.tar.gz ./zoiper Debo mencionar que si no cuentan con la posibilidad de tener un ATA para esta prueba pueden utilizar un sofphone más en otra PC, el procedimiento es el mismo que el de registrar un ATA en el Asterisk. Verfican las conexiones en el switch y manos a la obra … Switch con mucho cableado … Para instalar Asterisk, utilizamos apt- get, caso estés en Debian, ó también un sudo apt-get caso estés en Ubuntu: apt-get update apt-get install asterisk Por otro lado, si deseas compilar tú mismo el Asterisk, aquí están los pasos:http://blog.pucp.edu.pe/item/2906 6 Ahora, debes saber que en la carpeta /etc/asterisk/ se encuentran los principales archivos de configuración para los distintos servicios que ofrece Asterisk. También es importante saber que dentro de dicha carpeta se encuentran los siguientes archivos de configuración que vamos a utilizar: sip.conf, archivo que configura los clientes SIP. extensions.conf, archivo donde se configura el funcionamiento de los servicios implementados para los distintos anexos.

Upload: comas-olivos

Post on 08-Sep-2015

216 views

Category:

Documents


2 download

DESCRIPTION

voip desk

TRANSCRIPT

Servidor Asterisk casero: Configuracin bsica de 2 anexos

Asterisk es un software libre que permite convertir una computadora comn y corriente en una pequea centralita de telefonia, es decir, en una PBX (Private Branch Exchange).

Voy a mostrar lo fcil que puede ser configurar 2 anexos caseros, utilizando la red de mi casa

La idea ser, dado que es algo casero, NO HAY tlefono IP ni varios telfonos analgicos, solo se cuenta con uno, por lo que dejar sin lnea a mi casa por un buen rato

Saquen el telfono que les ha instalado su compaa de telefona y conectenlo un ATA cualquiera, en este caso utilizar el SPA3102 de Linksys dado que es el que tengo a la mano:

Se conecta el cable del puerto del telfono al puerto FXS del ATA

El ATA y el telfono analgico

Para poder jugar con las llamadas de un lugar a otro, necesitamos otro de alguien que haga las llamadas al telfono analgico, lo ms prctico es un sofphone como el Zoiper (www.zoiper.com/), que corre sobre linux y windows, en este caso utilizar la versin para linux ;=)

Lo pueden descargar de:http://www.zoiper.com/downloads/free/linux/zoiper201-linux.tar.gz

Ubican el archivo y le hacen un:tar zxf zoiper201-linux.tar.gz./zoiper

Debo mencionar que si no cuentan con la posibilidad de tener un ATA para esta prueba pueden utilizar un sofphone ms en otra PC, el procedimiento es el mismo que el de registrar un ATA en el Asterisk.

Verfican las conexiones en el switch y manos a la obra

Switch con mucho cableado

Para instalar Asterisk, utilizamos apt-get, caso ests en Debian, tambin un sudo apt-get caso ests en Ubuntu:

apt-get updateapt-get install asterisk

Por otro lado, si deseas compilar t mismo el Asterisk, aqu estn los pasos:http://blog.pucp.edu.pe/item/29066

Ahora, debes saber que en la carpeta/etc/asterisk/se encuentran los principales archivos de configuracin para los distintos servicios que ofrece Asterisk.

Tambin es importante saber que dentro de dicha carpeta se encuentran los siguientes archivos de configuracin que vamos a utilizar:

sip.conf, archivo que configura los clientes SIP.extensions.conf, archivo donde se configura el funcionamiento de los servicios implementados para los distintos anexos.

En mi caso, voy a tener el siguienteDial Plan:Anexo 80-> 192.168.1.4 (es mi computadora con un sofphone)Anexo 81-> 192.168.1.10 (es el ATA con el telefono analogico)

Es importante saber que en Asterisk se utiliza actualmente los protocolos iax y sip, el primero es para la comunicacin entre distintas centrales Asterisk y el segundo es para la comunicacin entre Asterisk y sus clientes. A pesar de que iax es un protocolo que hace un uso ms eficiente del ancho de banda que sip, la mayora de clientes VoIP solo soportan sip y es imposible, por lo tanto, utilizar iax para dichos clientes. Asterisk funciona como proxy siempre registra a sus clientes y entabla un protocolo de comunicacin con ellos.

Los pasos para la instalacin via software de los 2 anexos sern:1. Configuracin de Asterisk2. Configuracin del ATA SPA31023. Configuracin del Sofphone Zoiper4. Levantar Asterisk5. Llamada entre los anexos

1. Configuracin de Asterisk:

El primer archivo a configurar, como ya se lo debian imaginar si es que han leido lo anterior, es el sip.conf, dicho archivos si no ha sufrido ninguna modificacion esta hecho como para rellenarlo, puesto que es una plantilla. Solo deben agregar los siguientes datos:

Edito el archivosip.conf

;########################################; sip.conf; configuracion de los clientes sip; servidor asterisk >p3dRp3dR 80,1,Dial(SIP/80,26)exten => 80,n,Hangup;exten => 81,1,Dial(SIP/81,26)exten => 81,n,Hangup;

2. Configuracin del ATA SPA3102

La configuracin del ATA SPA3102 lo pueden encontrar en:http://www.3cx.com/voip-gateways/linksys-3102.htmlEn la seccionHow to configure a LINKSYS SPA-3102 (ATA Functionality) with 3CX, solo que en vez de pensar que se esta configurando con la central 3CX se lo plantea para el Asterisk, que es el mismo procedimiento al final de cuentas.

Solo un detalle, deben conectar el puerto Internet del ATA al switch previamente habindole configurado una IP para el puerto WAN que est en red con el resto de los equipos, en mi caso para mi red le puse la 192.168.1.10 como pueden verificar:

3. Configuracin del Sofphone Zoiper

Por otro lado, se debe registrar tambin el sofphone Zoiper con Asterisk, para esto damos clic en configuracin:

En este caso configuracin es el ltimo botn de la derecha

En domain se pone la IP del servidor Asterisk, en mi red es la 192.168.1.5

Agregar los datos correspondientes

Se comprueban los datos ya registrados

4. Levantar Asterisk

Ahora para levantar el asterisk debemos asegurarnos de que Asterisk se ejecute cada vez que se carga el sistema, para esto debemos entrar a/etc/default/asterisky poner elRUNASTERISK=yes.

Ejecutamos asterisk en modo demonio:/etc/init.d/asterisk restart

Comprueban que asterisk est corriendo con el comandops -A | grep asterisk

Les debera salir un resultado, algo parecido a esto:2865 ? 00:00:00 asterisk

Si es as, han tenido xito y asterisk ya est corriendo en su computador :=)

Finalmente debemos entrar al modo CLI de Asterisk, que es un modo en el cual solo puedes ejecutar comandos propios de asterisk como si estuvieras en un hardware con memoria especial, para verificar que los anexos ya esten registrados:

asterisk -vvvvr== Parsing '/etc/asterisk/asterisk.conf': Found== Parsing '/etc/asterisk/extconfig.conf': FoundAsterisk 1.2.13, Copyright (C) 1999 - 2006 Digium, Inc. and others.Created by Mark SpencerAsterisk comes with ABSOLUTELY NO WARRANTY; type 'show warranty' for details.This is free software, with components licensed under the GNU General PublicLicense version 2 and other licenses; you are welcome to redistribute it undercertain conditions. Type 'show license' for details.==============================================Connected to Asterisk 1.2.13 currently running on nodo-c (pid = 6780)Verbosity was 0 and is now 4nodo-c*CLI>

O lo que es lo mismo:

Ahora, ya aca, ejecutamos el comando:

CLI> sip show peers

Name/username Host Dyn Nat ACL Port Status

81/81 192.168.1.4 D 5060 OK (5 ms)

80/80 192.168.1.10 D 5060 OK (10 ms)

2 sip peers [2 online , 0 offline]

En Status, debemos fijarnos de que digaOK, de esta forma verficamos que los clientes sip 80 y 81 han sido registrados correctamente en Asterisk.

Importante:Cualquier modificacin que hagan en los archivos de asterisk tales como sip.conf, extensions.conf, etc deben poner un /etc/init.d/asterisk restart

5. Llamada entre los anexos

Ahora finalmente se hace la llamada desde el Zoiper(anexo 81) al anexo 80 que es el nmero del ATA con el telfono analgico:

Llamada del anexo 81 al anexo 80

Espero este pequeo tutorial les sea de ayuda para animarlos a montar su propio Asterisk casero, aqu la receta: 1 Linux + 1 ATA + 1 sofphone + n ganas de aprender.

Ms adelante veremos tambin tienen otras opciones de configuracin ms avanzadas (zapata.conf) como llamada en espera (callwaiting), llamada de tres (threewaycalling), transferencia de llamada (transfer) y buzn de voz.

Receta para un servidor elastix de pruebas.

Manuales.

No se puede ir a la guerra sin fsil, y en este caso me arm de dos excelentes documentos. Elastix with out tears de Ben Sharif y Elastix a ritmo de merengue de Alfio Muoz.

Ambos documentos se complementan, los consultaba constantemente y son mi primer fuente de consulta ante cualquier duda.

Software.

Por recomendacin de scar aka El Cnibal, descargu Elastix, una distribucin de software libre basada en Cent OS que incluye programas como Asterisk, Hylafax, Openfire, Postfix, vTigerCRM y SugarCRM.

Estos programas en conjunto permiten dar servicios de: Voz sobre IP con funciones de PBX Fax Mensajera Instantnea Email Colaboracin

Como no tena una computadora disponible instal elastix en una computadora con VirtualBox, le puse una configuracin mnima de 384 MB en RAM y 8 GB de espacio en el disco duro, la tarjeta de red la configur en modo Bridge para que quedara dentro de mi misma subred.

Como telefonos de software baj Xten lite para windows y en linux hice pruebas con Empathy, este ltimo recibe las llamadas pero queda un poco corto en otras funciones.

Hardware.

Tengo un par de Linksys SPA3102 que haba utilizado en un experimento anterior. Estos aparatitos son una maravilla !!!, se configuran mediante una pgina web y tienen dos puertos uno FXO (Line) y otro FXS (Phone).

Uno lo configur como extensin conectandolo al puerto que dice Phone (FXS), este fue el m sencillo de configurar siguiendo la gua SPA3102 and FreePBX HOWTO

Read more: http://linuxmanr4.com/2010/07/05/construyendo-un-conmutador-telefonico-con-elastix/#ixzz3fjuBfV9V

El otro lo puse como troncal conectandole una lnea telefnica al puerto Line (FXO), este aparatito es el que se encarga de ser el intermediario entre la lnea (en este caso de Axtel) y el servidor Elastix.

Este no fue tan sencillo de configurar, literalmente me sac canas verdes y un da de leer tutoriales y manuales.

En los primeros intentos logr que salieran las llamadas, pero para recibir no se poda, simplemente no le pasaba la estafeta a la extensin que program.

Fue hasta que d con este tutorial How to setup a Linksys SPA-3102 or Sipura SPA-3000 with FreePBX y releerlo en ms de una ocasin que pude hacer que funcionara.

Read more: http://linuxmanr4.com/2010/07/05/construyendo-un-conmutador-telefonico-con-elastix/#ixzz3fjulpG5k

Al final mi instalacin qued de la siguiente manera:

+Ingredientes:

-Linksys SPA3102 -> 85-90

-Un equipo con al menos un interfaz de red y Debian instalado, por supuesto :)

-Softphones en cada pc, telfonos IP o adaptadores para telfonos analgicos tipo PAP2T.

+Preparacin:Es fundamental conectar el SPA en el RJ45 de la interfaz externa (wan), de otra forma no funcionar. El acceso lo hacemos con el navegador via http con los datos del manual.

+Coccin:

Cambiamos estos datos y slo stos en Voice->PSTN line1:

Seccin Proxy and registrations -> proxy: ponemos la ip del server asterisk.

Seccin Subscriber information -> User ID: ponemos por ej SPA (luego usaremos esos datos para crear el troncal de conexin).

Dialplans -> eliminamos lo que hay en dialplan2 y ponemos: (S0).

PSTN-To-VoIP Gateway:

-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

FXO timer values -> PSTN Answer Delay: 2

VOIP-To-PSTN Gateway:

- VOIP-To-PSTN Gateway Enable: yes

VoIP Caller Auth Method: None

VoIP Pin Max retry: 3

One Stage Dialing: Yes

Line 1 VoIP Caller DP: none

VoIP Caller Default DP: none

Line 1 Fallback DP: none

+Servicio:

Supongo que no hace falta decir que hay que instalar asterisk (aptitude install asterisk).

Editamos el archivo /etc/asterisk/sip.conf y agregamos al final del archivo los datos del troncal:

[spa3102]

type=peer

username=SPA

fromuser=SPA

host=ip_del_spa

context=entradas

canreinvite=no

insecure=port,invite

nat=no

port=5060

qualify=yes

Y de las extensiones que vamos a crear:

[100]

type=friend ; puede recibir y enviar llamadas

context=spa ; muy importante encuadrar todo en el mismo contexto

secret=100 ; contrasea de la extensin 100 (usuario 100)

host=dynamic ; no se conoce la ip antes del registro

nat=no ;

qualify=no ; cambiar a yes si est detrs de un cortafuegos.

mailbox=100@spa ; buzn del usuario para mensajes de voz

[101]

igual que el anterior, slo cambia la pass (secret) y el buzn (101@spa)

As con todos los usuarios que queramos crear.

ahora toca el archivo extensions.conf al que agregaremos esto al final:

[spa]

exten => s,1,Answer ; descolgamos la llamada

exten => s,2,Wait(2) : dos segundos de espera

exten => s,3,Background(atendido-en-breve) ; suena la locucin ser atendido en breve

exten => s,4,WaitExten(5,tm) ; Espera cinco segundos a que marquemos una extensin.

exten => s,5,Dial(SIP/100,20,tm) ; si no marcamos extensin pasa la llamada a la extensin 100 que sonar durante 20 segundos mientra escuchan msica de fondo.

exten => s,6,VoiceMail(100) ; si no hay contestacin salta el buzn de voz 100.

exten => s,6,Hangup ; colgamos la llamada

exten => 100,1,Dial(SIP/100,20,Ttm) ; extensin 100

exten => 100,2,Voicemail(100)

exten => 100,3,Hangup

exten => 101,1,Dial(SIP/101,20,Ttm) ; extensin 101

exten => 101,2,Voicemail(101)

exten => 101,3,Hangup

exten => _[69]XXXXXXXX,1,Dial(SIP/${EXTEN},60) ; Llamadas por la linea tradicional

exten => _[69]XXXXXXXX,2,Hangup

exten => 999,1,VoicemailMain ; extensin para escuchar los mensajes.

exten => 999,n,Hangup

Antes de nada comentar que no s muy bien si en los repositorios de Debian habr voces en espaol. De todas formas las voces oficiales de Digium no suenan muy bonitas para los espaoles (aunque s para los usuarios hispanoamericanos), pero podis descargaros unas voces muy logradas de la pgina de voipnovatos: http://www.voipnovatos.es

Por ltimo slo nos queda el archivo voicemail.conf, donde colocaremos los buzones de la siguiente forma:

100 => 100,Pepe,[email protected]

101 => 101,Mara,[email protected]

etc, etc ...

Un asterisk restart y ...

+Buen provecho!!

Referencias sobre Asterisk:

http://groups.google.es/group/asterisk-es

http://www.voip-info.org/

http://www.asteriskguru.com/

contenido de los archivos sip.conf y extensions.conf reducidos a su mnima expresin, sin extensiones de ejemplo ni ningn tipo de relleno, salvo los parmetros de seguridad mencionados en el correspondiente captulo.

Atencin a los siguientes tres parmetros que tendris que adaptar a vuestra instalacin:

udpbindaddr: Cambiar el puerto de ejemplo 42187 por uno mayor que 1024 y que no est en la lista de puertos conocidos.

externhost: Debes tener un servicio de DNS dinmico para que Asterisk pueda resolver tu IP pblica. Hay mltiples opciones gratuitas que encontrars en esta lista de proveedores. Uno de los ms conocidos es No-IP. Indica en este campo el dominio que hayas creado, y asegrate de instalar el programa cliente correspondiente que mantenga actualizada tu IP. Si te pierdes en este punto te recomiendo buscar una gua sobre DNS Dinmico.

localnet: Adapta el rango y la mscara de red en funcin de la configuracin de tu red local.

El Dialplan bsico quedara resumido a lo siguiente:

Configuracin del Conmutador telefnico SPA400 con Elastix

Continuando con la configuracin de nuestroescenariohoy vamos a explicar como configurar tanto elservidor Elastixcomo el Cisco SPA400. Desde la web oficial de Linksys Cisco veremos que el SPA400 solo funciona con el SPA9000 pero hoy veremos que tambin es posible usarlo con nucleos de voip como Asterisk.

El SPA400 es til ya que nos permite conectar 4 lneas de telfono analgico (4 puertos FXO) e transformarlas a VoIP.

Primeramente conectaremos nuestro SPA400 a nuestra red interna tal y como hicimos con los telfonosSPA501G. La red dar una direccin IP a nuestro dispositivo y a travs de esa IP accederemos a su pgina de configuracin.

En esta pgina en la pestaa superiorSetup Basic Setupprocederemos a dar una direccin esttica al dispositivo asignandole tanto una direccin IP como los DNS. En nuestro caso ser la 192.168.1.11.

Y ahora en la pestaaSetup SPA9000Interface configuramos la direccin de nuestro servidor elastix que era 192.168.1.10.

Como este dispositivo tiene 4 puertos podemos configurar sus nombres, ya que aunque en un primer momento no se pueden rutar las salidas y entradas veremos que con una pequea modificacin s que podremos hacerlo.

Ahora pasamos a configurar el servidor Elastix para que conozca las rutas entrantes y salientes que deben ir a traves del SPA400.

Pulsaremos sobreTrunks(Lineas) y ahi pulsaremos sobreAdd SIP Trunk(Aadir Lnea Troncal SIP). Ahora debemos rellenar el nombre de la linea y si queremos asignarle un numero para que se identifique. En las opciones salientes pondremos tambin un nombre, quiz el mismo que hemos utilizado ms arriba y aadiremos estas opciones

username=SPA400type=peersecret=PASSWORDinsecure=veryhost=192.168.1.11dtmfmode=rfc2833context=from-pstncanreinvite=no

Los datos en negrita son los que nosotros debemos configurar. Sustituiremos esos datos por los que hemos configurado en el dispositivo.

Por ltimo en la cadena de registro debemos aadir lo siguiente

SPA400:[email protected]/SPA400

tambin sustituyendo los datos por los adecuados a las configuraciones anteriores.

En nuestro casocrearemos 3 lineas salientes para poder visualizarlo mejor a traves del FOP (Flash Operator Panel). Las tres lineas tendrn la misma configuracin pero diferente nombre.