Your SlideShare is downloading. ×
Manual Asterisk en FreeBSD
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Manual Asterisk en FreeBSD

1,795
views

Published on

Manual de Asterisk en FreeBSD

Manual de Asterisk en FreeBSD

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,795
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
98
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Universidad Autónoma de Querétaro Facultad de Informática Ingeniería en Telecomunicaciones Conmutador Asterisk en FreeBSD Voz sobre IPERICK GABRIEL CHAN LÓPEZENRIQUE GUDIÑO FRANCOMARCIA ASTRID CASTILLA PELAYOING. JORGE VÁZQUEZ MARTÍNEZ Querétaro, Querétaro a 24 de Mayo del 2012
  • 2. ContenidoIntroducción .................................................................................................................................. 3Topología ....................................................................................................................................... 4PBX Asterisk................................................................................................................................... 4 Características ........................................................................................................................... 5 Codificadores de audio.............................................................................................................. 5 Protocolo de señalización ......................................................................................................... 6 Requerimientos ......................................................................................................................... 6 Instalación del GNU make ......................................................................................................... 7 Instalación del Asterisk.............................................................................................................. 8 Archivos de configuración ....................................................................................................... 11 Iniciar el servicio ...................................................................................................................... 15 Configuración clientes SIP y pruebas ...................................................................................... 15Conclusión ................................................................................................................................... 17Bibliografía .................................................................................................................................. 18 2|Página
  • 3. IntroducciónLos sistemas de comunicación han jugado un papel muy importante en eldesarrollo de cualquier empresa .Actualmente es difícil imaginar algún plan denegocio, en el que no se incluya una pequeña inversión en la implementaciónde una infraestructura de telecomunicaciones, que facilite la comunicacióntanto con el exterior como internamente.Gracias a la aparición de las primeras centralitas telefónicas, más conocidascomo PBX (Private Branch eXchange), las empresas evitan conectar todos losteléfonos de manera separada a la red de telefonía pública conmutada (PSTN,por sus siglas en inglés), consiguiendo una infraestructura local de vozindependiente de cualquier proveedor de telefonía, pudiendo realizar lasllamadas internas de manera gratuita, evidentemente ahorrando costos.Con la mejora de las tecnologías que nos rodean día a día, el fuertecrecimiento de las redes IP y la aparición de nuevos protocolos de transmisiónen tiempo real se crean nuevos entornos en la voz sobre ip (VoIP).La VoIP es un grupo de recursos que hacen posible que la señal de voz viaje através de Internet empleando un protocolo IP. Esto quiere decir que se envía laseñal de voz en forma digital, en lugar de enviarla en forma analógica a travésde circuitos de telefonía convencional como las redes PSTN.El objetivo principal de este proyecto se basa en la implementación del PBXAsterisk en una PC con el sistema operativo FreeBSD 8.2 que sea capaz desustituir a las costosas PBX. 3|Página
  • 4. TopologíaLa siguiente topología ilustra cómo se considera la utilización del servidorFreeBSD con el PBX Asterisk instalado y los clientes. - PBX Workstation1 Workstation2 FreeBSD IP CellphoneWorkstation1, Workstation2 y Cellphone son los clientes y FreeBSD es elservidor con el PBX Asterisk instalado.Workstation1, Workstation2 y Cellphone deben ser capaces de realizarllamadas entre ellos.Cellphone se encuentra conectado al access point para tener conectividad conel servidor.PBX AsteriskAsterisk es una aplicación que controla y gestiona comunicaciones de cualquiertipo, ya sean analógicas, digitales o VoIP mediante todos los protocolos VoIPque implementa.Asterisk es Open Source basada en GPL y por lo tanto con las ventajas queello representa, lo que lo hace libre para desarrollar sistemas decomunicaciones profesionales de gran calidad, seguridad y versatilidad.Funciona como una central telefónica (PBX), es decir que permite conectarterminales telefónicas de forma independiente al proveedor de telefonía. Deesta forma se consigue que todas las llamadas internas de una misma empresasean conmutadas directamente sin necesidad de salir al exterior por la redpública de telefonía. 4|Página
  • 5. Lo más interesante de Asterisk es que soporta muchos protocolos VoIP comopueden ser SIP, H.323, IAX y MGCP, entre otros.CaracterísticasAsterisk pese a ser una aplicación software ofrece las mismas característicasque un PBX hardware:  Reducción de costos no solo por realizar las llamadas sobre la misma red de datos, si no por ser una aplicación de código abierto.  Facilita la integración y desarrollo de nuevos servicios.  Compatible con una gran cantidad de protocolos VoIP y códecs.  Existe una gran cantidad de información disponible de Asterisk en línea debido al interés cada vez mayor de las empresas.Asterisk está formado por un núcleo principal encargado de gestionar todo elsistema PBX. Sus funciones principales son:  Interconectar de forma automática cada llamada entre los usuarios tomando en cuenta el tipo de protocolo utilizado por cada terminal.  Lanzar los servicios cuando sean necesarios.  Traducir y adaptar cada códec a cada terminal involucrado en la comunicación.Codificadores de audioLa señal de audio ha de ser digitalizada, comprimida y codificada antes de sertransmitida por la red IP. Para ello se utilizan algoritmos matemáticosimplementados en software llamados códecs.Existen diferentes modelos de códecs de audio utilizados en VoIP, ydependiendo del algoritmo escogido en la transmisión, variara la calidad de lavoz.Algunos de los códecs más utilizados son los siguientes:Códec Ancho de banda (kbps) Retardo (ms) PatentadoG.711 64 20-30 NoG.726 16,24,32 20-30 NoG.723.1 6.3,5.3 37.5 SiG.729 8 15 SiGSM 13 20 No 5|Página
  • 6. Protocolo de señalizaciónLa señalización en VoIP tiene un papel muy importante en la red, ya que es laencargada de establecer, mantener, administrar y finalizar una conversaciónentre dos puntos. Además de ofrecer funciones de supervisión, marcado y QoSen cada canal de transmisión. A continuación se describen los protocolos deseñalización más usados actualmente.Protocolo CaracterísticaH.323 Su principal característica es ofrecer servicios multimedia sobre redes que no garantizan QoS. A lo largo de los años se han hecho modificaciones para que cubra todas las necesidades de la VoIP. Pese a ser un protocolo bastante maduro y potente, el interés por utilizarlo es muy poco debido a su complejidad y a ciertas ineficiencias detectadas en conferencias con un número elevado de terminales.SIP Protocolo para el control de llamas multimedia y la implementación de servicios telefónicos avanzados. Está basado en HTTP adoptando las características más importantes de este estándar como son la sencillez de sus sintaxis y una estructura cliente/servidor. El gran potencial de SIP reside en su flexibilidad.IAX Fue desarrollado por Digium para la comunicación entre centralitas Asterisk aunque actualmente se ha implementado clientes que también soportan este protocolo. Su principal objetivo es minimizar el ancho de banda utilizado en la transmisión de voz y video a través de la red IP.RequerimientosSe espera contar con lo siguiente:  Una dirección IP estática en el servidor.  Tener conectividad con las estaciones de trabajo o terminales IP en la red.  Seleccionar un protocolo de señalización VoIP (SIP, H.323, etc.)Para la realización de este proyecto se utilizará Asterisk 1.8.6.0, esta versiónde Asterisk es una versión LTS (Long Term Support).Se descarga el archivo Asterisk 1.8.6.0 desde la página de descargas deAsterisk.http://downloads.asterisk.org/pub/telephony/ 6|Página
  • 7. Para instalar Asterisk se necesita el GNU make, por default FreeBSD utilizauna versión de make para FreeBSD el BSD make, por tal motivo se necesitadescargar e instalar el GNU make.Se descarga de http://ftp.gnu.org/gnu/make/Todos los archivos que se descargan desde un servidor externo se guardanautomáticamente en /root/Desktop/Downloads/.Instalación del GNU makePara tener una mejor administración de los programas que se instalanpodríamos copiar de la carpeta Downloads a root´s home y descomprimir. 7|Página
  • 8. mkdir /root/MAKEcp /root/Desktop/Downloads/make-3.82.tar.gz /root/MAKEtar –xvzf /root/MAKE/make-3.82.tar.gzPara la compilación e instalación del GNU make utilizamos el BSD make. Asíque nos situamos en la carpeta donde hayamos descomprimido el make yejecutamos los siguientes comandos:./configuremakemake installmake cleanDespués de todo esto el GNU make se encuentra instalado en el sistema, loque sigue es mover los estándares de BSD make para utilizar el GNU make,así que modificamos el make situado en la carpeta bin.mv /usr/bin/make /usr/bin/make.savCreamos una conexion a make  gmakeln –s /usr/local/bin/gmake makeDespués de ejecutar los comandos anteriores el GNU make está listo para serusado y poder compilar Asterisk.Instalación del AsteriskPor cuestiones de estándar Linux, el Asterisk se sugiere ser descomprimido ycompilado en /usr/src. Así que copiaremos el archivo descargado de Asterisk a/usr/src/ y los descomprimimos.cp /root/Desktop/Downloads/asterisk-1.8.6.0.tar.gz /usr/src/ 8|Página
  • 9. tar –xvzf /usr/src/asterisk-1.8.6.0.tar.gzNos situamos en la carpeta descomprimida y ejecutamos los comandos para compilare instalar el Asterisk:cd /usr/scr/asterisk-1.8.6.0./configuremake 9|Página
  • 10. make installmake samples 10 | P á g i n a
  • 11. make cleanHay que recordar que el compilador que se utiliza ya no es BSD make, ahoraestamos utilizando el GNU make.Archivos de configuraciónTodos los archivos de configuración de Asterisk se encuentran en/usr/local/etc/asterisk/.Para la realización de este proyecto se utilizara el protocolo de señalizaciónSIP. 11 | P á g i n a
  • 12.  Dirección IP Servidor VoIP: 10.0.0.254  Dirección IP Workstation1: 10.0.0.100  Dirección IP Workstation2: 10.0.0.101  Dirección IP Cellphone: 10.0.0.102sip.confEl archivo sip.conf es el archivo del canal SIP, en este archivo se configuratodo lo relacionado con el protocolo SIP, como la creación de las cuentas delos usuarios SIP.Así que lo editamos.ee /usr/local/etc/asterisk/sip.confEl archivo inicia con la sección [general] que contiene toda la información pordefecto de todos los usuarios. Por lo tanto escribiremos o editaremos lassiguientes configuraciones:[general]localnet=10.0.0.0/255.255.255.0 ; Red y mascara de red localbindport=5060 ; Puerto SIP 5060bindaddr=0.0.0.0 ; Dirección IP a utilizar, todas la posibles (0.0.0.0)allow =all ; Permitir todo tipo de codecscontext=default ; Contexto por default (contestadora)Donde:bindaddr=0.0.0.0 significa que nuestro servidor VoIP puede tener cualquierdirección IP.context=default es el contexto que está por default en el archivoextensions.conf, se sugiere dejar ese contexto en general y especificarcontextos en cada usuario.Nota: En [general] existen opciones que deben ser comentadas o generaríanconflictos en la autenticación de los usuarios, por ejemplo, se comento eludpbindaddr, y el tcpbindaddr.Se crean usuarios SIP al final del archivo.[0001] ; Usuariotype=friend ; Tipo de conexión definida 12 | P á g i n a
  • 13. callerid= “workstation1”<0001> ; Información de identificación de llamadasecret=a0001b ; Contraseña de registrohost=dynamic ; Dirección IP dinámicacontext=freebsd-phones ; Las llamadas entrantes van a freebsd-phones[0002] ; Usuariotype=friend ; Tipo de conexión definidacallerid= “workstation2”<0002> ; Información de identificación de llamadasecret=a0002b ; Contraseña de registrohost=dynamic ; Dirección IP dinámicacontext=freebsd-phones ; Las llamadas entrantes van a freebsd-phones[0003] ; Usuariotype=friend ; Tipo de conexión definidacallerid= “cellphone”<0003> ; Información de identificación de llamadasecret=a0003b ; Contraseña de registrohost=dynamic ; Dirección IP dinámicacontext=freebsd-phones ; Las llamadas entrantes van a freebsd-phonesExisten 3 tipos de conexiones:  peer: Autentica llamadas salientes.  user: Autentica llamadas entrantes.  friend: Autentica tanto entrantes como salientes.host=dynamic significa que este usuario puede tener cualquier dirección IP ensu estación de trabajo o teléfono IP.context=freebsd-phones es un contexto que se crea en el archivoextensions.conf.extensions.confEl archivo extensions.conf es el más importante en Asterisk y tiene comomisión principal definir el dialplan o plan de numeración que seguirá lacentralita para cada contexto y por tanto para cada usuario, sin importar elprotocolo de señalización que utilizan.Un contexto es una colección de extensiones, existen para poder diferenciar ellugar en donde se encuentra una llamada para aplicar políticas de seguridad.Por ejemplo, si una llamada se encuentra en el contexto [security] podemoshacer que esa llamada se realice, desvié o definir que usuarios únicamentepueden llamar a esa extensión. 13 | P á g i n a
  • 14. Este archivo, al igual que el archivo sip.conf, se compone de secciones o eneste caso de contextos identificados entre corchetes [ ], hay dos contextos muyimportantes que siempre están presentes en todas las versiones de Asterisk[general] y [globals].En [general] se configuran pocas opciones generales, las cuales no son muyimportantes, así que se pueden dejar las opciones por defecto, no obstante unaopción que siempre se debe asegurar que este habilitada es static=yes parapoder ejecutar el comando dialplan desde la consola.En [globals] se definen variables globales, por ejemplo marcar al 066 podríadeclararse como:EMERGENCY = Dial(SIP/066)En este caso no utilizaremos variables globales, por lo tanto dejamos estecontexto tal cual esta.Editamos el archivo extensions.conf.ee /usr/local/etc/asterisk/extensions.conf[general]static=yes ; Se hace caso al comando dialplan desde la consolaSe crean las extensiones para el contexto [freebsd-phones].Este es el contexto que vamos a utilizar, y las declaraciones de las extensionessiguen un mismo formato:exten => número de extensión ,prioridad ,comando(parámetros).Donde:  número de extensión hace referencia al número que se marca.  prioridad al orden de ejecución de las instrucciones cuando se realiza la marcación, por ejemplo primero hace la llamada, si después de un determinado tiempo no se contesta entonces se cuelga la llamada con la segunda prioridad.  comando (parámetros) es la acción que realiza cuando se marca a esa extensión.Así que creamos y editamos el siguiente contexto al final del archivo: 14 | P á g i n a
  • 15. [freebsd-phones]exten => 0001,1,Dial(SIP/0001) ; Responder a la extensión 0001exten => 0001,2,Hangup() ; Colgar si 0001 no contestaexten => 0002,1,Dial(SIP/0002) ; Responder a la extensión 0002exten => 0002,2,Hangup() ; Colgar si 0001 no contestaexten => 0003,1,Dial(SIP/0003) ; Responder a la extensión 0003exten => 0003,2,Hangup() ; Colgar si 0003 no contestaIniciar el servicioEditamos el archivo rc.conf para iniciar el Asterisk al arrancar el sistemaFreeBSD.ee /etc/rc.confY escribimos lo siguiente:asterisk_enable=“YES”Arrancamos el Asterisk manualmente con el comando de Asterisk.asteriskConfiguración clientes SIP y pruebasPara realizar las llamadas en Workstation1 y Worstation2 se utilizará elsoftphone X-Lite 3.0, esta es una aplicación que funciona como terminal IPademás de permitir el uso del protocolo SIP.Para el caso del Cellphone se utilizara la aplicación CsipSimple, la cual es unaaplicación para android.En cualquier cliente con X-lite solo escribimos los parámetros necesarios pararealizar el registro:  Usuario  Contraseña  Servidor VoIP 15 | P á g i n a
  • 16. En el caso del CsipSimple una vez que haya conectividad con el servidor, y el resto de los clientes, escribimos los datos de la cuenta SIP y la dirección del servidor FreeBSD.No hay que olvidar probar antes de realizar el registro que haya conectividadcon el servidor, un ping al servidor sería suficiente. 16 | P á g i n a
  • 17. ConclusiónLas comunicaciones en una empresa son importantes, no solo por losempleados, sino también por los clientes externos que en ocasiones necesitanhacer consultas remotamente.El servicio VoIP ahorra costos significativos en una empresa que cuenta con unnúmero extenso de usuarios que requiere una línea telefónica. Con un PBXinstalado y funcionando en una red empresarial, clientes o en este casoempleados con sus terminales IP configuradas y sabiendo que la VoIP puedetrabajar en conjunto con la red de datos, se produce un ahorro aun más eninfraestructura; porque se evita la contratación de líneas telefónicas dedicadaspara cada empleado y/o usuarios de la red con un proveedor de telefonía. Si seutiliza una aplicación como el X-lite se evita la compra de teléfonos para cadausuario de la red empresarial y si se tienen teléfonos celulares que aceptenaplicaciones como el CsipSimple se aprovecharían más aun las tecnologíasexistentes y la empresa ahorraría más aun en costos.Después de conocer las características de la VoIP y como se convierte en unfactor importante para una empresa podemos concluir que con la posibilidadde realizar las llamadas internas gratuitamente, se convierte en el mejorbeneficio que ofrece la VoIP. 17 | P á g i n a
  • 18. BibliografíaDigium, Inc. (2010). Asterisk. Recuperado el 14 de Mayo del 2012, de http://www.asterisk.org/FreeBSD. (2011). FreeBSD Handbook. Recuperado el 14 de Mayo del 2012, dehttp://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.htmlFreeBSD México. (2010). FreeBSD México. Recuperado el 15 de Mayo del 2012, dehttp://freebsd.mx/documentacionInteractive Programmers Community . (2011). Comunidad de Programadores. Recuperado el15 de Mayo del 2012, de http://www.lawebdelprogramador.com/cursos/Oracle/6117-Manual_de_Asterisk_y_otras_hierbas.htmlVoipForo. (2011). Asterisk PBX. Recuperado el 15 de Mayo del 2012, dehttp://www.voipforo.com/asterisk/asterisk_introduccion.php 18 | P á g i n a