113
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja ÁREA TÉCNICA TITULACIÓN DE INGENIERO EN ELECTRÓNICA Y TELECOMUNICACIONES Diseño e implementación de un Sistema de Conmutación de red para un sistema GSM basado en OpenBTS y Asterisk TRABAJO DE FIN DE TITULACIÓN AUTOR: Tene Castillo, Juan Pablo DIRECTOR: Quiñones Cuenca, Manuel Fernando, Ing. LOJA - ECUADOR 2013

Tesis_TeneCastilloJuanPablo

Embed Size (px)

Citation preview

  • UNIVERSIDAD TCNICA PARTICULAR DE LOJA

    La Universidad Catlica de Loja

    REA TCNICA

    TITULACIN DE INGENIERO EN ELECTRNICA Y TELECOMUNICACIONES

    Diseo e implementacin de un Sistema de Conmutacin de

    red para un sistema GSM basado en OpenBTS y Asterisk

    TRABAJO DE FIN DE TITULACIN

    AUTOR:Tene Castillo, Juan Pablo

    DIRECTOR:Quiones Cuenca, Manuel Fernando, Ing.

    LOJA - ECUADOR

    2013

  • CERTIFICACIN

    Ing.Manuel Fernando Quiones Cuenca,DIRECTOR DEL TRABAJO DE FIN DE TITULACIN

    CERTIFICA:

    Que el presente trabajo, denominado: Diseo e Implementacinde un Sistema de Conmutacin de red para un sistema GSM basado enOpenBTS y Asterisk, realizado por el profesional en formacin: TeneCastillo, Juan Pablo; cumple con los requisitos establecidos en las nor-mas generales para la Graduacin en la Universidad Tcnica Particularde Loja, tanto en el aspecto de forma como de contenido, por lo cual mepermito autorizar su presentacin para los fines pertinentes.

    Loja, Septiembre de 2013

    F.Ing. Manuel Fernando Quiones Cuenca

    i

  • DECLARACIN DE AUTORA Y CESIN DE DERECHOS

    Yo, Juan Pablo Tene Castillo; declaro ser autor del presente trabajoy eximo expresamente a la Universidad Tcnica Particular de Loja y asus representantes legales de posibles reclamos o acciones legales.

    Adicionalmente declaro conocer y aceptar la disposicin del Art. 67del Estatuto Orgnico de la Universidad Tcnica Particular de Loja, queen su parte pertinente textualmente dice: Forman parte del patrimoniode la Universidad la propiedad intelectual de investigaciones, trabajoscientficos o tcnicos y tesis de grado que se realicen a travs, o con elapoyo financiero, acadmico o institucional (operativo) de la Universi-dad.

    F.Juan Pablo Tene Castillo

    C.I.: 1104469406

    ii

  • DEDICATORIA

    Dedicado a, Angelita y Juan.

    iv

  • AGRADECIMIENTO

    Al ser a-temporal y a-espacial al cual pertenezco, en quien su volun-tad confo, para encaminar mi vida hacia el bien.

    A mis padres, por su apoyo incondicional y confianza. A mis herma-nos, por alentar mi vida porque cada uno en particular ha ayudado amantener siempre viva la llama de la esperanza.

    A mi director de tesis: Ing. Manuel Quiones, mi profesor y amigo,que siempre se mantiene alerta para el rescate de los jvenes talentos quetransitan por la titulacin quien fue inmejorable gua para el desarrollode este trabajo.

    A todos quienes me esperaron.

    Juan Pablo

    v

  • ndice general

    CERTIFICACIN i

    CESIN DE DERECHOS ii

    DEDICATORIA iv

    AGRADECIMIENTO v

    ndice de figuras x

    ndice de tablas xii

    RESUMEN EJECUTIVO xiii

    ABSTRACT xiv

    INTRODUCCIN xv

    1. ALCANCE DE LA INVESTIGACIN 11.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Objetivos especficos . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2. Justificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3. Metodologa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2. ESTADO DEL ARTE 52.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2. Sistema Global de Comunicaciones Mviles GSM . . . . . . . . . . . 7

    Arquitectura de GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Mobile Station MS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Base Station Subsystem BSS . . . . . . . . . . . . . . . . . . . . . . . 10Network Switching Subsystem NSS . . . . . . . . . . . . . . . . . . . 11

    vi

  • NDICE GENERAL

    Canales de transmisin . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3. Voz Sobre IP (VoIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    PBX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Protocolo de VoIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    SIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Cdecs de Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    G.711 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Cdec GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    2.4. SDR como plataforma GSM . . . . . . . . . . . . . . . . . . . . . . . 16Definicin y Aspectos Fundamentales de SDR . . . . . . . . . . . . . 16Arquitectura de Hardware SDR . . . . . . . . . . . . . . . . . . . . . 17

    Antena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Front End de RF . . . . . . . . . . . . . . . . . . . . . . . . . 17Oscilador Local . . . . . . . . . . . . . . . . . . . . . . . . . . 18Bloque de Frecuencia Intermedia . . . . . . . . . . . . . . . . 18Conversin AD/DA . . . . . . . . . . . . . . . . . . . . . . . . 18Modulador/Demodulador . . . . . . . . . . . . . . . . . . . . 19

    3. MATERIALES Y MTODOS 213.1. OpenBTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    Arquitectura de OpenBTS . . . . . . . . . . . . . . . . . . . . . . . . 23Transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Sipauthserve . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Smqueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Bases de datos . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    Pila de Protocolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Capa 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Capa 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Capa 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    Secuencia de Acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Requerimientos de OpenBTS . . . . . . . . . . . . . . . . . . . . . . . 28

    Requerimientos de software . . . . . . . . . . . . . . . . . . . 28Requerimientos de Hardware . . . . . . . . . . . . . . . . . . . 29

    3.2. Configuracin de OpenBTS . . . . . . . . . . . . . . . . . . . . . . . 31Banda de Operacin . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Cdigo IMSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Registro de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    3.3. Asterisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    vii

  • NDICE GENERAL

    Arquitectura de Asterisk . . . . . . . . . . . . . . . . . . . . . . . . . 34Tipos de mdulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Estructura de Archivos . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.4. Mdulo Chan Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    3.5. Mdulo Google Voice . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.6. Conexin con PSTN . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.7. Dialplan de Asterisk . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Extensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Prioridades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Funciones adicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    3.8. Universal Software Radio Peripheral USRP . . . . . . . . . . . . . . . 52Hardware USRP - N210 . . . . . . . . . . . . . . . . . . . . . . . . . 53

    Panel Frontal . . . . . . . . . . . . . . . . . . . . . . . . . . . 54GPSDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    UHD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    4. FUNCIONAMIENTO Y PRUEBAS 574.1. Conexin del Equipo N210 . . . . . . . . . . . . . . . . . . . . . . . . 584.2. Ejecucin del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.3. Registro de terminales en OpenBTS . . . . . . . . . . . . . . . . . . . 614.4. Interfaz Grfica de Usuario GUI . . . . . . . . . . . . . . . . . . . . . 634.5. Vinculacin de telfonos (FXO) . . . . . . . . . . . . . . . . . . . . . 64

    MAC del adaptador Bluetooth . . . . . . . . . . . . . . . . . . . . . . 64MAC del telfono mvil . . . . . . . . . . . . . . . . . . . . . . . . . 65

    4.6. Prueba de servicios del sistema . . . . . . . . . . . . . . . . . . . . . 66

    5. CONCLUSIONES Y RECOMENDACIONES 695.1. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Bibliografa 73

    ANEXOS 76

    viii

  • NDICE GENERAL

    A. Instalacin del driver UHD 77A.1. Configuracin de libreras . . . . . . . . . . . . . . . . . . . . . . . . 77A.2. Configuracin del controlador . . . . . . . . . . . . . . . . . . . . . . 78

    B. Instalacin del Sistema OpenBTS 80B.1. Configuracin del software . . . . . . . . . . . . . . . . . . . . . . . . 80B.2. Configuracin de OpenBTS . . . . . . . . . . . . . . . . . . . . . . . 81B.3. Ejecutando OpenBTS . . . . . . . . . . . . . . . . . . . . . . . . . . 82B.4. Creacin del servidor de registro (Sipauthserve) . . . . . . . . . . . . 83

    C. Configuracin de Asterik Real-Time 85C.1. Compilacin de sqlite3 y asterisk . . . . . . . . . . . . . . . . . . . . 85C.2. Instalando el software apropiado . . . . . . . . . . . . . . . . . . . . . 85C.3. Reinstalando Asterisk . . . . . . . . . . . . . . . . . . . . . . . . . . . 86C.4. Archivos de configuracin ODBC . . . . . . . . . . . . . . . . . . . . 88C.5. Archivos de configuracin en Asterisk . . . . . . . . . . . . . . . . . . 88

    D. Proceso de Conexin y Ejecucin 90D.1. Conexin del equipo USRP N210 . . . . . . . . . . . . . . . . . . . . 90D.2. Inicio del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

    E. Configuracin SIP 93E.1. sip.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    F. Plan de Marcado - Dialplan 95F.1. extensions.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    ix

  • ndice de figuras

    1.1. Fases de instalacin y anlisis . . . . . . . . . . . . . . . . . . . . . . 4

    2.1. Esquema de acceso al medio en GSM. Tomado de [14] . . . . . . . . . 82.2. Subsistemas de una Red GSM. Modificado de [14] . . . . . . . . . . . 92.3. Estacin Mvil. Tomado de [23] . . . . . . . . . . . . . . . . . . . . . 92.4. BSS Sistema de Estaciones Base. . . . . . . . . . . . . . . . . . . . . 102.5. Subsistema de Conmutacin de Red NSS. Modificado de [23] . . . . . 112.6. Diagrama de Red VoIP. Modificado de [24] . . . . . . . . . . . . . . . 142.7. Arquitectura hardware de SDR . . . . . . . . . . . . . . . . . . . . . 172.8. Digital Down Converter. Tomado de [5] . . . . . . . . . . . . . . . . . 192.9. Digital Up Converter. Tomado de [5] . . . . . . . . . . . . . . . . . . 20

    3.1. Sistema OpenBTS. Tomado de [35] . . . . . . . . . . . . . . . . . . . 223.2. Arquitectura de red OpenBTS. Fuente Range Networks . . . . . . . . 233.3. Pila de protocolos GSM. Modificado de [15] . . . . . . . . . . . . . . 253.4. Equipamiento Front End de USRP N210: a) Tarjeta daughterboard

    WBX 2.2 GHz, b) Antena VERT900 . . . . . . . . . . . . . . . . . . 303.5. Arquitectura de Asterisk. Modificado de [37] . . . . . . . . . . . . . . 353.6. Diagrama de conexin Chan_Mobile . . . . . . . . . . . . . . . . . . 373.7. Diagrama de red OpenBTS-GoogleTalk . . . . . . . . . . . . . . . . . 393.8. Seleccin del mdulo Chan_Motif . . . . . . . . . . . . . . . . . . . . 403.9. Interfaz de usuario Google - Voice . . . . . . . . . . . . . . . . . . . . 403.10. Interfaces FXO - FXS: a) Tarjeta Digium TDM400P, b) Modem

    Trendnet V92A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.11. Relacin entre los archivos de configuracin y el dialplan. Tomado de

    [6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.12. Arquitectura de hardware USRP. Tomado de [28] . . . . . . . . . . . 533.13. Panel frontal del equipo N210 . . . . . . . . . . . . . . . . . . . . . . 55

    4.1. Diagrama de conexin del equipo . . . . . . . . . . . . . . . . . . . . 58

    x

  • NDICE DE FIGURAS

    4.2. Frecuencias usadas en la banda GSM850 . . . . . . . . . . . . . . . . 594.3. Mensaje de Bienvenida a OpenBTS . . . . . . . . . . . . . . . . . . . 614.4. Mensaje de Aviso, nmero de extensin esta en uso . . . . . . . . . . 624.5. Mensaje que recibe usuario al ser registrado . . . . . . . . . . . . . . 624.6. Ventana de Interfaz Grfica de Usuario . . . . . . . . . . . . . . . . . 634.7. Servidores de OpenBTS: a) Servidor de Registro, b) Servidor de Men-

    sajes de texto SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.8. Dispositivos mviles conectados a Asterisk . . . . . . . . . . . . . . . 654.9. Ejecucin de llamada entre usuario 1001 y usuario 1002 . . . . . . . . 674.10. LLamada entre dos telfonos del sistema OpenBTS implementado . . 68

    A.1. Equipo USRP N210 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77A.2. Instalacin librerias UHD . . . . . . . . . . . . . . . . . . . . . . . . 78A.3. Creacin de archivos de configuracin . . . . . . . . . . . . . . . . . . 79A.4. Instalacin completa UHD . . . . . . . . . . . . . . . . . . . . . . . . 79

    C.1. Men de seleccin de componentes Asterisk . . . . . . . . . . . . . . 87C.2. Men de seleccin de cdecs . . . . . . . . . . . . . . . . . . . . . . . 87

    D.1. Hardware de equipo N210 . . . . . . . . . . . . . . . . . . . . . . . . 90D.2. Mdulo GPSDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91D.3. Base de datos con usuarios registrados . . . . . . . . . . . . . . . . . 92

    xi

  • ndice de tablas

    2.1. Series de especificaciones GSM. Modificado de [14] . . . . . . . . . . . 72.2. Bandas de Frecuencia GSM y Nmeros de Canal ARFCN . . . . . . . 82.3. Estructura del nmero IMSI . . . . . . . . . . . . . . . . . . . . . . . 102.4. Canales de Trfico en GSM . . . . . . . . . . . . . . . . . . . . . . . 122.5. Canales de Control en GSM . . . . . . . . . . . . . . . . . . . . . . . 132.6. Tabla de comparacin de Cdecs. Modificado de [26] . . . . . . . . . 15

    3.1. Libreras de software necesarias en el sistema . . . . . . . . . . . . . . 293.2. Caractersticas de tarjetas RF daughterboards WBX y FRX900 . . . 303.3. Caractersticas de la antena VERT900 . . . . . . . . . . . . . . . . . 313.4. Cdecs y formatos de audio soportados por Asterisk . . . . . . . . . . 363.5. Valores de entrada permitidos en el panel frontal . . . . . . . . . . . . 55

    xii

  • RESUMEN EJECUTIVO

    En el presente trabajo de investigacin, se emplean herramientas tantode hardware como software de licencia libre con el objetivo de construiruna estacin base celular libre BTS, a bajo costo, y fcil implementacin,iniciando por la indagacin de los conceptos tcnicos que rigen en los sis-temas de telefona mvil, as como en la tecnologa de voz sobre ip VoIP.Para luego realizar una instalacin del sistema denominado OpenBTS, elcual utiliza el hardware USRP, una radio definida por software SDR quepermite desplegar una red anloga al estndar GSM, proporcionando elmedio de comunicacin con cualquier telfono compatible con dicho es-tndar para que sea operado como extensin del protocolo de iniciacinde sesiones SIP desde Asterisk, software que ser utilizado como centralde telefona IP con varios mdulos de configuracin que integran un sis-tema de conmutacin donde se ejecutan llamadas telefnicas entre losusuarios que ingresen a la red.

    PALABRAS CLAVE: OpenBTS, SDR, software libre, GSM, USRP,VoIP, Asterisk.

    xiii

  • ABSTRACT

    In the present research, some open source tools of hardware and softwareare used in order to build a free cellular base station BTS, of low costand easy implementation, starting with a investigation of the technicalconcepts about the mobile systems, and the voice over IP VoIP techno-logy. Then is perform a installation of system called OpenBTS, whichuses the USRP hardware a software defined radio SDR to deploy a freeGSM network, providing the communication with any phone that sup-ports this standard which is switching it as a user agent of the sessionInitiation protocol SIP from Asterisk computer program, this softwareis installed as a VoIP PBX system with several modules to integrate aswitching system where telephone calls are executed between registeredusers.

    KEYWORDS: OpenBTS, SDR, open source, GSM, USRP, VoIP, As-terisk.

    xiv

  • INTRODUCCIN

    La idea de construir una red celular abierta a partir de hardware y soft-ware libre, nace en vista de la necesidad de comunicacin en ciertascomunidades que son aisladas por las empresas operadoras mviles alno completar el suficiente nmero de usuarios que generen rentabilidadeconmica; por otro lado tambin desarrollar un sistema que sirva comouna red suplementaria en escenarios de emergencia donde se necesitensoluciones portables y de pronta instalacin.Para iniciar con el proyecto se emplea el sistema OpenBTS, que per-mite generar una interfaz de radiocomunicacin por aire Um anlogoal estndar de telefona mvil Global System for Mobile Communica-tions (GSM). Este utiliza como infraestructura de red el hardware USRP(Universal Software Radio Peripheral), que aprovecha la flexibilidad dela tecnologa de Radio Definida por Software (SDR) para emular unaEstacin Base Transceiver BTS.Debido a que el hardware USRP realiza la conversin de la seal anal-gica a digital mediante un procesamiento asistido por computador, lostelfonos mviles compatibles con el estndar GSM pueden ser maneja-dos como extensiones del Protocolo de Iniciacin de Sesin SIP desdeAsterisk, un programa de cdigo abierto que acta como centro de con-mutacin de telefona IP tanto para la red local de OpenBTS, como pararealizar llamadas hacia operadoras mviles privadas.En el primer captulo se argumenta la divergencia existente entre la dis-ponibilidad de dispositivos mviles con el servicio brindado a sectoresdesprotegidos, adems son establecidas las fases principales de ejecucindel proyecto. En el segundo captulo son recogidos los conceptos tcnicosque describen el funcionamiento de los sistemas de comunicacin mvil,as como los involucrados en la tecnologa de (VoIP). El tercer captulointegra los conceptos adquiridos junto con los requerimientos necesariospara instalar la red celular, cuya configuracin y verificacin se detallaen el cuarto y quinto captulo donde se realizan las pruebas necesariaspara comprobar la funcionabilidad del sistema.

    xv

  • La base del hardware usado en el trabajo, es el USRP N210, que poseeun procesador FPGA Xilinx Spartan 3A-DSP 3400 con una tarjeta detransmisin y recepcin de tipo WBX, dos antenas VERT900 para conec-tarlas a cada puerto de la tarjeta, que cubren las bandas GSM 850/900MHz. Adems, se usa un computador personal de mediana capacidad,el cual debe tener instalado una tarjeta de red Gigabit-Ethernet para laprogramacin y comunicacin con el USRP.

  • 1ALCANCE DE LAINVESTIGACIN

    1

  • 1.1. Objetivos

    Objetivo general

    Disear e implementar un sistema de conmutacin de llamadas para una redGSM usando Hardware y Software Libre.

    Objetivos especficos

    Montar una red celular GSM de bajo costo y libre acceso usando el sistemaOpenBTS.

    Instalar y configurar el programa de conmutacin Asterisk, que posibilite laejecucin de llamadas telefnicas dentro y fuera de la red.

    Usar sistemas de conexin alternativos para que funcionen como puertas deenlace de la central montada por Asterisk.

    Realizar la comprobacin de los servicios que ofrece la red abierta de telefonamvil.

    1.2. Justificacin

    Durante el primer cuarto del siglo XXI, la integracin de las telecomunicacionescon la sociedad actual, se desenvuelve en conjunto con el incremento de los miles deusuarios que demandan diariamente servicios de comunicacin mvil, de voz, datosy vdeo. Este incesante flujo de informacin ha pasado de ser una necesidad a undilema social, tal como lo han mencionado algunos estudios cientficos como porejemplo los realizados por la Universidad Politcnica de Madrid (UPM) [9].El estndar celular GSM se encuentra extendido en ms de un 90% alrededor detodo el mundo, contando con ms de 3000 millones de usuarios en 219 pases [22]. Porotro lado en Ecuador, existen ms de 16 millones de dispositivos de comunicacionesmviles activados, de los cuales 14,5 millones son telfonos [12], una cifra que sigueen aumento y supera incluso a la poblacin del pas que se acerca a 14,3 millones dehabitantes [11].Estas cifras pueden suponer hoy en da, que cualquier ciudadano tiene acceso a unared de comunicacin por voz, pero la gran verdad es que todava existen personasy comunidades a las que no llega ningn tipo de tecnologa de comunicacin, portratarse de lugares poco rentables para las grandes empresas de telecomunicacionesque requieren de un cierto nmero de clientes para iniciar su operacin.

    2

  • En este trabajo, se propone usar equipos de bajo costo junto con la integracin desoftware de licencia libre, con el fin de emular una plataforma de red celular GSM(Global System Mobile)1 que permita brindar un acceso libre a sitios que carecen decobertura celular, sin implantar una tarifa econmica por cada llamada o mensajerealizado.

    1.3. Metodologa

    Durante el desarrollo del proyecto de tesis, la metodologa de investigacin apli-cada es un sistema de avance por fases, de esta forma se mantuvo un constanteenfoque exploratorio de libros, documentos tcnicos, artculos y publicaciones cien-tficas, con el fin de extraer las ideas principales de sistemas de telefona mvil decdigo abierto, y aplicarlos junto con un inherente componente heurstico, a fin dealcanzar los objetivos planteados dentro del trabajo de investigacin.Se inicio analizando la arquitectura que debe seguir cualquier operador de comuni-caciones mviles en el caso de utilizar el estndar GSM para montar una red celular,presentando una breve descripcin del rol que cumplen las partes ms importantesdel sistema de comunicacin mvil. Tambin, es mencionado el proceso que siguenlas centrales telefnicas basadas en VoIP (Voz sobre IP)2, enfocando la funcionali-dad que presta el software de licencia libre Asterisk, gracias a la integracin de suscomponentes con las redes de comunicacin.As mismo, para la comprensin de la transcendencia del tema, se expone el papelque juega la tecnologa SDR en el mbito de las telecomunicaciones modernas, estu-diando su arquitectura, para terminar por comprender el procesamiento que ejecutael dispositivo Universal Software Radio Peripheral (USRP) 3, con base a su utiliza-cin en la infraestructura de la red abierta GSM.A partir de las etapas anteriores, se inicia el proceso de configuracin y montaje dela red, tomando como gua el planteamiento del sistema por fases que se describe enla figura 1.1.

    La primera fase, comprende el sistema de red GSM basado en OpenBTS 4, se ana-lizan sus partes de forma que sea posible realizar una instalacin y configuracinexitosa, todo como parte de la infraestructura necesaria para implantar un sistemacelular de aspecto portable.

    1http://www.gsma.com/aboutus/gsm-technology/gsm2http://es.wikipedia.org/wiki/Voz_sobre_Protocolo_de_Internet3http://www.ettus.com/4http://openbts.sourceforge.net/

    3

  • Fase 1

    Fase 2 Fase 3Instalacin de infraestructura de red

    OpenBTS

    Configuracin de central Asterisk y su modulo

    Chan_Mobile

    Pruebas de conexin y anlisis de resultados

    Figura 1.1: Fases de instalacin y anlisis

    La segunda fase, comprende la instalacin de una central telefnica que permita rea-lizar la gestin y conmutacin de llamadas entre estaciones mviles (MS), dentro yfuera de la propia red, por medio del plan de marcado y las aplicaciones de conexincon que cuente el software usado, Asterisk.Por ultimo se proyecta realizar las pruebas de cada mdulo del sistema, corrigiendoa su vez los errores que se presenten en cada etapa de la implementacin de la red ysu central de conmutacin, estas pruebas servirn como gua para el anlisis de losresultados que se obtengan al finalizar el proyecto.

    4

  • 2ESTADO DEL ARTE

    5

  • 2.1. Introduccin

    El estndar GSM es una tecnologa muy conocida al rededor del mundo actual-mente usada por el 90% de las operadoras mviles, adems ha servido como basepara el desarrollo de nuevos tipos de red celular de libre acceso usando herramientasopen-source. La mayora de estos proyectos son libreras de software, herramientasde hardware, y componentes de gestin de red desarrollados por profesionales y afi-cionados a las telecomunicaciones. Pero adems, existen empresas como OSCOM1 oRange Networks 2 que fabrican una plataforma tanto de hardware como de softwa-re para establecer toda una red celular que pueda ser configurada a medida de lasnecesidades del usuario.OpenBTS desarrollado por Range Networks, implementa una red GSM con funcio-nalidades bsicas de telefona mvil, que se apoya de la flexibilidad que ofrece latecnologa de Voz sobre IP (VoIP) y la ubicuidad de la interfaz de aire GSM, esta-bleciendo un servicio de comunicacin entre los usuarios totalmente independientede una operadora convencional.En GSM, como se explicar ms adelante, las llamadas desde y hacia los abonadosmviles son conmutadas por la central de conmutacin mvil, la cual provee las fun-ciones de sealizacin y control necesarias para realizar con xito dichas llamadas,su ubicacin es independiente de la ubicacin de la radiobase.Por otro lado, el sistema OpenBTS no incluye un mdulo de conmutacin, raznpor la cual sus creadores sugieren el uso de software gratuito Asterisk, que brinda lafacilidad de emular una central telefnica de VoIP y as mismo sus funciones puedenser fcilmente adaptables para integrar un sistema que permita conectar llamadaslocales y con otras redes.Durante este captulo se describen los conceptos tcnicos de los componentes quese involucran en una red de telefona celular GSM, adems de los parmetros quedefinen las comunicaciones de VoIP. Tambin es discutida la relacin existente entrelas radios definidas por software SDR y los sistemas de telefona mvil.

    1http://bb.osmocom.org2http://rangenetworks.com/

    6

  • 2.2. Sistema Global de Comunicaciones Mviles GSM

    El organismo responsable por la estandarizacin del sistema de telefona mvilGSM es el European Telecommunications Standars Institute(ETSI) 1, este se en-carga de emitir especificaciones tcnicas para fabricantes de equipos y operadoresde red en la industria de las telecomunicaciones. ETSI ha divido en series todo elestndar GSM, estas series tratan de temas especficos sobre el funcionamiento deGSM, y se encuentran distribuidos tal como se muestra en la tabla 2.1.La interfaz de aire que se la conoce como Um, describe los mtodos usados por la

    Serie Tema01.xx Aspectos Generales02.xx Normas de servicio03.xx Caractersticas de red04.xx Interfaz y protocolos entre (MS - BS)05.xx Capa fsica de red (interfaz de radio)06.xx Codificacin de la voz07.xx Adaptadores de terminales MS08.xx Interfaces BS-MSC09.xx Interfuncionamiento de redes10.xx Interfuncionamiento de servicios11.xx Especificaciones y homologacin12.xx Operacin y mantenimiento

    Tabla 2.1: Series de especificaciones GSM. Modificado de [14]

    estacin mvil MS y la estacin base BTS para establecer una comunicacin bidi-reccional fullduplex. Um se encuentra definida en las series GSM 04.xx y 05.xx delestndar, donde se definen las frecuencias de operacin ms comunes que son 850MHz, 900 MHz, 1800 MHz, y 1900 MHz.GSM usa una combinacin de FDMA y TDMA en un espectro total de 25 MHz.El multiplexado se realiza con Frequency Division Multiple Access (FDMA) 2 divi-diendo esos 25 MHz en 125 canales de 200 kHz cada uno, y cada canal de 200 kHz asu vez es dividido en 8 ranuras de tiempo utilizando Time Division Multiple Access(TDMA) [2]. Adems usando la tcnica de Frequency Division Duplex (FDD) 3 sedivide en dos la banda GSM, definiendo una banda de frecuencia ascendente, deno-minada uplink y otra banda de frecuencia descendente llamada downlink, ambasson usadas por las estaciones mviles para su comunicacin.En la tabla 2.2 se enumeran las bandas de frecuencia downlink y uplink para GSM

    1http://www.etsi.org/2http://en.wikipedia.org/wiki/Frequency-division_multiple_access3http://en.wikipedia.org/wiki/Frequency_division_duplexing

    7

  • GSM-850 GSM-900 GSM-1800 GSM-1900Rango de Frecuenciauplink

    824 - 849(MHz)

    890 - 915(MHz)

    1710 - 1785(MHz)

    1850 - 1910(MHz)

    Rango de Frecuenciadownlink

    869 - 894(MHz)

    935 - 960(MHz)

    1805 - 1880(MHz)

    1930 - 1990(MHz)

    ARFCN 128 - 251 1 - 124 512 - 885 512 - 810Offset 45 MHz 45 MHz 95 MHz 80 MHz

    Tabla 2.2: Bandas de Frecuencia GSM y Nmeros de Canal ARFCN

    recomendadas por la ETSI, adems, son usadas en los pases para designarlas a lasoperadoras que deseen brindar el servicio mvil.Los canales de uplink y dowlink son especificados por un nmero llamado AbsoluteRadio Frecuency Channel Number (ARFCN) que cumple con la funcin de asig-nar los canales de transmisin y recepcin que usaran los telfonos en la red. CadaARFCN tiene un ancho de banda de 270,833 Kbps y utilizan una separacin entrecanales de 200 kHz en cualquier banda de GSM.

    Figura 2.1: Esquema de acceso al medio en GSM. Tomado de [14]

    Gracias al uso de TDMA1 los usuarios en determinada rea pueden compartir unsimple canal de radio en diferentes intervalos de tiempo. Estos intervalos son deno-minados time slots (TS) con una duracin de 0.577 ms. En la Figura 2.1 podemosver un esquema en el que se divide la banda en funcin del tiempo y la frecuencia,donde el canal fsico es asignado en un preciso ARFCN y un exacto time slot.

    Arquitectura de GSM

    La arquitectura de red definida por el estndar GSM se compone por tres sub-sistemas principales como se indica en el siguiente grfico. La Estacin Mvil (MS),el Subsistema de Estaciones Base (BSS), y el Subsistema de Red (NSS).

    1http://en.wikipedia.org/wiki/Time_division_multiple_access

    8

  • BTS

    BTSBSC

    MSC

    VLR

    EIR

    HLR

    BSCPSTN

    ME

    ME

    TELFONO

    Um Abis A

    SIM CARD

    BTS: Base Transceiver StationSIM: Subscriber Identity ModuleMS: Mobile Station

    Base Station Subsystem (BSS) Network Subsystem (NSS)Mobile Station

    BSC: Base Station ControllerHLR: Home Location RegisterVLR: Visitor Location Register

    MSC: Mobile Switching CenterEIR: Equipment Identity RegisterAuC: Authetication Center

    GMSC

    C

    D

    F

    E

    Figura 2.2: Subsistemas de una Red GSM. Modificado de [14]

    Mobile Station MS

    Se trata del telfono mvil que esta provisto de una tarjeta de identificacin deabonado Suscriber Identity Module (SIM)1, esta permite identificar de manera nicaal usuario que se comunica con la red a travs de la interfaz Um.

    Figura 2.3: Estacin Mvil. Tomado de [23]

    La tarjeta SIM posee una clave de autenticacin (Ki, Authentication key) asignadapor el operador de red para validar el acceso nico, se encuentra almacenada en labase de datos del Centro de Autenticacin (AuC). Mientras que los terminales m-viles se identifican por medio de un nmero denominado Identificador Internacionalde Equipos Mviles (IMEI).Dentro de la tarjeta SIM se almacena un nmero secreto de identificacin denomi-

    1http://en.wikipedia.org/wiki/Subscriber_identity_module

    9

  • nado Identificador Internacional de Abonados Mviles (IMSI) como se indica en latabla 2.3. Est constituido por, el MCC (Cdigo del Pas), el MNC (Mobile NetworkCode) Cdigo de Red y el MSIN (Nmero de Identificacin del Suscriptor). El MCC

    IMSI:7409952952503786MCC 740 ECUADORMNC 99 CLAROMSIN 52952503786

    Tabla 2.3: Estructura del nmero IMSI

    identifica el pas al cual pertenece la MS, el MNC indica el operador mvil al queesta registrado y el MSIN es un nmero nico que identifica al abonado dentro dela red GSM [23].

    Base Station Subsystem BSS

    El sistema de estaciones base se encarga del control de la radiocomunicacin conlas estaciones mviles. Facilita la conexin con el subsistema de red (NSS, NetworkSubsystem), y con usuarios de la red PSTN 1. Est compuesto de dos unidades:

    BTS BSC

    Figura 2.4: BSS Sistema de Estaciones Base.

    Estacin Base de transmisin (BTS, Base Transceiver Station): Secompone de antenas y transceivers con las que gestiona la radiocomunicacinde las estaciones mviles. Su potencia de transmisin determina el tamaode la celda y proporciona un nmero de canales de radio a la zona a la queda servicio [1]. La MS puede distinguir las celdas por su BSIC (Base StationIdentity Code), y su Cell ID (identificacin de celda).

    1http://en.wikipedia.org/wiki/Public_switched_telephone_network

    10

  • Controlador de la estacin (BSC, Base Station Controller): Gestionalos recursos de radio de una o varias estaciones base (BTS). Se encarga delmantenimiento de la llamada de una celda a otra, mientras el equipo mvil seencuentra en movimiento lo que se conoce como "handover"[15].

    Network Switching Subsystem NSS

    Es responsable del establecimiento y terminacin de cualquier llamada, as comola recopilacin de informacin necesaria para el proceso de tarificacin. El com-ponente principal del subsistema de conmutacin de la red (NSS), es el centro deconmutacin de servicios mviles Mobile Services Switching Center (MSC), consi-derado el ncleo del sistema GSM.En general el MSC es el responsable de gestionar una comunicacin confiable entre

    EIR

    AuC

    HLR

    VLRVLR

    MSCGMSC

    OMC

    Figura 2.5: Subsistema de Conmutacin de Red NSS. Modificado de [23]

    la red GSM y las otras redes de telecomunicaciones ya sean mviles o fijas como laPSTN [23]. Dentro de la estructura del NSS hay una serie de subsistemas que seencargan de controlar diversas funciones del equipo mvil, estos son:

    Registro de localizacin local (HLR, Home Location Register): ElHLR contiene informacin que describe los servicios contratados por el abo-nado y aquellas opciones a las que tiene acceso. Se almacena adems la ltimalocalizacin conocida del abonado y el estado de su terminal mvil (si estfuera de servicio, encendido, apagado, en comunicacin).

    Registro de localizacin de visitante (VLR, Visitor Location Regis-ter):Contiene informacin del estado de todos los usuarios que provienen de

    11

  • otras operadoras que necesiten acceso a la red GSM (roaming)1. Adems co-noce si el usuario est o no activo, a efectos de evitar retardos y consumo derecursos innecesarios cuando la estacin mvil est apagada.

    Centro de Autenticacin (AuC, Authentication Center): Base de datosque almacena informacin confidencial de cada abonado de la red. Contieneclaves de seguridad que la red utiliza para verificar la identidad del usuario yprovee seguridad a los operadores de probables fraudes.

    Registro de Identidad del Equipo (EIR, Equipment Identity Regis-ter): Es una base de datos que puede deshabilitar el acceso a la red a telfonosdefectuosos o clonados.

    Canales de transmisin

    En GSM cada canal fsico de radio para transmisin por el aire puede contenerdos tipos de canales lgicos diferenciados por su funcionalidad: los de trafico (TCH:TrafficChannel) y los de control (CCH: control Channel).

    Tipo de Canal Denominacin DescripcinCanales de trfico TCH TCH/FS Voz a velocidad de 13 Kbps

    TCH/F9.6 Datos a 9600 bpsTCH/F4.8 Datos a 4800 bpsTCH/F2.4 Datos a 2400 bpsTCH/HS Voz a 7 KbpsTCH/H4.8 Datos a 4800 bpsTCH/H2.4 Datos a 2400 bps

    Tabla 2.4: Canales de Trfico en GSM

    Los canales de trfico contienen informacin de voz y datos existente en un canalde comunicacin. En la tabla 2.4 se nombra los tipos de canales en funcin a la tasade transmisin que soporta el sistema.Por otra parte, los canales de control son utilizados para enviar y recibir informacinde sealizacin de los diferentes procesos entre los equipos. Existen varios tipos decanales de control algunos comunes a todos los mviles, y otros dedicados a unterminal especfico, entre los que se incluyen los de la tabla 2.5.

    1http://en.wikipedia.org/wiki/Roaming

    12

  • Tipo de Canal Denominacin Descripcin

    Canales deControl (CCH)

    Canales deBroadcast

    BCCH (Broadcast ControlChannel)

    Canales de control uti-lizados para permitir elenganche de estacionesmviles a la red y el mo-nitoreo de las potenciasde celdas vecinas.

    FCCH (Frequency Correc-tion Channel)

    Envian informacin delsistema usando una re-ferencia de frecuencia yotra de tiempo.

    SCH (Syncronization Chan-nel)

    Canal Comn deControl

    PCH (Pagging Channel) Canales usados parareservar y asignar losrecursos de radio y elacceso a canales decontrol.

    RACH (Random AccessChannel)AGCH (Access GrantChannel)

    Canales de ControlDedicados

    SDCCH (Stand-Alone Con-trol Channel)

    Canales de controlbidireccionalesutilizados para prestarservicios de sealizaciny autenticacin deusuario.

    SACCH (SlowAssociatesControl Channel)FACCH (Fast AssociatedControl Channel)

    Tabla 2.5: Canales de Control en GSM

    2.3. Voz Sobre IP (VoIP)

    Es la transmisin de datos de voz en tiempo real, sobre redes basadas en el pro-tocolo de Internet IP [25]. Posibilita la convergencia de varias redes con soporte deIP, la figura 2.6 muestra un diagrama del alcance al que puede llegar la tecnologade VoIP al integrar varios medios de comunicacin.Este sistema permite establecer un nuevo concepto de comunicacin llamado telefo-na IP. En donde, las lneas telefnicas convencionales de la red (PSTN) entrantes,pueden ser convertidas a VoIP, a travs de una pasarela (Gateway) que permiterecibir y hacer llamadas en la red telefnica normal. Los elementos fundamentalesde una red VoIP son:

    Terminales: Telfonos IP que pueden ser hardware o software.

    Central de conmutacin: Controla y gestiona los procesos de toda la comuni-cacin de VoIP.

    Gateway: Dispositivo que sirve de enlace con otras redes telefnicas. Acta deforma transparente al usuario.

    13

  • Firewall

    Servidor de Larga

    Distancia

    Firewall

    Telfono VoIP

    Servidor de Telefona

    Adaptador de Telefona

    FAXTelfono Mvil

    VoIP

    Laptop con Software VoIP

    Telfono VoIP

    Computador Personal

    Internet

    Red TelefnicaPublica Conmutada

    Central Telefnica

    Servidor de Datos

    Figura 2.6: Diagrama de Red VoIP. Modificado de [24]

    PBX

    Se trata de un tipo de central que no depende directamente del proveedor detelefona convencional. La central telefnica privada PBX posibilita el manejo delas llamadas que se realicen dentro de un edificio o rea de trabajo local, realizandola conmutacin, control y sealizacin de manera autnoma, adems utiliza lneasexternas para conectarse con la red pblica de telefona (PSTN) [1]. Las centralesque utilizan el protocolo IP (Internet Protocol) para transmitir informacin de vozse han sintetizado en programas de software con capacidad de telefona IP, comopor ejemplo Asterisk [37].Durante el establecimiento de una conversacin se necesita de un conjunto de reglasque permitan establecer, mantener, administrar y finalizar los elementos de red invo-lucrados. Estas reglas se denominan protocolos y son directamente responsables delfuncionamiento de la comunicacin, uno en particular es el Protocolo de Iniciacinde Sesiones (SIP) el cual ha sido parte integral dentro de este proyecto.

    Protocolo de VoIP

    SIP

    Fue desarrollado por el IETF. Define los parmetros de sealizacin para crear,modificar y terminar sesiones con uno o ms participantes. Estas sesiones incluyenllamadas telefnicas por Internet, distribucin de datos multimedia, y conferenciasmultimedia [25].SIP ofrece la posibilidad de programar nuevos servicios no definidos por la propia

    14

  • recomendacin. Esta ventaja de su flexibilidad es por lo que actualmente es masusado que otros protocolos. Algunas funciones de sealizacin son:

    Establecer, modificar y finalizar llamadas.

    Registrar y localizar participantes.

    Gestin del conjunto de participantes y componentes del sistema.

    Los clientes SIP llamados peers o agentes de usuario usan los protocolos TCP (Pro-tocolo de Control Transmisin) y UDP (Protocolo de Datagramas de usuario) paraconectar con los servidores SIP. SIP es usado simplemente para iniciar y terminar se-siones multimedia. Todas las comunicaciones en SIP usan el Protocolo de Transporteen Tiempo Real (RTP)1.

    Cdecs de Audio

    Para poder transmitir la voz sobre una red IP, necesitamos transformar unaseal analgica en digital y viceversa este proceso se conoce como codificacin ydecodificacin. El software/hardware que realiza este proceso se denomina cdec, ydependiendo de cual utilicemos variar la calidad de voz, el ancho de banda ocupadoy la carga computacional, en la tabla 2.6 podemos ver una comparacin de los cdecsms utilizados en VoIP.

    Cdec Ancho deBanda (Kbps)

    Retardo(ms)

    Estndar Descripcin

    G.711 64 20 - 30 ITU-T PCMG.726 16/24/32/40 20 - 30 ITU-T ADPCMG.729 8 15 ITU-T Combina cdigo de prediccin de

    linea y estructura algebraica.GSM 13 20 ETSI Prediccin de excitacin con pul-

    so regular a largo plazo

    Tabla 2.6: Tabla de comparacin de Cdecs. Modificado de [26]

    G.711

    En redes locales LAN, es el cdec que ms se utiliza. La calidad de audio esptima y el consumo es moderado. Proporciona un flujo de datos de 64 Kbps [26].Existen dos modelos:

    1http://es.wikipedia.org/wiki/Real-time_Transport_Protocol

    15

  • ulaw: codifica cada 14 muestras en palabras de 8 bits. Usado en EE.UU. yJapn.

    Alaw: codifica cada 13 muestras en palabras de 8 bits. Usado en el resto delmundo.

    Se toman muestras a una frecuencia de 8 kHz y utiliza PCM (Pulse Code Modula-tion) para comprimir, descomprimir, codificar y decodificar.

    Cdec GSM

    Este cdec es muy reconocido dado que se utiliza regularmente en los canales delneas mviles. Realmente no prima en la calidad sino en cantidad, un ejemplo claroes el flujo de datos en una conexin Full-Rate que tan solo alcanza los 13 kbps, estacantidad es la que se utiliza en el sistema de red OpenBTS [35].Por otro lado, representa un buen mtodo para ahorrar ancho de banda puesto queconsume cinco 5 veces menos que el cdec G.711, aunque si trabajamos en conexionesde mala calidad a nivel de tiempo de respuesta (tiempo que tarda en ir y volver unpaquete enviado) o de jitter (desviacin estndar del tiempo de respuesta), la vozpodra llegar a distorsionarse tanto hasta ser incomprensible.

    2.4. SDR como plataforma GSM

    La tecnologa que utilizan los sistemas de telefona mvil ha migrado de analgicaa digital con el propsito de ofrecer flexibilidad, eficiencia, e intuicin en los servi-cios que los usuarios esperan de sus portadoras. Las radiocomunicaciones definidaspor software, son parte de la tecnologa digital que hace posible implementar unainterfaz de aire GSM, de esta forma, estaciones base BTS y terminales MS, puedeninteractuar a nivel de hardware y software logrando por ejemplo evadir mltiples in-terferencias de aire durante los periodos de transicin de su continua comunicacin.

    Definicin y Aspectos Fundamentales de SDR

    Los desarrollos en radios inteligentes y adaptativos se han enmarcado a lo quehoy es un Radio Definido por Software, el cual es definido, segn el Wireless Inova-tion Forum1, de la siguiente manera:Radio en el cual algunas o todas las funciones de la capa fsica son definidas me-diante software.

    1http://www.wirelessinnovation.org/

    16

  • SDR es una tecnologa creada para mejorar la interoperabilidad entre diferentesservicios; est compuesta de software y hardware, y puede ser reconfigurada din-micamente para habilitar comunicaciones entre una amplia variedad de normas decomunicaciones y protocolos [5]. SDR permite crear dispositivos inalmbricos, equi-pos de redes multibanda y multifuncionales, que pueden ser dinmicamente recon-figurados, a travs de actualizaciones de software y reconfiguraciones de hardware.

    Arquitectura de Hardware SDR

    La arquitectura de transmisores basados en software consiste en un subsiste-ma digital y un subsistema analgico. Las funciones analgicas son restringidas aaquellas que no pueden ser mejoradas digitalmente, que son: antena, filtrado RF,combinacin RF, preamplificacin en recepcin, transmisin de potencia de amplifi-cacin y generacin de frecuencia de referencia [3]. A continuacin se enumeran laspartes que conforman un transceiver de radio basado en software:

    Transmisor

    Receptor

    RF Front END

    RX

    TXADC

    DAC

    Modulador/Demodulador

    Digital

    Amplificadores F.I.

    ANALGICO DIGITAL

    DUC

    DDC

    OL

    Figura 2.7: Arquitectura hardware de SDR

    Antena

    La transmisin de la informacin se realiza mediante ondas electromagnticasque son transmitidas al aire. El elemento que radia estas ondas se denomina antena,puede considerarse como un transductor y un adaptador de impedancia al medio detransmisin.

    Front End de RF

    Este bloque cuenta con dispositivos electrnicos de estado slido que adaptan elnivel de las seales de entrada para que sea adecuado en las siguientes etapas del

    17

  • SDR. Por ejemplo en el caso de la telefona celular GSM las seales se procesan ala frecuencia de transmisin/recepcin del orden de 1 GHz en la banda de 850 MHz[4].En el transmisor, se produce una amplificacin de la seal entregada por las etapasde procesamiento hasta el nivel de potencia suficiente para su transmisin por elmedio fsico.

    Oscilador Local

    Genera las frecuencias apropiadas para convertir la frecuencia de RF en la fre-cuencia intermedia FI, mediante una mezcla no lineal que produce frecuencias desuma y resta. Se selecciona la frecuencia deseada mediante filtros analgicos para suamplificacin en los amplificadores de frecuencia intermedia.

    Bloque de Frecuencia Intermedia

    En este bloque de FI se realiza la selectividad y ganancia del receptor, la FIsiempre tiene menor frecuencia que la RF debido a que es mas fcil y menos costosofabricar amplificadores estables para seales de baja frecuencia [2]. Por razones simi-lares, tambin se procesa la seal para la transmisin a una frecuencia inferior paraluego convertirla al valor final y amplificarla hasta el nivel permitido en la antena.

    Conversin AD/DA

    Tomando en cuenta que la transmisin por el medio fsico se realiza median-te seales analgicas, pero el procesamiento en el Transceiver es de ndole digital,se hace imprescindible realizar una conversin analgica/digital en el receptor ydigital/analgica en el transmisor. A continuacin se describen las partes ms im-portantes de este bloque:

    ADC: El convertidor analgico digital (ADC) es un dispositivo que es capazde ofrecer un valor binario de salida a partir de una entrada analgica devoltaje. Esta definicin involucra los siguientes procesos:

    Muestreo: Consiste en tomar muestras peridicas de la amplitud de laseal analgica. La velocidad en que se toman las muestras se llamafrecuencia de muestreo.

    Cuantificacin: Mide el nivel de voltaje de cada muestra y le asigna unvalor numrico de salida. Cuando no coincide el valor de salida con el deentrada, se dice que existe ruido de cuantificacin.

    18

  • Codificacin: La codificacin consiste en traducir los valores obtenidosdurante la cuantificacin en cdigo binario.

    DDC: El conversor Digital Down Converter se encarga de convertir una sealdigital de FI en una seal de banda base. La figura 2.8 ilustra su composicin:

    Figura 2.8: Digital Down Converter. Tomado de [5]

    El DDC se compone de un mezclador digital, un oscilador local digital y unfiltro digital pasabajos. El mezclador y el oscilador trasladan las muestrasdigitales de FI en banda base. El filtro limita el ancho de banda de la sealrealizando la funcin de decimacin de muestras a un rango menor de muestreo.

    DUC: Digital Up converter es un conversor que traslada la seal de banda ba-se en frecuencia digital intermedia IF. Luego, es transformada en FI analgicapor el convertidor digital analgico (DAC) y esta seal es a su vez convertidaen seal RF por el transmisor. El DUC se compone como muestra la figura2.9.El mezclador y el oscilador local trasladan las muestras de banda base a fre-cuencia FI. El filtro de interpolacin resuelve la diferencia entre la frecuenciade muestreo del oscilador y la frecuencia de entrada de la seal en banda base.

    Modulador/Demodulador

    Para que pueda transmitirse una informacin til mediante una onda electro-magntica que se propaga, es necesario imprimir de algn modo esta informacinsobre una seal portadora. Esto se logra modificando alguno de los parmetros quela definen de acuerdo con el valor de la informacin a transmitir. Este proceso se

    19

  • Figura 2.9: Digital Up Converter. Tomado de [5]

    denomina modulacin y el proceso inverso para recuperar la informacin es la de-modulacin, es por eso que algunos llaman ha este bloque "MODEM".Estas funciones son actualmente muy complejas y totalmente digitales. Generalmen-te son realizadas por Procesadores de Propsito General GPP, pero para que las ta-reas de Modulacin/Demodulacin puedan ser fcilmente programables se utilizanprocesadores como DSPs (Digital Signal Processors) o FPGAs (Field ProgrammableGate Arrays). Los parmetros que se modifican para que la onda transmita infor-macin til son tpicamente la frecuencia o la fase/amplitud de la seal, utilizandomodulaciones de mltiples niveles denominadas en cuadratura [2] mQAM, mPSK,etc.GSM utiliza la modulacin digital 0.3GMSK (Gaussian Minimun Shift Keying). Esun tipo especial de modulacin donde 0.3G describe la banda de Filtro Gaussiano depremodulacin usado para reducir el espectro de la seal modulada. MSK (MinimunShift Keying) se deriva de la modulacin digital en frecuencia FSK (Frecuency ShiftKeying). Cuando la tasa de bits de la seal moduladora es exactamente cuatro vecesla traslacin de la frecuencia de la portadora se consigue minimizar el espectro y lamodulacin es llamada MSK (Minimun Shift Keying) [8].

    20

  • 3MATERIALES Y MTODOS

    21

  • 3.1. OpenBTS

    El sistema OpenBTS, es definido como una aplicacin de software libre desa-rrollado bajo el sistema operativo multitarea Unix y que utiliza el Hardware USRP(Universal Software Radio Peripheral) para construir la interfaz inalmbrica de ra-dio Um emulando al estndar de comunicaciones mviles GSM. Lo que posibilitaque los telfonos celulares circundantes detecten una completa red GSM, y a su vez,estos sean vistos como extensiones del protocolo SIP , permitiendo montar in-situun sistema de conmutacin o central telefnica gracias al software de licencia libreAsterisk [33].

    USRP OpenBTS Asterisk

    Hardware Software

    Figura 3.1: Sistema OpenBTS. Tomado de [35]

    La Figura 3.1 muestra en bloques los componentes del sistema OpenBTS. En prime-ra instancia la Antena y el USRP conforman la seccin hardware de la BTS, luegoestn Asterisk y la aplicacin OpenBTS constituyendo el software que se instala enun computador formando la otra parte del proyecto. A lo largo de este captulo seexplicar el funcionamiento de estas secciones, junto con la configuracin bsica decada mdulo que cumple con una funcin especfica en el sistema.OpenBTS forma la base de un nuevo tipo de red celular que puede ser desarrolladay operada a un costo ms bajo que las tecnologas existentes en muchas aplicaciones,incluyendo zonas rurales y redes privadas de celular en reas remotas [36]. Esto esposible, porque la arquitectura de OpenBTS es diferente de la arquitectura jerr-quica GSM convencional, donde la BTS de la red GSM es manejada externamentepor la BSC.Hay que recalcar que, OpenBTS no corresponde a una implementacin completa deuna red GSM, sino que es la implementacin de hardware y software de una BTS. Deeste modo es posible ofrecer servicios bsicos de telefona mvil de voz y mensajescortos de texto SMS.

    22

  • Arquitectura de OpenBTS

    Una instalacin completa del sistema OpenBTS versin P2.8 requiere de varioscomponentes de software que interactuan entre si con la finalidad de emular laarquitectura GSM. En el diagrama 3.2 se puede observar la distribucin que tienen

    Transceiver

    Asterisk

    Figura 3.2: Arquitectura de red OpenBTS. Fuente Range Networks

    cada una de las partes en la instalacin. Se debe sealar que las conexiones de colornegro son las conexiones realizadas por medio del protocolo (SIP). Las de color rojoson las conexiones del sistema (sqlite3), y las conexiones azules son establecidas porel sistema OBDC (tablas de datos de red local).

    Transceiver

    Se trata del radiomodem basado en software, e implementa la capa fsica L1. Se lollama transceiver considerando que cumple con las funciones de envo y recepcin dela seal de radio Um. El transceiver OpenBTS implementa la red GSM comenzandopor la plataforma TDMA de la capa L1 subiendo hasta las capas L3/L4 de aplicacin.Su interfaz SIP es normalmente ejecutada en el puerto 5062. El proceso que ejecutasus funciones se encuentra en el directorio openbts/trunk/apps/.

    Sipauthserve

    Este es el servidor de registro y autorizacin de usuarios, usado para procesarlas solicitudes de actualizacin de ubicacin que realiza OpenBTS y ejecuta lascorrespondientes actualizaciones en la base de datos de usuarios (sqlite3.db). Suinterfaz de protocolo SIP, normalmente utiliza el puerto 5064 para su comunicacin.

    23

  • Los archivos del servidor, como su proceso de ejecucin se alojan en el directoriosubscriberRegistry/trunk.

    Smqueue

    Es el servidor de envo y almacenamiento de mensajes cortos de texto (SMS),los datos de su configuracin se encuentran almacenados en la base de datos sm-queue.db localizada en etc/OpenBTS. Puede ser inicializado independientemente deltransceiver OpenBTS. La interfaz SIP normalmente se ejecuta en el puerto 5063.Si smqueue no es instalado no afecta al funcionamiento del sistema OpenBTS. Susprocesos se encuentran en smqueue/trunk.

    Bases de datos

    OpenBTS.db En esta base de datos se encuentran todos los parmetros deconfiguracin de OpenBTS, tales como la frecuencia de operacin, ARFCN, po-tencia, puertos, mensajes de aviso, etc. Aqu se registra cualquier modificacinque se realice a las caractersticas de la red desde su consola de configuracinOpenBTSCLI. Se encuentra archivada en el directorio etc/OpenBTS/.

    Sqlite3.db (subscriber registry) Es la base de datos donde se alojan todoslos usuarios que se registran en la red OpenBTS. Registra tanto los cdigosIMSI de las estaciones mviles como los nmeros de extensin asignados a losmismos, el puerto que utilizan, cdec usado, direccin ip, etc.

    sipauthserve.db Es el archivo usado por el servidor de registro Sipauthservepara alojar sus datos de configuracin.

    Pila de Protocolos

    OpenBTS se basa en la misma pila de protocolos que usa GSM definida en laseccin 7 de la especificacin GSM 04.01 [15], siguiendo el modelo de capas OSI(Open System Interconnection)1. Se encuentra estructurada en tres capas (Layers)que dependen de la interfaz de la arquitectura GSM (Um, Abis2, y A) a cual corres-ponda la comunicacin, tal como se muestra en la figura 3.3.La implementacin de la arquitectura de OpenBTS comprende una versin paralelade los canales lgicos del estndar GSM definidos en GSM 04.03 [16], enfocndoseen la interfaz de la estacin mvil MS y la de la estacin base BTS por lo que las

    1http://es.wikipedia.org/wiki/Modelo_OSI2http://en.wikipedia.org/wiki/Application_binary_interface

    24

  • MS BTS BSC MSC

    Layer 1

    Layer 2

    Layer 3

    Figura 3.3: Pila de protocolos GSM. Modificado de [15]

    capas del protocolo GSM en las interfaces Abis (BSC) y A (MSC) no son tomadasen cuenta. Cada canal de OpenBTS, es construido siguiendo las capas de GSM quea continuacin nombraremos.

    Capa 1

    Se trata de la interfaz de radio RF, tambin llamada interface Um. Transmite yrecibe tramas de control de 184 bits de longitud o tramas de trfico de 260 bits delongitud sobre la interfaz de radio en rfagas de 148 bits, una rfaga por timeslot.La capa se subdivide en tres subcapas:

    Radiomodem: Es el componente de hardware de radio USRP o transceiverdefinido en la especificacin GSM 05.04. Implementa la interfaz de radio Um.

    Multiplexado y Sincronizacin: Como ya se ha sealado GSM usa TDMApara subdividir cada canal de radio en un mximo de 16 canales de trfico oun mximo de 64 canales de control. Las especificaciones de multiplexacin sedefinen en GSM 05.02 [19].En GSM la sincronizacin, es dirigida por la estacin base BTS a travs delos canales de sincronizacin SCH y correccin de frecuencia FCCH. Todoslos relojes en la estacin mvil MS, incluyendo el oscilador local y el reloj desmbolo, se acoplan a las seales recibidas desde la BTS, como se describe enla especificacin GSM 05.10.

    Codificacin: OpenBTS tanto como GSM utilizan codificacin FEC. Estasubcapa proporciona una deteccin y correccin de errores de bit en cada

    25

  • canal, est definida en GSM 05.03 [20]. Como regla general, cada canal GSMutiliza un cdigo de bloque con bit de paridad, una taza de compresin 1:2, uncdigo convolucional de 4to orden, y un intercalador de 4-rafagas a 8-rafagasde bits. Exceptuando para los canales SCH y RACH que no usan intercaladorpuesto que transmiten en una sola rfaga. En OpenBTS el decodificador FEC,valindose de un decodificador Viterbi basado en software, puede recuperartramas ntegras con una taza de borrado de bits de exceso del 25% [34].

    Capa 2

    Es la capa de enlace de datos, la cual provee tres funciones bsicas:

    Establecer, mantener y finalizar un enlace.

    Control de flujo

    Deteccin de errores

    Adems realiza la segmentacin de los mensajes de las capas superiores en tramasde L2 para luego ordenar y retransmitir dichas tramas. La capa de enlace de datoses llamada LAPDm y es documentada en las especificaciones GSM 04.05 [17] y04.06. Es una versin modificada de la interfaz LAPD (Link Access Protocol forD-channel), que es un protocolo para control de enlace en canales D usados paratransportar informacin de control y sealizacin en redes ISDN1.Ambos LAPD y LAPD-m (mvil) son derivadas del protocolo HDLC (High LevelData Link Control) (ISO-13239) [41], usado en frame relay2, X.25, etc. LAPDmes la mayor de las veces activado en los canales FACCH (Fast Associated ControlChannel) y SDCCH (Stand Alone Control Channel), los cuales tienen las mismasfuncionalidades del canal D en ISDN (control y sealizacin). Est tambin presenteen un canal SACCH (Slow Associated Control Channel) cuando un mensaje de textoes enviado o una llamada es iniciada.

    Capa 3

    En la capa 3 el protocolo de sealizacin GSM se subdivide en 3 subcapas:

    Administracin de Recursos de radio (RR): Se encarga del estableci-miento del enlace de radio entre la estacin mvil y la BTS. Una sesin RRes iniciada por un telfono cuando este solicita el acceso a la red, o bien para

    1http://es.wikipedia.org/wiki/Red_Digital_de_Servicios_Integrados2http://es.wikipedia.org/wiki/Frame_Relay

    26

  • realizar una llamada. Controla el establecimiento, mantenimiento y termina-cin de los canales de radio, incluyendo los handovers [18].Un handover puede ser el cambio de MS a otra BTS, pero tambin existeel handover intracelular y consiste en cambiar el canal en que se realiza lacomunicacin dentro de una misma BTS. Este proceso lo ejecuta la BTS mi-diendo la seal en todos los canales posibles y no solamente el que est activo,determinando as cual es el que tiene menos interferencia.

    Administracin de movilidad (MM)Dirige la actualizacin de localizaciny los procedimientos de registro, tanto como la seguridad y autenticacin.

    Administracin de conexin (CM) Controla en general la llamada, similara la recomendacin CCITT Q.9311. Maneja adems los servicios suplementa-rios y de SMS (Short Message Service).

    Secuencia de Acceso

    A continuacin se describe el proceso que siguen la estacin mvil MS y la esta-cin base BTS, cuando el usuario de un telfono realiza una peticin de acceso a lared OpenBTS.

    1. La estacin mvil MS es encendida y empieza a escanear las bandas de GSM enbsqueda de un ARFCN con la mejor seal. La seal producida por el USRPdebe estar activa para que el telfono la detecte.

    2. Cuando el ARFCN ha sido seleccionado, la MS busca el canal lgico de sin-cronizacin SCH. Si no lo encuentra contina intentando con otro ARFCN deacuerdo a la potencia que este pueda ofrecer.

    3. Luego la MS decodifica el SCH para obtener sincronizacin con el reloj de laBTS y los relojes de tramas. El contenido del mensaje SCH es descrito en laespecificacin GSM 04.08 [18].

    4. Teniendo la correcta sincronizacin, la MS puede demultiplexar el canal de con-trol broadcast BCCH. El BCCH identifica la portadora y provee informacindetallada acerca de los servicios ofrecidos por la BTS y sobre la configuracinde multiplexacin en el canal comn de control (CCCH).

    1http://www.itu.int/rec/T-REC-Q.931

    27

  • 5. Luego, la MS empieza a decodificar el CCCH y enva peticiones de acceso pormedio del canal de acceso aleatorio RACH. Cada mensaje al RACH ocupauna sola rfaga de radio y usa una etiqueta aleatoria. La MS enva mximo8 rfagas al canal RACH separadas por retrasos aleatorios de 1 a 2 segundos,mientras que revisa si el canal CCCH ha dado una respuesta.

    6. La BTS recibe una rfaga del tipo RACH enviada por la MS y responde conun mensaje de asignacin de canal usando el CCCH. En este mensaje la BTSdevuelve la etiqueta y el tiempo asignado para la rfaga tipo RACH corres-pondiente, de esta forma la MS podr reconocer que rfaga ha sido aceptada.Este mensaje tambin asigna el canal SDCCH para realizar una comunicacin.

    7. La estacin mvil recibe la asignacin inmediata sobre el canal CCCH y cambiasu multiplexacin y posiblemente su ARFCN de acuerdo a los parmetrosrecibidos en el mensaje anterior.

    8. La MS conmuta sobre el canal SDCCH asignado, espera un corto tiempo has-ta detectar un SDCCH en estado de reposo. Al verificar el SDCCH, la MSenva una Peticin de Actualizacin de Localizacin (LUR) lo que se puedeconsiderar como una identificacin temporal [18].

    9. Asumiendo que la BTS acepta a la estacin mvil MS, la primera respondecon un mensaje de Actualizacin de Localizacin Aceptado (LUA). La MS yBTS cierran el canal SDCCH y liberan los recursos de radio utilizados.

    10. Ahora la estacin mvil esta asociada a la BTS y continua monitoreando elCCCH por mensajes de peticin de acceso asociados con las tentativas dellamada o el envo de mensajes de texto SMS.

    Requerimientos de OpenBTS

    Se han nombrado algunos de los principales componentes que conforman el siste-ma de comunicacin OpenBTS, pero tambin es necesario detallar los requerimien-tos tanto de software como de hardware que se deben completar antes de desplegarcualquier comunicacin.

    Requerimientos de software

    Es necesario contar con la instalacin del sistema operativo S.O. Linux, en uncomputador personal. Debido a que el software libre usado en el presente trabajose ejecuta bajo dicho sistema, se utiliz la versin de Linux Ubuntu 12.04.2 LTS

    28

  • (Precise Pangolin)1.Tambin se recomienda las versiones Ubuntu 10.04 LTS o Ubuntu 10.10 por lafacilidad que presentan estas distribuciones para el manejo de las dependencias desoftware, como son las libreras y paquetes que compilan e instalan los sistemasOpenBTS, UHD, y Asterisk. En la tabla 3.1 se enumeran los paquetes que deben serinstalados previo a cualquier configuracin de los sistemas anteriormente nombrados.

    OpenBTS Asterisk UHD Driverautoconf Kernel-devel Libboost-all-devlibtool Bluez Libboost-1.0-0-devlibosip2 Bluez-libs Python-cheetahlibortp Usbutil Doxygenlibusb-1.0 Pygobject2 Python-docutilsSqlite3 asterisk-addons-trunklibsqlite3-dev dahdi-linux-completelibboost-all-dev libpriLibreadline6-dev

    Tabla 3.1: Libreras de software necesarias en el sistema

    Al tener completamente instaladas las dependencias de software, se puede realizarla instalacin del software OpenBTS y de los servidores Sipauthserve, Smqueue yOBDC.As mismo, como ya se ha visto el software Asterisk es otro de los programas quedeben estar instalados. Algunos autores recomiendan el uso de versiones basadasen Asterisk 1.4 o 1.6. por recomendacin de los programadores de OpenBTS, lasversiones basadas en Asterisk 1.8 presentan un problema a nivel de SIP trabajandocon OpenBTS, el cual provoca que las llamadas se terminen a los 32 segundos [33].Para este trabajo se utiliz la versin 11.

    Requerimientos de Hardware

    El equipo a utilizar consta de un radio USRP N210, manufacturado por la em-presa Ettus Research, e incluye una tarjeta madre motherboard con procesador deltipo FPGA, 2 cables de RF con conectores SMA, una fuente de poder independiente,un cable Ethernet, y componentes para el ensamble del equipo. Conectado a esteequipo se utiliza un computador personal PC de mediana capacidad que posea unatarjeta PCI Gigabit Ethernet, que permite la conexin con la interfaz de red del

    1http://releases.ubuntu.com/precise/

    29

  • USRP.Adems, se usan adaptadores USB-Bluetooth, de marca Cambridge Silicon Radio,que se comportan como dispositivos FXO y/o FXS si fuera el caso para la conexincon redes portadoras privadas, gracias a la aplicacin ChanMobile.

    Figura 3.4: Equipamiento Front End de USRP N210: a) Tarjeta daughterboard WBX2.2 GHz, b) Antena VERT900

    Adicionalmente se debe adquirir una tarjeta con soporte de RF y dos antenas queconstituyan el Front-End del USRP necesarias para cubrir las bandas GSM, verfigura 3.4. En este trabajo se utilizan la tarjeta transmisora y receptora (transceiver)WBX, con una figura de ruido de 5dB que provee una capacidad de ancho de bandade 40 MHz y puede trabajar en frecuencias desde los 50 MHz hasta los 2.2 GHz [30].

    Tarjetas RF WBX RFX900Rango de frecuencia 50 MHz a 2.2 GHz 750 MHz a 1050 MHzPotencia de transmisin 15 dBm 23 dBm

    Tabla 3.2: Caractersticas de tarjetas RF daughterboards WBX y FRX900

    Existen mltiples tarjetas RF de este tipo, como las RFX900 que cubren la bandade 800 a 900 MHz o del tipo RFX1800 que cubren el rango de frecuencias de 1800a 1900 MHz para GSM. Es recomendable usar dos tarjetas hijas para minimizarla diafona entre la trasmisin y la recepcin; de esta forma se obtiene una mejorcalidad de la seal y cobertura.[33]. En la tabla 3.2 se muestran las caractersticasde frecuencia y potencia de la tarjeta daugtherboard.

    El mdulo de transmisin y recepcin utiliza dos antenas VERT900 que poseen lascaractersticas listadas en la tabla 3.3. Su ganancia no supera los 3 dBi por lo queel alcance que la red tendr no superar los 84 mts, si se aplica en un espacio libre.Usando la siguiente ecuacin calculamos esta distancia.

    Ml = PIRE Pathloss+Grx THrx (3.1)

    30

  • Parmetros CaractersticasGanancia 3 dBiFrecuencia 824 MHz a 960 MHz 1710 MHz a 1990 MHzBanda Cuadribanda Celular/PCSCompatibilidad Daughterboards WBX, RFX900, RFX1800

    Tabla 3.3: Caractersticas de la antena VERT900

    En donde PIRE es la potencia isotrpica radiada

    Grx es la ganancia del receptor.

    THrx es la potencia mnima que el receptor puede recibir, y que en base a lasespecificaciones GSM 05.05 para un receptor clase 4 es 105 dBm.

    PIRE = 15dB + 3dBi = 18dB (3.2)

    Reemplazando en la primera ecuacin los valores de distancia en metros y frecuenciaen MHz tenemos.

    Ml = 18 20log(d) + 20log(f) + 27, 55 + 3dBi (105dB) (3.3)

    20log(d) = 18 20log(900) 27, 55 + 3dBi (105dB) (3.4)

    log(d) =38, 5

    20(3.5)

    d = 101,9 (3.6)

    d = 84, 1m. (3.7)

    Por otro lado como interfaces de usuario, es imprescindible el uso de telfonos ce-lulares compatibles con el estndar GSM y que cuenten con tarjetas SIM. Ademslos telfonos gateways FXO, deben poseer capacidad de conexin Bluetooth 2.0; ytener saldo disponible para realizar llamadas en sus respectivas operadoras.

    3.2. Configuracin de OpenBTS

    Antes de poner en marcha la red de aire GSM, algunos parmetros importantes deOpenBTS son modificados con el objetivo de no interferir ninguna otra red cercana,e implementar el sistema sin infringir ninguna de las normas tcnicas que la entidadreguladora CONATEL1 emite para el funcionamiento de redes de telefona mvil enel pas [13].

    1http://www.regulaciontelecomunicaciones.gob.ec/

    31

  • Banda de Operacin

    OpenBTS puede usar un amplio rango de frecuencias de GSM como por ejem-plo GSM850, GSM900, GSM1800 y GSM1900 [34]. Este ser el primer parmetroa definir en las opciones de configuracin. Para la implementacin del proyecto seseleccion la frecuencia de 900 MHz usada en Ecuador para los sistemas de radiolo-calizacin, telefona mvil aeronutica y no para servicio GSM. De la misma formase establece una banda de operacin para OpenBTS esta banda es definida por elNmero de Canal de Radio-Frecuencia Absoluta ARFCN, el cual define el mtodode acceso mltiple en GSM y provee los canales dowlink y uplink de la estacinmvil (MS) para establecer la radiocomunicacin con la Estacin Base Transceiver(BTS).Lo siguiente es definir un sistema de numeracin para la red. En el estndar GSM seutiliza el cdigo IMSI, el cual permite identificar de forma nica una Estacin MvilMS dentro de la red, este se compone del MCC, MNC y el MSIN, como se explicen la tabla 2.3. OpenBTS maneja este mismo sistema, por lo que los IMSI de lostelfonos a usar dentro de la red son manipulados temporalmente para su registrocomo extensiones SIP dentro de Asterisk.Para proceder ha realizar estos cambios en la versin de OpenBTS P2.8, se debe ini-cializar el sistema OpenBTS desde el directorio de instalacin .Y haciendo uso de la consola OpenBTSCLI se pueden realizar las modificacionesdel sistema usando cdigos especficos para cada parmetro. Para ingresar a dichaconsola se ejecuta la siguiente orden en un terminal de Linux./openbts/trunk/apps/ ./OpenBTSCLI

    Esto ejecutar la consola de OpenBTS, que mostrar algunas opciones de comandospara ingresar como por ejemplo la opcin ayuda help que indica todas las opcionesde entrada disponibles. Una de estas opciones es la sentencia config la cual muestrala lista de las configuraciones que el sistema posee por defecto. Adems nos ayudara modificar el primer item planeado que es la frecuencia de operacin, junto con lavariable GSM.Radio.Band que contiene dicho valor de frecuencia.Hay que recalcar que OpenBTS realiza una asignacin automtica de frecuencia se-gn lo soporte el hardware en uso o USRP, por lo que si observamos en la lista deconfiguracin existir ya un valor establecido. Para ingresar la frecuencia de GSM900 MHz se usa la siguiente sentencia [27].>config GSM.Radio.Band 900

    32

  • Cdigo IMSI

    A continuacin, debemos identificar los cdigos que conformarn el IMSI de losterminales en la red, podemos definir dentro de la configuracin de OpenBTS elnmero MCC, que en este caso es el 740 que corresponde a Ecuador segn la reco-mendacin de la Unin Internacional de Telecomunicaciones ITU [10]. Para MNCelegimos un nmero de dos o tres dgitos diferente al que usan los operadores Claro,Movistar o CNT. En este caso se seleccion el nmero 101, quedando de la siguientemanera:>config GSM.Identity.MCC 740

    >config GSM.Identity.MNC 101De igual forma hay que indicar los canales de uplink y downlink que van a ser usadosdentro de la banda GSM que previamente se program. Para ello hay que definirel valor de ARFCN ms conveniente para el sistema, segn la tabla 2.2. Definimoseste nmero usando la siguiente configuracin.>config GSM.Radio.C0 51

    Registro de usuario

    Para entregar una experiencia mas interactiva con el usuario, configuramos elmensaje de bienvenida que se recibir una vez que la MS se registre en la red. Paraello hay que modificar las opciones con las siguientes lneas, el mensaje entregadoprovendr del numero 101:

    >config Control.LUR.OpenRegistration.Message

    Bienvenido, registrate enviando al 101 una extension entre 1001 a

    1012

    >config Control.LUR.OpenRegistration.ShortCode 101

    Por ltimo, para establecer la caracterstica de una red celular abierta se verificaque la opcin de registro abierto este activado usando la siguiente declaracin.

    >config Control.LUR.OpenRegistration .*

    Realizada esta configuracin, cualquier telfono celular con una tarjeta SIM puedeingresar a la nueva red GSM si es seleccionada. Lo siguiente es proporcionar unencaminamiento de las llamadas que se generen entre las extensiones. Para lo cualse utiliza la herramienta de conmutacin por software Asterisk.

    33

  • 3.3. Asterisk

    Asterisk es un proyecto de cdigo abierto que agrupa la funcionalidad de una cen-tral telefnica privada PBX dentro de un paquete de software, permitiendo realizarel registro, conexin y comunicacin de terminales telefnicos conectados al servidorAsterisk. Puede ser instalado en un computador personal de medianas caractersti-cas, al cual se le aaden tarjetas electrnicas telefnicas FXS, que se conectan contelfonos analgicos y a telfonos software basados en (VoIP) usando protocolos co-mo SIP, H.323, IAX o MGCP.A pesar de que se trata de una aplicacin software ofrece las mismas caractersti-cas y servicios que un moderno equipo de hardware PBX. Soporta una variedad detecnologas para hacer y recibir llamadas telefnicas, muchos protocolos VoIP, ascomo tambin conectividad analgica y digital a las redes de telefona tradicional,o a una red digital de servicios integrados (RDSI) [36]. La instalacin de Asterisky algunos de sus detalles de configuracin usados para el desarrollo del proyecto desistema de conmutacin para OpenBTS se encuentran detallados en el anexo C.

    Arquitectura de Asterisk

    En su ncleo Asterisk se encuentra formado por un conjunto de mdulos quebrindan una gran capacidad de abstraccin de los protocolos, cdecs e interfacesutilizados en cada conexin esto es lo que hace de Asterisk una herramienta to-talmente flexible y adaptable. Existe una variedad de mdulos en funcin de laaplicacin que se vaya a desarrollar, pero Asterisk siempre mantiene cuatro mdulosprincipales denominados APIs (Application Programming Interface), en la figura 3.5podemos observar el ncleo de Asterisk.

    Tipos de mdulos

    Los mdulos en Asterisk proveen de una funcionalidad especifica, como puede serun controlador de canal (p. ejm. chan_sip.so), o un recurso que permite la conexina una tecnologa externa (como func_odbc.so), el cual es utilizado en la gestin debase de datos de usuarios en la red OpenBTS.Asterisk carga los mdulos al iniciar su aplicacin, pero adems se puede especificarexactamente que mdulos cargar y en que orden, modificando un archivo de confi-guracin localizado en el directorio /etc/asterisk/modules.conf, con esto se reducecarga en memoria y se obtienen beneficios de seguridad [6]. Los tipos de mdulos seclasifican en subapartados, los mas bsicos son:

    34

  • Figura 3.5: Arquitectura de Asterisk. Modificado de [37]

    Aplicaciones: Son acciones que se aplican al manejo de las llamadas dentrodel DialPlan plan de marcado y pueden ser modificadas dentro del archivoextensions.conf. Desde donde se procesan las llamadas entre extensiones queidentifican a cada dispositivo conectado a la red. Este proceso ser explicadoen la parte de configuracin de Asterisk.Una aplicacin comnmente usada es identificada como Dial, la cual lanzauna llamada a un canal en funcin de las propiedades que sealemos para suejecucin. El formato de este tipo de modulos es app_.so.

    Controladores de canal: Los mdulos controladores de canal - ChannelDrivers aportan la posibilidad de gestionar los canales de manera homognea.Sin estos mdulos, Asterisk no tendra forma de realizar llamadas [6]. Cadallamada entra a Asterisk a travs de un controlador de canal, el cual verificael plan de marcado y asigna un canal de Asterisk a la llamada. El formato deestos mdulos es chan_.so

    Funciones de plan de marcado: Aaden y obtienen determinada informa-cin especfica de cada canal. Son complementarias a las aplicaciones del plande marcado y ofrecen determinadas mejoras para determinados aspectos delsistema, como el manejo de cadenas de caracteres o la conectividad ODBC(Open DataBase Connectivity, Conectividad Abierta de Bases de Datos), lacual facilita la conexin de la base de datos de usuario con Asterisk. Las fun-ciones no pueden ser llamadas directamente en el plan de marcado, estas sonllamadas dentro de las aplicaciones y con letras maysculas [38].

    35

  • Traductor de cdec y formato: Como se ha visto Asterisk soporta muchoscdecs y formatos de audio, como los de la tabla 3.4, pero tambin puedeutilizar los APIs de traduccin y formato de audio cuando sea necesario. Esto

    Tipo SoportadosCdecs de audio ulaw, alaw, gsm, ilbc, speex, g722,

    g723, g726, g729.Formatos de sonido GSM, PCM, WAV, OGG, SLI-

    NEAR, MP3.

    Tabla 3.4: Cdecs y formatos de audio soportados por Asterisk

    le permite a Asterisk convertir formatos de audio entre llamadas en tiempo real.Por ejemplo, si una llamada se establece desde un circuito PRI (Primary RateInterface) usando el cdec G.711 y necesita ser pasada a un canal SIP usandopor ejemplo G.729, el correspondiente traductor de cdec ser encargado desu conversin.

    Estructura de Archivos

    Los recursos que Asterisk utiliza en cada mdulo, necesitan estar alojados endirectorios especficos dentro del sistema de archivos de Linux. De esta forma sepueden realizar varias tareas de administracin y almacenamiento como por ejemplolas grabaciones de voz, archivos de configuracin y contestacin automtica.

    Archivos de configuracin: Todos se encuentran en la ruta por defecto/etc/asterisk que se crea en la instalacin de Asterisk. Algunos archivosde configuracin son extensions.conf, sip.conf, manager.conf, adems deotros archivos que definen parmetros para una funcionalidad especfica. Unaparte de los archivos de configuracin pueden ser editados de forma dinmicaa travs de un sistema de Base de datos (sqlite3). A esta funcionalidad se ladenomina Asterisk Realtime, y se utiliza dentro del proyecto para brindar unafuncionalidad mas intuitiva durante el acceso a la red OpenBTS.

    Archivos de Mdulos: Son usualmente instalados en el directorio /aste-risk/modules desde donde Asterisk realiza su carga. Si un mdulo no es car-gado se debe revisar su existencia en este directorio, caso contrario habr queinstalarlo.

    36

  • Almacenamiento temporal: Asterisk usa el almacenamiento temporal paraguardar una informacin transitoria, como mensajes de voz, grabaciones dellamadas generadas por algunas aplicaciones [36]. Para este fin Asterisk utilizael directorio /var/spool/asterisk.

    Tambin existen mdulos mas especficos que integran tecnologas no desarrolladaspor la empresa Digium, propietaria de Asterisk, lo que permite agregar medios deconexin no convencionales pero que cumplen la misma funcin. Para el sistemaplanteado en este trabajo se han utilizado los siguientes tipos:

    3.4. Mdulo Chan Mobile

    Como controlador de canal de Asterisk permite a los telfonos mviles ser usadoscomo dispositivos FXO (Foreign Exchange Office), mediante una conexin Bluetooth[39]. Chan_Mobile se inicio con el desarrollo del software chan_cellphone que fue

    Figura 3.6: Diagrama de conexin Chan_Mobile

    desarrollado con el objetivo de enlazar los telfonos al servidor Asterisk, de formaque se puedan gestionar las llamadas con la operadora celular. El mdulo se haactualizado a la versin chan_mobile e integra varios servicios de conexin medianteel protocolo SIP, adems es integrado en el paquete de Asterisk desde su version 1.6.

    Caractersticas

    El mdulo posee algunos servicios de inters para el desarrollo del presente traba-jo. Permitiendo establecer enlaces salientes con operadoras mviles convencionales

    37

  • externas al sistema OpenBTS, usando un esquema como el mostrado en la figura3.6. De esta forma se puede realizar la comunicacin mvil a mvil con usuariosexternos, algunos de los mencionados servicios se listan a continuacin [39].

    Mltiples telfonos celulares pueden ser conectados.

    Mltiples adaptadores bluetooth pueden ser conectados.

    Asterisk se conecta automticamente a cada telfono celular cuando este seencuentra dentro del rango de cobertura RF del dispositivo bluetooth.

    Chan Mobile utiliza comandos especficos para detectar dispositivos cercanos.Son tiles para la configuracin.

    Cada conexin utiliza un adaptador Bluetooth desocupado. Si se requiere laconexin a una operadora distinta se debe usar otro dispositivo Bluetooth odongle

    Las llamadas entrantes desde la red operadora a los telfonos celulares sonmanejadas por Asterisk.

    Identificacin de llamadas entrantes.

    Se debe declarar el plan de salida en un telfono celular con acceso telefnico,dentro del dialplan de Asterisk.

    La aplicacin CellStatus permite comprobar si un telfono se encuentra enestado conectado o si esta siendo usado por el canal de Asterisk.

    Existe la aplicacin MobileSMS para enviar mensajes cortos de texto desdeAsterisk a travs de un telfono que sirva como FXO [39].

    Sin embargo se debe tener en cuenta que no todos los telfonos que poseen cone-xin bluetooth son compatibles con el mdulo, en esta pagina 1 se puede encontraruna lista de compatibilidad de los celulares, adems de toda la documentacin delmdulo.

    3.5. Mdulo Google Voice

    OpenBTS se puede comunicar con las aplicaciones de Google Voice y google talk,por medio del uso del mdulo de Asterisk chan_motif un controlador de canal yel mdulo de recursos res_xmpp (ver figura3.7).

    1http://www.voip-info.org/wiki/view/chan_mobile

    38

  • SERVIDOR ASTERISKUSRP

    EXTENSION SIP

    EXTENSION SIP

    USUARIO VOICE LOCAL

    USUARIO MOVIL

    USUARIO GTALKEXTERIOR

    INTERNET

    EXTENSION SIP

    Figura 3.7: Diagrama de red OpenBTS-GoogleTalk

    Estos mdulos deben ser configurados durante la instalacin de asterisk, para lo cualprimero debemos de asegurarnos de haber instalado la librera denominada ikse-mel, a continuacin se muestran los pasos seguidos para descargar e instalar estalibrera junto con Asterisk. Cabe indicar que necesitamos contar con una conexin deacceso libre a Internet, para este proyecto inicialmente se utiliz una tarjeta Ether-net adicional modelo TP-link TF3200 con bus PCI compatible con un computadorde escritorio, sin embargo tambin ha sido posible usar la conexin inalmbrica queprovee la tarjeta 11 b/g/n Wireless LAN PCI Express en un computador porttil.Paso 1Desde una terminal Linux establecemos el directorio de descarga por ejemplo /usr/src,luego introducimos la siguiente lnea, que instalar y configurar la librera mencio-nada.apt-get install libiksemel-dev libssl-dev

    Paso 2El mdulo res_xmpp depende de los mdulos chan_motif y chan_jingle. Por lo tan-to debemos agregarlos en la compilacin de asterisk, que se realiza desde el directoriodonde se encuentra instalado, una vez aqu ejecutamos el siguiente comando:make menuselect

    A continuacin, observaremos un men de seleccin de mdulos y aplicaciones quepodemos agregar en la instalacin de Asterisk, dentro de este debemos seleccionarel mdulo chan_motif y chan_jingle mediante el uso de la barra espaciadora quepresentar un asterisco * cuando ha sido seleccionado el componente, ver la figura3.8.Luego tambin seleccionamos dentro de Resource modules el campo res_xmpp. Apartir de esto podemos realizar la reinstalacin de Asterisk con los nuevos compo-

    39

  • Figura 3.8: Seleccin del mdulo Chan_Motif

    nentes, para lo cual ejecutamos la siguiente orden dentro del directorio de instalacinde asterisk /usr/src/asterisk.make & make install

    Esto proporciona a Asterisk nuevas funciones de conexin y recursos de comunica-cin con Google. Es importante recordar que debemos tener activada una cuenta enGoogle voice, para lo cual ingresamos desde un navegador a la cuenta de Gmail y nosdirigimos al cono del servicio, que nos indicar que debemos de instalar el plugin deGoogle-voice de acuerdo a los pasos establecidos en la pgina, si este procedimientose cumple el navegador mostrar una interfaz como la de la figura 3.9.

    Figura 3.9: Interfaz de usuario Google - Voice

    Esta interfaz no es ms que un telfono software con un teclado numrico y unaseccin para bsqueda de contacto en funcin del pas que indica la bandera adjun-ta. Adems se indica el saldo disponible que tenemos para realizar llamadas desdeGoogle.Paso 3Ahora hay que configurar todos los componentes que intervienen en el canal de

    40

  • comunicacin Asterisk-Google. El primero a configurar es el protocolo Real-timeTransport Protocol (RTP )1, el cual permitir el intercambio de voz en tiempo real.

    Configuracin del protocolo (RTP): Modificamos las siguientes lneas enel archivo de configuracin rtp.conf localizado en /etc/asterisk. Aqu habilita-mos el soporte para ICE (Interactive Connectivity Estalishment)2

    general

    icesupport=yesSi esta opcin no es habilitada recibiremos el siguiente mensajeUnable to add Google ICE candidates as ICE

    support

    not available or no candidates available

    Configuracin del contexto Motif: El controlador de canal Motif es confi-gurado en el archivo motif.conf, y es alojado en /etc/asterisk. Se configura dela siguiente manera.[google]

    context=incoming-motif

    disallow=all

    allow=ulaw

    connection=googleCon las lneas anteriores se han declarado las siguientes condiciones.

    1. Las llamadas sern terminadas u originadas desde el contexto incoming-motif.

    2. Todos los cdecs son explcitamente deshabilitados en el canal.

    3. Se activa solamente el cdec G.711 ulaw.

    4. Se utilizar la conexin llamada google del tipo XMPP (ExtensibleMessaging and Presence Protocol) 3.

    Las llamadas con Google pueden soportar algunos cdecs los cuales son listadosen la pagina https://developers.google.com/talk/open_communications.

    Configuracin del mdulo XMPP: El recurso de Asterisk res_xmpp esconfigurado modificando el archivo xmpp.conf, tambin encontrado en /etc/asterisk/.

    1http://es.wikipedia.org/wiki/Real-time_Transport_Protocol2http://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment3http://es.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol

    41

  • Una configuracin normal debe de llevar lo que se muestra a continuacin.serverhost=talk.google.com

    [email protected]

    secret=examplepassword

    priority=25

    port=5222

    usetls=yes

    usesasl=yes

    status=available

    statusmessage=Imavailable

    timeout=5

    Cada termino anterior corresponde a las siguientes opciones:

    La conexin es tipo cliente al solicitar a Google el servicio.

    Especifica el servidor de gtalk.

    Declara el usuario de gtalk que se usa para conectarse ([email protected]).

    La contrasea del usuario gtalk.

    Indica la prioridad de conexin.

    El puerto por el cual opera gtalk.

    Habilita la seguridad de capa de transporte (TLS) requerida por Google.

    Activa la capa de seguridad y autenticacin simple (SASL) usada por Google.

    Muestra el estatus available de gtalk.

    El mensaje que se mostrar en gtalk.

    El tiempo de espera para recibir un mensaje con el tiempo de espera en casose retrase la red.

    Paso 4Hasta aqu tenemos todo listo para la ejecucin de llamadas, nicamente hace faltaconfigurar el plan de marcado que identifique la marcacin de una extensin.[incoming-motif]

    exten =>s,1,NoOp()

    same =>n,Wait(1)

    same =>n,Answer()

    same =>n,SendDTMF(1)

    same =>n,Dial(SIP/1001,20)

    42

  • A continuacin creamos un contexto de Asterisk, donde la extensin s conteste lallamada entrante y a su vez enve un tono DTMF al servidor Google, para luegoejecutar la llamada a la extensin sip 1001. Para realizar llamadas salientes a laaplicacin de Google voice, utilizamos la siguiente declaratoria.exten =>100,1,Dial(Motif/google/[email protected])

    Aqu se indica que la tecnologa usada es el mdulo motif, la extensin a marcares google definida en xmpp.conf, y la cuenta de Google que recibir la llamada seindica con el correo del usuario. Se usa adems la opcin de re-conexin r debidoa que Google no posee reglas propias de marcado 1.

    3.6. Conexin con PSTN

    Como ya se haba mencionado existen interfaces del tipo FXO y FXS en unacentral de conmutacin. La pri