Conectándonos a la PSTN Foro de Responsables de TICS de las Universidades Nacionales Villa María – Agosto 2012 Diego G. Pérez UNNOBA Agenda Señalización Analógica (FXO & FXS) ● DAHDI(configurar placa analógica) ● Dialplan (analógicas) ● Señalización Digital ● R2 & ISDN ● DAHDI(configurar placa digital) ● Dialplan (digital) ● Señalización Analógica FXO & FXS ● Para cualquier circuito analógico, hay dos extremos: – Office (comunmente la oficina central de la PSTN). – Station (comunmente un télefono). FXO & FXS ● ● Office: – Corriente en la linea. – Voltaje para el timbre. – Proveer tono. – Detectar off-hook / on-hook – Enviar información. (Caller ID) Station: – Proporcionar un timbre. – Proporcionar un teclado. (Tonos DTMF) – Proporcionar un Hook Switch. FXO & FXS ● ● ● ● Un puerto Foreign eXchange (FX) es llamado por lo que se conecta a él, no por lo que hace. Por ejemplo, un Foreign eXchange Office(FXO) es en realidad una estación: se va a conectar a la Oficina Central. Un FXS es un puerto que provee los servicios de una Oficina Central. Por esta razón la señalización en los archivos de configuración de Asterisk va al revés. ● FXO usa señalización FXS. ● FXS usa señalización FXO. FXO & FXS Tarjeta Digium TDM410P FXS FXO Cancelador de Eco Módulos y Archivos de Configuración Comprobar instalación de la tarjeta root@asterisk:~# lspci -v 04:09.0 Ethernet controller: Digium, Inc. Wildcard TDM410 4-port analog card (rev 11) Subsystem: Digium, Inc. Wildcard TDM410 4-port analog card Flags: bus master, medium devsel, latency 64, IRQ 58 I/O ports at 9c00 [size=256] Memory at fdbff000 (32-bit, non-prefetchable) [size=1K] [virtual] Expansion ROM at fda00000 [disabled] [size=128K] Capabilities: [c0] Power Management version 2 Kernel modules: wctdm24xxp Cargar Módulo root@asterisk:~# modprobe wctdm24xxp root@asterisk:~# lsmod | grep wctdm wctdm24xxp dahdi_voicebus dahdi crc_ccitt 140800 46016 196680 6337 0 1 wctdm24xxp 2 wctdm24xxp,dahdi_voicebus 2 wctdm24xxp,dahdi Configurando DAHDI ● Principalmente dos archivos: – /etc/dahdi/system.conf: Archivo con la configuración de la terjeta – /etc/asterisk/chan_dahdi.conf: Archivo con la configuración de Asterisk. Configurando DAHDI ● /etc/dahdi/system.conf loadzone=ar defaultzone=ar fxsks=1 fxoks=3 # TDM2400P #fxsks=1-12 #fxoks=13-24 # /usr/src/dahdi/tools/zonedata.c : Codigos de Paises Configurando DAHDI ● /etc/asterisk/chan_dahdi.conf [trunkgroups] [channels] usecallerid=yes callwaiting=no threewaycalling=yes transfer=yes echocancel=yes [pstn-1] callerid=asreceived context=from-pstn signalling=fxs_ks dahdichan=1 [phone-3] callerid=”Diego Perez” <101> context=locales signalling=fxo_ks dahdichan=3 Dialplan ● /etc/asterisk/extensions.conf [locales] … exten => 101,1,Dial(DAHDI/3,30) [from-pstn] … exten => s,1,Goto(ivr,s,1) [salientes] … exten => _4XXXXXX,1,Dial(DAHDI/1/${EXTEN},30) Señalización Digital ● ● ● ● Evita pérdidas de calidad debidas a distorsiones, interferencias o a la distancia entre el emisor y el receptor. La comunicación entre operadores se realiza exclusivamente por medios digitales. Una conexión analogica puede transportar una llamada. Una conexión digital puede transportar muchas llamadas simultaneas ● T1 – America del Norte. ● E1 – Europa y Resto del Mundo. Time Division Multiplexing (TDM) 1 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 Time slots 2 2 2 2 3 2 1 3 2 1 3 2 1 Frame Frame Frame 3 3 3 3 Time Division Multiplexing (TDM) ● ● ● TDM es una técnica que permite el uso de un medio físico para dos o mas señales, dividiendo su uso por unidad de tiempo(timeslot). Debido a que la división del recurso se hace por tiempo, se requiere una “timing source” para mantener la sincronización. El emisor(Proveedor) o el receptor(cliente) debe funcionar como reloj y el otro recibir la sincronía. CAS & CCS ● Además de la voz, debemos transmitir información relativa a cada llamada. Existen dos formas de hacerlo: – CAS(Channel Associated Signaling): utiliza el mismo canal de la llamada. – CCS(Common Channel Signaling): utiliza un canal específico para la transmisión de datos, separado de los canales de voz. Este canal se suele llamar D-Channel. Framing ● ● T1 – D4 – ESF E1 – CAS – CCS ● D4 & CAS usados en viejos circuitos. ● ESF & CCS usados en nuevos circuitos. ● T1 – 24 canales. ● E1 – 30 canales. R2 & ISDN ● ● ● ● R2 es un protocolo de señalizacion CAS. Usa 4 bits para la información. Existen variantes regionales. ISDN(Integrated Services Digital Network) es un protocolo de señalización CCS, con varias implementaciones. La mas comun es la variante europea conocida como E1. Dependiendo de la capacidad del enlace, ISDN puede ser BRI(Basic Rate Interface) o PRI(Primary Rate Interface). Tarjeta Digium TE122 Modulo Cancelador de Eco RJ45 Comprobar Instalación de la Tarjeta root@asterisk:~# lspci -v 01:06.0 Ethernet controller: Digium, Inc. Wildcard TE122 single-span T1/E1/J1 card (rev 11) Subsystem: Digium, Inc. Wildcard TE122 single-span T1/E1/J1 card Flags: bus master, medium devsel, latency 32, IRQ 209 I/O ports at c000 [size=256] Memory at ec020000 (32-bit, non-prefetchable) [size=1K] [virtual] Expansion ROM at 60000000 [disabled] [size=128K] Capabilities: [c0] Power Management version 2 Kernel modules: wcte12xp Cargar Módulo root@asterisk:~# modprobe wcte12xp root@asterisk:~# lsmod | grep wcte12xp wcte12xp dahdi 37700 196552 0 11 wcte12xp Configurando DAHDI - ISDN ● /etc/dahdi/system.conf #span=<span num>,<timing source>, <LBO>,<framing>,<coding> span=1,1,0,ccs,hdb3 bchan=1-15,17-31 dchan=16 loadzone=ar defaultzone=ar Configurando DAHDI - ISDN ● /etc/asterisk/chan_dahdi.conf [trunkgroups] [channels] ….. [PRI-1] callerid=asreceived context=from-pri signalling=pri_cpe switchtype=euroisdn group=1 dahdichan=1-15,17-31 Configurando DAHDI - R2 ● /etc/dahdi/system.conf span=1,1,0,cas,hdb3 cas=1-15,17-31:1101 #echocanceller=mg2,1-15,17-31 loadzone=ar defaultzone=ar Configurando DAHDI - R2 ● /etc/asterisk/chan_dahdi.conf [trunkgroups] [channels] ….. signalling=mfcr2 mfcr2_variant=ar mfcr2_max_ani=20 mfcr2_max_dnis=4 mfcr2_get_ani_first=no mfcr2_category=national_subscriber mfcr2_logdir=trama mfcr2_call_files=yes mfcr2_logging=all context=from-r2 group=1 channel => 1-15,17-31 Configurando DAHDI ● /etc/dahdi/modules Aca figuran los modulos que el servicio DAHDI carga cuando inicia. Dialplan ● /etc/asterisk/extensions.conf [from-pri] … exten => 2364635150,1,Queue(Soporte) exten => 2364625200,1,Queue(Ventas) exten => _X.,1,Goto(ivr,s,1) [salientes] … exten => _915XXXXXXX,1,Dial(DAHDI/g1/${EXTEN}) DAHDI Tools ● Son un conjunto de comandos que me ayudan a configurar mis placas. – # dahdi_hardware : Me muestra las tarjetas instaladas. – # dahdi_genconf: Me genera el system.conf y un nuevo archivo llamado dahdi-channels.conf – # dahdi_cfg : configura las tarjetas mirando el system.conf *CLI> ● *CLI>dahdi show status ● *CLI>dahdi show channels ● *CLI>dahdi show channel <channel number> ● *CLI>pri show span <span number> ¿Preguntas? Muchas Gracias!! diegoperez@unnoba.edu.ar