Index

31
Conceptos básicos Posted by Juan pablo - 2009/09/23 17:24 _____________________________________ Hola a todos en este blog quiero agradecer a los del forum pero hoy quiero compartir con ustedes Algunos conceptos que me ayudaron mucho al comienzo, algunos los he copiado de otros blogs y pues bueno Espero les guste. Lo único que quiero con esto es que entre todos pongamos un poquito de arena ven no es tan difÃ-cil Y no olvidar que comentar es agradecer. ¿Qué significan los términos FXS y FXO? FXS y FXO son los nombres de los puertos usados por las lÃ-neas telefónicas analógicas (también denominados POTS - Servicio Telefónico Básico y Antiguo) FXS – La interfaz de abonado externo es el puerto que efectivamente envÃ-a la lÃ-nea analógica al abonado. En otras palabras, es el â€oeenchufe de la pared― que envÃ-a tono de marcado, corriente para la baterÃ-a y tensión de llamada FXO – Interfaz de central externa es el puerto que recibe la lÃ-nea analógica. Es un enchufe del teléfono o aparato de fax, o el enchufe de su centralita telefónica analógica. EnvÃ-a una indicación de colgado/descolgado (cierre de bucle). Como el puerto FXO está adjunto a un dispositivo, tal como un fax o teléfono, el dispositivo a menudo se denomina â€oedispositivo FXO―. FXO y FXS son siempre pares, es decir, similar a un enchufe macho/hembra. Sin una centralita, el teléfono se conecta directamente al puerto FXS que brinda la empresa telefónica. http://www.3cx.es/voip-sip/images/fxs-fxo-no-pbx.gif FXS / FXO sin Centralita Si tiene centralita, debe conectar las lÃ-neas que suministra la empresa telefónica a la centralita y luego los teléfonos a la centralita. Por lo tanto, la centralita debe tener puertos FXO (para conectarse a los puertos FXS que suministra la empresa telefónica) y puertos FXS (para conectar los dispositivos de teléfono o fax) http://www.3cx.es/voip-sip/images/fxs-fxo-pbx.gif FXS, FXO y VOIP Cuando decida adquirir equipos que le permitan conectar lÃ-neas telefónicas analógicas con una centralita telefónica VOIP, teléfonos analógicos con una centralita telefónica VOIP o las Centralitas tradicionales con un suministrador de servicios VOIP o unos a otros a través de Internet, se cruzará con los términos FXS y FXO. Pasarela FXO Para conectar lÃ-neas telefónicas analógicas con una centralita IP, se necesita una pasarela FXO. Ello le permitirá conectar el puerto FXS con el puerto FXO de la pasarela, que luego convierte la lÃ-nea telefónica analógica en una llamada VOIP. http://www.3cx.es/voip-sip/images/fxo-gateway.gif Pasarela FXS La pasarela FXS se usa para conectar una o más lÃ-neas de una centralita tradicional con una centralita o suministrador telefónico VOIP. Usted necesitará una pasarela FXS ya que usted desea conectar los puertos FXO (que normalmente se conectan a la empresa telefónica) a la Internet o centralita VOIP http://www.3cx.es/voip-sip/images/fxs-gateway.gif Adaptador FXS, también denominado adaptador ATA El adaptador FXS se usa para conectar un teléfono analógico o aparato de fax a un sistema telefónico VOIP o a un prestador VOIP. Usted lo necesitará para conectar el puerto FXO del teléfono/fax con el adaptador. http://www.3cx.es/voip-sip/images/fxs-adapter.gif Conexión Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Transcript of Index

Page 1: Index

Conceptos básicosPosted by Juan pablo - 2009/09/23 17:24_____________________________________

Hola a todos en este blog quiero agradecer a los del forum pero hoy quiero compartir con ustedes Algunos conceptos que me ayudaron mucho al comienzo, algunos los he copiado de otros blogs y pues bueno Espero les guste. Lo único que quiero con esto es que entre todos pongamos un poquito de arena ven no es tan difícil Y no olvidar que comentar es agradecer. ¿Qué significan los términos FXS y FXO? FXS y FXO son los nombres de los puertos usados por las líneas telefónicas analógicas (también denominados POTS- Servicio Telefónico Básico y Antiguo) FXS – La interfaz de abonado externo es el puerto que efectivamente envía la línea analógica al abonado. En otraspalabras, es el “enchufe de la pared― que envía tono de marcado, corriente para la batería y tensión de llamada FXO – Interfaz de central externa es el puerto que recibe la línea analógica. Es un enchufe del teléfono o aparato defax, o el enchufe de su centralita telefónica analógica. Envía una indicación de colgado/descolgado (cierre de bucle).Como el puerto FXO está adjunto a un dispositivo, tal como un fax o teléfono, el dispositivo a menudo se denomina“dispositivo FXO―. FXO y FXS son siempre pares, es decir, similar a un enchufe macho/hembra. Sin una centralita, el teléfono se conecta directamente al puerto FXS que brinda la empresa telefónica. http://www.3cx.es/voip-sip/images/fxs-fxo-no-pbx.gif FXS / FXO sin Centralita Si tiene centralita, debe conectar las líneas que suministra la empresa telefónica a la centralita y luego los teléfonos ala centralita. Por lo tanto, la centralita debe tener puertos FXO (para conectarse a los puertos FXS que suministra laempresa telefónica) y puertos FXS (para conectar los dispositivos de teléfono o fax) http://www.3cx.es/voip-sip/images/fxs-fxo-pbx.gif FXS, FXO y VOIP Cuando decida adquirir equipos que le permitan conectar líneas telefónicas analógicas con una centralita telefónicaVOIP, teléfonos analógicos con una centralita telefónica VOIP o las Centralitas tradicionales con un suministrador deservicios VOIP o unos a otros a través de Internet, se cruzará con los términos FXS y FXO. Pasarela FXO Para conectar líneas telefónicas analógicas con una centralita IP, se necesita una pasarela FXO. Ello le permitiráconectar el puerto FXS con el puerto FXO de la pasarela, que luego convierte la línea telefónica analógica en unallamada VOIP. http://www.3cx.es/voip-sip/images/fxo-gateway.gif Pasarela FXS La pasarela FXS se usa para conectar una o más líneas de una centralita tradicional con una centralita o suministradortelefónico VOIP. Usted necesitará una pasarela FXS ya que usted desea conectar los puertos FXO (que normalmentese conectan a la empresa telefónica) a la Internet o centralita VOIP http://www.3cx.es/voip-sip/images/fxs-gateway.gif Adaptador FXS, también denominado adaptador ATA El adaptador FXS se usa para conectar un teléfono analógico o aparato de fax a un sistema telefónico VOIP o a unprestador VOIP. Usted lo necesitará para conectar el puerto FXO del teléfono/fax con el adaptador. http://www.3cx.es/voip-sip/images/fxs-adapter.gif Conexión

Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 2: Index

Procedimientos del FXS / FXO – cómo funciona técnicamente Si le interesa conocer más detalles técnicos sobre cómo interfunciona un puerto FXS /FXO, esta es la secuencia exacta: Cuando desee realizar una llamada: 1. Tome el teléfono (el dispositivo FXO). El puerto FXS detecta que ha descolgado el teléfono. 2. Marque el número de teléfono, que pasa como dígitos de Tono Dual Multi Frecuencia (DTMF) al puerto FXS. Llamada entrante 1. El puerto FXS recibe una llamada y luego envía un voltaje de llamada al dispositivo FXO adjunto. 2. El teléfono suena 3. En quanto levante el teléfono, podrá responder la llamada. •CONCEPTOS BASICOS –Voz sobre IP y Telefonia IP –Gatekeeper y Gateways VoIP –Asterisk –Hardware de Telefonía IP VOZ SOBRE IP Y TELEFONIA IP •Ambos conceptos tienen un significado distinto, aunque la mayoría de veces hacemos referencia como si se tratara delo mismo. •VoIP es una Técnica que permite digitalizar la voz para luego enviarla sobre paquetes IP a través de la red de datos •Telefonía IP, son servicios de valor agregado que utilizan VoIP como herramienta para el tratamiento de la voz. Porejemplos de telefonía IP encontramos inicialmente los mismos servicios que en la telefonía tradicional (buzón de voz,IVR, enrutamiento de llamadas, etc.) pero con la diferencia que el medio de comunicación es la red de datos GATEKEEPER & GATEWAY VOIP El Gatekeeper (GK) es una entidad que proporciona la traducción de direcciones y el control de acceso a la red de losterminales VoIP. El GK puede también ofrecer otros servicios a los terminales, gateways y MCUs, tales como gestióndel ancho de banda y localización de los gateways o pasarelas. El Gatekeeper realiza dos funciones de control de llamadas que preservan la integridad de la red corporativa de datos.La primera es la traslación de direcciones de los terminales de la LAN a las correspondientes IP. La segunda es lagestión del ancho de banda, fijando el número de conferencias que pueden estar dándose simultáneamente en la LANy rechazando las nuevas peticiones por encima del nivel establecido, de manera tal que se garantice ancho de bandasuficiente para las aplicaciones de datos sobre la LAN. El Gatekeeper proporciona todas las funciones anteriores para los terminales, Gateways y MCUs, que están registradosdentro de la denominada Zona de control. ASTERISK Asterisk es una aplicación de software libre (bajo licencia GPL) que provee funcionalidades de una central telefónica(PBX). Como cualquier PBX, se puede conectar un número determinado de teléfonos para hacer llamadas entre sí eincluso conectar a un proveedor de VoIP , líneas analógicas o bien a una RDSI tanto básicos como primarios. Asterisk incluye muchas características anteriormente sólo disponibles en costosos sistemas propietarios PBX comobuzón de voz, conferencias, IVR, distribución automática de llamadas, y otras muchas más. Los usuarios puedencrear nuevas funcionalidades escribiendo un dialplan en el lenguaje de script de Asterisk o añadiendo módulos escritosen lenguaje C o en cualquier otro lenguaje de programación soportado por Linux HARDWARE ASTERISK INTERFACES ANALOGICAS Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 3: Index

Tarjetas TDM Las tarjetas TDM son como modems especialmente dedicados a gestionar el trafico de voz. Tienen modulo paraconectar líneas POTS o bien teléfonos analógicos Modulo FXS (Color Verde): Son para conectar Teléfonos analógicos, y requiere que se energice el molex tipo ATX queviene con la tarjeta Modulo FXO (Color Rojo): Son para conectar Líneas externas Tarjetas TDM 410 Tarjeta Modular, soporta hasta 4 módulos (FXS y/o FXO) Soporta cancelador de eco en hardware, Incorpora un led queenciende por cada modulo instalado, Es reconocida automáticamente por asterisk. Viene con el numero de puertograbado en el metal frontal Tarjetas TDM 808 Tarjeta Modular, soporta hasta 8 módulos (FXS y/o FXO) 02 módulos X400 FXO o FXS, Soporta cancelador de eco enhardware, Es reconocida automáticamente por asterisk. Viene con el numero de puerto grabado en el metal frontal (1 y8) Tarjetas TDM 808 Tarjeta Modular, soporta hasta 8 módulos (FXS y/o FXO), 02 módulos X400 FXO o FXS, Soporta cancelador de ecoen hardware, Es reconocida automáticamente por asterisk. Viene con el numero de puerto grabado en el metal frontal (1y 8) Tarjetas TDM 2400 Tarjeta Modular, soporta hasta 24 módulos (FXS y/o FXO), 06 módulos X400 FXO o FXS, Soporta cancelador de ecoen hardware, Es reconocida automáticamente por asterisk. Viene con un conector de tipo amphenol y mideaproximadamente 35 cm. Tarjetas AEX 800P Tarjeta Modular, soporta hasta 8 módulos (FXS y/o FXO), 02 módulos X400 FXO o FXS, Soporta cancelador de ecoen hardware, Es reconocida automáticamente por asterisk. Viene con el numero de puerto grabado en el metal frontal (1y 8) Maneja su propia interrupción PCI INTERFACES DIGITALES Tarjetas TE Las tarjetas TE son tarjetas digitales, que permiten transmitir hasta 120 llamadas simultaneas a través de los 4 canalesE1. Adicionalmente se puede agregar un modulo cancelador de eco en hardware el cual va conectado a la tarjeta. Con las tarjetas marca Digium cambiamos de E1 a T1 mediante un jumper ubicado en la misma tarjeta Digium; pero conlas tarjeta marca ságoma, esta modificación debe ser realizada mediante software (driver). Tarjetas TE120P Tarjeta de Telefonía Digital E1/T1, Soporte para la conexión de 01 E1. Conector tipo RJ45, Viene con jumper, paracambiar de E1 a T1, Soporta voltajes de 3.3v y 5v, para trabajar con PC compatibles y servidores Tarjetas TE420 Tarjeta Digital de E1/T1, 04 E1/T1 PCI Express X1, Soporta modulo cancelador de eco 04 Puertos RJ45, Codificación PCM, G711 Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 4: Index

LINEAS Y ANEXOS: CANALES ZAP - SIP – IAX -Backup de archivos importantes –Creación Extensiones SIP – IAX2 –Configuración de una Tarjeta Analógica –Configuración de una Tarjeta Digital –Cambio de Idioma a Español BACKUP ARCHIVOS IMPORTANTES Para realizar el backup de los archivos mas importantes: Ejecutar: cp /etc/zaptel.conf /etc/zaptel.conf.old cp /etc/asterisk/sip.conf /etc/asterisk/sip.conf.sample cp /etc/asterisk/iax.conf /etc/asterisk/iax.conf.sample cp /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.sample cp /etc/asterisk/zapata.conf /etc/asterisk/zapata.conf.sample cp /etc/asterisk/features.conf /etc/asterisk/features.conf.sample cp /etc/asterisk/meetme.conf /etc/asterisk/meetme.conf.sample CREACION DE EXTENSIONES SIP Las extensiones sip se crean y configuran dentro del archivo “sip.conf― Podemos eliminar el archivo de configuración que carga asterisk samples, y crear nuestro archivo de cero. Minimamente deberemos colocar lo siguiente dentro del archivo: port=5060 bindaddr=0.0.0.0 context=default Luego podremos continuar con nuestra configuración personalizada Luego debemos empezar a configurar nuestras extensiones Editar el archivo sip.conf ;Anexos type=friend username=201 secret=1234 callerid= context=from-internal disallow=all allow=ulaw allow=gsm host=dynamic dtmfmode=rfc2833 canreinvite=no En la imagen anterior se pueden apreciar los siguientes parámetros: , numero de la extensión Type=friend, nos indica el tipo de extensión (friend, user, peer). Username=201; numero de la extensión Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 5: Index

Secret=1234; sirve para asignar la contraseña de la extensión. Callerid=; aquí se coloca el identificador de llamada de la extensión. Context=from-internal; aquí se define el contexto al cual pertenece la extensión Disallow=all, desactiva todos los codec Allow=ulaw & gsm, activa únicamente los codecs ulaw y gsm Host=dynamic, permite que esta extensión pueda registrarse desde cualquier dirección IP EJERCICIO Crear 5 extensiones del rango 201 al 205 para los siguientes usuarios - Mark Spencer - Bill Gates - Steves Jobs - Linus Torvalds - Kevin Mitnick Considerar las siguientes características para todos los usuarios: Type=friend Username=según_corresponda Secret=102030 Callerid=según_corresponda Context=from-internal Nat=never Canreinvite=no Disallow=all Allow=ullaw Host=dynamic Dtmfmode=rfc2833 TEMPLATES DE CONFIGURACION Tomando como referencia el ejemplo anterior vamos a mostrar como podemos simplificar la creación de lasextensiones con el uso de templates, los cuales permiten simplificar los parámetros comunes en un grupo deextensiones (!) ; el signo de admiración indica a asterisk que este es un template Type=friend Secret=102030 Context=from-internal Nat=never Canreinvite=no Disallow=all Allow=ullaw Host=dynamic Dtmfmode=rfc2833 Ahora las demás extensiones solo deberán hacer referencia al template que se ha creado para ellas. (settings) Username=201 Callerid=Mark Spencer (settings) Username=202 Callerid=Bill Gates (settings) Username=203 Callerid=Steve Jobs Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 6: Index

…… (settings) Username=203 Callerid=xxxxx yyyy CODECS Los codecs están basados en algoritmos de compresión, existen varios tipos de codec para cada formato y tipo demedio (mp3, MPEG, JPEG, GIF, MP4, etc.). Sin embargo nosotros vamos a centrarnos en codecs diseñados paracomprimir la voz. Codec G711a / G711u Codec GSM Codec G729 Codec G723.1 CODEC G711 G.711 es un alto codec del estándar del índice binario (64 Kbps) ITU. Es la lengua materna de la red de teléfono digitalmoderna. Aunque fue estandardizado formalmente en 1988, el codec del PCM G.711 es el abuelo de la telefonía digital.Inventado por Bell Systems e introducido en los tempranos años 70, una troncal digital T1 emplea un esquema decodificación sin comprimir de la modulación de código de pulso de 8 bits con un índice de la muestra de 8000muestras por segundo. Esto permitió un ancho de banda máximo (teórico) de la voz de 4000 hertzios. Una troncal T1lleva 24 canales digitales PCM multiplexados. El estándar europeo mejorado E1 lleva 30 canales. Hay dos versiones: U-law y A-law. U-law viene del estándar T1 usado en Norteamérica y Japón. A-law viene delestándar E1 usado en el resto del mundo. La diferencia es en el método la señal análoga que es muestreada. Enambos esquemas, la señal no se muestrea linealmente, pero en una manera logarítmica. A-law proporciona una gamamás dinámica en comparación con U-law. El resultado es un sonido menos “borroso―. Usar G.711 para VoIP dará la mejor calidad de la voz; puesto que no utiliza ninguna compresión y es el mismo codecusado por la red del PSTN y las líneas del ISDN, él sonido será como usar un teléfono regular o ISDN. También tiene eldelay más bajo porque no hay necesidad de la compresión, que cuesta tiempo de proceso. La desventaja es quenecesita mas ancho de banda que otros codecs, hasta 84 Kbps incluyendo todo el TCP/IP de las cabeceras. G.711 es utilizado por la mayoría de los proveedores de VoIP y se encuentra prácticamente en todos los equipos VoIP. GSM (Global System for Mobile communications) Este codec usa la misma codificación usada para comprimir el audioen la telefonía móvil, este codec también es usado comúnmente para comunicaciones por videoconferencia y softwarede telefonía IP ya que consigue una compresión elevada con una calidad aceptable de audio, comúnmente vozhumana. Normalmente estos codecs se encuentran con Windows pero es posible que no se encuentren instalados en su sistemasi en el proceso de instalación no eligió la opción adecuada. CODEC GSM GSM (Global System for Mobile communications) Este codec usa la misma codificación usada para comprimir el audioen la telefonía móvil, este codec también es usado comúnmente para comunicaciones por videoconferencia y softwarede telefonía IP ya que consigue una compresión elevada con una calidad aceptable de audio, comúnmente vozhumana. Normalmente estos codecs se encuentran con Windows pero es posible que no se encuentren instalados en su sistemasi en el proceso de instalación no eligió la opción adecuada. CODEC G729 El codec G.729 es un estandar de la industria que permite optimizar la codificación de la voz en paquetes de datos yasí conseguir introducir más llamadas con un ancho de banda limitado, optimizando el rendimiento del uso de Vozsobre IP. Esta tecnología, una de las más eficientes del mercado, está patentada por sus desarrolladores, Spirit DSP y su usocomercial tiene un coste. El coste es por canal concurrente. Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 7: Index

Nota: La codificación G.729 se realiza por software, con su consiguiente carga para el procesador. Digium, la empresa desarrolladora de Asterisk, recomienda a modo ejemplo destinar un dual Intel(R) Xeon 1.8GHz para60 llamadas G729 concurrentes y un dual Intel(R) Xeon 2.8GHz para 80 llamadas. CODEC G723.1 G723.1. Un standard ITU standard del tipo narrow-band audio codec que encodea el habla en una cadena de datoscada 30ms. Consigue reducir el requerimiento de ancho de banda hasta 5kbps por canal de voz. CONFIGURACION TARJETA ANALOGICA Para configurar una tarjeta analógica deberemos seguir los siguientes pasos: Paso 1: Editar el archivo de configuración “zaptel.conf― Ejecutar: Vi /etc/zaptel.conf Modificarlo de tal manera que quede como la siguiente imagen Vi /etc/zaptel.conf En la imagen anterior se pueden apreciar los siguientes parámetros: Fxsks=1-2 ; significa que tenemos una tarjeta con 02 módulos FXO ubicados en los slots 1 y 2 de la tarjeta Loadzone=us ; nos permite especificar el tipo de tonos para la tarjeta, en este caso tono para EEUU y normalmente soncompatibles con los de Perú. Defaultzone= es; la zona que utilizaran los dispositivos que no sean especificados explícitamente. Paso 2: Editar el archivo de configuración “zapata.conf― Ejecutar: vi /etc/asterisk/zapata.conf Luego de haber editado el archivo reiniciar asterisk asterisk –r restart now rxwink=300 echocancel=yes echocancelwhenbridged=no echotraining=800 relaxdtmf=yes rxgain=2.0 txgain=2.7 signalling=fxs_ks Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 8: Index

callerid=asreceived group=0 context=from-pstn answeronpolarityswitch=yes hanguponpolarityswitch=yes channel=>3 signalling=fxs_ks callerid=asreceived group=0 context=from-pstn busydetect=yes busycount=4 channel=>4 Debemos tomar en cuenta que este archivo reemplaza al viejo zapata.conf, así que la configuración será muy similarsino la misma. En la imagen anterior se pueden apreciar los siguientes parámetros: Language=en; significa que las voces que se cargaran por defecto serán las voces de ingles Rxwink = 300; su valor esta en milisegundos y normalmente se deja por defecto. rxgain=2.0; Recepción. txgain=2.7; Transmisión. Busydetect=yes; permite que la tarjeta detect el tono de ocupado en una línea. Busycount=4, requiere que busydetect este en yes, y permite colgar la llamadas luego de escuchar 4 tonos de ocupadoen este caso. Debemos tomar en cuenta que este archivo reemplaza al viejo zapata.conf, así que la configuración será muy similarsino la misma. En la imagen anterior se pueden apreciar los siguientes parámetros: Echocancel=yes; permite habilitar el cancelador de eco por software. Echocancelwhenbridged=no ; activa el cancelador de eco para las llamadas entre los puertos de la misma tarjeta, enprincipio este tipo de llamadas no debería requerir cancelador de eco. Echotraining=800; tiempo en milisegundos para el entrenamiento del cancelador de eco Relaxdtmf=yes; permite que la tarjeta detect el tono de ocupado en una línea. Rxgain & txgain , permite incrementar la ganancia tanto de recepción como de transmisión. En la imagen anterior se pueden apreciar los siguientes parámetros: SPAN 1: Signalling=fxs_ks, Tipo de señalización para módulos FXO se utiliza fxs_ks Callerid=asreceived, indica que el caller id será transmitido tal cual es recibido. Group=0; Asignamos un grupo para estas troncales Context=from-pstn; asignamos un contexto aun cuando no hemos creado este contexto en extensions.conf aun. Answeronpolarityswitch=no; activamos la detección de inversión de polaridad al contestar una llamada Hanguponpolarityswitch=no; activamos la detección de inversión de polaridad para colgar una llamada Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 9: Index

Channel=>1; indicamos el canal al cual se le asignaran los parámetros anteriores. REVERSION DE POLARIDAD Cuando instalamos Tarjetas en nuestro servidor, debemos tomar en cuenta que la detección de reversión de polaridadpara la PSTN no viene activada y para evitar que las líneas se queden pegadas cuando el llamante remoto cuelgueantes que hallamos podido contestar la llamada será necesario agregar las siguientes líneas en el archivo zapata-auto.conf justo encima del parámetro “Channel― tal como muestra la siguiente imagen. Answeronpolarityswitch=yes Hanguponpolarityswitch=yes REVERSION DE POLARIDAD También podría ser necesario agregar estas dos líneas adicionales si conectamos bases celulares. Busydetect=yes Busycount=4 CONFIGURACION TARJETA DIGITAL Para configurar una tarjeta digital deberemos seguir los siguientes pasos: Paso 1: Editar el archivo de configuración “zaptel.conf― Ejecutar: Vi /etc/zaptel.conf Modificarlo de tal manera que quede como la siguiente imagen Vi /etc/zaptel.conf En la imagen anterior se pueden apreciar los siguientes parámetros: span=(spannum),(timing),(LBO),(framing),(coding) Span =1,1,0,css,hdb3, spannum ; indica el numero del span timing; se usa para sincronizar los dispositivos, 0,1,2 line build out, longitud del cable, normalmente este parámetro va en “0― framming, Css, como comunicarse con el dispositivo del otro lado de la línea coding, Hdb3, método de codificación, podría necesitar de CRC4 en el caso de los E1 bchan= 1-15,17-31, tomara cono canales de voz los canales del 1al 15 y luego del 17 al 31 (total de 30 canales) dchan= 16; significa que el canal de señalización será el 16 Paso 2: Editar el archivo de configuración “zapata.conf― Ejecutar: vi /etc/asterisk/zapata.conf Luego de haber editado el archivo reiniciar asterisk asterisk –r Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 10: Index

restart now Debemos tomar en cuenta que este archivo reemplaza al viejo zapata.conf, así que la configuración será muy similarsino la misma. En la imagen anterior se pueden apreciar los siguientes parámetros: Language=en; significa que las voces que se cargaran por defecto serán las voces de ingles Rxwink = 300; su valor esta en milisegundos y normalmente se deja por defecto. Resetinterval=never; permite establecer la reanudacion de los canales no utilizados, por defecto son 3600 segundos. Busydetect=yes; permite que la terjeta detect el tono de ocupado en una linea. Busycount=4, requiere que busydetect este en yes, y permite colgar la llamadas luego de escuchar 4 tonos de ocupadoen este caso. Debemos tomar en cuenta que este archivo reemplaza al viejo zapata.conf, así que la configuración será muy similarsino la misma. En la imagen anterior se pueden apreciar los siguientes parámetros: Echocancel=yes; permite habilitar el cancelador de eco por software. Echocancelwhenbridged=no ; activa el cancelador de eco para las llamadas entre los puertos de la misma tarjeta, enprincipio este tipo de llamadas no debería requerir cancelador de eco. Echotraining=800; tiempo en milisegundos para el entrenamiento del cancelador de eco Relaxdtmf=yes; permite que la tarjeta detect el tono de ocupado en una línea. Rxgain & txgain , permite incrementar la ganancia tanto de recepción como de transmisión. En la imagen anterior se pueden apreciar los siguientes parámetros: SPAN 1: Signalling=pri_cpe, tipo de señalización utilizado para primarios switchtype=euroisdn, Este parámetro solo se utiliza para las tarjetas primarias Group=0; Asignamos un grupo para estos canales Context=entradapri; asignamos un contexto aun cuando no hemos creado este contexto en extensions.conf aun. bchannel=>1-15; canal de datos dchannel => 16; canal de control o señalización CARGANDO VOCES EN EL SERVIDOR Lo primero que vamos a hacer es cargar los archivos con las voces, en español en este caso. Para ello vamos a utilizar el programa winscp, para conectarnos al servidor. Una vez conectados nos dirigimos a la siguiente ruta: /var/lib/asterisk/sounds/ Dentro de esta carpeta encontraremos los archivos con las voces de nuestro servidor que por defecto viene en ingles. Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 11: Index

Para instalar el idioma debemos copiar el contenido de la carpeta voces completas en español del cd dentro de la ruta /var/lib/asterisk/sounds De manera que se carguen los archivos en español en las respectivas rutas de manera automática /var/lib/asterisk/sounds/es /var/lib/asterisk/sounds/digits/es /var/lib/asterisk/sounds/letters/es /var/lib/asterisk/sounds/followme/es Etc… CONFIGURANDO ARCHIVOS PARA CAMBIAR EL IDIOMA Es necesario cambiar tres archivos principalmente. 1./etc/asterisk/sip.conf – para cambiar el idioma a los anexos 2./etc/asterisk/iax.conf – para cambiar el idioma a los anexos 3./etc/asterisk/zapata.conf – para cambiarle el idioma a la troncal En todos será necesario ingresar o modificar el parámetro “language― para que quede de la siguiente manera “language = es― FINALIZANDO LA CARGA DEL IDIOMA Finalmente una ves modificado deberemos reiniciar el servicio de asterisk para que se ejecuten los cambios. • Dial Plan & Features – Dial Plan: Basic DP simple, DP Interactivo – Dial Plan: Variables, Funciones, Condicionales – Dial Plan: Voicemail, Macros – Asterisk: Features COMANDOS BASICOS ASTERISK Comandos Asterisk: asterisk –r: permite reconectarse al servidor asterisk –g: permite iniciar el servicio asterisk restart now: permite reiniciar el servicio de asterisk stop now: permite detener el servicio asterisk exit: Cierra la consola de asterisk DIAL PLAN BASICS El plan de marcación o “Dial Plan―, es el corazón de toda configuración en asterisk, y de esta configuración dependeráel performace y eficiencia de nuestra central telefónica. Para poder personalizar la central a gusto se deberá comprender plenamente el funcionamiento del plan de marcaciónde asterisk Sintaxis: El plan de marcación se configura en el archivo extensions.conf, este archivo reside usualmente en la carpeta/etc/asterisk/ El dial plan esta compuesto de 04 conceptos principalmente: - Contextos - Extensiones - Prioridades - Aplicaciones CONTEXTOS: Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 12: Index

El dial plan se divide en secciones llamadas contextos, los contextos son nombres para un grupo de extensiones, lascuales pueden tener diferentes propósitos. Los contextos también pueden interactuar entre ellos. Los contextos se denotan escribiendo el nombre del contexto entre corchetes “―. Durante la creación de una extensión (sip.conf, iax.conf, etc) se define a que contexto pertenece. p.e. context=from-internal Todas las instrucciones por debajo del nombre del contexto son asignadas a ese mismo contexto hasta que un nuevocontexto sea declarado. Al inicio del archivo extensions.conf, existen dos contextos especiales - - La sección general, contiene los parámetros generales del dial plan. La sección globals, contiene las variables globales del sistema, las cuales irán siendo utilizadas por los contextossiguientes. EXTENSIONES: Normalmente conocemos con el nombre de extensión, al numero que se le asigna a los terminales telefónicos, sinembargo en asterisk una extensión es mucho mas que un número _ telefónico, ya que define una serie de pasos(donde cada paso contiene una aplicación) que asterisk realizara durante una llamada. La sintaxis usada para declarar una extensión es la palabra “exten―, seguido de una flecha formada por una signo igual yun signo mayor p.e. exten => Esto va seguido por el numero de la extensión. exten => name,priority,application() Una extensión completa esta compuesta de: El nombre (o numero) de la extensión. La prioridad (cada extensión puede incluir múltiples pasos, el numero del paso es llamado prioridad) La aplicación (o comando) es el que realiza la acción en la llamada. PRIORIDADES: Cada extensión puede tener multiples pasos, llamados prioridades, cada prioridad es numerada secuencialmente,comenzando con 1, y ejecutando una aplicación especifica. Existe un tipo de prioridad “no numerada― que se representa con la letra n y permite evitar problemas generados por lanumeración secuencial. Esta prioridad “no numerada― significa que cada prioridad es igual a la prioridad anterior +1 Por lo tanto: n=n+1 p.e. exten => 123,1,Answer() exten => 123,n,do something exten => 123,n,do something else exten => 123,n,do one last thing exten => 123,n,Hangup() PRIORIDADES - ETIQUETAS: Desde asterisk 1.2, es muy común asignar etiquetas de texto (labels), a las prioridades. Esto es para asegurarnos quepodremos referirnos a esa prioridad por un valor distinto a su numero, el cual probablemente no se conozca (prioridadElastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 13: Index

n), y dado que actualmente el uso de prioridades no numeradas es muy usual en el diseño de una dial plan. Para asignar una etiqueta de texto a una prioridad, solo basta con agregarla entre paréntesis justo después del numerode la prioridad. p.e. exten => 123,n(label),application() APLICACIONES: Las aplicaciones son el caballito de batalla del dial plan, cada aplicación realiza una acción especifica sobre el canalactual, como por ejemplo, tocar una melodía, aceptando entradas de tono, marcar un canal, colgar una llamada, y asísucesivamente. Algunas aplicaciones como Answer() o Hangup(), no requieren mayor información para hacer su trabajo, sin embargoexisten otras aplicaciones que si requieren de cierta información adicional para procesarla, a esta información adicionalse le conoce como parámetros, y para pasarle los parámetros a la aplicación deben colocarse entre los paréntesis. Ocasionalmente podríamos ver el pipe entre los paréntesis, y es que este signo es utilizado para separar mas de unparámetro. CONSTRUYENDO UN DIAL PLAN SIMPLE: Answer(), Playback(), Hangup() Vamos a construir un dial plan que consista en que , asterisk contesta la llamada, toca una melodía, y luego cuelga. Para este ejemplo vamos a asumir que ya hemos creado la extensión y que tiene como nombre de contexto “from-internal― Para la construcción de este dial plan utilizaremos las siguientes aplicaciones: Answer() Playback() Hangup() Answer(), es la aplicación que se utiliza para que la central conteste una llamada que esta timbrando. Se puede utilizar al inicio de la configuración del contexto para una extension, pero en algunas ocasiones no esnecesario. Como ya mencionamos, Anwser() no tiene argumentos Playback(), es la aplicación que se utiliza para reproducir un sonido grabado previamente en un archivo o a través deun canal. Cuando utilizamos playback, las entradas (inputs) del usuario desde la extension son ignoradas. Para utilizar playback() se debe ingresar el nombre del archivo sin la extension (p.e. .wav o .mp3) como argumento entrelos paréntesis. Por defecto playback buscara el archivo ingresado como argumento en la ruta “/var/libs/asterisk/sounds― Si se desea hacer referencia a un archivo ubicado en otra ruta, se deberá ingresar la ruta completa entre los paréntesis Playback(/home/john/sounds/filename) Lo mas comun es crear una carpeta para estos archivos dentro de la ruta por defecto Playback(custom/filename) Ahora si vamos a crear nuestro dial plan exten => 1234,1,Answer() exten => 1234,n,Playback(hello-world) exten => 1234,n,Hangup() Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 14: Index

CONSTRUYENDO UN DIAL PLAN INTERACTIVO: Background(), WaitExten(), and Goto() La aplicación background, es la pieza vital para un dial plan interactivo. El background(), al igual que playback() reproduce una grabación, pero a diferencia de playback(), esta aplicación sipermite al usuario ingresar entradas (inputs) desde el teclado del teléfono, estas entradas interrumpen la reproducción yse dirige a la extensión correspondiente. El uso mas común que suele dársele a la aplicación background, se encuentra en la construcción de menús de voz. exten => 123,1,Answer() exten => 123,n,Background(main-menu) En el ejemplo anterior por defecto se cortara la llamada, pero si lo que queremos es esperar a que el usuario ingrese omarque algun codigo podemos agregarle la aplicación waitexten() al final. exten => 123,1,Answer() exten => 123,n,Background(main-menu) exten => 123,n,WaitExten() La aplicación WaitExten(), le indica al sistema que espere por el ingreso de una extensión, la cual deberá estar dentrodel contexto. exten => 123,1,Answer() exten => 123,n,Background(main-menu) exten => 123,n,WaitExten() exten => 2,1,Playback(digits/2) exten => 3,1,Playback(digits/3) exten => 4,1,Playback(digits/4) Que ocurre cuando, tenemos un duplicado entre los primeros digitos de las extensiones disponibles: p.e. exten => 123,1,Answer() exten => 123,n,Background(main-menu) exten => 123,n,WaitExten() exten => 1,1,Playback(digits/1) exten => 2,1,Playback(digits/2) exten => 3,1,Playback(digits/3) exten => 4,1,Playback(digits/4) Del ejemplo anterior si llamamos al 123, y luego presionamos la opción 123, volveremos a ir al menú, pero que ocurresi solo presionamos 1. Como se puede comprobar en la practica asterisk esperara unos segundos cuando se encuentra con mas de unaalternativa posible. Luego de este tiempo ejecutara la extensión según los dígitos que fueron ingresados. Finalmente vamos a mencionar que la aplicación WaitExten() soporta como argumento el tiempo en segundos queesperara para que el usuario ingrese una extensión valida, luego de este tiempo terminara esta aplicación, y pasara ala siguiente prioridad si existiera. Ahora vamos a utilizar la aplicación Goto(). La aplicación Goto(), es utilizada para enviar una llamada a otra parte del dial plan, la sintaxis de la aplicación Goto(),requiere los argumentos contexto, extensión y prioridad. exten => 123,n,Goto(context,extension,priority) Background(), WaitExten(), and Goto() exten => 123,1,Answer() Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 15: Index

exten => 123,n,Background(main-menu) exten => 1,1,Playback(digits/1) exten => 1,n,Goto(incoming,123,1) exten => 2,1,Playback(digits/2) exten => 2,n,Goto(incoming,123,1) MANEJANDO INPUTS Y TIMEOUTS exten => 123,1,Answer() exten => 123,n,Background(enter-ext-of-person) exten => 123,n,WaitExten() exten => 1,1,Playback(digits/1) exten => 1,n,Goto(from-internal,123,1) exten => 2,1,Playback(digits/2) exten => 2,n,Goto(from-internal,123,1) exten => 3,1,Playback(digits/3) exten => 3,n,Goto(from-internal,123,1) exten => i,1,Playback(pbx-invalid) exten => i,n,Goto(from-internal,123,1) exten => t,1,Playback(vm-goodbye) exten => t,n,Hangup() MANEJANDO INPUTS Y TIMEOUTS La opción i, se ejecuta cuando el usuario ingresa una opción invalida, y cuando se cumple el tiempo máximodisponible para que el usuario marque una extensión, la llamada será direccionada automáticamente hacia laextensión t (el timeout por defecto es de 10 segundos). Utilizando las opciones “i― y “t―, obtenemos un dial plan un poco mas robusto y amigable. La extensión “S― Cuando una llamada entra en un contexto sin un destino especifico (por ejemplo una llamada en la línea FXO), se pasaa la extensión s, “S― significa inicio o start. La extensión “S― es muy utilizada para generar menús en la central telefónica. El siguiente ejercicio intentara mostrar el funcionamiento de la extensión s, haciendo uso de la aplicación Goto(). exten => _98,1,Goto(from-pstn,s,1) exten => s,1,Answer() exten => s,n,Playback(hello-world) exten => s,n,Hangup() Habiendo definido esto ahora pasaremos a ver otras aplicaciones muy importantes, como la aplicación DIAL(), que nospermite comunicar a dos anexos (personas) entre si. Usando la aplicación Dial() La aplicación Dial(), es una de las aplicaciones mas importantes con las que cuenta asterisk, tiene la capacidad deconectar dos usuarios uno con el otro. Esto resulta muy útil sobre todo cuando los usuarios están utilizando distintos tipos de medio de comunicación, porejemplo. Por ejemplo podemos utilizar la aplicación Dial() para comunicar a un usuario que llama desde un teléfono analógico através de la rede de telefonía tradicional, con otro usuario que se puede encontrar en cualquier parte del mundoconectado a través de Internet con su teléfono IP. La sintaxis de Dial(), es mas compleja que la sintaxis de la funciones anteriores, y puede tener hasta 4 argumentos, elprimero el el destino al cual esta intentando conectarte. Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 16: Index

Dial(type/identifier, timeout, options, URL) p.e. exten => 204,1,Dial(SIP/201) exten => 202,1,Dial(IAX2/202) También se pueden llamar a un conjunto de extensiones p.e. exten => 111,1,Dial(SIP/202&SIP/203&SIP/204) Usando la aplicación Dial() El segundo argumento me permite colocar el tiempo máximo que se ejecutara la aplicación Dial. exten => 123,1,Dial(Zap/1,10) exten => 123,n,Playback(vm-nobodyavail) exten => 123,n,Hangup() El tercer parámetro puede ser una cadena o carácter, la lista de opciones es bastante larga, y pueden encontrarla en elsiguiente hipervínculo: http://www.voip-info.org/wiki/view/Asterisk+cmd+Dial Usando la aplicación Dial() p.e. exten => 123,1,Dial(Zap/1,10,m) exten => 123,n,Playback(vm-nobodyavail) exten => 123,n,Hangup() El carácter “m―, permite que el usuario que esta llamando escuche la MOH en lugar del tono de ring, hasta que la llamadasea contestada. Cuando recibimos una llamada podemos derivarla a un menú como el que hemos creado, pero a su vez podemosformar un menú mas completo con el comando Dial(), tal como se aprecia en el siguiente ejemplo: exten => 123,1,Answer() exten => 123,n,Background(enter-ext-of-person) exten => 123,n,WaitExten() exten => 1,1,Dial(Zap/1,10) exten => 1,n,Playback(vm-nobodyavail) exten => 1,n,Hangup() eten => 2,1,Dial(SIP/Jane,10) exten => 2,n,Playback(vm-nobodyavail) exten => 2,n,Hangup() exten => i,1,Playback(pbx-invalid) exten => i,n,Goto(from-internal,123,1) exten => t,1,Playback(vm-goodbye) exten => t,n,Hangup() DIAL PLAN: VARIABLES, FUNCIONES, CONDICIONALES Las variables pueden ser de 03 tipos: Variables Globales Variables de Canal Variables de Entorno Las variables ayudan a reducir o simplificar el contenido y la estructura del dial plan optimizando de esta manera elproceso de lectura de los archivos de configuración de nuestra centralita. También sirven para agregar lógica a nuestrodial plan. Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 17: Index

Una variable es como un contenedor que puede mantener una valor durante un periodo. Variables Globales, se aplican a todas las extensiones en todos los contextos, esta variables deberán ser declaradasdebajo del contexto . Por ejemplo vamos a guardar el valor SIP/201 en la variable JESUS JESUS=SIP/201 JESSICA=SIP/202 PABLO=SIP/208 exten => 123,1,Dial(${JESUS}&${JESSICA}) Ciertamente el tema de las variables resulta mas interesante cuando las asignamos a las troncales TELEFONICA=ZAP/1 1977=ZAP/2 BASE CLARO=ZAP/3 JESUS=SIP/201 JUAN=SIP/202 Este tipo de esquema nos permite elaborar un dial plan en funciona a variables y si se produce alguna modificación enel esquema, solo bastara con cambiar el valor de la variable y no será necesario modificar todo nuestro dial plan. Variable de canal, esta variable se asocia solamente con una llamada, y a diferencia de las variables globales, lasvariables de canal se definen solo para la duración de la llamada actual, y solo están disponibles para los canales queparticipan de esa llamada. Existen varias variables de canal predefinidas y están disponibles para ser utilizadas durante la marcación. p.e. exten => 125,1,Set(MAGICNUMBER=42) Las variables de entorno, son una forma de acceder a las variables del entorno unix desde asterisk, podemos hacerreferencia a estas variables a través de la funciona de marcación env(), la sintaxis de esta variables es: ${ENV(var)} ; donde var es una variable del entorno de linux o unix a la cual queremos referenciar. Este tipo de variables no son de uso común en el dial plan pero están disponibles si fuesen necesarias. Patrones de Marcado y Variable ${EXTEN} Los patrones de marcación son comodines que nos permiten simplificar un grupo de extensiones, con este tipo decomodines podemos crear reglas que agrupen grandes conjuntos de números en unas cuantas líneas. X : equivale a un digito 0 – 9 Z : equivale a un digito 1 – 9 N : equivale a un digito 2 – 9 : equivale a los dígitos 1, 5, 6, 7. . : Este comodín equivale a un o mas dígitos sin importar el valor Patrones de Marcado y Variable ${EXTEN} La variable EXTEN, toma el mismo valor que el numero de la extensión. exten => _XXXX,1,SayDigits(${EXTEN}) A partir de esta variable también podemos mutilar el numero marcado, por ejemplo si seguimos la siguiente sintaxisconseguiremos recortar los primeros dígitos del numero. ${EXTEN:x:y} ; “X― es la posición donde comenzara el numero resultante y “Y― es la cantidad de dígitos que seránElastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 18: Index

retornados exten => _XXXX,1,SayDigits(${EXTEN:2}) Patrones de Marcado y Variable ${EXTEN} Los siguientes ejemplos ayudaran a comprender mejor las opciones: exten => _273443,1,SayDigits(${EXTEN:2}); ${EXTEN:2}=3443 exten => _273443,1,SayDigits(${EXTEN:1}); ${EXTEN:1}=73443 exten => _9388211,1,SayDigits(${EXTEN:3}); ${EXTEN:3}=8211 exten => _9388211,1,SayDigits(${EXTEN:3:2}); ${EXTEN:3:2}=82 exten => _9388211,1,SayDigits(${EXTEN:0:1}); ${EXTEN:0:1}=9 exten => _9388211,1,SayDigits(${EXTEN:0:2}); ${EXTEN:0:2}=93 exten => _9388211,1,SayDigits(${EXTEN:-4:2}); ${EXTEN:0:2}=82 exten => _XXXX,1,SayDigits(${EXTEN:2}), devolverá los últimos 3 dígitos que se hallan marcado Patrones de Marcado y Variable ${EXTEN} Un ejemplo mas practico seria el siguiente: Si queremos que los usuarios marquen el nueve antes del numero que van a llamar como en la mayoría de lascentrales telefónicas el dial plan seria: exten => _9.,1,SayDigits(${EXTEN:1}), de esa manera se devolverá el numero que se halla marcado pero sin el 9, listopara salir a la red publica de telefonía. Patrones de Marcado y Variable ${EXTEN} Habilitando una ruta saliente: OUTBOUNDTRUNK=ZAP/1 exten => _9NXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1}) exten => _9NXXXXX,n,Congestion() exten => _9NXXXXX,n,Hangup() Habilitando una llamada a Numero Fijo Local sin prefijo 9: OUTBOUNDTRUNK=ZAP/1 exten => _XXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN}) exten => _XXXXXX,n,Congestion() exten => _XXXXXX,n,Hangup() Patrones de Marcado y Variable ${EXTEN} Habilitando una ruta saliente a números Fijos LDN: OUTBOUNDTRUNK=ZAP/1 exten => _0XXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN}) exten => _0XXXXXX,n,Congestion() exten => _0XXXXXX,n,Hangup() Habilitando una llamada a Numero LDI: OUTBOUNDTRUNK=ZAP/1 exten => _00.,1,Dial(${OUTBOUNDTRUNK}/${EXTEN}) exten => _00.,n,Congestion() exten => _00.,n,Hangup() Includes Es posible concatenar los contexto mediante el comando include, de echo lo mas común es diseñar distintos contextosElastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 19: Index

para diferentes funciones de la central y luego enlazarlos para formar unos pocos para asignar a los diferentes tipos deextensiones según los privilegios o características que les queremos asignar a cada uno. Sintaxis: include => contextB Funciones: Las funciones nos premitiran aumentar el potencial de nuestro dial plan, exiten varias funciones disponibles y trataremosde explicar las mas utilizadas. Sintaxis: FUNCTION_NAME(argument) Al igual que muchas funciones podemos referenciar a la funcion tal como esta escrito en la sintaxis, sin embargotambien podemos hacer referencia del valor de dicha funcion de la siguiente manera: ${FUNCTION_NAME(argument)} Funciones: Una función puede encapsular otra función: ${FUNCTION_NAME(${FUNCTION_NAME(argument)})} Ejemplo: exten => 123,1,Set(TEST=example) exten => 123,n,SayNumber(${LEN(${TEST})}) La función Set(), asigna un valor a una variable. La función SayNumber(), reproduce el valor de un numero La función LEN(), devuelve el valor de la longitud de una cadena de letras. Funciones: Otra función muy utilizada es la función TIMEOUT(), la cual puede recibir tres tipos de argumentos, solo uno a la vez: Absolute; asigna el tiempo absoluto máximo de duración de la llamada Digit; asigna el máximo de tiempo entre dígitos que puede tomarse un usuario. Response; es el tiempo máximo de espera cuando el usuario no ingresa ningún digito. DIAL PLAN CONDICIONALES La aplicación Gotoif() La clave para lograr una ramificación condicional entre los contextos de nuestro dial plan es la función gotoif(). Gotoif()evalúa los argumentos ingresados y reenvía al llamante a un destino especifico dependiendo si la evaluación resultoverdadera o falsa. Sintaxis GotoIf(expression?destination1:destination2) Si la expresión resulta verdadera, entonces la llamada saltara hacia el destino 1 si resulta falsa ira hacia el destino 2. El valor verdadero es representado por el numero 1 y el falso por el numero 0 Los destinos posibles pueden ser los siguientes: Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 20: Index

1.- Una prioridad etiquetada dentro de la misma extensión. 2.- Un prioridad etiquetada de otra extensión dentro del mismo contexto. 3.- Una prioridad etiquetada de otra extensión en otro contexto. Cualquiera de los dos destinos puede ser omitido pero nunca se puede omitir los dos destinos al mismo tiempo. En caso de que la condicional resulte hacia uno de los destinos omitidos simplemente se proseguirá hacia la siguientelínea o prioridad. Ejemplo: exten => 345,1,Set(TEST=1) exten => 345,n,GotoIf($?uno:dos) exten => 345,n(uno),Saydigits(12) exten => 345,n,Hangup() exten => 345,n(dos),Saydigits(34) exten => 345,n,Hangup() DIAL PLAN VOICEMAIL Una de las características mas populares de los teléfonos modernos es el sistema de buzón de voz, y naturalmenteasterisk tenia que contar con un sistema de voz muy flexible, algunas de las principales características del buzón devoz que nos ofrece asterisk son las siguientes: Contiene distintos fólderes para organizar los mensajes en el buzón. Saludos distintos para los estados Ocupado Saludos por defecto, y personalizados Posibilidad de asociar varios teléfonos con un buzón y varios buzones con un teléfono Indicador de mensaje de espera, visual con luz intermitente, y audible con tren de tonos Directorio de la compañía,basado en el buzón de voz. El archivo de configuración se llama “voicemail.conf― Creando un Buzón: Dentro de cada contexto del correo de voz, definiremos distintos buzones de voz, la sintaxis para definir un buzón devoz es la siguiente: mailbox => password,name]] Pero que función cumple cada uno de estos parámetros? Mailbox: es el numero del buzón de voz, usualmente lleva el mismo numero que la extensión a la que esta asociado. Password: es la contraseña numérica que el propietario del buzón de voz utilizara para ingresar a su buzón. Si elpropietario cambia su contraseña el sistema la actualizara en este archivo (voicemail.conf) Name: Es el nombre del propietario del buzón de voz, el directorio de la compañía utiliza este campo para realizar labúsqueda del usuario. Email: Aquí va la dirección de correo electrónico del propietario del buzón de voz, Asterisk puede enviar mensaje alcorreo, incluyendo el mismo audio del mensaje. Pager email: dirección de correo del localizador o celular del propietario donde se enviara un mensaje corto. Options: en esta campo pueden ir una lista de opciones que permitirán afinar la configuración del buzón de voz delpropietario del buzón y prevalecen sobre la configuración global. Hay nueve opciones validas: adjuntar, servermail, tz,saycid, review, operator, callback, dialout, y exitcontext. Estas opciones deber ingresarse respetando el formato “opción=valor― y separadas por el signo pipe “|―, la opción tzpermite definir la zona horaria, a las zonas previamente definidas en la sección en el mismo archivo (voicemail.conf), Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 21: Index

Una definición típica para un buzón de voz es la siguiente: 101 => 1234,Joe Public,[email protected],[email protected],tz=central|attach=yes El buzón de voz utiliza la aplicación voicemail(), esta aplicación envía al llamante a una especifico buzón de voz paraque pueda dejar el mensaje, el buzón de voz debe ser especificado como “mailbox@context― donde “context― es el nombredel contexto del correo de voz, opcionalmente se puede agregar las letra “b― y “u―, para diferencias los tipos de saludo(ocupado y no disponible). Vamos a poner algunos ejemplos de cómo configurar el buzón de voz en nuestro dial plan exten => 201,1,Dial(${JOHN}) ; esta extensión permite llamar a la extensión de Jhon. exten => 201,1,Dial(${JOHN},10) exten => 201,n,VoiceMail(101@default,u) ; con esta otra podemos hacer que la extensión de jhon timbre durante 10 segundos y si no contesta derivar la llamadaal buzón de jhon, y la u indica que Jhon no esta disponible. Ahora vamos a combinarlo con la aplicación gotoif() exten => 201,1,Dial(${JOHN},10) exten => 201,n,GotoIf($?busy:unavail) exten => 201,n(unavail),Voicemail(101@default,u) exten => 201,n,Hangup() exten => 201,n(busy),VoiceMail(101@default,b) exten => 201,n,Hangup() Ingresando al buzón de voz: Para acceder al buzón de voz utilizaremos la aplicación, VoiceMailMain() exten => 700,1,VoiceMailMain() ; esto nos preemitirá ingresar al buzón de voz por medio de la extensión 700. Otra manera también interesante de ingresar al buzón de voz es la siguiente: exten => _*982XX,1,VoiceMailMain(${EXTEN:3}@default) exten => _*982XX,1,Hangup Aplicación Directorio: directory() Esta aplicación puede aceptar hasta 3 argumentos, el primero el es contexto dentro del archivo voicemail.conf, dondebuscara a los usuarios, el segundo es el contexto en extensions.conf, desde donde intentara llamar a los usuarios, y eltercero (es opcional), puede ser la letra f, por defecto el directorio realiza la búsqueda por el apellido, pero con la letra fse puede configurar el directorio para que realice la búsqueda por nombre. Por ejemplo: exten => 8,1,Directory(default,from-internal,f) exten => 9,1,Directory(default,from-internal) DIAL PLAN MACROS Las macros resultan de mucha ayuda a la hora de elaborar el dial plan, ya que nos permiten simplificar aun mas laelaboración de nuestro dial plan, es como crear nuestras propias funciones personalizadas para el dial plan, acontinuación vamos a utilizar como ejemplo la creación de una macros para el buzón de voz. Observemos el siguiente dial plan: exten => 201,1,Dial(${JOHN},10) Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 22: Index

exten => 201,n,GotoIf($?busy:unavail) exten => 201,n(unavail),Voicemail(101@default,u) exten => 201,n,Hangup() exten => 201,n(busy),VoiceMail(101@default,b) exten => 201,n,Hangup() En el hemos automatizado la forma como las llamadas ingresaran directamente al buzón de voz dependiendo delestado de la extensión utilizando la variable ${STATUS}, sin embargo así como esta tendríamos que agregar estaslíneas por cada extensión en la central ya que esta extensión estará siempre ligada hacia el usuario Jhon o sea laextensión 201. Utilizaremos las macros para mostrar cual es la mejor manera de configurar una buzón de voz para varias extensiones. Definiendo la macros La macros se definen de una manera muy similar a los contextos, debemos definir una macros entre corchetes y anteponiendo la palabra “macro-― antes del nombre de la macro que vamos a crear. Ejemplos: De esta manera el sistema podrá diferenciar una macro de un contexto normal Definiendo la macros Veamos un ejemplo con el buzón de Jhon pero ahora dentro de una macros exten => s,1,Dial(${JOHN},10) exten => s,n,GotoIf($?busy:unavail) exten => s,n(unavail),Voicemail(101@default,u) exten => s,n,Hangup() exten => s,n(busy),VoiceMail(101@default,b) exten => s,n,Hangup() Uno punto importante es mencionar que las macros solo soportan la extensión “S― Todo va bien solo que aun seguimos amarrados al buzón de Jhon. Definiendo la macros Sin embargo las macros tienen propiedades importantes a comparación de un contexto común corriente. Y es que permiten trabajar con algunas variables adicionales e incluso soportan el envió de argumentos Incorporando una macros al Dial Plan: exten => 201,1,Macro(voicemail) Las aplicación macro define variables especiales, para su utilización: ${MACRO_CONTEXT}, contiene el contexto original desde donde fue ejecutada la macro ${MACRO_EXTEN}, contiene el valor de la extensión original donde fue ejecutada la macro ${MACRO_PRIORITY}, contiene la prioridad original desde donde fue ejecutada la macro ${ARGn}, contiene el “n― mismo argumento ingresado a través de la macro, por ejemplo, el primer argumento será${ARG1}, el segundo argumento será {ARG2} y así sucesivamente. Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 23: Index

En el siguiente ejemplo trataremos de explicar como se pueden utilizar esta variables especiales: exten => s,1,Dial(${JOHN},10) exten => s,n,GotoIf($?busy:unavail) exten => s,n(unavail),Voicemail(${MACRO_EXTEN}@default,u) exten => s,n,Hangup() exten => s,n(busy),VoiceMail(${MACRO_EXTEN}@default,b) exten => s,n,Hangup() Usando argumentos en las macros Ahora vamos a prepara una macros genérica gracias a los argumentos, observemos el siguiente ejemplo donde por finseparamos la macros del numero de la extensión, para poder utilizarla desde cualquier extensión. exten => s,1,Dial(${ARG1},10) exten => s,n,GotoIf($?busy:unavail) exten => s,n(unavail),Voicemail(${MACRO_EXTEN}@default,u) exten => s,n,Hangup() exten => s,n(busy),VoiceMail(${MACRO_EXTEN}@default,b) exten => s,n,Hangup() De esta manera podemos llamar a la macros desde el dial plan exten => s,1,Dial(${ARG1},10) exten => s,n,GotoIf($?busy:unavail) exten => s,n(unavail),Voicemail(${MACRO_EXTEN}@default,u) exten => s,n,Hangup() exten => s,n(busy),VoiceMail(${MACRO_EXTEN}@default,b) exten => s,n,Hangup() exten => 101,1, Macro(voicemail,${JOHN}) exten => 102,1,Macro(voicemail,${JANE}) exten => 103,1,Macro(voicemail,${JACK}) Incluso podemos simplificar una vez mas utilizando la variable ${EXTEN} exten => s,1,Dial(SIP/${ARG1},10) exten => s,n,GotoIf($?busy:unavail) exten => s,n(unavail),Voicemail(${MACRO_EXTEN}@default,u) exten => s,n,Hangup() exten => s,n(busy),VoiceMail(${MACRO_EXTEN}@default,b) exten => s,n,Hangup() exten => 1XX,1,Macro(voicemail,${EXTEN}) Solo debemos tomar en cuenta que en esta ocasión estamos amarrados al protocolo SIP, en el ej. Anterior noimportaba el tipo de canal utilizado ya que este se declaraba como variables globales. Un ejemplo mas avanzado he interesante de analizar es el siguiente: exten => s,1,Dial(${ARG1},20) exten => s,n,Goto(s-${DIALSTATUS},1) exten => s-NOANSWER,1,Voicemail(${MACRO_EXTEN},u) exten => s-NOANSWER,n,Goto(incoming,s,1) exten => s-BUSY,1,Voicemail(${MACRO_EXTEN},b) exten => s-BUSY,n,Goto(incoming,s,1) exten => _s-.,1,Goto(s-NOANSWER,1) Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 24: Index

En esta ocasión estamos incluyendo el comando Goto y esto nos puede servir para reenviar la llamada hacia un menúpor ejemplo donde el usuario llamante tenga mas de una opción. ASTERISK: FEATURES Podemos configurar algunas características adicionales en el archivo features.conf. Las características principales son las siguientes: Transferencia desatendida (blind transfer) Parqueo de llamadas (parking lot) Grupo para jalar llamadas (pickup group) Sala de conferencias (meetme) Para ello será necesario que editemos el archivo features.conf ubicado en la carpeta de asterisk. TRANSFERENCIAS DESATENDIDA Normalmente por defecto la transferencia desatendida se realiza presionado el boton # Este tipo de transferencia consiste en derivar la llamada hacia otro anexo sin habernos cerciorado antes si la persona enla extensión destino se encuentra disponible para recibir la llamada. Vamos a editar el archivo de la ruta /etc/asterisk/features.conf Donde buscaremos el parámetro blind transfer y cambiaremos el varo “#― por “##―, con esto conseguiremos evitarproblemas con las llamadas hacia números que comiencen con la tecla “#― como los móviles RPM por ejemplo. El siguiente grafico ilustrara mejor el proceso de comunicación Realizar una transferencia atendida, consiste en llamar al destino para confirmar la transferencia, antes de realizarla. Este tipo de transferencia suele ser necesario para trabajadores que no acostumbran contestar ni llamar directamentede su extensión, tales como funcionarios, gerentes, ejecutivos, etc. El siguiente grafico nos ilustrara el proceso de comunicación. Se puede habilitar una combinación para la transferencia atendida, por ejemplo *2 para simular la tecla flash PARQUEO DE LLAMADAS En algunas ocasiones durante una conversación telefónica es necesario movilizarnos ( para ir a conseguir un archivo,documento, o realizar alguna consulta), pero lamentablemente no es posible ni practico que todos los usuario cuentencon un anexo inalámbrico, en estos casos es ideal contar con la función de parqueo de llamadas. Esta función consiste en aparcar una llamada en una extensión virtual dentro de nuestra central telefónica, de estamanera podremos recuperar esa llamada simplemente llamando a la extensión virtual creada en el momento queaparcamos la llamada Esta función se habilita en la sección Y cuenta con los siguientes parámetros: Parkext => 700 donde 700 es el numero de la extensión de entrada al estacionamiento Parkpos => 701-720, aquí definimos el rango de posiciones apra nuestro estacionamiento Context => parkedcalls, aquí definimos el nombre del contexto en para nuestro estacionamiento, no olvidar que estecontexto debe estar incluido (include) en el contexto de las extensiones que queramos que puedan recuperar llamadasdesde el estacionamiento. Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 25: Index

Parkingtime => 180, este será el tiempo máximo en segundos que una llamada se mantendrá en el estacionamiento. PICKUP GROUP Un Pick up group es un grupo conformado por extensiones con autorización para “jalarse― las llamadas, es decir; estasextensiones podrán contestar llamadas dirigidas hacia cualquier anexo de su grupo, pero marcando previamente uncódigo. Por ejemplo si tenemos dos extensiones en un mismo grupo, y llaman a una de ellas pero justo no se encuentra lapersona en su extensión, entonces otra persona podrá contestar la llamadas desde su extensión (siempre que estedentro del mismo pickup group) con solo presionar: *8 Esta opción también se encuentra en la sección general y podemos definir o modificar el código por defecto *8 en elparámetro: Pickupexten = *8 Pero será necesario también que asignemos los grupos a cada extensión en el archivo sip.conf. El grupo puede asignarse mediante los parámetros: Callgroup=1, donde 1 es el número del grupo de llamada Pickupgroup=1, donde 1 es el número del grupo para pickup . Tarjeta TDM410P con 1 FXO El proyecto pica empleara una tarjeta Digium TDM410P con 1 puerto FXO (para conectar una linea telefonica PSTN),para tener una configuracion apropiada y para que podamos trabajar perfectamente en la entrada y salidas de llamadas,se deben seguir los pasos a continuacion: 1. Compilar el modulo zaptel. 2. Editar y configurar correctamente los archivos de asterisk: zaptel.conf zapata.conf A continuacion describiremos como se hace: Debemos tener claro primero que son los puertos fxo y fxs. Podemos extraer el siguiente parrafo del link anterior: “¿Qué significan los términos FXS y FXO? FXS y FXO son los nombres de los puertos usados por las líneas telefónicas analógicas (también denominados POTS– Servicio Telefónico Básico y Antiguo) FXS – La interfaz de abonado externo es el puerto que efectivamente envía la línea analógica al abonado. En otraspalabras, es el “enchufe de la pared― que envía tono de marcado, corriente para la batería y tensión de llamada FXO – Interfaz de central externa es el puerto que recibe la línea analógica. Es un enchufe del teléfono o aparato defax, o el enchufe de su centralita telefónica analógica. Envía una indicación de colgado/descolgado (cierre de bucle).Como el puerto FXO está adjunto a un dispositivo, tal como un fax o teléfono, el dispositivo a menudo se denomina“dispositivo FXO―. FXO y FXS son siempre pares, es decir, similar a un enchufe macho/hembra.― Para esta tarjeta primero que todo es importante editar el archivo zaptel.con que se encuentra ubicado en la ruta/etc/zaptel.conf y se tiene que configurar el tipo de señal, mas no el tipo de puerto. Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 26: Index

Se debe tener bien claro que: * Los puertos FXO utilizan las señales FXS * Los puertos FXS utilizan señales FXO. Este tipo de tarjetas con este puerto FXO utiliza señales kewl start, que a continuacion se describe: “La señalización de Loopstart es usada por prácticamente todas las líneas analógicas telefónicas. Esto permite queun teléfono indique el colgado/descolgado, y que el punto terminal indique el ring/no ring. La señalización Kewlstart está basada en loopstart, pero amplía el protocolo permitiendo al punto terminal invertir lapolaridad de la línea telefónica para indicar al teléfono que el otro extremo de la llamada ha colgado. La mayoría delos puntos terminales y casi ninguna Centralita (excepto Asterisk, desde luego) soportan esta característica.Generalmente, es necesario para detectar el colgado. . Veamos la configuración de Zapata. Ello se hace editando directamente el fichero /etc/asterisk/zapata.conf . Haydetalles muy importantes en él, que pueden dar más de un quebradero de cabeza. La idea en este fichero es la de definir “canales― por los que circulará la voz para Asterisk. En este caso, configuraremosun único canal (g0) que podrá ubicar 4 comunicaciones de voz con el exterior (tantas como puertos tiene la tarjetadigitalizadora, y como líneas de teléfono tengo contratadas). ; ; Zapata telephony interface ; ; Configuration file ; Habilita la recepcion del Caller ID (es decir, del número ; del llamante). Sin esta opción, Asterisk no será capaz de ; obtener el número de teléfono de quién nos llama usercallerid=yes ; Usando el valor asreceived en callerid, te pasa directamente ; la identificación que viene en la linea por el provedor de ; telefonía callerid=asreceived ; Permitimos que en las llamadas salientes se indique nuestro ; número hidecallerid=no relaxdtmf=yes ; Esta opción es válida cuando tenemos una línea con ADSI ; (Analog Display Services Interface) adsi=yes ; En esta opción se especifica en qué momento la operadora ; nos envía el identificador de llamada. ; El número que aparece es el número de tonos (de rings) sendcalleridafter=2 ; Esta opción es la que nos proporcionará identificación de ; llamada y es también vital. Sin ella, se produce algo raro ; en las llamadas: Al llamar se produce un evento ; "Starting switch on Zap" y un hangup justo antes de contestar; ; la llamada. Al contestar Asterisk la llamada se produce ; otro "Starting switch on Zap" (Es como si hubiera dos llamadas ; dentro de una misma, una justo antes de contestar y otra a Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 27: Index

; posteriori). Sin este parámetro, el CALLERID(num) ; sólo es detectado en el primer evento, y cuando se ; descuelga, se ha perdido el CALLERID. ; Esta opción, hace que el callerid se mantenga en el segundo ; evento. Os dejo parte de la documentación original en inglés: ; ; distinctiveringaftercid = yes | no ; ; If this is enabled a short initial ring is generated ; followed by caller; ID and then the normal or distinctive ; ring cadence is used. This type of ringing is used in ; Australia and on

============================================================================

Re:Conceptos básicosPosted by ElasMex - 2009/09/24 14:05_____________________________________

Hola Juan pablo Felicidades por la ayuda al foro. Te recomiendo que generes un archivo en PDF y lo coloques en la opción de Documentos para toda la comunidad.Espero que nos ayuden con esto Rafael. Buen día

============================================================================

Re:Conceptos básicosPosted by jcastellanos - 2009/09/25 09:34_____________________________________

wow, que aporte, gracias, pero en realidad creo que lo tendriamos que poner en el area de trucos. gracias

============================================================================

Re:Conceptos básicosPosted by Juan pablo - 2009/09/25 10:58_____________________________________

Cómo: rxgain Tune / txgain para zaptel / DAHDI FXO en Asterisk PBX Sinopsis Esta será una rápida y guía tutorial sobre cómo sintonizar adecuadamente su zaptel / DAHDI FXO en Asterisk através de la interfaz de chan_zap canal Zapata. El propósito de la optimización del interfaz FXO es, ante todo, de tener niveles adecuados de audio en su PSTN FXOinterfaces. Sin embargo, mi motivación inicial para poner a punto mi interfaces fue para reducir el eco híbrido horribleque se estaba causado en mi interfaz FXO. El corto de lo que echo es híbrido, es que hay un dispositivo detelecomunicaciones conmutadores llama un híbrido. Básicamente, lo que este dispositivo hace es convertir el únicopar de cobre que se conecta a tu casa / oficina en un 2-conexión de par, 1 par que lleva la recepción de audio, y 1, quelleva el transmitir. Telco ello, porque la necesidad de amplificar las señales de forma independiente para realizarllamadas a través de largas distancias. Desafortunadamente, debido a la naturaleza de este dispositivo, que causa lafuga de electricidad que hace que el eco. Al utilizar sólo teléfonos normales analógicos, el eco creado por el híbrido sigue estando presente, pero no es unpequeño retraso, suena como tono lateral regular. Cuando entramos en el mundo de VoIP, la demora aumenta debidoa la transformación y cosas de la red IP. Este retraso no es grande en general, pero su bastante grande que se hacemuy evidente que usted está escuchando un eco de sí mismo. Para ayudar a resolver esto, tenemos cancelers eco,eco cancelers pero sólo puede hacerlo mucho mejor la señal de que podemos conseguir, para empezar, más fácilserá la tarea del cancelador de eco tiene. Para obtener una señal limpia tenemos que ajustar nuestra rxgain y valorestxgain en zapata.conf para Asterisk.

Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 28: Index

Lo que usted necesita 1. A 102 Tipo Milliwatt número de ensayo - preferiblemente uno que funcionan en su intercambio por medio de sucompañía telefónica, también, puede de Google en todo para algunos números - thats lo que tenía que hacer. 2. Al menos 2 puertos FXO y las líneas (sólo necesita 1 para sintonizar rxgain solamente) 3. Zaptel / DAHDI compilado con ztmonitor 4. Asterisk compilado con app_millliwatt (su no por defecto) Hacer esto primero Lo primero que debe hacer es desactivar todos los cancelación de eco en zapata.conf, el cancelador de eco puedeinterferir con el procedimiento siguiente. Pero no te preocupes, una vez que haya sintonizado rxgain y txgain puede, ydebe, a su vez eco de cancelar todas sus opciones de nuevo. zapata.conf: 1. echocancel = no 2. echotraining = n 3. echocancelwhenbridged = no Rxgain Tuning Para sintonizar rxgain lo que vamos a hacer es marcar en cada línea FXO tiene que el número de la telco ensayomilivatios y ajustar el valor de rxgain hasta que tengamos los valores que queremos. Lo que me parece más fácil esconfigurar tu dialplan de Asterisk para usar algo como de Zaptel / grupo DAHDI 9, entonces sólo puede cambiar lalínea que está en el grupo 9, uno por uno hasta que se hayan ajustado todas las líneas. Configura por primera vez tu dialplan para hacer todas las llamadas salientes utilizando ZAP/g9 (que cae fuera delalcance de este cómo hacerlo). Configuración de los grupos en Siguiente 9 zapata.conf y lugar de su primera línea de ZAP FXO en ese grupo: grupo = 9 señalización fxs_ks = context = from-tronco rxgain = 0.0 txgain = 0.0 channel => 1 Mientras esté en zapata.conf, asegúrese de que todos sus rxgain / valores txgain se establecen en 0,0 como punto departida. Próxima vez que desee marcar el número de ensayo milivatios de uno de sus teléfonos. Usted debe oír bien un tonoque suena de una frecuencia constante y de volumen, o usted puede escuchar la frecuencia después de una pausa, yluego se reinicia. Telco todos ejecutar estas un poco diferente. Ahora quiere encender ztmonitor en el canal 1 ztmonitor 1-VV dahdi_monitor 1 -vv ¿Quieres ver el valor al lado de "Rx:" hasta obtener el número a 14.844. Cuando usted marca por primera vez en elnúmero de prueba, si usted encuentra que el número está por debajo de 14,844, entonces usted desea aumentarrxgain, y por supuesto si está por encima de 14844, usted querrá disminuir rxgain (puede ser negativa). En una consola independiente tendrá que editar zapata.conf para aumentar o disminuir el valor rxgain, usted puedeguardar su zapata.conf y ejecutar asterisk-rx "reload" Para que la carga de Asterisk los nuevos valores. Usted debe ver los valores que se informó en su terminal ejecutaztmonitor ir arriba o abajo. Basta con seguir repitiendo esto hasta que tenga la Rx: tan cerca de 14.844 como ustedpuede conseguirlo. Una vez que tenga el valor definido rxgain, usted desea optimizar la línea siguiente, cambiar su zapata.conf para ponerel canal 1 de nuevo en su grupo ordinario, y asegúrese de mover el rxgain =, txgain líneas = junto con el canal -- larxgain / valores txgain debe aparecer en algún lugar antes de la canal => línea. Puede establecer rxgain, los valorestxgain varias veces en zapata.conf, los valores que figuran antes de la canal => línea es que los valores de que canal. Después de haber movido el canal y los valores de nuevo a su grupo adecuado, simplemente repita el procedimientoElastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 29: Index

indicado para cada puerto FXO que tiene, cambiar el número del canal a los números apropiados para su instalación. Txgain Tuning Txgain Tuning es esencialmente el opuesto exacto de rxgain. Sin embargo, el Enfréntate que nos enfrentamos aquí esque antes estábamos usando una empresa telefónica controlada por número de prueba para emitir el tono y hemosescuchado que ya existen. Esta vez sin embargo tenemos que ser los que emiten el tono, y también tenemos que sercapaces de escuchar el tono de lo que sabemos lo fuerte que estamos emitiendo nuestra señal. Es por eso quenecesitan de 2 líneas para ajustar txgain, esencialmente lo que vamos a hacer es marcar desde el servidor de Asteriskpara el interruptor de circuito Telco y luego volver a nosotros mismos en nuestro segundo puerto. Para ello, primero tenemos que crear un contexto en el extensions.conf para configurar el ensayo milivatios: exten => s, 1, Answer () exten => s, n, Milliwatt () exten => s, n, Hangup () Actualización (28 de mayo de 2008): Recientemente se ha discutido en el asterisco-es mailing list que la Milliwatt () laaplicación no correcta producirá un tono 1004KHz, y en vez de ello 1000kHz, no hay razonamiento detrás de esto. Encualquier caso, el método correcto para generar un 1004KHz tono con Asterisk es: exten => s, 1, Answer exten => s, n, Playtones (1004/1000) exten => s, n, Wait (300) ¿Qué hacemos ahora es cambiar el contexto que el canal Zap está en que queremos afinar, decimos que queremossintonizar el canal 1, queremos editar zapata.conf para buscar algo como esto: grupo = 0 señalización fxs_ks = context = a-milivatios channel => 1 No dude en poner todos los canales FXO en este contexto antes de tiempo, el contexto es irrelevante a los efectos delas llamadas de salida, sin embargo, es conveniente tener una sola línea en un grupo separado para marcar de,simplemente para que sepamos qué canal va a estar en el extremo receptor de la prueba de milivatios antes de tiempo. Esto también podría hacerse especificando un canal específico en su dialplan. Siguiente ¿Qué tiene que hacer es marcar fuera de su PBX en uno de sus propios números, de preferencia con el finde hacerlas, por lo que marcar el número del canal 1, luego 2, luego 3, etc Fingiendo que está utilizando el canal 8 para marcar desde, y vamos a marcar en el canal 1, tendrá una vez másnecesidad de cargar ztmonitor como lo hicimos en rxgain. Sin embargo, esta vez queremos estar siempre supervisandoel canal 8, ya que tenemos que estar vigilando los niveles de audio que estamos recibiendo desde el canal que estamosenviando desde - Si supervisa el canal que se transmite de, usted siempre obtendrá un valor de 14.844, esto es porquezaptel / DAHDI asume su emisión los volúmenes correctos, ya que no tiene manera de saber si es o no. Así: ztmonitor 8-vv dahdi_monitor 1 -vv Al igual que para rxgain, en otra terminal que va desea editar y ejecutar zapata.conf asterisk-rx "reload" Una vez más usted está viendo la Rx: valor para conseguir que se aproxime a 14.844 como usted puede. Como yahemos sintonizado rxgain y conocer nuestros niveles de recepción es perfecta según la compañía telefónicapropiedad de interruptor, lo que en teoría está configurada correctamente para que podamos ajustar nuestras recibircorrectamente. Esta vez vamos a editar el txgain = línea para el canal que hemos marcado en que, para seguiradelante y empezar a sintonizar su txgain = valores para llegar a donde necesitan estar. Al igual que con rxgain, querrá repetir esto para cada canal que han marcado a cada uno por separado. Finalmente,una vez que llegues al final, tendrá que cambiar su configuración un poco para ajustar el valor txgain de la línea quefueron llamadas de salida de que debería ser bastante sencillo de este punto, sin embargo. Una vez completado esto, usted debe tener mucho más equilibrado de audio, y el eco esperar mucho menos de lo queoriginalmente tenía. También puede encontrar que ya se puede establecer la configuración de cancelador de eco aElastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 30: Index

ser mucho menos agresiva. Por último, para dar crédito donde es debido, me enteré de este procedimiento, haciendo un montón de búsquedaGoogle y la búsqueda de un puesto a partir de 2004 a la lista de usuarios de correo asterisco titulado Ajuste txgain /rxgain por Kris Boutilier.

============================================================================

Re:Conceptos básicosPosted by Juan pablo - 2009/09/25 11:59_____________________________________

DID Direct Inward Dialing Número (También conocido como DID o DDI) DID (DDI) Antecedentes La mayoría de las empresas tienen varios números de teléfono entrante utilizados para fines específicos. Por ejemplo,el servicio al cliente, ventas, etc Algunos tienen un número de teléfono individual para cada usuario en el sistema. Enuna casa de configuración a la otra parte, cada número de teléfono viene en un par de cables típicamente diferentes.Esto no es práctico en un entorno empresarial que tiene muchos números de teléfono. ¿Por qué se DID creó realmente? También lo hicieron ( "Direct Inward Dialing") fue inventado como una manera de volver a utilizar un número limitado delíneas telefónicas físicas para manejar las llamadas a diferentes números publicados. En un negocio con DID, lacompañía de teléfono utiliza DID de señalización para identificar el número que está a punto de conectarse a PBX dela empresa. Históricamente, esto se hizo tomando el pulso de los últimos 3 o 4 dígitos del número que se marcóantes de conectar el número. La centralita se utilizan estos números DID para cambiar la llamada al destinatariocorrecto. En PBX moderno, por lo general, los métodos digitales (por ejemplo: PRI) se usan para hacer lo mismo, es decir,. la"oferta llamados" el partido "de la información. Pero muchos empresarios todavía tienen PBX ancianos que utilizan elanálogo de señalización que he mencionado antes. El tipo de las líneas telefónicas utilizadas para DID analógicason diferentes de las líneas telefónicas regulares en casa. Por lo general, voltaje de la batería es suministrado por lacentral de negocios en lugar de la de telecomunicaciones. Además, la compañía telefónica señala un nuevo llamadode la reducción de la línea de llamada en lugar de por la línea. Las señales de PBX recibir de vuelta de que está listopara tomar la llamada por el momento invertir la polaridad de la tensión en la línea (esto se llama "guiños" de la línea) Elastix Trunk DAHDI de enrutamiento con DID Si tiene varios FXO (PSTN) líneas en su centralita, siempre es agradable ser capaz de enrutar las llamadas de éstos enla envolvente sobre la base de la línea física que llegan a. Cómo esta trabajando con DAHDI en Elastix ha sido queme conduce hasta la pared ! Esta cuestión ha sido escuchas mí para más de una semana y tengo que finalmente la consiguió para trabajar. Tengodos troncos conectados a través de módulos de FXO en una tarjeta TDM400, pero no pude obtener el DID trabaja conellos (CLI con BT ordenados). Pero una vez que Asterisk había la llamada, no pude hacer Asterisk tomar una decisióncon el llamamiento sobre la base de qué número de línea / la persona que llama llama. no es el número del llamante sellama, se trata de CLI o CID, pero el número que marcar para hacer su anillo de línea '. Asterisk fue bien diciendo que no había ruta y responder a la llamada a decir el número que ha llamado no está enservicio, o simplemente el manejo de la 2 líneas de la misma manera - es decir, no podría distinguirlos. Aquí detallomis conclusiones por lo que puede procesar las líneas de forma automática. Yo tenía la mayoría de la configuración correcta, pero no tenía a mano editar otro archivo de configuración pararealmente obtener los cambios realizados a través de la interfaz web que realmente funciona. Tratando de encontrar eseúltimo pedacito de la información en los foros ha sido desesperante para decir lo menos. Cambio de la ruta En primer lugar usted necesita para corregir el controlador del router, cambiando la configuración en un archivo deconfiguración. No hay interfaz gráfica para este me temo, y es el único archivo que necesita editar manualmente por unmedio adecuado. La configuración predeterminada de este archivo de configuración es 'de-PSTN y esto debe ser cambiado a' de-zaptelElastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37

Page 31: Index

". Hay que editar: / etc / asterisk / dahdi-channels.conf Usted necesita encontrar la sección correcta para su conexión de la línea. Para mí fue las líneas 3 y 4. Acontinuación se muestra el ejemplo de la configuración original de mi canal 3: ;;; Line = "3 WCTDM/4/2 fxsks" signalling=fxs_ks callerid=asreceived group=0 context=from-pstn channel => 3 callerid= group= grupo = context=default Y usted necesita para editar este para cada canal para llegar a ser como este: ;;; Line = "3 WCTDM/4/2 fxsks" signalling=fxs_ks callerid=asreceived group=0 context=from-zaptel channel => 3 c callerid= group= context=default A continuación, guarde el archivo de nuevo y reiniciar Asterisk. Marking the Channel DID Marcando el Canal de DID La siguiente etapa consiste en asignar números DID a estos canales por lo que una decisión sea tomada sobre laforma de procesar la llamada basado en la línea de identificación. Elastix no tiene una interfaz para la instalación necesaria, por lo que necesita para integrar la ONU FreePBX consola,detalles aquí. Una vez en el FreePBX consola, tiene que elegir "ZAP Canal DID" en el menú de la izquierda. Usted debe obtener unapantalla similar a: http://automation.binarysage.net/blog/wp-content/uploads/2009/09/elastix38.png Es bastante sencillo de realizar, que requieren sólo 3 bits de información: * Canal - El canal de DAHDI está asignando a la DID. * La descripción de esta asignación. Sugiero un nombre y un resumen de la DID se le asignación. * DID: El número tenía que llamar para hacer el anillo este canal '. Un ejemplo de configuración del Reino Unido podría tener este aspecto para el canal 3, que solía ser enviados(Inbound Routes) para el departamento de ventas para el número: 01234-123456: Una vez completado, puede hacer clic en 'Cambios'. Es necesario repetir esta operación para cada puerto FXO quetiene para las llamadas entrantes. A continuación, puede guardar los cambios y configurar la "Rutas de entrada" a la realidad "de ruta" las llamadas dondequieras. En realidad puede usar casi cualquier número en el hecho, pero le sugiero que utilice el número completo, incluido el delas ETS, en caso de tener alguna "fuera de serie área. Y por lo general, reduce la confusión en el futuro. http://automation.binarysage.net/blog/wp-content/uploads/2009/09/elastix39.png

============================================================================

Elastix Forum - Elastix - The reliable PBX appliance software FireBoard Forum Component version: NEW VERSION GOES HERE Generated: 13 November, 2009, 13:37