Una instalacin completa de OpenBTS P2.8 comprende los siguientes componentes:
El mismo OpenBTS. Cumple con la implementacin GSM a partir de la seccin de TDMA entre la capa L1 y L3. Su interface SIP se encuentra normalmente en el puerto 5062. Esta localizado en el directorio openbts/trunk. Transceiver. Este es el radio basado en software modem (modulador/demodulador), se implementa en la parte baja de la capa L1. Openbts arranca el transceiver automticamente. Se encuentra en el directorio openbts/trunk/Transceiver. Una central PBX o softswitch (Asterisk, FreeSwitch, etc.) Este componente conecta las llamadas de voz. Su interfaz SIP esta normalmente en el puerto 5060. Este software no viene integrado en el paquete OpenBTS. Sipauthserver. Se trata del servidor SIP de registro y autorizacin, usado para procesar las peticiones de actualizacin de localizacin por parte de OpenBTS y que realiza los correspondientes cambios en la base de datos del registro de subscriptores. Su interface SIP normalmente se ejecuta en el puerto 5064. Es localizado en el directorio subscriberRegistry/trunk. Smqueue. Es el servidor de almacenamiento-y-envio de mensajes de texto. Necesita ser inicializado independientemente de OpenBTS. Su interface SIP esta normalmente ejecutada en el puerto 5063. Esta localizado en el directorio smqueue/trunk. Hardware OpenBTS puede ser ejecutado en una amplia variedad de hardware. Algunos de estos equipos necesitan diferentes modificaciones, antes de ser usados con OpenBTS. Existen en el mercado tres tipos diferentes: Equipos manufacturados por Range Networks ejemplo (RAD1) Fairwaves (UmTRX) Ettus Research, con modificacin de reloj externo los modelos USRP1 Ettus Research, dispositivos UHD, (USRP2, N200 series, B100) Construyendo OpenBTS openBTS puede, en principio, ser configurado y ejecutado en cualquier Sistema Operativo basado en Unix. Sin embargo, la mayora del desarrollo es hecho en Ubuntu 10 o 12.04 LTS, asi que estos sistemas son los ms recomendables. Descargar el paquete de OpenBTS La mejor alternativa para obtener el software OpenBTS es descargarlo directamente del repositorio de cdigo fuente oficial, autenticndose como usuario annimo. Esto toma efecto ejecutando la siguiente lnea de comandos, dentro del terminal del S.O Linux. svn co http://wush.net/svn/range/software/public Previamente a obtener el fichero del codigo fuente de OpenBTS, se debe crear una carpeta donde se puedan almacenar los archivos a descargar, esto se puede realizar desde el terminal de Ubuntu con el comando <mkdir openbts> en el directorio de nuestra preferencia, por ejemplo el escritorio. Luego de descargado OpenBTS, podemos iniciar con la instalacin de sus componentes, para esto se utilizan los siguientes comandos: cd openbts/trunk auoreconf -i ./configure Make Con la construccin resuelta, se procede a la configuracin y ejecucin del Software Transceiver apropiado para el USRP N210. Para los modelos actuales del hardware ETTUS Research (USRP2, B100, N200, y E100 series) se usan las libreras UHD (Universal Hardware Device). La instalacin de estas libreras es descrita en el anexo A. los comandos a ejecutar son los siguientes: cd openbts/trunk autoreconf -i ./configure --with-uhd --with-resamp Make El siguiente paso es la ejecucin del transceiver para el USRP N210, para esto nos dirigimos al directorio raz de openbts, desde la terminal, este directorio es <openbts/trunk/apps>. Y se utiliza el siguiente comando para realizarlo. Ln s ../Transceiver52M/transceiver. Configurando OpenBTS Con el OpenBTS construido, se debe realizar su configuracin correctamente para el funcionamiento del sistema. Existen dos archivos claves que deben ser creados para que todo funcione. El primero es el archivo OpenBTS.db, que contiene una base de datos que almacena toda la configuracin hecha a OpenBTS. Debe ser creado e instalado en el directorio /etc/OpenBTS, el cual todava no existe. Asi que, se lo crea de la siguiente forma: (from the OpenBTS directory) sudo mkdir /etc/OpenBTS sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db ".quit" Para comprobar que se realiz completamente la instalacin de la base de datos, podemos comprobarlo usando la siguiente sentencia. sqlite3 /etc/OpenBTS/OpenBTS.db .dump Lo cual mostrar una lista de variables de configuracin, esto quiere decir que la instalacin se ha completado correctamente. Ejecutando OpenBTS En este punto, se puede realizar una revisin del funcionamiento de OpenBTS, ejecutando la siguiente orden. (from OpenBTS root) cd apps sudo ./OpenBTS Esto hara funcionar el hardware USRP, desplegando la interface de aire um. Si desde un telfono escaneamos las redes mviles disponibles, se podr observar la red Test- TMLN o 00101-test, que es nuestra red montada. Si tratamos de ingresar a esa red desde nuestro telfono, seremos rechazados; por el hecho de que OpenBTS , por defecto, solo permite la conexin con terminales registrados en su base de datos. Por otro lado, an no est corriendo nuestro servidor de registro llamado (Sipauthserve), por tanto ningn telfono podr ingresar. Es necesario entonces, abordar algunas variables de configuracin de OpenBTS, a las que se puede acceder nicamente desde la interface de comandos OpenBTSCLI, que se abre desde el siguiente directorio. (from OpenBTS root) cd apps sudo ./OpenBTSCLI y ejecutara la consola de configuracin OpenBTS> , en esta podemos introducir la opcin <config> que mostrara una lista de opciones de configuracin de OpenBTS. Existen multiples opciones de configuracin, que modifican el comportamiento del sistema las cuales se describen en la pagina de RangeNetworks [link]. Sin embargo, para la operacin en modo bsico necesitamos solamente modificar las principales como las siguientes: GSM.Radio.Band Esta variable contiene la banda de frecuencia GSM en la que trabaja el USRP GSM.Radio.C0 este parmetro es el ARFCN. Debe ser el apropiado para la frecuencia Control.LUR.OpenRegistration es la opcin que permite rechazar o aceptar el registro de los telfonos en la red. Facilita la compilacin e inicializacin del sistema. Una instruccin bsica que debemos modificar, es la forma en que acceden a la red los terminales mviles sin que tengan dificultad en su ingreso. Para realizar esto se utiliza la siguiente sentencia: config Control.LUR.OpenRegistration .* Lo que brinda un acceso sin restriccin a cualquier telfono cercano a la red OpenBTS. Se debe tener precaucin con interferir los telfonos de usuarios que no desean ingresar a la red porque sern conectados a la Estacin Base de nuestro sistema. Creacin e Instalacin del Registro de Abonados y Sipauthserve OpenBTS depende de la instalacin del servidor de autorizacin SIP Sipauthserve para efectuar la conmutacin de trfico en la red. Este servidor es indispensable para obtener el funcionamiento completo del sistema. Por lo tanto, se debe configurar primeramente la base de datos del Registro de Abonados, lo que se ejecuta de la siguiente manera: (from svn root) cd subscriberRegistry/trunk/configFiles/ sudo mkdir -p /var/lib/asterisk/sqlite3dir sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db ".quit" sudo mkdir /var/run/OpenBTS Completado el registro de abonados, se procede a la creacin del servidor Sipauthserve. Este servidor consiste en un proceso demonio que se ejecuta continuamente para facilitar los servicios de autenticacin en el protocolo SIP. Inicialmente, se ejecuta dentro del directorio <subscriberRegistry> el comando de creacin <make> que crea los ejecutables del servidor Sipauthserve. (from svn root) cd subscriberRegistry/trunk make Luego, continuando con la creacin de este servidor debemos configurar el acceso a la base de datos del servidor <sipauthserve.db> , por lo que usamos la siguiente sentencia para crear la base de datos dentro del directorio </etc/OpenBts> . (from subscriberRegistry root) sudo sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db ".quit" De esta forma, tenemos la posibilidad de ejecutar sin problemas el servidor sipauthserve en el directorio de <subscriberRegistry>, escribiendo en un terminal Linux, lo siguiente: sudo ./sipauthserve El servidor no posee una interfaz de programacin por comandos, por lo que podremos observar un mensaje de ejecucin como por ejemplo: ALERT 139639310980928 sipauthserve.cpp:214:main: ./sipauthserve (re)starting Si todos los pasos anteriores se completaron satisfactoriamente, entonces el sistema OpenBTS est listo para ser ejecutado y levantado, con la ayuda del hardware N210. Lo siguiente que se debe hacer es conectar los equipos, PC computador personal y USRP entre s, por medio de un cable de red entre las interfaces Gigabit-Ethernet para realizar la comunicacin. Es necesario seguir una serie de pasos antes de ejecutar una llamada entre dos terminales mviles registrados, los cuales se enumeran a continuacin: 1. Preparar el USRP N210, conectamos la tarjeta (daugtherboard) WBX con la motherboard FPGA, e integramos dos antenas VERT900 a los conectores del transceiver. 2. Encendemos el equipo USRP y lo conectamos mediante el cable Ethernet al computador Personal PC. 3. Abrimos un terminal Linux en el Computador, y ejecutamos el servidor <Sipauthserve> desde el directorio </subscriberRegistry/trunk>. 4. Ejecutamos en un terminal diferente el sistema <OpenBTS>, desde el directorio </openbts/ trunk/apps>, seguido ejecutamos tambin la aplicacin <OpenBTSCLI>, desde el mismo directorio. 5. Encendemos los telfonos mviles con tarjetas SIM previamente instaladas. Se recomienda que estas tarjetas no pertenezcan a proveedores mviles locales. Si el telfono no accede automticamente a la red, debemos seleccionar que busque de forma manual las redes mviles locales, donde registrara la red OpenBTS y podr ingresar a ella. 6. Realizamos una llamada de prueba, para comprobar la conexin de voz. Marcamos al nmero 600 desde el telfono para llamar al servicio echo. Podremos escuchar nuestra propia voz en el terminal. 7. El sistema GSM se ha Completado.