Instalacion Centos y Asterisk

download Instalacion Centos y Asterisk

of 21

Transcript of Instalacion Centos y Asterisk

Documentacin Asterisk Requerimientos mnimos para instalacin de CENTOS Procesador : Pentium III 700 Mhz Disco Duro: 10 GB Memoria RAM: 512 MB Lector CD Dimensionamiento para la instalacin con Asterisk debe basarse en 3 aspectos 1Evaluar l trafico concurrente, calculando Erlang B 2Tecnologa Utilizada 3Operaciones a realizar Segn Digium, Asterisk requiere: - Procesador Dual Intel Xeon de 1,8 Ghz - 1 GB RAM - 80 GB Disco Duro Con esta configuracin de hardware puede soportar 60 llamadas concurrentes utilizando codec G.729 y facilita la escalabilidad Instalando CENTOS - Disponer del DVD que contiene toda la informacin o de los 6 CD que contienen todos los repositorios - instalacin modo grafico, seleccionamos idioma de instalacin y teclado - Elegimos la opcin suprimir las particiones en dispositivos seleccionados y creamos un diseo personalizado con estos parmetros Tamao Punto Montaje Sistema de Archivos 100 Mb Doble de memoria RAM Resto disco /boot Ext3 Swap / Ext3

Si se realizo la instalacin mediante CD, el sistema los empezara a pedir para completar.

Obteniendo paquetes necesarios y actualizaciones Debemos actualizar el kernel de nuestro Sistema e instalar las dependencias necesarias para luego instalar Asterisk y todos sus mdulos, para esto lo hacemos mediante lnea de comandos con las siguientes instrucciones. yum install kernel-source y yum install kernel-devel y yum install gcc yum install openssl yum install ncurses yum install zlib yum install glibc-devel yum install ncurses-devel yum install openssl-devel

yum install zlib-devel yum install libxml2 yum install libxml2-devel yum install newt-devel yum install libusb-devel yum install gcc-c++ yum install make yum install gnutls-devel Debemos obtener los paquetes Asterisk, libpri, dahdi linux y dahdi Tools, para esto tenemos 2 opciones. Podemos ir a http://downloads.asterisk.org/pub/telephony y descargarlos o podemos obtenerlos mediante lnea de comandos con: wget http://downloads.asterisk.org/pub/telephony/libpri/old/libpri-1.4.10.2.tar-gz wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk1.6.1.9.tar.gz wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux2.2.0.2.tar.gz wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools2.2.0.tar.gz Instalacin paquetes descargados Creamos una carpeta en donde descomprimiremos todos los archivos. mkdir /root/fuentes ; creamos la carpeta fuentes Instalacin Paquete Asterisk #cd /root/fuentes ; vamos al path de la carpeta creada #tar -xvzf asterisk-1.6.1.9.tar.gz ; descomprimimos el paquete asterisk #cd asterisk-1.6.1.9 ; ingresamos a la carpeta #./configure #make ; compilamos el paquete #make install ; instalamos el paquete #make menuselect #make samples #make progdocs #make config Instalacin Paquete Dahdi-linux software brinda el soporte a hardware #tar -xvzf dahdi-linux-2.2.0.2.tar.gz #cd dahdi-linux-2.2.0.2 #make ;genera conexin a Internet para descargar firmware #make install Instalacin Paquete Dahdi-tools contiene herramientas en espacio de usuario que se utilizan para configurar los mdulos de kernel provistos en el paquete dahdilinux #tar -xvzf dahdi-tools-2.2.0.tar.gz #cd dahdi-tools-2.2.0 #./configure

#make menuselect (opcional) #make #make install #make config ;genera archivos de configuracin por defecto Instalacin Paquete Libpri librera open source que implemente sealizacin ISDN-PRI e ISDN-BRI #tar -xvzf libpri-1.4.10.2.tar.gz #cd libpri-1.4.10.2 #make #make install Si todo salio bien podemos iniciar Asterisk #/usr/sbin/asterisk vvvgc (La cantidad de v indica la verbosidad, o sea la cantidad de mensajes que mostrara el sistema por pantalla, mientras mas v, mas verboso) CLI> ;Ingresamos al CLI Archivos de configuracin y directorios mas importantes que se instalarn /etc/asterisk : En este directorio se encuentran todos los archivos necesarios para configurar la gran cantidad de servicios que Asterisk provee. Veremos los mas importantes. asterisk.conf > configuraciones generales de la ubicacin de directorios de configuraciones, mdulos compilados, voicemails etc. En general es buena idea no modificar estas configuraciones, salvo casos especiales. cdr.conf > Configuraciones referentes al "Call Detail Record". Los CDR son sumamente importantes para las compaas telefnicas. Modificar datos en este archivo puede repercutir en la integridad de los CDR si no se est seguro de lo que se hace. Si la instalacin es nicamente de prueba, o los CDR no son materia importante, no hay problema. codecs.conf > A menos que utilicemos SPEEX, o quieras hacer cosas especiales con la forma en la que los codecs se comportan, es mejor no modificar este archivo. extconfig.conf > Archivo para mapear archivos de configuracin hacia tablas en alguna base de datos, de forma que no es necesario guardar las configuraciones en archivos. extensions.conf > Tal vez el archivo mas importante de Asterisk. En este archivo se toman las decisiones de ruteo de las llamadas. features.conf > Este archivo es tambin muy importante. Permite habilitar y configurar servicios genricos de un PBX como la transferencia asistida y monitoreo de llamadas. iax.conf > Importante archivo para el funcionamiento del canal chan_iax que le permite a Asterisk interactuar con otros dispositivos IAX, incluyendo otros PBX Asterisk. indications.conf > Configuraciones para los grupos de frecuencias a utilizar para la indicacin del proceso de las llamadas. Con los parmetros en default es suficiente configuracin logger.conf > Que nivel de verbosidad deben tener los mensajes de log y a donde deben ser enviados.

manager.conf > Configuracin del servicio AMI (Asterisk Manager Interface) que permite conectarnos a un socket TCP y manejar la PBX. De cierta forma se encuentra relacionado con el archivo http.conf, que provee de una interface para programar aplicaciones con AJAX que se comuniquen directamente con AMI. modules.conf > Archivo muy importante. Determina que mdulos sern cargados por Asterisk al iniciar. Es frecuente que cuando se instala asterisk por primera vez, no arranque debido a que no puede cargar un mdulo para el que no tenemos soporte. Esto se soluciona comentando la lnea del mdulo en este archivo. sip.conf > Anlogo del archivo iax.conf para el protocolo SIP zapata.conf > Configuracin de los canales Zap. Las configuraciones de este archivo deben coincidir con el hardware instalado y la configuracin del driver zaptel. Existe un archivo muy similar a este llamado unicall.conf, no incluido directamente con Asterisk. /var/log/asterisk: Cuando hay problemas, este es el lugar en donde debemos buscar. En esta carpeta se encuentran los archivos de registro de las operaciones de Asterisk. Veamos que archivos podemos encontrar. cdr,db > Este archivo se encuentra disponible si se cuenta con el CDR handler para la base de datos SQLite. El archivo contiene la base de datos de los registros de las llamadas. event_log > Registro de eventos sucedidos en el PBX. full > Creado con la intencin de contener todos los mensajes de debug del sistema. messages > Contiene un listado de los mensajes de warning, debug y dems niveles de logeo. queue_log > Archivo utilizado principalmente por la aplicacin app_queue /var/lib/asterisk: Directorio con archivos de audio, llaves RSA, scripts AGI (Asterisk Gateway Interface), base de datos astdb y archivos para el servidor HTTP para AJAM (Asynchronus Javascript Asterisk Manager). Aqu veremos una descripcin de cada uno de los directorios, ya que los archivos pueden ser irrelevantes. agi-bin/ > Aqu se contienen programas en C, PHP, Python o cualquier otro lenguaje con el que se pretenda interactuar desde Asterisk. keys/ > Directorio que contiene llaves RSA para la autenticacin de llamadas con el protocolo IAX2 sounds/ > Directorio con todos los sonidos que sern utilizados por aplicaciones como Playback() y Background() mohmp3 > Archivos MP3 para MusicOnHold

Configuraciones Bsicas Asterisk puede configurarse de varios puntos, los mas importantes son: - Desde el CLI - Desde los ficheros de configuracin (.conf) en /etc/asterisk Los ficheros de configuracin mas importantes son: Base: - asterisk.conf ; Fichero de configuracin maestro - modules.conf ; Fichero de configuracin de mdulos Canales: - iax.conf ;Canales IAX - sip.conf ; Canales SIP - dahdi.conf ; Telefona Analgica y Digital - h323.conf ; Canales h323 - mgcp.conf ; Canales mgcp Dialplan: - extensions.conf ; El propio Dialplan - features.conf ; Dialplan para complementos (transferencias, call park, grabacin de llamadas, etc.) Aplicaciones del Dialplan: - meetme.conf ; Para salas de conferencia - musiconhold.conf ; Configuracin de la msica en espera - queues.conf ; Configuracin de colas de llamadas - voicemail.conf ; Configuracin de los buzones de voz Todos estos archivos estn en la ruta /etc/asterisk, fueron detallados anteriormente Una vez instalado Asterisk vemos un ejemplo sencillo de una de las primeras cosas que podemos hacer, el cual es la creacin de usuarios SIP. Por ejemplo los usuarios "1010" y "1011" con contraseas "1010" y "1011" Para ello vamos al fichero sip.conf y aadimos las siguientes lneas al final del fichero: * El archivo sip.conf sirve para configurar todo lo relacionado con el protocolo SIP y aadir nuevos usuarios o conectar con proveedores SIP.* [1010] ;Nombre anexo type=friend ; Puede recibir y realizar llamadas host=dynamic ; Define que la IP del host ser dinmica deny=0.0.0.0/0.0.0.0 ; Deniegue todas las conexiones que no vengan de 172.16.0.0 permit=172.16.0.0/255.255.0.0 context=anexos ;Contexto definido en extensions.conf, al cual pertenece el anexo callerid=anexo_asterisk ;Caller ID canreinvite=yes; yes si queremos que la extensin intente conectarse directamente con la extensin llamada, no si queremos que Asterisk haga de puente entre las dos extensiones dtmfmode=rfc2833 ;Este modo permite que los tonos DTMF sean pasados de parte a parte usando RTP secret=1010 ; Contrasea generada para la conexin desde el softphone allow=gsm ; Habilita el codec GSM

[1011] type=friend host=dynamic deny=0.0.0.0/0.0.0.0 permit=172.16.0.0/255.255.0.0 context=anexos callerid=Anexo 2 canreinvite=yes dtmfmode=rfc2833 secret=1011 allow=gsm *Si definimos un contexto en la solapa [general], ese es el contexto que las llamadas van a utilizar, por sobre el contexto definido en cada extensin Cada vez que cambiamos la configuracin de nuestro sip.conf tenemos que recargarla. Abrimos la consola de Asterisk #rasterisk y escribimos CLI> sip reload Reloading SIP Modificamos el archivo extensions.conf y agregamos: exten => _10XX,1,Wait(1) exten => _10XX,2,Dial(SIP/${EXTEN},20) exten => _10XX,3,Playback(tt-monkeys) exten => _10XX,4,Hangup Con esta minima configuracin ya podramos establecer una llamada entre los anexos 1010 y 1011 por SIP dentro de un mismo contexto. Dial plan La mayor parte del plan de discado esta contenida en el archivo extensions.conf en el directorio /etc/asterisk. El archivo puede ser separado en cuatro partes: - Aplicaciones - Contextos - Extensiones - Prioridades Extensiones Dentro de cada contexto sern definidas diversas extensiones, una extensin es un string que dispara un evento. Ejemplo:

exten => 8580,1,DIAL(SIP/8580,20) exten => 8580,2,voicemail(u8580) exten => 8580,3,voicemail(b8580) donde : exten => describe cual es el prximo paso para la llamada 8580 es el numero discado, o patrn de discado en algunos casos 1 es la prioridad de ejecucin de cada lnea DIAL(SIP/8580,20) Es la aplicacin que indica que sonara el telfono 8580, el cual al no ser respondido en 20 segundos pasara a la prioridad 2 La comprensin de los patrones es fundamental para organizar correctamente nuestro sistema y hacerlo funcionar de una forma optima y sencilla para los usuarios. Un patrn de marcado en Asterisk se compone de una sere de nmeros y smbolos que representan rangos de nmeros. De esta forma Asterisk decide que empezar a hacer con la llamada que est recibiendo. Prioridad: Orden secuencial para la ejecucin de aplicaciones de Asterisk sobre la llamada recibida. Aplicacin: Funcionalidad que se desea ejecutar sobre la llamada (conectar con otro dispositivo, reproducirle un archivo de audio, colgarla etc.) Contextos Son utilizados normalmente para efectos de seguridad y permisos de llamada. Ejemplo: [gerencia] Tendr acceso a llamadas de larga distancia, al marcar 0 oir tono de discado [restringido] Nmeros registrados en este contexto al marcar 0 oir llamada prohibida Asterisk utiliza algunas nombres de extensiones para propsitos especiales:

i : Invalid s : Start h : Hangup t : Timeout T : AbsoluteTimeout a : Asterisk extension o : Operator

Ejemplo de archivo extensions.conf [general] static=yes ; si static es yes y writeprotect es no, para guardar los cambios hechos desde la consola de asterisk tendremos que escribir el comando dialplan reload. writeprotect=no; En caso contrario se actualizar automticamente pero perderemos todos los comentarios presentes en el archivo clearglobalvars=no

[globals] ;Variables globales a usar en el dialplan SUP = SIP/2100 ; Para llamar la extensin 2100 (configurada en sip.conf) podr usar la variable SUP FUL = SIP/0057310000000 ; si llamamos muy a menudo a un numero celular, en vez de poner el numero por extenso podr indicar la variable FUL JUST = SIP/justvoip ; para las llamadas se usa el proveedor Justvoip podr usar la variable JUST

[anexos] ; esta etiqueta indica que todo lo que aparecer a partir de esta lnea se considerar perteneciente al contexto anexos ;Llamada dentro del asterisk a sus nmeros configurados exten => _10XX,1,Wait(1) exten => _10XX,2,Dial(SIP/${EXTEN},20) exten => _10XX,3,Playback(tt-monkeys) exten => _10XX,4,Hangup Finalmente tambin podemos crear contextos de manera que agrupen contextos [solo-internas] include => internas Con esto le decimos a asterisk que todas las extensiones configuradas con el contexto solo-internas tendrn acceso solo a la parte del dialplan contenido bajo la etiqueta [internas] [todas] include => internas include => externas Con estas lneas le decimos a asterisk que todas las extensiones configuradas con el contexto todas tendrn acceso a los contextos del dialplan [internas] y [externas] Para actualizar la configuracin entramos en nuestra consola asterisk -r y escribimos el comando CLI> dialplan reload Otros comandos del CLI CLI> sip show peers Este comando nos muestra los "peers" disponibles en el sistema CLI> sip set debug on Habilita debug en el protocolo SIP Variables de canal predefinidos Hay algunas variables de canales seteadas por Asterisk que pueden ser referidas en las definiciones del dialplan. Variables definidas por Asterisk, en contraste con las llamadas definidas por el usuario, son case sensitive.

${ACCOUNTCODE}: Account code, si esta especificados (OBSOLETO en 1.2.0 y removido en 1.4. Use ${CDR(accountcode)} ${ANSWEREDTIME}: Este es la cantidad de tiempo (en segundos) para la llamada actual. ${BLINDTRANSFER}: El canal SIP activo que marco el numero. Esto devolver el canal SIP que marca el nmero al hacer transferencias ciegas ${CALLERID(all)}: El actual nombre y numero de CallerID - Vea Setting Callerid para el uso en Asterisk 1.4 ${CALLERID(name)}: El actual nombre de CallerID - ${CALLERIDNAME} fue usada en versiones anteriores a Asterisk 1.2.0, quedo OBSOLETO en 1.2.0 y fue removido en la version 1.4. ${CALLERID(num)}: El actual numero de CallerID - ${CALLERIDNUM} fue usada en versiones anteriores a Asterisk 1.2.0, quedo OBSOLETO en 1.2.0 y fue removido en la version 1.4. ${CALLINGPRES}: PRI Call ID variable de presentacin para las llamadas entrantes ${CHANNEL}: Nombre del canal actual ${CONTEXT}: El nombre del contexto actual ${DATETIME}: Actual fecha y tiempo en el formato: DDMMYYYYHH:MM:SS Esto quedo obsolete en Asterisk 1.2, en vez se usa :$ {STRFTIME(${EPOCH},,%d%mNaVH:NaVS)}) ${DIALEDPEERNAME}: Nombre de la persona llamada. Roto, por ahora, ver DIALEDPEERNAME ${DIALEDPEERNUMBER}: Nombre de la persona llamada. Roto, por ahora, ver DIALEDPEERNUMBER ${DIALEDTIME}: Tiempo desde que el numero fue discado(Solo funciona cuando la persona llamada contesta la linea!) ${DIALSTATUS}: Estado de la llamada. Ver DIALSTATUS (nota: En el release SVN actual, DIALSTATUS parece haber sido removido. Ahora se debe usar la function DEVSTATE. Probar en la consola de Asterisk core show function DEVSTATE para mas informacion ${DNID}: Dialed Number Identifier. ${EPOCH}: The current UNIX-style epoch ${EXTEN}: La extensin actual ${HANGUPCAUSE}: El ltimo cdigo de retorno de colgado en un canal Zap conectado a una interfaz PRI ${INVALID_EXTEN}: La extensin pedida cuando se redirige a la extensin i (no vlido) ${LANGUAGE}: El lenguaje actual seteado. Ver Asterisk multi-language ${MEETMESECS}: Numero de segundos que un usuario a participado en una conferencia MeetMe. ${PRIORITY}: La prioridad actual ${RDNIS}: El DNIS actual redirigido, Identificador de llamadas que redirige la llamada. Aplican algunas limitaciones, ver RDNIS ${SIPDOMAIN}: SIP de dominio de destino de una llamada entrante (si procede) ${SIP_CODEC}: Usado para setear el codec SIP para una llamada. Used to set the SIP codec for a call (aparentemente roto en version 1.0.1, ok en Ver. 1.0.3 & 1.0.4, no seguro sobre Ver. 1.0.2)

${SIPCALLID}: La convocatoria de dilogo SIP-ID: cabecera ${SIPUSERAGENT}: La cabecera del agente usuario SIP ${TIMESTAMP}: Actual fecha y tiempo en formato: YYYYMMDDHHMMSS Esto esta obsoleto en Asterisk 1.4, en vez use :${STRFTIME($ {EPOCH},,%Y%m%d-%H%M%S)}) ${TRANSFERCAPABILITY}: Tipo de Canal ${TXTCIDNAME}: Resultado de la aplicacin TXTCIDName ${UNIQUEID}: Identificador unico de la llamada actual ${TOUCH_MONITOR}: Usado para grabacion con un toque (vea features.conf, y wW dial flags). Si esta seteada en cualquier lado de la llamada entonces var contiene el app_args para app_monitor, de otra forma el WAV por defecto se utiliza.

Variables de aplicacin especificasAlgunas aplicaciones toman entradas adicionales o proveen el uso de variables de salida del canal.

AgentCallbackLogin retorna ${AGENTBYCALLERID_${CALLERID}}: El ID del agente logueado de manera exitosa. ChanIsAvail retorna ${AVAILCHAN}: El primer canal disponible Dial toma la entrada desde ${VXML_URL}: Envia la XML Url al Cisco 7960 o al i6 VoiceXML Browser Dial toma la entrada desde ${ALERT_INFO}: Setea la cadencia de ring o permite intercom para varios telefonos SIP Dial retorna ${CAUSECODE}: Si el discado falla, este es el mensaje de error. Dial retorna ${DIALSTATUS}: El codigo de texto retorna el status del ultimo intento de discado. Dial toma la entreda desde ${TRANSFER_CONTEXT}: Si la variable existe, cuando la transferencia es ejecutada se va a la extensin seleccionada en el contexto. EnumLookup retorna ${ENUM}: el resultado de la busqueda Hangup lee el ${PRI_CAUSE} variable para setear codigos de retorno PRI. MeetMe toma la entrada de {MEETME_AGI_BACKGROUND}: Un script AGI a ejecutar. MeetMe retorna ${MEETMESECS}: El numero de segundos que el usuario esta en la conferencia. Playback retorna ${PLAYBACKSTATUS}: El estado del commando sera (FAILED|SUCCESS) Queue retorna ${QUEUESTATUS}: La razon para sacar la llamada de la cola TXTCIDName retorna ${TXTCIDNAME}: El resultado del DNS lookup VoiceMail retorna ${VMSTATUS}: indica el estado de la ejecucion de la aplicacin VoiceMail. Posbles valores son: SUCCESS | USEREXIT | FAILED .

Variables especificas de Macro

Cuando en un contexto macro, variables de canal extra estan disponibles.

${ARG1}: El primer argumento pasado a la macro ${ARG2}: El Segundo argumento pasado a la macro (y asi sucesivamente) ${MACRO_CONTEXT}: El contexto de la extensin que ha disparado esta macro. ${MACRO_EXTEN}: La extensin que ha disparado esta macro. ${MACRO_OFFSET}: Seteado por una macro para influenciar la prioridad donde la ejecucion continuara despues de salir de la macro. ${MACRO_PRIORITY}: La prioridad en la extensin donde el macro fue disparado.

Variables especificas Call files extensin

${REASON}: Un numero que representa la razon porque una llamada de salida falla. Ver Asterisk Reason variable.

Protocolo IAX2 Es utilizado para manejar conexiones VOIP entre servidores Asterisk y entre clientes y servidores que se comuniquen por IAX, utiliza el puerto UDP 4569, tanto para datos como para sealizacin. Ejemplo de configuracin IAX2, comunicacin entre dos Asterisk Si tenemos 2 servidores denominados ivr_00(172.16.1.29) en ivr_01(172.16.1.30) Modificamos el archivo iax.conf En el Server ivr_00 Agregamos una troncal [callcenter] type=friend host=172.16.1.30 secret=call trunk=yes En el Server ivr_01 tambin modificamos el iax.conf Agregamos otra troncal [callcenter] type=friend host=dynamic secret=call context=trunk-callcenter trunk=yes Modificamos el archivo extensions.conf del ivr_00 Entonces para discar de ivr_00 a ivr_01 tenemos algo como [trunk-callcenter] exten => _X.,1,Dial(IAX2/callcenter/${EXTEN},300,r) exten => _X.,2,Hangup o exten => _X.,1,Dial(IAX2/callcenter:[email protected]/${EXTEN},300,r) exten => _X.,2,Hangup Realizando esto podramos tener interconectados nuestros servidores Asterisk

Telefona Analgica y Digital Ac entra en juego los paquetes de instalacin de DAHDI o ZAPTEL en el caso de tener versiones de Asterisk anteriores, veremos aca los paquetes DAHDI que se dividen en dahdi-linux y dahdi-tools, que ya estn instaladas previamente. Para configurar el hardware debemos hacerlo en /etc/dahdi/system.conf y recordar revisar el jumpeo de la tarjeta para setearla en E1. Este grafico muestra claramente como se procesa la llamada en caso de VOIP o POTS

Ejemplo de configuracin de system.conf # CONFIGURACION E1 loadzone=cl ;Tonos asociados a zonas geogrficas defaultzone=cl ; span=1,1,0,ccs,hdb3 ;Configuracin del grupo de canales o span. El primer valor 1 es el numero de span, el segundo 1 es la fuente de sincronizacin (PSTN provee la sincronizacin en este caso), el valor 0 es el LBO (determina el punto de transmisin del span, dependiendo de una tabla provista en el archivo ejemplo de configuracin de DAHDI), ccs es el framing, hdb3 es la codificacin. dchan=16 ;El canal 16 es usado para transmitir los bits ccs bchan=1-15,17-31 ; Canales activos de comunicacin entre emisor y receptor span=2,0,0,ccs,hdb3 dchan=47 bchan=32-46,48-62

Configuracin de archivo chan_dahdi.conf en donde configuraremos sealizacin, canales a utilizar y especificaciones de trama. vi /etc/asterisk/chan_dahdi.conf ;Ingresamos en modo edicin al archivo [channels] language=es usecallerid=yes callwaiting=no usecallingpres=yes callwaitingcallerid=yes threewaycalling=yes transfer=yes canpark=yes cancallforward=yes callreturn=yes echocancel=no echocancelwhenbridged=no ;Agrupamos los canales por span ; GRUPO 1 group => 1 ;Span 1 definido en system.conf context=from-pstn ;contexto definido en extensions.conf switchtype=euroisdn signalling=pri_net channel => 1-15 channel => 17-31 ; GRUPO 2 group => 2 context=otro-contexto switchtype=euroisdn signalling=pri_net channel => 32-46 channel => 48-62 ; extensin definida en /etc/asterisk/extensions.conf [from-pstn] exten => 2000,1,Goto(1210,1) ;Cuando reciba el numero discado 2000 ira a la extensin 1210 exten => 1210,1,Dial(SIP/[email protected]:5060,20) exten => 1210,2,Hangup Una vez finalizadas las configuraciones esenciales de la E1 pasara a cargar los mdulos necesarios para su reconocimiento.

Directo del shell ejecutaremos # modprobe dahdi ; Activa el autoreconocimiento de la tarjeta # service dahdi {stop, start, restart} # modprobe wct2xxp ;Para cargar el driver de la tarjeta # dahdi_tool ; Muestra una interfaz donde se ve el estado de los span y sus alarmas Luego reiniciamos asterisk # service asterisk restart Probamos la tarjeta desde el CLI # asterisk r CLI> dahdi show status CLI> dahdi show channels Tenemos varias herramientas que se utilizan para configurar dahdi, todas se ejecutan en la lnea de comandos. dahdi_cfg: Es el configurador de dahdi, lee el archivo system.conf dahdi_genconf: Genera el archivo system.conf, utilizando el archivo /etc/dahdi/genconf_parameters para definir su rango de accin dahdi_hardware: Lista el hardware instalado en el sistema dahdi_monitor: Monitorea el nivel de seal en canales anlogos, permitiendo grabar audio de ellos. Ejemplo #dahdi_monitor 1 vv dahdi_scan: Genera un listado detallado de canales dahdi dahdi_test: Dimensiona la certeza del funcionamiento de tarjetas FXS y FXO dahdi_tool: Herramienta para visualizar que esta haciendo dahdi.

Desinstalar Asterisk 1.6 e instalar Asterisk 1.4 Paso 1: Respaldar carpetas /root/fuentes/sources (donde tengamos los sources) y la carpeta /etc/Asterisk Paso 2: Detener la ejecucin de Asterisk en el servidor ("stop now" en el CLI>) Paso 3: Eliminar las carpetas /root/fuentes/sources/Asterisk-1.6.1.9 o la version instalada, y darle un rm -rf /etc/asterisk, rm -f /etc/zaptel.conf, rm -rf /var/log/asterisk, rm -rf /var/lib/asterisk, rm -rf /var/spool/asterisk, rm rf /usr/lib/asterisk Paso 4: Descargar Paquete Asterisk 1.4.0 o version a instalar Paso 5: Instalar Asterisk igual como sale en la documentacin para la version 1.6 Paso 6: Correr el comando rasterisk para verificar la version de Asterisk

-

LOGS Y DEBUG CON ASTERISK CLI> logger rotate ; Reinicia buffer log en /var/log/asterisk/messages Diferentes niveles para diferentes propositos Hay por lo menos tres tipos de niveles diferentes de debugging: 1) Configuracion del hardware telefonico y encontrar fallos en equipamiento fisico, conecciones y cableado 2) Configuraciones basadas en archivos de configuracin y manejo de llamadas 3) Core software, ver dentro del codigo C y modulos Hardware Telefonico Asterisk no require ningun hardware telefonico para operar VOIP, pero es lo suficientemente flexible como para conectarle desde y hacia lineas telefonicas y handset, ya sea en lugar de o en adicion de los terminales de VoIP. Las lineas telefonicas estandar (FXO, FXS, T1, E1 etc) son manejados por los drivers Zaptel o Dahdi. ZAP Hardware Para confirmar que dispositivo estan disponibles y configurados para usarse en el sistema, hay que tipear ZAP SHOW CHANNELS en el prompt de la consola .Para informacin mas especifica sobre un canal individual, tipee ZAP SHOW CHANNEL X (donde X es el numero). Recordar que los canales no funcionaran si no hay conectado fisicamente telefonos que esten funcionando el commando Dial devolvera todos los canales busy/congested. Si los canales no son mostrados, entonces debemos revisar los archivos zapata.conf y zaptel.conf asegurandonos que modprobe (s) se han hecho y ztcfg se ha ejecutado. SIP Hardware Canales SIP se veran solo si estan registrados SIP SHOW INUSE listara todas las extensions SIP definidas en sip.conf SIP SHOW CHANNELS listara todas las extensions SIP registradas al momento de la ejecucion del comando.

Console Asterisk normalmente agarra la tarjeta de sonido y la usa como consola de voz i/o. Esto significa que correr un Softphone SIP en un mismo servidor es a lo menos difcil Asterisk es diseado para operar standalone sin ambiente Xwindows. Configuracion Donde la inspeccion de los archivos de configuracin fallan, la manera mas simple es poner el output de debugging/trace on. Esto se logra editando el archivo logger.conf (en /etc/asterisk). Para mostrar esta salida por pantalla en la consola, simplemente agregue ",debug" al final de la linea de configuracion de la consola el archive de ejemplo tiene una linea alternativa con este texto ya puesta en el archive. Luego tipee "logger rotate" en la consola , y todos los eventos telefonicos significativos se mostraran . Esto tambien puede ser escrito en un archivo de log para un analisis mas detallado. Log de llamadas Asterisk por defecto escribe al log la llamada completa, por ejemplo, vemos esta ruta de log: > cd /var/log/asterisk/cdr-csv > tail -f Master.csv (muestra las llamadas en tiempo real que van cayendo) "","5032273698","9714042975","sip","""DORGAN M"" ","SIP/147.135.0.129-08100358","","AGI"," /usr/local/mipl/agnese|http://www.nextbus.com/nextbus3.mipl","2004-12-09 13:14:41" ,"2004-12-09 13:14:44","2004-12-09 13:14:53",12,9,"ANSWERED","DOCUMENTATION" Message Log O, si estamos teniendo problemas localizando problemas intermitentes en el sistema, consideremos agregar mas informacion al log de mensajes de Asterisk. Si vemos en logger.conf veremos algo como esto: messages => notice,warning,error Consideremos cambiar esto a : messages => notice,warning,error,debug,verbose (Por periodos de tiempo cortos, cuando tengamos problemas, porque consume mucho espacio en disco). Nota: Sera necesario reiniciar el servicio asterisk o tipear logger rotate en el CLI para que los cambios tomen efecto (solo hacer un reload no sirve) Core Software Debugging Cuando el comportamiento de la apliacion no es el esperado, podemos activar debugging mas serios. "strace" puede darnos informacion util. Ver man strace. Grabara las llamadas del sistema y la sealizacion. "viewcore" es una util herramienta para analisar coredumps: Corriendo asterisk en modo debug. Compilemos todo con la opcion g gcc primero para que el debugger pueda mostrar lineas de codigo. Cuando el programa se detenga el cursor quedara a la izquierda de la ultima linea ejecutada y podemos dejarlo corriendo por detrs y ver que obtenemos.

Cdigos de severidad de syslog 0 1 2 3 4 5 6 7 Emergencia: el sistema est inutilizable Alerta: se debe actuar inmediatamente Crtico: condiciones crticas Error: condiciones de error Peligro: condiciones de peligro Aviso: normal, pero condiciones notables Informacin: mensajes informativos Depuracin: mensajes de bajo nivel

RESUMEN COMANDOS ASTERISK