servicios asterisk

33
Universidad del Cauca Facultad Ingeniería Electrónica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones 1 PRACTICA 2: CONFIGURACION DE SERVICIOS EN ASTERISK PRESENTADO POR: SIMON BEDOYA VALENCIA ANDRES FELIPE SEVILLA PRESENTADO A: ING. DANIEL EDUARDO CAÑON UNIVERSIDAD DEL CAUCA FACULTAD DE INGENIERIA ELECTRÓNICA Y TELECOMUNICACIONES POPAYAN 2015

description

servicios asterisk

Transcript of servicios asterisk

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    1

    PRACTICA 2: CONFIGURACION DE SERVICIOS EN ASTERISK

    PRESENTADO POR:

    SIMON BEDOYA VALENCIA

    ANDRES FELIPE SEVILLA

    PRESENTADO A:

    ING. DANIEL EDUARDO CAON

    UNIVERSIDAD DEL CAUCA

    FACULTAD DE INGENIERIA ELECTRNICA Y TELECOMUNICACIONES

    POPAYAN

    2015

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    2

    1. INTRODUCCION

    En la siguiente practica se vera la configuracion de diferentes servicios del sistema

    ASTERISK, se configuraran diferentes parametros en archivos como extensions.conf,

    sip.conf, voicemail.conf, entre otros.

    Ademas del respectivo analisis a los protocolos SIP, de cada uno de los servicios

    configurados por medio de la herramienta Wireshark (Analizador de protocolos) y por

    ultimo se desarrollara un aplicativo (AGI) para la atencion de solicitudes a usuarios.

    2. OBJETIVOS

    2.1. Objetivo General

    Configurar diferentes servicios en Asterisk.

    2.2. Objetivos Especficos

    Instalar y configurar servicios basicos como Voicemail, Followme, Meetme,

    Conference, Transferencia de llamada asistida y Grabacion bajo demanda.

    Instalar y configurar servicios IVR.

    Configurar codecs e idioma en Asterisk.

    Configurar AGI (Asterisk Gateway Interface)

    Desarrollar un aplicativo con Asterisk y AGI para atender solicitudes de

    usuarios.

    Analizar mensajes SIP en los diferentes servicios configurados.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    3

    3. DESARROLLO (INSTALACION Y CONFIGURACION SERVICIOS

    BASICOS ASTERISK)

    A continuacion se describira la configuracion de diferentes servicios en Asterisk como

    tambien se analizaran los diferentes mensajes SIP generados en cada uno de los

    momentos de la llamada.

    3.1. VOICEMAIL (Correo de Voz)

    CONFIGURACION:

    Primer paso: Se debe configurar en el archivo extensions.conf le extension a la cual

    se comunicara con el correo de voz, para este caso sera la extension 123.

    Como se observa se configura como una extension como se realizo en la practica

    pasada con un pequeo cambio ya al momento de contestar no se pasa a la extension

    sino que accedemos a la funcion principal del correo de voz que el VoiceMailMain el

    cual es el que accedera a donde estan localizados los mensajes, con la funcion

    ${CALLERID(num)} obtenemos el numero de la extension de la que llamamos y

    despues nos pedira la contrasea que mas adelante se explica como se establece y todo

    esto en el contexto lab3sistel que es en el que estan las extensiones.

    Segundo paso: Ahora configuramos el mailbox en cada una de las extensiones

    anteriormente creadas en el archivo sip.conf

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    4

    Tercer paso: Ahora en el archivo voicemail.conf configuramos las caracteristicas que

    va a tener nuestro correo de voz, en esta seccion podemos configurar diferentes

    componentes como:

    - Codec audio.

    - Remitente correo electronico.

    - Envio del mensaje de voz con el correo.

    - Numero maximo de mensajes.

    - Numero maximo de segundos por mensaje de voz.

    - Etc.

    Entre otras funcionalidades, ahora se crea el contexto en el que estamos trabajando

    (lab3sistel) y se crean los voicemails para cada una de las extensiones como se muestra

    en la siguiente figura.

    Cuarto paso: Por ultimo configuramos en cada una de las extensiones en el archivo

    extensions.conf para que despues de un tiempo de timbrado acceda a dejar el mensaje

    de voz.

    En la anterior imagen se observa que si al realizar una llamada esta hace el proceso de

    timbrado por mas de 10 segundos, entra al voicemail de la extension y se ejecuta el

    menu del correo de voz.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    5

    Como podemos observar en la figura 1

    la interaccion de mansajes SIP entre el

    emisor y el servior, se opbserva la

    invitacion hasta el timbrado (Ringing),

    despues de que se cumple el tiempo

    establecido de timbrado para este caso

    10 segundos, el servidor entra a

    cancelar el timbrado en el receptor

    como se observa en la figura 2. el

    servidor termina el proceso de llamada

    al receptor y queda en funcionamiento

    con el emisor solicitando el registro del

    mensaje de voz y almacenandolo con

    su respectiva informacion.

    Al final se observa que en el momento

    en que empieza a trabajar el servicio de

    Voicemail, solo queda conexin entre

    el servidor y el emisor.

    En la figura 3 se puede observar

    cuando se realiza la llamada al buzon

    de voz para revisar los mensajes que

    han dejado en el, se observa como se

    envian los datos para la contrasea y

    por medio del protocolo RTP es que

    hacemos toda la interaccion entre

    servidor y el emisor.

    Figura 3

    Figura 3

    Figura 3

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    6

    3.2. CONFIGURACION DEL IDIOMA ESPAOL

    1. Se accede como superusuario: sudo su

    2. Ubicarse en el directorio /usr/src: cd /usr/src

    3. Crear un nuevo diretorio llamado voces: mkdir voces

    4. Descargamos los archivos de los audios en espaol por medio de los siguientes

    comandos:

    Wget http://www.voipnovatos.es/voces/voipnovatos-core-sounds-es-ulaw-

    1.4.tar.gz

    wget http://www.voipnovatos.es/voces/voipnovatos-extra-sounds-es-ulaw-

    1.4.tar.gz

    5. Descomprimir los archivos:

    tar zxvf voipnovatos-extra-sounds-es-ulaw-1.4.tar.gz

    tar zxvf voipnovatos-core-sounds-es-ulaw-1.4.tar.gz

    6. Ya que los directorios creados son del tipo //es, los cuales no

    corresponden a la estructura manejada por nuestra version de asterisk, es

    necesario mover los directorios descomprimidos hacia la ubicacin correcta. A

    continuacion se crea cada uno de los directorios en la forma correcta para que

    pueda ser interpretado por asterisk.

    mkdir /var/lib/asterisk/sounds/es/dictate

    mkdir /var/lib/asterisk/sounds/es/letters

    mkdir /var/lib/asterisk/sounds/es/silence

    mkdir /var/lib/asterisk/sounds/es/followme

    mkdir /var/lib/asterisk/sounds/es/phonetic

    mkdir /var/lib/asterisk/sounds/es/digits

    7. Mover el todo contenido de cada directorio descomprimido a su

    correspondiente creado en el punto 6.

    mv /voces/es/* /var/lib/asterisk/sounds/es/

    mv /voces/digits/es/* /var/lib/asterisk/sounds/es/digits/

    mv /voces/dictate/es/* /var/lib/asterisk/sounds/es/dictate/

    mv /voces/letters/es/* /var/lib/asterisk/sounds/es/letters/

    mv /voces/silence/es/* /var/lib/asterisk/sounds/es/silence/

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    7

    mv /voces/followme/es/* /var/lib/asterisk/sounds/es/followme/

    mv /voces/phonetic/es/* /var/lib/asterisk/sounds/es/phonetic/

    8. Configurar los archivos asterisk.conf y sip.conf modificando las siguientes

    lineas:

    En asterisk.conf habilitamos la linea languageprefix = yes

    En sip.conf, en el contexto general agregamos la linea language = es

    3.3. SERVICIO TRANSFERENCIA DE LLAMADA ATENDIDA

    Este servicio permite realizar la transferencia de una llamada en curso a otra

    extencion. Esta transferencia la puede realizar cualquiera de los dos usuarios

    involucrados en la comunicacin.

    3.3.1. Configuracin

    Para configurar este servicio es necesario modificar los archivos de

    configuracion extensions.conf y features.conf, realizando los siguientes

    pasos:

    1. Abrimos terminal y accedemos como super usuario mediante el comando

    sudo su.

    2. Vamos al directorio de ASTERISK

    cd /etc/asterisk

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    8

    3. Despues que estemos en el directorio de ASTERISK abrimos el archivo

    extensions.conf mediante el comando nano extensions.conf o gedit

    extensions.conf.

    4. Ahora se procede a modificar el archivo extensions.conf aadiendo la

    siguiente linea a cada extensin:

    exten => extensin, n, Dial (SIP/40000,extensin,tTWw)

    Donde t es un parametro que permite activar el servicio de transferencia en

    el destino y T en el origen. Es decir que t permite al llamado realizar

    transferencia de llamadas pulsando la combinacion de teclas definidas en

    el archivo features.conf y T permite la transferencia al llamante.

    Figura 4. Configuracion extensions.conf

    5. A continuacion se procede a configurar el archivo features.conf para

    definir la combinacion de teclas para usar el servicio de transferencia. Ya

    en el archivo features.conf, se procede a descomentar las lineas atxfer =>

    *2 y blindxfer => #1.

    atxfer permite realizar una transferencia de llamada atendida al presionar

    *2 seguido por el nmero de la extensin. Al seguir el proceso de

    transferencia se escuchar timbrar esperando respuesta de la extensin a la

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    9

    que la transfiere. Quien ejecuta la transferencia puede hablar con el

    interlocutor, solamente cuando quien transfiere cuelgue, las dos

    extensiones podrn conectarse.

    Mientras que blindxfer, permite transferir una llamada al presionar la tecla

    #1 seguido del nmero de la extensin, la llamada se transferir e

    inmediatamente la llamada entre el interlocutor y quien transfiere

    terminar.

    Figura 2. Configuracin features.conf

    3.3.2. Funcionamiento

    Hay dos formas de transferencia de llamada, transferencia ciega y

    transferencia atendida.

    Transferencia ciega:

    Para este caso se realiza una llamada de 30000 a 30001, pero el usuario 30001

    quiere realizar una transferencia a la extension 30002 para establecer la

    comunicacin entre 30000 y 30002. El usuario 30000 llama al usuario 30001,

    este contesta la llamada, digita el numero para la transferencia, en este caso es

    el #1, y seguidamente se digita la extensin a la que quiere transferir la

    llamada, es decir el usuario 30002. El usuario llamante 30000 queda en espera

    mientras 30001 llama al usuario 30002 y le comunica que tiene una llamada

    de 30000. En este momento, 30002 puede aceptar o rechazar la llamada. En

    caso de aceptar, 30001 slo tiene que colgar para que la llamada se establezca

    entre 30000 y 30002.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    10

    Figura 3. Transferencia ciega.

    En la figura 4 se muestra el funcionamiento en la consola CLI de asterisk.

    Figura 4. Transferencia Ciega en CLI de asterisk.

    Transferencia atendida:

    En este tipo de transferencia, el usuario que inicia la llamada 30000, llama al

    usuario 30001, una vez este ha contestado, el usuario 30001 digita la clave

    para la transferencia, en este caso es el *2 y digita el nmero de la extensin a

    la que quiere transferir, 30002. El usuario 30000 es dejado en espera mientras

    30001 llama al usuario final 30002 y le comunica que 30000 quiere

    comunicarse con l. En este momento, 30002 puede aceptar o rechazar la

    llamada. En caso de aceptar, 30001 slo tiene que colgar para que la llamada

    se establezca entre 30000 y 30002.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    11

    Figura 5. Transferencia Atendida en CLI de asterisk.

    3.3.3. Sealizacin SIP

    3.3.3.1. Sealizacin SIP Transferencia ciega

    El usuario 30001 y 30002 establecen la comunicacin mediante los

    mtodos determinados para hacerlo, as 30001 enva su informacin,

    informacin del destino y del tipo de informacin a transmitir (INVITE),

    se informa al usuario 30002 mediante el timbre (180 ringing) y se establece

    la comunicacin (200 OK). El usuario 30002 solicita el fin de la llamada,

    para que esta sea transferida al usuario 30003, la llamada entre 30001 y

    30002 termina y se establece la comunicacin entre 30001 y 30003.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    12

    Figura 6. Sealizacion SIP en wireshark.

    3.3.3.2. Sealizacin SIP Transferencia atendida

    Como se aprecia se realiza la primera llamada mediante el mtodo INVITE

    a la cual el sistema responde con un ACK, desde este terminal se realiza

    la transferencia que se hace nuevamente por el mtodo INVITE, este

    intenta y realiza el timbrado a la siguiente extensin, quien establece la

    transferencia mediante 200 OK y confirma con un ACK, terminado la

    llamada con BYE.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    13

    Figura 7. Sealizacion SIP en wireshark.

    Figura 7. Sealizacion SIP en llamada de 30000 a 30001.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    14

    3.4. GRABACIN BAJO DEMANDA

    En el servicio de grabacin bajo demanda, su funcionamiento consiste en almacenar

    archivos de audio en formato .wav, pertenecientes a las conversaciones tenidas por el

    usuario. Para activar el servicio cualquiera de los usuarios, durante una conversacin,

    puede presionar la combinacin de teclas *1, seguidamente se procede a realizar el

    almacenamiento de la grabacin, que se detendr al colgar la llamada o al presionar

    nuevamente la combinacin de teclas anteriormente mencionada.

    3.4.1. Configuracin

    1. Acceder como sper usuarios por medio del comando sudo su 2. ubicarse en el directorio de asterisk cd /etc/asterisk 3. Abrir los archivos de configuracin features.conf y extensions.conf por medio de

    los comandos:

    # nano extensions.conf

    # nano features.conf

    4. Ahora se procede a modificar el archivo de configuracin extensions.conf aadiendo la siguiente lnea:

    exten => extensin, n, Dial (SIP/40000,extensin,tTWw)

    Como se muestra anteriormente: w permite iniciar la grabacin de la llamada mediante el envo de la secuencia DTFM definida para la grabacin por una

    marcacin en la configuracin definida en features.conf. Anlogamente, W permite iniciar la grabacin de la llamada mediante el envo de la secuencia DTMF

    definida para la grabacin por una marcacin en la configuracin de features.conf.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    15

    Figura 8. Configuracin extensions.conf para grabacin bajo demanda.

    5. A continuacin se modifica el archivo features.conf, en el cual se configura la combinacin de teclas para acceder al servicio.

    En el contexto featuremap se agrega la lnea:

    (Set(DYNAMIC_FEATURES=automon)) y se activa automon => *1.

    Figura 9. Configuracin features.conf

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    16

    En la figura se puede ver que el parmetro automon => 1 indica que

    cuando *1 es marcado se activa automaticamente la grabacin de

    llamadas hasta que finalice la comunicacin.

    3.4.2. Funcionamiento

    Cuando 30000 llama a 30001, este contesta y se inicia la conversacin; en cualquier

    momento, mientras la llamada se encuentre en progreso, uno de los dos usuarios marca

    *1 y se comienza a grabar la conversacin, creando un archivo de audio para cada

    usuario, y almacenndolos en /var/spool/Asterisk/monitor, generalmente en formato

    .wav; estos archivos se guardan con la hora de inicio y con los nmeros de las

    extensiones involucradas. La grabacin finaliza cuando la llamada termine (error de

    conexin, alguno de los usuarios cuelga). A continuacin se muestra la direccin donde

    quedan guardados los audios con extensin .wav

    Figura 10. Directorio donde se almacenan las grabaciones.

    A continuacin se muestra el proceso de grabacion en la consola CLI de

    asterisk.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    17

    Figura 11. Grabacion bajo demanda en CLI.

    3.4.3. Sealizacin SIP

    El que marca *1 es el usuario 30000 y tambien el que finaliza:

    Se observa como el usuario 30000 extiende un mtodo de registro para asociar

    su direccin fsica a la direccin IP identificada (REGISTER), inicialmente el

    servidor no lo autoriza (401 Unautho) , pero finalmente la comunicacin se

    establece y posterior a la aceptacin, el usuario 30000 enva su informacin y

    la del destinatario y adems caracterizacin del flujo que ser intercambiado

    al servidor (INVITE), el usuario 30000 marca al usuario 30001 y el servidor

    le responde indicando que la solicitud ha sido recibida (trying 100), y

    posteriormente enva al usuario A informacin adicional sobre el proceso de

    la llamada hasta que el usuario 30001 es avisado de su llamada ( 180 ringing)

    se establece la comunicacin y el usuario 30000 marca *1 que es la opcin

    que le permite grabar su comunicacin, esta se desarrolla y termina.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    18

    Figura 12. Sealizacion SIP usuario 30000 llamando y grabando.

    Figura 13. Llamada desde 30000 a 30001 y grabada por 30000.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    19

    3.5. SERVICIO DE FOLLOWME

    El servicio de Followme permite redireccionar una llamada a un numero de

    extensiones definidas en los archivos de configuracion en caso que la

    extension a la que se llama no est disponible.

    3.5.1. Configuracin

    1. Acceder como super usuario: sudo su

    2. Ubicarse en el directorio de asterisk: cd /etc/asterisk

    3. Abrir los archivos de configuracin extensions.conf y followme.conf

    # nano extensions.conf

    # nano followme.conf

    4. Editar el archivo de configuracin extensions.conf modificando las

    siguientes lineas:

    exten => nmero de extensin, n, FollowMe (nmero de extensin,san)

    Esta linea le indica al servidor asterisk que si hay una llamada hacia la

    extension configurada, mire el archivo followme.conf, que es donde se

    encuentran configuradas las extensiones a las cuales se debe llamar en caso

    que la extension principal no est disponible. A continuacion se muestra

    el archivo configurado.

    El comando san indica tres opciones de

    configuracin:

    s : Anunciar al llamante el estado de la

    extensin solicitada antes de empezar los

    distintos pasos configurados en el archivo

    followme.conf.

    a: El llamante podr grabar su nombre para que

    sea anunciado al llamado cuando conteste.

    n: si una vez que se hayan llamados

    todos los nmeros no se logre localizar

    la persona buscada el llamante

    escuchar una voz que le dir que no ha

    sido posible localizar el destinatario de

    la llamada.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    20

    5. Editar el archivo followme.conf, modificando y habilitando las siguientes

    lineas:

    featuredigittimeout=>5000:

    Numero de milisegundos para

    aceptar o rechazar la llamada

    takecall=>1

    para aceptar la llamada despus de

    descolgar, se deber hundir la tecla 1

    del telfono

    declinecall=>2

    Para rechazar la llamada se deber

    hundir la tecla 2

    call-from-prompt=>followme/call-

    from

    La voz predefinida si el llamante no

    ha registrado el propio nombre o si la

    opcin para registrarlo no ha sido

    activada.

    options-prompt=>followme/options

    Esta voz anunciar al llamado que

    tendr digitar 1 para aceptar la

    llamada y dos para rechazarla

    pls-hold-prompt=>followme/pls-hold-

    while-try

    El llamante escuchar esta voz que le

    dir que espere en lnea mientras se

    intentar localizar el llamado.

    status-prompt=>followme/status

    Esta voz anunciar al llamante que la

    persona llamada no se encuentra al

    momento.

    sorry-prompt=>followme/sorry:

    Si al final de todos los desvos nadie

    contestar la llamada, esta voz

    anunciar al llamante que no se ha

    podido localizar la persona buscada

    Adems de esto, se configurar las extensiones a las cuales se deben desviar

    las llamadas.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    21

    Figura 14. Configuracin followme.conf

    musicclass=>default

    Tipo de msica de espera que escuchar el

    llamante mientras se localizar el destinatario.

    context=>prueba:

    El contexto que usar la aplicacin Followme

    para localizar el llamado

    number=>extensin siguiente, duracin en

    segundos de la marcacin

    La lista de nmeros que se intentar llamar

    para localizar el destinatario de la llamada.

    3.5.2. Funcionamiento

    A continuacin se muestra en la consola del asterisk el proceso de llamada

    entre el usuario 30003 al 30000, cuando el usuario 30000 no contesta se activa

    el servicio de Follow-me en el que se intenta llamar a la extensin siguiente

    configurada en el followme.conf, que este caso es la de 30001, y en caso que

    la extension 30001 no conteste luego de un tiempo determinado (10 segundos),

    intentar llamar a la extensin siguiente, es decir a la 30002, si 30002 no

    contesta, pasar al correo de voz (VoiceMail), tal como se muestra a

    continuacin:

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    22

    Llamada no contestada por parte del usuario 30000:

    Ya que el usuario 30000 no contesta, se activar el servicio followme y pedira

    que grabe el nombre el cual sera almacenado en el directorio

    /var/spool/asterisk/followme, la llamada sera desvaida a la extension 30001,

    pero como este no contesta intentar llamar a la extension 30002. Igualmente,

    al no contestar la extensin 30002, se dirigir directamente al buzon de voz,

    el cual se almacena en el directorio /var/spool/asterisk/voicemail.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    23

    Llamada contestada por la extension 30001:

    3.5.3. Sealizacin SIP

    Llamada no contestada por el usuario 30000.

    El usuario 30003 est intentando comunicarse con el usuario 30000, enviando

    al servidor un INVITE a la extensin 30003 y recibe un 100 Trying; despus

    de un tiempo, el servidor deja de intentar ya que 30000 no contesta (Request:

    CANCEL), se termina la solicitud (487 Request) y A enva un ACK.

    Posteriormente, el servidor enva un ENVITE a la extensin 30001, tratando

    de localizar al usuario, el cual contesta (200 OK) y oprime un nmero

    indicando si recibe la llamada o no (Request: INFO), al oprimir 1 se establece

    a comunicacin (200 OK). Luego 30001 cuelga (BYE) y se termina la

    llamada.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    24

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    25

    3.6. ConfBridge (Conferencias)

    El servicio de ConfBridge se opta tomarlo por que el servicio homologo que

    es Meetme require de una aplicativo extra el cual es Dahdi y en el proceso de

    instalacion de Dahdi ocurrieron diferentes contratiempos y no se pudo instalar

    de manera correcta para que se pudiera activar el servicio MeetMe, por otro

    lado se trabaja este otro servicio por que recrea el mismo entorno y funcion de

    MeetMe que es poder hacer conferencias.

    3.6.1. Configuracion:

    Se entra al archivo extensions.conf y colocamos los parametros de la extension

    que alojara la conferencia de la siguiete manera:

    Aca se observa como configura el servicio confbridge, donde la extension de

    la sala de conferencia sera la 5000, con una contrasea 123 y el parametro s

    que nos informa si el usuario entra y le informa que esta solo en la sala.

    Ahora se dirige a configurar en el archivo sip.conf la extension del la sala de

    conferencia de la siguiente manera:

    como se puede observar la configuacion de la

    extension es muy similar a la de una extension para

    un softphone, una diferencia es que no se define host,

    y definimos allow para que soporte la negociacion de

    los codec de audio de las extensiones.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    26

    3.6.2. Sealizacion SIP:

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    27

    4. DESARROLLO (CONFIGURACION SERVICIOS DE IVR EN ASTERISK)

    4.1. Configuracion:

    Como primer paso empezamos a construir el IVR, para esto creamos el archivo

    Gedit /etc/asterisk/IVR

    Luego empezamos a construir nuestro IVR, se hace de la siguiente manera:

    Primero tenemos una espera de un

    segundo despues de contestar,

    luego establecemos el idioma del

    canal, establecemos tiempo de

    ingreso de digitos y respuesta,

    luego ejecutamos el audio con el

    menu, luego ejecutamos el

    WaitExten el que se encarga de

    esperar y leer los digitos

    ingresados en el telefono, si se

    presiona 1 marcamos a la

    extension 30001, si presionamos 2

    hacemos redireccion a otro

    contexto del IVR, si se presiona un

    numero erroneo o sin funcion se

    ejecuta el mensaje que el numero

    es invalido y repite el menu.

    Despues configuramos la extension de marcado del IVR (contestadora) en el

    archivo extensions.conf y tambien incluimos el archivo al finalizar el contexto

    del dialplan.

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    28

    4.2. Sealizacion SIP:

    5. AGI APLICACIN EN PHP

    5.1. Descripccion:

    La aplicacin se integra con un IVR diseado para el organismo de transito y

    transporte minucipal, el cual tiene opciones de comunicacin con extensiones

    definidas o tambien de marcar una extension predeterminada por el usuario,

    donde entra el conjunto de AGI con el lenguaje de programacion PHP, lo hace

    con un numero de extension, el cual dara la informacion del estado de cuenta

    de una persona registrada ante el organismo de transito y transporte, el cual le

    pedira al usuario ingresar su identificacion, la aplicacin AGI php actuara e

    ingresara a la base de datos y cotejara la informacion ingresada, si la

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    29

    identificacion se encuentra registrada en el sistema, automaticamente cargara

    la informacion que tiene esa identificacion como lo es el nombre, apellido,

    numero de multas y el valor total de ellas, enviara la informacion a asterisk el

    cual por medio del servicio festival que se encarga de el texto convertirlo en

    audio, informara a la persona de su estado.

    5.2. Configuracion:

    Primer paso descargamos los componentes del phpagi y los llevamos a su

    carpeta respectiva, con los siguientes comandos:

    cd /usr/src

    wget http://sourceforge.net/projects/phpagi/files/latest/ -O phpagi.tgz tar xvf phpagi.tgz mkdir /var/lib/asterisk/agi-bin/phpagi cp -r /usr/src/phpagi-/* /var/lib/asterisk/agi-bin/phpagi/

    despues de tener los archivos copiados, revisamos que el compilador php este

    funcionando correctamente este esta ubicado en la carpeta:

    /usr/bin/php

    Si poseemos problemas con el compilador phpagi realizamos la instruccin

    Apt-cache search php | grep agi

    Con esta linea nos apareceran todos los paquetes relacionados con phpagi, los

    que nos aparezcan los debemos instalar, con el comando apt-get install y el

    nombre del paquete.

    Despues de tener configurado el sistema phpagi, en el momento de crear los

    scripts de php se debe tener en cuenta los permisos y propietarios de los scripts

    php, se debe colocar con permiso total, se un fichero ejecutable y el propietario

    asterisk como tambien el grupo, para cambiar estas propiedades al script se

    ejecutan los siguientes comandos:

    Chown propietario::grupo ubicacin del archivo //con este comando

    cmabiamos de propietario y grupo del archivo

    Chmod 775 ubicacin del archivo //configuramos los permisos del archivo

    sea ejecutable

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    30

    Chmod 777 ubicacin del archivo //configuramos los permiso total para el

    propietario

    Despues de verificar que los archivos esten en la ubicacin correcta y con los

    permisos apropiados, se comienza con la ejecucion del codigo php.

    //definimos la ubicacin del compilador php

    #!/usr/bin/php q

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    31

    $_result = mysql_query($query, $conexion);

    //verificamos si existe un resultado

    if($_re = mysql_fetch_array($_result)) {

    //definimos las variables y las enviamos al dialplan de asterisk

    $agi->set_variable("nombre", $_re[nombre]);

    $agi->set_variable("apellido", $_re[apellido]);

    $agi->set_variable("n_multas", $_re[nmultas]);

    $agi->set_variable("valorm", $_re[valor]);

    }else{

    //de lo contrario enviamos un mensaje

    $agi->text2wav("no encontrado");

    }

    }

    ?>

    Ahora veremos el codigo de configuracion del IVR con el AGI, para ser

    ejecutado desde una extencion, se maneja el mismo macanismo ya explicado

    en el servicio IVR

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    32

    5.3. Sealizacion SIP:

  • Universidad del Cauca Facultad Ingeniera Electrnica y Telecomunicaciones Practica 2: Configuracion de servicios en ASTERISK Laboratorio III de Sistemas de Telecomunicaciones

    33

    6. CONCLUSIONES

    Asterisk permite implementar servicios de telefona y servicios de valor agregado de manera fcil y rpida.

    Se implementaron todos los servicios de Asterisk teniendo en cuenta que para un buen funcionamiento se la compatibilidad de los programas instalados en Linux con el servidor.

    El servicio de IVR es utilizado en muchas organizaciones, para automatizar la atencin telefnica.

    7. REFERENCIAS

    http://www.jano.unicauca.edu.co/lab3sistel

    http://jano.unicauca.edu.co/lab3sistel/Guia-Informe-2-LabIIISistel.pdf

    http://voztovoice.org/