proyecto manual asterisk

17
 Alfredo Certain Yance 1

Upload: zully-siesquen-santisteban

Post on 08-Jul-2015

162 views

Category:

Documents


0 download

TRANSCRIPT

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 1/17

 

Alfredo Certain Yance 1

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 2/17

 

2 GECKO NETWORKS – Taller: Asterisk, Comunicaciones de Código Abierto

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 3/17

 

Taller 1

Instalación de AsteriskSiga las siguientes instrucciones para instalar Asterisk y sus componentes en su equipo:

1. Copie los archivos con el código fuente de Asterisk al directorio /usr/src/ de su equipo de trabajo. Losarchivos los encontrará en el CD-ROM en el directorio asterisk-src.

2. Ingrese al directorio donde copió los archivos con el código fuente:

#cd /usr/src

3. Descomprima los archivos con el comando 'tar', por ejemplo:

tar -zxvf nombrearchivo.tar.gz 

4. Inicie instalando el driver zaptel

Ingrese al directorio zaptel:

#cd /usr/src/zaptel-version

# make clean# make linux26 # make install # make install-udev

Una vez hecho esto instale el script de inicio de zaptel:

# make config 

5. Instale libpri. Ingrese al directorio de libpri y ejecute los comandos:

#cd /usr/src/libpri-version

# make clean# make# make install 

6. Instale Asterisk. Ingrese al directorio de asterisk y ejecute los siguientes comandos:

#cd /usr/src/asterisk-version

# make clean# make# make install 

Una vez hecho esto instale los archivos de configuración de ejemplo:

# make samples

Si su equipo tiene conexión a internet instale el reproductor de MP3 mpg123:

# make mpg123

7. Inicie el servicio zaptel e inicie asterisk para comprobar su instalación.

Alfredo Certain Yance 3

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 4/17

 

Taller 2

Configuración de un Teléfono IPSiga las siguientes instrucciones para configurar su teléfono IP:

1. Determine la dirección IP de su equipo de trabajo, esta será usada como la IP de su servidor Asterisk.

2. Determine la dirección IP de su teléfono IP asignado.

3. Abra un navegador web y conectese a su teléfono con la url:

http://ipdesutelefono

4. Configure una cuenta con el número de extensión asignado. Utilize el mismo número como contraseñade la cuenta. Recuerde asignar la IP de su equipo como IP de su servidor de voz (SIPSERVER y

OUTBOUND PROXY)

5. Active los cambios realizados y reinicie su teléfono si es necesario.

4 GECKO NETWORKS – Taller: Asterisk, Comunicaciones de Código Abierto

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 5/17

 

Taller 3

Configuración de una Extensión SIPSiga las siguientes instrucciones para configurar su teléfono IP como una extensión SIP:

1. Haga una copia de seguridad de su archivo sip.conf original y cree uno nuevo:

#cp sip.conf sip.conf.original #touch sip.conf 

2. Ingrese los datos básicos al archivo sip.conf como se muestra a continuación:

; Archivo de configuracion [general]  port=5060context=default 

bindaddr=0.0.0.0language=esdisallow=all allow=ulaw allow=alaw 

Cree un nuevo archivo con el nombre sip_dispositivos.conf 

#touch sip_dispositivos.conf 

Ingrese a este archivo la información necesaria para crear un dispositivo SIP:

 [su-numero-de-extension] type=friend host=dynamiccontext=internousername= su-numero-de-extension

callerid=SuNombre <su-numero-de-extension>dtmfmode=rfc2833mailbox=su-numero-de-extension@internocallgroup=1

 pickupgroup=1

Active la inclusión de este archivo en el archivo sip.conf agregando las siguientes líneas al final de suarchivo sip.conf:

; Incluir archivo de dispositivos#include sip_dispositivos.conf 

3. Grabe los cambios en los archivos y activelos en Asterisk haciendo un reload con los siguientescomandos:

Ingrese a la consola de Asterisk 

#asterisk -r 

Recargue la configuración en el CLI

CLI> reload 

4. Verifique que su teléfono registre correctamente en el servidor Asterisk con el siguiente comando:

Alfredo Certain Yance 5

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 6/17

 

CLI> sip show peers

Si su teléfono registró correctamente usted verá algo como:

CLI> sip show peersName/username Host Dyn Nat ACL Port Status101/101 192.168.10.101 D 5060 Unmonitored

De lo contrario su teléfono aparecerá sin IP y sin puerto, como se muestra a continuación:

CLI> sip show peersName/username Host Dyn Nat ACL Port Status101/101 (Unspecified) D 0 Unmonitored

Si su teléfono no registra verifique cada uno de los pasos anteriores incluyendo la configuración de suteléfono. Si los parámetros de su teléfono y sus archivos de configuración no coinciden su teléfono nofuncionará.

En este punto su extensión puede realizar llamadas.

6 GECKO NETWORKS – Taller: Asterisk, Comunicaciones de Código Abierto

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 7/17

 

Taller 4

Activación de ExtensionesSiga las siguientes instrucciones para activar su extensión en el plan de marcación de su sistema:

1. Haga una copia de seguridad de su archivo extensions.conf original y cree uno nuevo:

#cp extensions.conf extensions.conf.original #touch extensions.conf 

2. Ingrese unos datos básicos al nuevo archivo extensions.conf como se muestra a continuación:

; Contexto global  [globals] 

; Funciones [func-generales] 

;Macros

; Inclusion de archivos externos#include extensions_extra.conf 

3. Cree el archivo donde colocará los contextos de extensiones

#touch extensions_extra.conf 

4. Ingrese los datos necesarios para hacer funcionar su extension SIP creada anteriormente:

 [default] include => interno

 [interno] 

include => func-generales

; extensiones SIP exten => su-numero-de-extension,1,Dial(SIP/su-numero-de-extension,30)

5. A fin de probar su extensión SIP, active ahora un dispositivo IAX y cree la extension 500 que

corresponde al teléfono por software con protocolo IAX que está usando su instructor.

6. Siga las siguientes instrucciones para configurar el archivo iax.conf de su sistema:

1. Haga una copia de su archivo iax.conf original. Renombrelo como iax.conf.original

2. Cree un nuevo archivo iax.conf vació usando el comando touch.

3. Agregue las siguientes líneas al nuevo archivo iax.conf para definir los parámetros básicosindicado que se usará el codec GSM:

 [general] 

language=esbindaddr=0.0.0.0bandwidth=low disallow=all allow=gsm

Alfredo Certain Yance 7

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 8/17

 

4. Agregue un dispositivo IAX para la extension 500. Esta será igual en todos los equipos de losestudiantes.

 [500] 

type=friend context=internousername=500callerid=Alfredo Certain <500>

 secret=500qualify=nohost=dynamic

5. Agregue la extensión en su archivo extensions_extra.conf:

; Extensiones IAX exten => 500,1,Dial(IAX2/500,30)

6. Ahora usted podrá marcar a la extensión 500 y la extensión 500 le podrá marcar a su extensión.

8 GECKO NETWORKS – Taller: Asterisk, Comunicaciones de Código Abierto

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 9/17

 

Taller 5

Uso de VariablesSiga las siguientes instrucciones para modificar su plan de marcación para usar variables.

1. Agregue las siguientes líneas al contexto [globals] de su archivo extensions.conf, ajuste el contenido deestas líneas a los números de extensión utilizados en su clase.

; Variables para extensiones SIP 

 EXTsunumerodeextension = SIP/sunumerodeextension

Por ejemplo, si su extensión es la 101 utilize:

 EXT101 = SIP/101

2. Modifique la forma de marcación de su extensión modificando el archivo extensions_extra.conf.

Reemplaze la línea del comando Dial con la siguiente. Se supone como ejemplo que su extensión es la101:

exten => 101,1,Dial(${EXT101},30)

Modifique la forma de marcación para la extensión 500 que utiliza IAX. Cree primero la variable globaly luego cambie la instrucción Dial asociada a la extensión.

3. Ahora la marcación entre extensiones se realiza utilizando variables globales.

Alfredo Certain Yance 9

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 10/17

 

Taller 6

Creación de MacrosSiga las siguientes instrucciones modificar su plan de marcación para usar macros.

1. Agregue el siguiente código a su archivo extensions.conf luego del comentario de Macros.

 [macro-stdexten] 

exten => s,1,Dial(${ARG1},20)exten => s,2,Voicemail(u${MACRO_EXTEN}@interno)exten => s,3,Hangupexten => s,102,Voicemail(b${MACRO_EXTEN}@interno)exten => s,103,Hangup

2. Modifique la forma en la que se realiza la marcación en el archivo extensions_extra.conf reemplazandola línea del comando Dial por la siguiente. Tomamos como ejemplo la extensión 101, utilize usted el

número real de su extensión.

exten => 101,1,Macro(stdexten,${EXT101})

Modifique también la extensión 500 creada anteriormente.

3. Ahora su marcación se realiza utilizando Macros.

10 GECKO NETWORKS – Taller: Asterisk, Comunicaciones de Código Abierto

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 11/17

 

Taller 7

Interconexión con IAXPara esta sección se debe trabajar en grupos de dos asistentes.

Sigan las siguientes instrucciones para configurar el archivo iax.conf de cada máquina:

1. Obtenga cada uno la dirección IP de su equipo de trabajo y tengala a la mano. Recuerde que esto puedehacerlo con el comando 'ifconfig' de Linux.

2. Edite su archivo iax.conf y agregue cada uno el siguiente código según corresponda.

EquipoA:

Cree un dispositivo IAX que referencie al equipo de su compañero.

 [1001] 

type=friend username=1001

 secret=1001host=direccion-ip-equipo-Bcontext=interno

Equipo B:

Cree un dispositivo IAX que referencie al equipo de su compañero.

 [1002] type=friend username=1002

 secret=1002host=direccion-ip-equipo-Acontext=interno

3. En el archivo extensions_extra.conf cree un mecanismo de llamada al servidor remoto para cada uno delos equipos.

Equipo A:

; Contexto de llamadas x Interconexion IAX  [interconexion] 

exten => _7X.,1,Dial(IAX2/1002:1002@direccion-ip-equipo-B/${EXTEN:1},30,r)

 Note que se utiliza el usuario IAX creado en el equipo B.

Equipo B:

; Contexto de llamadas x Interconexion IAX  [interconexion] 

exten => _7X.,1,Dial(IAX2/1001:1001@direccion-ip-equipo-A/${EXTEN:1},30,r)

 Note que se utiliza el usuario IAX creado en el equipo A.

4. Pruebe las llamadas en ambas direcciones así:

Equipo A:

Marque desde su extensión 7+numero-extesión-equipo-B

Alfredo Certain Yance 11

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 12/17

 

La llamada debe ingresar a la extensión del equipo B.

Equipo B:

Marque desde su extensión 7+numero-extesión-equipo-ALa llamada debe ingresar a la extensión del equipo A.

Ahora tiene dos sistemas interconectados por IAX con el codec GSM.

12 GECKO NETWORKS – Taller: Asterisk, Comunicaciones de Código Abierto

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 13/17

 

Taller 8

Activación del Correo de VozSiga las siguientes instrucciones para activar el correo de voz en su sistema:

1. Haga una copia de su archivo voicemail.conf con el nombre voicemail.conf.original.

2. Edite el archivo voicemail.conf y agreguele un buzón de voz en el contexto default según el siguienteejemplo:

 [default] 

101 => 101,SuNombre,[email protected],,attach=yes|saycid=no|envelope=no|delete=no

3. Modifique ahora su archivo extensions.conf y agregue la funcionalidad de llamado al buzón de

mensajes de voz como se muestra en el siguiente ejemplo:

; Funciones [func-generales] 

exten => *98,1,Answer exten => *98,n,Wait(1)exten => *98,n,VoiceMailMain()exten => *98,n,Hangup()

4. Asegurese de que el contexto [func-generales] esté incluido dentro del contexto de sus extensiones.

5. Pruebe el acceso a su buzón marcando *98 y siguiendo las instrucciones del buzón.

Alfredo Certain Yance 13

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 14/17

 

Taller 9

Creación de Salas MeetmeSiga las siguientes instrucciones para configurar salas de conferencia multiples en su plan de marcación.

1. Renombre su archivo meetme.conf a meetme.conf.original.

2. Cree un nuevo archico meetme.conf y agreguele el siguiente contenido:

; Archivo de Salas Meetme [general] 

 [rooms] ; Uso: conf => numero-conferencia[,pin][,adminpin] 

conf => 201,1234 

3. Cree un mecanismo para llamar a las salas meetme en su archivo extensions.conf, por ejemplo:

 [salas-meetme] exten => _*2XX,1,MeetMe(${EXTEN:1})exten => _*2XX,2,Hangup

4. Asegurese de que el nuevo contexto este disponible al contexto de sus extensiones.

5. Pruebe su sala marcando el número de la sala. Si es posible utilize mas de una extensión para esta

 prueba o realize la prueba en equipo con su(s) compañeros de mesa de trabajo.

14 GECKO NETWORKS – Taller: Asterisk, Comunicaciones de Código Abierto

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 15/17

 

Taller 10

Call CenterSiga las siguientes instrucciones para crear un call center básico.

1. Uno de los equipos del curso actuará como servidor principal Se debe elegir uno de los equipos yconfigurar todos los teléfonos para que se registren contra ese servidor.

Una parte de los asistentes actuará como agentes que reciben llamadas y la otra parte actuará comoclientes que llaman al call center.

2. En el servidor elegido se deben crear todas las extensiones SIP según lo visto en los talleres anteriores.

3. En ese mismo servidor se deben crear las colas y agentes del call center según las siguientesinstrucciones:

Colas & Agentes:

1. Renombre su archivo queues.conf como queues.conf.original

2. Cree un nuevo archivo queues.conf y agregue el siguiente contenido:

 [general] ;

 [default] ;

; Cola de pruebas [cola-curso] ;music = default announce = cola-pruebas

 strategy = roundrobin

;context = qoutcontimeout = 15retry = 5wrapuptime=15maxlen = 0;member => Agent/4001member => Agent/4002member => Agent/4003member => Agent/4004 member => Agent/4005member => Agent/4016 member => Agent/4007 member => Agent/4008member => Agent/4009member => Agent/4010

 ...

Complete con tantos agentes como se requiera según la cantidad de asistentes al curso.

3. Configure ahora los agentes teniendo cuidado de realizar una copia a su archivo original

agents.conf y luego coloque el siguiente contenido:

Alfredo Certain Yance 15

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 16/17

 

; Agent configuration

[agents]

;ackcall=no

;musiconhold => default

; Listado de Agentes

; Uso: agent => numero-agente, clave, nombre-agente

agent => 4001,4321,Nombre Agente

agent => 4002,4321,Nombre Agente

agent => 4003,4321,Nombre Agente

agent => 4004,4321,Nombre Agente

agent => 4005,4321,Nombre Agente

agent => 4006,4321,Nombre Agente

agent => 4007,4321,Nombre Agente

agent => 4008,4321,Nombre Agente

agent => 4009,4321,Nombre Agente

agent => 4010,4321Nombre Agente

4. Ahora debe crearse un mecanismo para loguear y desloguear los agentes. Puede utilizar elsiguiente ejemplo y agregarlo en su archivo extensions.conf en un contexto adecuado como el defunciones generales:

;Ingreso y Salida de Agentesexten => #400,1,AgentCallbackLogin(|${CALLERIDNUM}@local)

5. Finalmente debemos proveer un mecanismo que reciba las llamadas y las direccione a una cola:

 [entrantes-rtpc] 

exten => 900,1,Answer exten => 900,2,SetLanguage(es)exten => 900,3,SetMusicOnHold(default)exten => 900,4,GotoIfTime(06:00-18:00|mon-sun|*|*?envio-cola,s,1)

exten => 900,5,DigitTimeout,2exten => 900,6,ResponseTimeout,3exten => 900,7,Playback(mensaje-horario)

 [envio-cola] 

exten => s,1,Queue(cola-curso|tT|||20)exten => s,2,Playback(operadores_ocupados)exten => s,3,Hangup()

6. Luego de regargar la configuración y asegurar que todas las extensiones funcionan correctamenteregistrandose al servidor elegido, decidir que asistentes serán agentes y cuales serán lamantes.

Los agentes deberán registrarse marcando #400 y siguiendo las instrucciones, los llamantes

 podrán simular una llamada entrante marcando 900.

Se puede monitorear el estado de los agentes y la cola en el CLI con los comandos:

CLI> show queues para mostrar las colas

CLI> show agentes  para mostrar los agentes y sus estados

16 GECKO NETWORKS – Taller: Asterisk, Comunicaciones de Código Abierto

5/10/2018 Proyecto Manual Asterisk - slidepdf.com

http://slidepdf.com/reader/full/proyecto-manual-asterisk 17/17

 

AUTOR 

Alfredo Certain Yance

Ingeniero Eléctrico con más de diez (10) años de experiencia en Telecomunicaciones y entreestos mas de tres (3) años de experiencia con Asterisk a partir del año 2003 y primer 

  profesional en Latinoamérica con la Certificación dCAP "Digium Certified Asterisk  Professional".

Ha diseñado y ejecutado diversos montajes de Asterisk en Colombia para sectores de altaimportancia en el país tales como Bolsa, Banca, Call Center, Oficinas Virtuales y el Sector Corporativo en general. También cuenta con experiencia en proyectos activos con Asterisk en Brasil y EEUU. Actualmente Gerente General de Gecko Networks.

GECKO NETWORKS

www.gecko.com.coAv 15 N° 106 50, Of 403Bogotá D.C. - Colombia

® GECKO, 2005-2006 . GECKO es una marca registrada de Gecko Networks. LINUX es una marcaregistrada de Linus Torvalds. ASTERISK es una marca registrada de Digium. Todas las otras marcas

 son propiedad de su respectivo propietario.

 Anexo Taller  Asterisk TM  , Comunicaciones de Código Abierto por: Alfredo Certain Yance

Copyright © 2006 GECKO EU, GECKO NETWORKS. Todos los derechos reservados Impreso en Colombia

 Pre-Edición Especial de distribución controlada.

Todos los derechos reservados. Ninguna parte de este documento podrá ser reproducido,almacenado o transmitido por ningún medio impreso o electrónico sin el permiso escrito del autor.

  El autor no asume ninguna responsabilidad por errores u omisiones. No se asume ningunaresponsabilidad por los daños resultantes del uso de la información contenida en este documento.

Todas las marcas son propiedad de sus respectivos propietarios.

Alfredo Certain Yance 17