SlideShare una empresa de Scribd logo
Tutorial Asterisk: Instalación y
configuración de Asterisk
InstalacióndeAsterisk
Antes de instalar cualquier servicio, siempre se recomienda por motivos de seguridad
actualizar la máquina en la que vayamos a realizar dicha instalación. En este caso, se ha
decidido instalar Asterisk en un SO Debian 7 y para ello vamos a seguir los siguientes
pasos:
1. Actualizarlamáquinay reiniciarla:
sudo apt-get update
sudo apt-get upgrade
reboot
2. Instalarlaslibreríasque seannecesarias:
sudo apt-get install build-essential
sudo apt-get install libncurses5-dev libnewt-dev libmysqlclient-
dev libmyodbc libssl-dev libxml2-dev unixodbc-dev libsqlite3-dev
uuid-dev libbison-dev
NOTA - Para no tener que estar escribiendo continuamente 'sudo', se puede cambiar el
usuario a 'root' y trabajar durante todo el proceso de instalación como 'root'.
3. Se descargany descomprimenlosficherosde Asterisk:
wget http://downloads.asterisk.org/pub/telephony/certified-
asterisk/certified-asterisk-11.6-current.tar.gz
tar zxvf certified-asterisk-11.6-current.tar.gz
cd certified-asterisk-11.6-current
4. Instalacióndel serviciode Asterisk:
./configure
make menuselect
make
make install
make samples
make config
NOTA - Para cambiar algo en los ficheros de configuración tendremos que utilizar un
editor como nano, vim o cualquier otro que se ajuste más a las preferencias del
administrador del sistema.
5. Para lanzarAsterisk,osi se realizaalgúncambioenlaconfiguraciónyesnecesario
reiniciarel servicio,existenvariasalternativasdesde laterminal.Lamás recomendada
esparar y volveraarrancar el servicio:
/etc/init.d/asterisk stop
/etc/init.d/asterisk start
O bien...
service asterisk stop
service asterisk start
ConfigurandoAsterisk -sip.conf
Los dos ficheros de configuración más importantes de Asterisk posiblemente son el
sip.conf que es el fichero que permite definir los canales SIP, tanto para llamadas
entrantes como salientes, y el fichero extensions.conf que es el que define el
comportamiento que va a tener una llamada en nuestra centralita (qué reglas rigen su
enrutamiento o qué aplicaciones van a ejecutar). Si en vez de utilizar el protocolo SIP se
prefiere trabajar con IAX2, será necesario configurar el fichero iax2.conf de forma
muy parecida a como se hace con el sip.conf.
Lo primero es que, al igual que ocurre con otros ficheros de configuración de Asterisk,
el fichero sip.conf se encuentra dividido en secciones cuyos nombres, a su vez, se
encuentran definidos entre corchetes. La primera de ellas, [general], permite definir
las opciones generales de cada canal y, en consecuencia, los parámetros generales de
cada cliente.
[general]
language=es
disallow=all
allow=alaw
allow=ulaw
videosupport=no
...
Ya que los clientes SIP deben ser declarados previamente para poder lanzar o recibir
llamadas, lo siguiente que se puede hacer es definir uno o varios contextos para los
posibles clientes del servicio que proporciona Asterisk. Algunos de los parámetros de
configuración más importantes en este caso serán:
 type - Tipo de cliente SIP.Existen3tipos: peer, user y friend enfunciónde cómose
manejanlasllamadasentrantes/salientesycómose indentificael usuario.
 secret- Contraseñaque utilizael cliente paraautenticarse enel sistema.
 host - DirecciónIPo nombre del hostque utilizael cliente.Si estáasignadade manera
dinámicaporDHCP, 'dynamic'.
 context - Contextoal que pertenece el cliente.
 qualify- Si está puestoa'yes', se monitorizael estado de laextensión.
 mailbox- Indicael buzónde voz correspondiente aesaextensión.
Para definir dos extensiones, la 102 y la 103 utilizando estos y algunos parámetros
más...
[general]
language=es
disallow=all
allow=alaw
allow=ulaw
videosupport=no
...
[102]
type=friend
secret=1ezkR
host=dynamic
context=ext_internas
callerid="Jose Luis" <102>
dtmfmode=rfc2833
qualify=yes
mailbox=1002@default
...
[103]
type=friend
secret=e7uKz
host=dynamic
context=ext_internas
callerid="Beatriz" <103>
dtmfmode=rfc2833
qualify=yes
mailbox=1003@default
...
Si fuera necesario configurar cientos de extensiones, quizás sea más cómodo de cara a
la programación definir una máscara y aplicarla a cada una de las extensiones que se
quiera crear. En este caso, a la máscara se le ha llamado extensiones-internas y se
han definido las extensiones 102 y 103 cambiando únicamente los parámetros
necesarios.
[general]
language=es
disallow=all
allow=alaw
allow=ulaw
videosupport=no
...
[extensiones-internas](!)
type=friend
host=dynamic
context=ext_internas
dtmfmode=rfc2833
qualify=yes
...
[102](extensiones-internas)
secret=1ezkR
callerid="Jose Luis" <102>
mailbox=1002@default
[103](extensiones-internas)
secret=e7uKz
callerid="Beatriz" <103>
mailbox=1003@default
Para profundizar en este tema lo mejor es coger el fichero de configuración por defecto,
o de ejemplo, que trae Asterisk y leerse uno a uno cada uno de los parámetros que
incluye. Con algo de experiencia, y muchas ganas de aprender, se depurar cualquier
fallo en las comunicaciones que se produzca por una mala configuración de los clientes
SIP.
ConfigurandoAsterisk -extensions.conf
El fichero de configuración extensions.conf es el que controla el plan de marcado
(dialplan) de la centralita. Se puede decir que es el corazón de Asterisk ya que define
cómo se comportarán las llamadas entrantes y salientes en el sistema.
Este fichero está compuesto por contextos, extensiones y prioridades. Se comenta
brevemente en qué consiste cada una de ellas:
 Contextos - Los contextos son cada una de las secciones en las que está dividido
el dialplan y es lo que permite separar o incluir fragmentos de código en éste.
Existen 3 contextos reservados: general, global y default. Si una extensión,
de las que hay definidas en el fichero sip.conf, tiene como parámetro context
un contexto de los que hay definidos en el dialplan, cuando dicha extensión
efectúe una llamada, empezarán a ejecutarse las líneas de código asociadas a
dicha extensión en ese contexto.
 Extensiones - Una extensión es cada una de las llamadas que permiten ejecutar
un fragmento de código de un contexto. Cuando una extensión llama a un
número u otra extensión, lo normal es tener líneas de código dentro del dialplan
que le indiquen al sistema cómo tiene que tratar esa llamada. Por ejemplo:
Primero que se descuelgue la llamada, luego que salte una locución y que se
llame a dos destinos de manera simultánea. Una extensión se define como un
conjunto de valores: (número de extensión,prioridad,aplicación a
ejecutar). El primero de ellos, el "número de extensión", es el patrón que
hay que marcar dentro de dicho contexto para llamar al destino objetivo. La
"prioridad" indica el orden en el que se van a ejecutar las sucesivas
instrucciones asociadas a un mismo "número de extensión" y la "aplicación
a ejecutar" es la orden que se va a ejecutar en la línea dada por el "número de
extensión" y la prioridad "prioridad".
Con una presentación de un caso práctico, todos estos conceptos quedarán más claros.
[llamadas-entrantes]
exten => 958993803,1,NoOp(Tenemos una llamada entrante...)
exten => 958993803,2,Answer()
exten => 958993803,3,Playback(bienvenida)
exten => 958993803,4,Dial(SIP/958)
exten => 958993803,5,Hangup()
[llamadas-salientes]
exten => 20001,1,Dial(SIP/102&SIP/103)
exten => 20001,2,Hangup()
exten => 20002,1,Dial(SIP/104&SIP/105)
exten => 20002,2,Dial(SIP/106)
exten => 20002,3,Hangup()
Se puede ignorar el número de la prioridad si ésta se edita como same => n, ('n' de
'next). Con esta opción no sólo se gana en rapidez a la hora de programar la centralita
sino que también se evita tener que cambiar todas las líneas posteriores para esa misma
extensión en caso de añadir nuevas líneas en el futuro.
[casa] ; Nombre del contexto
exten => 30001,1,NoOp(IVR de casa) ; NoOp es una aplicación que no
hace nada más que mostrar por el CLI de Asterisk el mensaje que se le
indique como parámetro.
same => n,Answer() ; Para responder la llamada
same => n,Wait(1) ; Esperar un segundo antes de
seguir ejecutando el dialplan
same => n,Playback(mensaje-de-bienvenida) ; Reproducir un mensaje de
nombre 'mensaje-de-bienvenida'
same => n,Dial(IAX2/2014) ; Llamar a través del protocolo
IAX2 a la extensión 2014 definida en el fichero iax.conf
same => n,Hangup() ; Terminar la llamada
También se pueden definir patrones de marcado para ejecutar el mismo fragmento de
código para múltiples y distintas extensiones. Por poner un ejemplo de una oficina con 5
extensiones, podemos escribir un fragmento de código que se ocupe extensión a
extensión de que los usuarios puedan llamarse entres sí o podemos generar un único
fragmento de código con un patrón de marcado (pattern) que permita llamar a distintos
destinos en tan sólo 3 líneas de código:
[empresa]
exten => _400X,1,NoOp(Llamando a la extensión ${EXTEN})
same => n,Dial(SIP/${EXTEN})
same => n,Hangup()
Con estas 3 líneas la centralita interpreta que si se llama a cualquiera de las extensiones
definidas por el patrón de marcado 400X (en el rango: 4000, 4001, 4002,... 4009),
estaremos llamando al cliente SIP con número de cliente igual al valor almacenado en la
variable reservada EXTEN y que coincide con el número que se acaba de marcar. Como
se puede observar, el juego que da un patrón de marcado es muy amplio.
Descargar Tutorial en PDF de Asterisk
Compárteloconlosbotonessocialesque aparecenacontinuaciónypodrásdescargarel
tutorial de Asterisk

Más contenido relacionado

PDF
C documents and settings_pc10_configuración local_datos de programa_mozilla_...
PDF
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
PPTX
Comandos de linux
PDF
Linux basico-6.PDF
PDF
Tutorial0
ODP
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]
ZIP
Asterisk
PDF
Linux basico-2.PDF
C documents and settings_pc10_configuración local_datos de programa_mozilla_...
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
Comandos de linux
Linux basico-6.PDF
Tutorial0
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]
Asterisk
Linux basico-2.PDF

La actualidad más candente (13)

PDF
Linux ud11 - configuracion de red en linux
PDF
Tutorial 18pag
PDF
6 la shell bash
PDF
Manual de hacking basico por taskkill#3
PDF
7 standard io and pipes
PPTX
Codigos de terminal linux
PPTX
Administración básica de ubuntu server parte 3
PPT
ODT
Comandos de ubuntu
PPTX
Actividad v administración y comandos básicos if04 emerson
PDF
Servidor DNS en Linux
PDF
Resumen scripts unix
PPT
Script Y Comandos De Linux
Linux ud11 - configuracion de red en linux
Tutorial 18pag
6 la shell bash
Manual de hacking basico por taskkill#3
7 standard io and pipes
Codigos de terminal linux
Administración básica de ubuntu server parte 3
Comandos de ubuntu
Actividad v administración y comandos básicos if04 emerson
Servidor DNS en Linux
Resumen scripts unix
Script Y Comandos De Linux
Publicidad

Similar a Tutorial asterisk (20)

PPT
VoIP con Asterisk Marzo 2010
PDF
CLASE 10 ASTERISK.pdf
PDF
Manual asterisk oigaa
PPT
VoIP con Asterisk 2009
PPT
Asterisk seminario web
PPT
Sistemas de VoIP con Asterisk
PPT
2013 03 - rooted - free pbx-for fun and profit
PDF
V2 d2013 jose l verdeguer - freepbx fun and profit
PDF
Debian Lenny Asterisk
PPTX
2.2.1 Configuraciones avanzadas en Linux.pptx
ODP
Intro to DTrace
PDF
PROCESOS EN LINUX. ::: http://leymebamba.com
PPT
voz ip
PDF
Los mejores trucos de Asterisk
PDF
Slackware asterisk
PDF
Slackware asterisk
PDF
Manual de operación Asterisk en windows
PDF
7 standard io and pipes
PDF
7 standard io and pipes
DOCX
Postfix
VoIP con Asterisk Marzo 2010
CLASE 10 ASTERISK.pdf
Manual asterisk oigaa
VoIP con Asterisk 2009
Asterisk seminario web
Sistemas de VoIP con Asterisk
2013 03 - rooted - free pbx-for fun and profit
V2 d2013 jose l verdeguer - freepbx fun and profit
Debian Lenny Asterisk
2.2.1 Configuraciones avanzadas en Linux.pptx
Intro to DTrace
PROCESOS EN LINUX. ::: http://leymebamba.com
voz ip
Los mejores trucos de Asterisk
Slackware asterisk
Slackware asterisk
Manual de operación Asterisk en windows
7 standard io and pipes
7 standard io and pipes
Postfix
Publicidad

Último (11)

PPT
laser seguridad a la salud humana de piel y vision en laser clase 4
PDF
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
PPTX
presentacion_energias_renovables_renovable_.pptx
PPTX
Presentación de un estudio de empresa pp
PDF
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
PPTX
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
PPTX
Guia de power bi de cero a avanzado detallado
PDF
Herramientaa de google google keep, maps.pdf
PDF
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
PDF
Mesopotamia y Egipto.pptx.pdf historia universal
PPTX
tema-2-interes-.pptx44444444444444444444
laser seguridad a la salud humana de piel y vision en laser clase 4
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
presentacion_energias_renovables_renovable_.pptx
Presentación de un estudio de empresa pp
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
Guia de power bi de cero a avanzado detallado
Herramientaa de google google keep, maps.pdf
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
Mesopotamia y Egipto.pptx.pdf historia universal
tema-2-interes-.pptx44444444444444444444

Tutorial asterisk

  • 1. Tutorial Asterisk: Instalación y configuración de Asterisk InstalacióndeAsterisk Antes de instalar cualquier servicio, siempre se recomienda por motivos de seguridad actualizar la máquina en la que vayamos a realizar dicha instalación. En este caso, se ha decidido instalar Asterisk en un SO Debian 7 y para ello vamos a seguir los siguientes pasos: 1. Actualizarlamáquinay reiniciarla: sudo apt-get update sudo apt-get upgrade reboot 2. Instalarlaslibreríasque seannecesarias: sudo apt-get install build-essential sudo apt-get install libncurses5-dev libnewt-dev libmysqlclient- dev libmyodbc libssl-dev libxml2-dev unixodbc-dev libsqlite3-dev uuid-dev libbison-dev NOTA - Para no tener que estar escribiendo continuamente 'sudo', se puede cambiar el usuario a 'root' y trabajar durante todo el proceso de instalación como 'root'. 3. Se descargany descomprimenlosficherosde Asterisk: wget http://downloads.asterisk.org/pub/telephony/certified- asterisk/certified-asterisk-11.6-current.tar.gz tar zxvf certified-asterisk-11.6-current.tar.gz cd certified-asterisk-11.6-current
  • 2. 4. Instalacióndel serviciode Asterisk: ./configure make menuselect make make install make samples make config NOTA - Para cambiar algo en los ficheros de configuración tendremos que utilizar un editor como nano, vim o cualquier otro que se ajuste más a las preferencias del administrador del sistema. 5. Para lanzarAsterisk,osi se realizaalgúncambioenlaconfiguraciónyesnecesario reiniciarel servicio,existenvariasalternativasdesde laterminal.Lamás recomendada esparar y volveraarrancar el servicio: /etc/init.d/asterisk stop /etc/init.d/asterisk start O bien... service asterisk stop service asterisk start ConfigurandoAsterisk -sip.conf Los dos ficheros de configuración más importantes de Asterisk posiblemente son el sip.conf que es el fichero que permite definir los canales SIP, tanto para llamadas entrantes como salientes, y el fichero extensions.conf que es el que define el comportamiento que va a tener una llamada en nuestra centralita (qué reglas rigen su enrutamiento o qué aplicaciones van a ejecutar). Si en vez de utilizar el protocolo SIP se prefiere trabajar con IAX2, será necesario configurar el fichero iax2.conf de forma muy parecida a como se hace con el sip.conf. Lo primero es que, al igual que ocurre con otros ficheros de configuración de Asterisk, el fichero sip.conf se encuentra dividido en secciones cuyos nombres, a su vez, se encuentran definidos entre corchetes. La primera de ellas, [general], permite definir las opciones generales de cada canal y, en consecuencia, los parámetros generales de cada cliente. [general] language=es disallow=all allow=alaw allow=ulaw videosupport=no ...
  • 3. Ya que los clientes SIP deben ser declarados previamente para poder lanzar o recibir llamadas, lo siguiente que se puede hacer es definir uno o varios contextos para los posibles clientes del servicio que proporciona Asterisk. Algunos de los parámetros de configuración más importantes en este caso serán:  type - Tipo de cliente SIP.Existen3tipos: peer, user y friend enfunciónde cómose manejanlasllamadasentrantes/salientesycómose indentificael usuario.  secret- Contraseñaque utilizael cliente paraautenticarse enel sistema.  host - DirecciónIPo nombre del hostque utilizael cliente.Si estáasignadade manera dinámicaporDHCP, 'dynamic'.  context - Contextoal que pertenece el cliente.  qualify- Si está puestoa'yes', se monitorizael estado de laextensión.  mailbox- Indicael buzónde voz correspondiente aesaextensión. Para definir dos extensiones, la 102 y la 103 utilizando estos y algunos parámetros más... [general] language=es disallow=all allow=alaw allow=ulaw videosupport=no ... [102] type=friend secret=1ezkR host=dynamic context=ext_internas callerid="Jose Luis" <102> dtmfmode=rfc2833 qualify=yes mailbox=1002@default ... [103] type=friend secret=e7uKz host=dynamic context=ext_internas callerid="Beatriz" <103> dtmfmode=rfc2833 qualify=yes mailbox=1003@default ... Si fuera necesario configurar cientos de extensiones, quizás sea más cómodo de cara a la programación definir una máscara y aplicarla a cada una de las extensiones que se quiera crear. En este caso, a la máscara se le ha llamado extensiones-internas y se han definido las extensiones 102 y 103 cambiando únicamente los parámetros necesarios. [general] language=es disallow=all
  • 4. allow=alaw allow=ulaw videosupport=no ... [extensiones-internas](!) type=friend host=dynamic context=ext_internas dtmfmode=rfc2833 qualify=yes ... [102](extensiones-internas) secret=1ezkR callerid="Jose Luis" <102> mailbox=1002@default [103](extensiones-internas) secret=e7uKz callerid="Beatriz" <103> mailbox=1003@default Para profundizar en este tema lo mejor es coger el fichero de configuración por defecto, o de ejemplo, que trae Asterisk y leerse uno a uno cada uno de los parámetros que incluye. Con algo de experiencia, y muchas ganas de aprender, se depurar cualquier fallo en las comunicaciones que se produzca por una mala configuración de los clientes SIP. ConfigurandoAsterisk -extensions.conf El fichero de configuración extensions.conf es el que controla el plan de marcado (dialplan) de la centralita. Se puede decir que es el corazón de Asterisk ya que define cómo se comportarán las llamadas entrantes y salientes en el sistema. Este fichero está compuesto por contextos, extensiones y prioridades. Se comenta brevemente en qué consiste cada una de ellas:  Contextos - Los contextos son cada una de las secciones en las que está dividido el dialplan y es lo que permite separar o incluir fragmentos de código en éste. Existen 3 contextos reservados: general, global y default. Si una extensión, de las que hay definidas en el fichero sip.conf, tiene como parámetro context un contexto de los que hay definidos en el dialplan, cuando dicha extensión efectúe una llamada, empezarán a ejecutarse las líneas de código asociadas a dicha extensión en ese contexto.  Extensiones - Una extensión es cada una de las llamadas que permiten ejecutar un fragmento de código de un contexto. Cuando una extensión llama a un número u otra extensión, lo normal es tener líneas de código dentro del dialplan que le indiquen al sistema cómo tiene que tratar esa llamada. Por ejemplo:
  • 5. Primero que se descuelgue la llamada, luego que salte una locución y que se llame a dos destinos de manera simultánea. Una extensión se define como un conjunto de valores: (número de extensión,prioridad,aplicación a ejecutar). El primero de ellos, el "número de extensión", es el patrón que hay que marcar dentro de dicho contexto para llamar al destino objetivo. La "prioridad" indica el orden en el que se van a ejecutar las sucesivas instrucciones asociadas a un mismo "número de extensión" y la "aplicación a ejecutar" es la orden que se va a ejecutar en la línea dada por el "número de extensión" y la prioridad "prioridad". Con una presentación de un caso práctico, todos estos conceptos quedarán más claros. [llamadas-entrantes] exten => 958993803,1,NoOp(Tenemos una llamada entrante...) exten => 958993803,2,Answer() exten => 958993803,3,Playback(bienvenida) exten => 958993803,4,Dial(SIP/958) exten => 958993803,5,Hangup() [llamadas-salientes] exten => 20001,1,Dial(SIP/102&SIP/103) exten => 20001,2,Hangup() exten => 20002,1,Dial(SIP/104&SIP/105) exten => 20002,2,Dial(SIP/106) exten => 20002,3,Hangup() Se puede ignorar el número de la prioridad si ésta se edita como same => n, ('n' de 'next). Con esta opción no sólo se gana en rapidez a la hora de programar la centralita sino que también se evita tener que cambiar todas las líneas posteriores para esa misma extensión en caso de añadir nuevas líneas en el futuro. [casa] ; Nombre del contexto exten => 30001,1,NoOp(IVR de casa) ; NoOp es una aplicación que no hace nada más que mostrar por el CLI de Asterisk el mensaje que se le indique como parámetro. same => n,Answer() ; Para responder la llamada same => n,Wait(1) ; Esperar un segundo antes de seguir ejecutando el dialplan same => n,Playback(mensaje-de-bienvenida) ; Reproducir un mensaje de nombre 'mensaje-de-bienvenida' same => n,Dial(IAX2/2014) ; Llamar a través del protocolo IAX2 a la extensión 2014 definida en el fichero iax.conf same => n,Hangup() ; Terminar la llamada También se pueden definir patrones de marcado para ejecutar el mismo fragmento de código para múltiples y distintas extensiones. Por poner un ejemplo de una oficina con 5 extensiones, podemos escribir un fragmento de código que se ocupe extensión a extensión de que los usuarios puedan llamarse entres sí o podemos generar un único fragmento de código con un patrón de marcado (pattern) que permita llamar a distintos destinos en tan sólo 3 líneas de código: [empresa] exten => _400X,1,NoOp(Llamando a la extensión ${EXTEN})
  • 6. same => n,Dial(SIP/${EXTEN}) same => n,Hangup() Con estas 3 líneas la centralita interpreta que si se llama a cualquiera de las extensiones definidas por el patrón de marcado 400X (en el rango: 4000, 4001, 4002,... 4009), estaremos llamando al cliente SIP con número de cliente igual al valor almacenado en la variable reservada EXTEN y que coincide con el número que se acaba de marcar. Como se puede observar, el juego que da un patrón de marcado es muy amplio. Descargar Tutorial en PDF de Asterisk Compárteloconlosbotonessocialesque aparecenacontinuaciónypodrásdescargarel tutorial de Asterisk