You are on page 1of 11

Manual Instalación OpenBTS

Linux Ubuntu

Creado por: Karina Román Kelly Vazques Víctor Medina Ramón Matos

Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof. Freddy Montas

IMSI: e International Mobile Subscriber es un código de identificación único para cada dispositivo de telefonía móvil. Marco Teórico Si entendiste todo lo antes dicho. integrado en la tarjeta SIM. SIM: Subscriber Identity Module. de telefonía móvil digital. Frecuencias GSM: 850. dejaremos claro algunos conceptos: GSM: El Sistema Global para las Comunicaciones Móviles (Global System for Mobile Comunication) es un sistema estándar. vas por buen camino y no estás leyendo el manual incorrecto. Asterisk OpenBTS Nota importante: cada software requiere de librerías y dependencias previas detalladas en la instalación correspondiente y se requiere instalar en el orden especificado. GSM.04 o más reciente USRP (Universal Software Radio Peripheral) con módulo de frecuencia que contenga un rango permitido por GMS UHD. libre de regalías. Para asegurar que hablamos el mismo idioma. el cual está garantizado en funcionamiento en un 90% (por versiones de kernel). Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof. PBX: Private Branch Exchange se encarga de establecer conexiones entre terminales de una misma empresa. 1800 y 1900 MHz BTS: Base Transceiver Station es una instalación fija de radio para la comunicación bidireccional. es una tarjeta inteligente desmontable usada en teléfonos móviles y módems HSDPA o HSUPA que se conectan al puerto USB. lo cual permitirá establecer llamadas entre móviles conectados a la red. que permite su identificación a través de las redes GSM y UMTS. Se usa para comunicar con una o más radios móviles o portátiles. 900. Freddy Montas . Universal Software Radio Peripheral Hardware Driver GNU RADIO Central PBX. simulando con un computador una BTS y una centra usando como transceiver de radio un USRP. Herramientas necesarias       Sistema Operativo Ubuntu 10.Objetivo Creación de una red de Segunda Generación. o de hacer que se cursen llamadas al exterior. USRP: Equipo que permite realizar diseño e implementación de plataformas de sistemas de radio programable (SDR).

Recomiendo elegir España porque si eligen Latinoamérica no les tomara la ñ 5. Instalando UHD UHD son los drivers de hardware necesarios para utilizar los dispositivos USRP.04 a otra más reciente no es necesario.04 Si Windows es muy recomendable que te hagas de una partición para instalar este nuevo OS ya que su realización en una máquina virtual no es ni garantizada ni efectiva.Instalando Ubuntu 10. Crear una partición para disco SWAP de no más de 2 GB y una tipo EXT4 en la ruta / 6. Los pasos a seguir son los siguientes:       CTRL + ALT + T Cd /usr/local git clone http://github. La primera pantalla es para elegir el idioma y si quieren probar el livecd o directamente instalar Ubuntu 10. 3. Recordar que en la BIOS se debe indicar que debe bootear desde el CD 2.04.com/EttusResearch/UHD-Mirror. has sudo apt-get install cmake y vuelve al paso anterior make make test sudo make install Agrega libuhd.git mkdir build cd build cmake . El particionado. Freddy Montas . Bajar el cd de Ubuntu. Elijen instalar. Si no sabes cómo hacerlo presiona ALT + CTRL + T para abrir la terminal y escribe: sudo apt-get install update . Esperar el proceso de instalación termine Actualizando Ubuntu Una vez instalado. Muchas de las actualizaciones son del sistema y el kernel. grabarlo en un cd y colocarlo en la lectora de cd. y de paso les muestra la hora que tiene esa ubicación 4. Elijan su ubicación. Lo instalas de la siguiente manera: 1./ Nota: si no tienes cmake instalado. este archivo está en la carpeta de UHD en /usr/local.so en LD_LIBRARY_PATH. Seleccionar la partición EXT4 y presionar instalar 7. Nota: lo necesario es el update. si no quieres cambiar la versión 10. no el upgrade. actualízalo.     Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof. Elegir la distribución de teclado..

4.8 python-numpy \ python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev \ libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev Maverick (10.org/redmine/attachments/download/279/gnuradio-3.gz y ubicarlo en /usr/local Abrir la terminal   Cd /usr/local/ Tar xvfz gnuradio-3. Freddy Montas .Instalando GNU Radio El GNU Radio herramienta de software diseñada para permitir a los usuarios crear implementaciones de SDR.2. así como ejemplos independientes.2-dev python-wxgtk2. versión 3.10)    sudo apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev \ swig g++ automake autoconf libtool python-dev libfftw3-dev \ libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \ Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof.tar.4. desde este link: http://gnuradio. Aquí se establecen mecanismos y herramientas para crear y personalizar una gran cantidad de módulos de código fuente que pueden ser utilizados como parte de una radio. Desde un script en Python que instala todas sus librerías y dependencias junto al GNU Radio 2.4.tar.gz Ahora instalaremos las librerías necesarias Natty Narwhal (11.04)      sudo apt-get -y install git-core autoconf automake libtool g++ python-dev swig \ pkg-config libboost-all-dev libfftw3-dev libcppunit-dev libgsl0-dev \ libusb-dev sdcc libsdl1.2. Instalar manualmente las librerías y el GNU Radio La recomendada por experiencia en la realización es Instalar manualmente las librerías y el GNU Radio por motivos de importación y exportación de librerías a las variables del sistema Los pasos a seguir son: Descargar el GNU Radio. Hay dos formas de instalar GNU Radio: 1.

/make .d/10-usrp.rules sudo udevadm control --reload-rules Para verificar la conexión de un USRP ls -lR /dev/bus/usb | grep usrp O también  Lsusrp Nota: Si este último da errores de librería de importación has lo siguiente:   Cd Nano ./sudo make install Configurando para trabajar con el USRP         sudo addgroup usrp sudo usermod -G usrp -a <YOUR_USERNAME> echo 'ACTION=="add". BUS=="usb".4.root tmpfile sudo mv tmpfile /etc/udev/rules. SYSFS{idProduct}=="0002".8-dev \ libqt4-dev python-numpy ccache python-opengl libgsl0-dev \ python-cheetah python-lxml doxygen qt4-dev-tools \ libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4 Ahora si instalamos el GNU Radio Si aún estas en la carpeta.2 .8-dev \ libqt4-dev python-numpy ccache python-opengl libgsl0-dev \ python-cheetah python-lxml doxygen qt4-dev-tools \ libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4 Lucid (10. SYSFS{idVendor}=="fffe".bashrc Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof. MODE:="0660"' > tmpfile sudo chown root.2-dev python-wxgtk2./make check Nota: si salen fallidas algunas pruebas ignorarlas .    libsdl1.8 git guile-1.8 git-core guile-1. Freddy Montas .04)        sudo apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev \ swig g++ automake autoconf libtool python-dev libfftw3-dev \ libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \ libsdl1./configure . sino vuelve y entra       Cd /usr/local/ xvfz gnuradio-3.2-dev python-wxgtk2. GROUP:="usrp".

py para mostrar el espectro de señal que está recibiendo. Freddy Montas . se puede conectar un número determinado de teléfonos para hacer llamadas entre sí e incluso conectar a un proveedor deVoIP o bien a una RDSI tanto básicos como primarios. Los pasos son los siguientes:    Abre la terminal. Instalando PBX Asterisk Asterisk es un programa de software libre (bajo licencia GPL) que proporciona funcionalidades de una central telefónica (PBX). no te preocupes. compilación e instalación A diferencia del GNU Radio. pero a diferencia del GNU la instalación manual no instala los componentes en los directorios necesarios para su correcto funcionamiento e integración con otro software.conf Al final del archivo en el editor de texto agrega: [IMSI número 1] callerid=6001 Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof. Nota: si este ejemplo no funciona. que incluye descarga.Al final agrega las líneas:     export PATH=$PATH:/usr/local/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lcoal/lib/pkgconfig export PYTHONPATH=$PYTHONPATH:/usr/lcoal/lib/python2. Asterisk si necesita de una configuración para que el propósito sea exitoso. para los fines este ejemplo exitoso no es necesario. que es probable que sea problema con la librería de interfaz gráfica de Python y no del GNU Radio.6/site-packages Ya está listo el GNU Radio. Como cualquier PBX. Al igual que GNU Radio podemos instalar Asterisk y sus librerías de forma manual. Configurando Asterisk Abre la terminal   Cd /etc/asterisk Sudo gedit sip. CTRL + ALT + T Sudo apt-get install asterisk Esperar el proceso termine. Para probarlo abre una terminal y teclea con el USRP conectado UHD_fft.

SIP/IMSI número 1) exten => 6002.Macro(dialGSM.canreinvite=no type=friend allow=gsm context=sip-local host=dynamic bindport = 5061 .canreinvite=no type=friend allow=gsm context=sip-local host=dynamic dtmfmode=info [IMSI número 2] callerid=6002 canreinvite=no type=friend allow=gsm context=sip-local host=dynamic dtmfmode=info [1001] username=1001 secret=1001 .conf Agregar al final del archivo en el editor de texto: [macro-dialGSM] exten => s.1.SIP/1001) exten => 6001.SIP/IMSI número 2) Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof.Dial(SIP/${ARG1}) exten => s.Hangup exten => s-NOANSWER.1.2.Macro(dialGSM.playback(ss-noservice) exten => s-CANCEL.Goto(s-${DIALSTATUS}.1.1.Congestion(30) exten => s-CHANUNAVAIL.Hangup [sip-local] exten => 1001.1.1.Macro(dialGSM. Freddy Montas .Hangup exten => s-BUSY.dtmfmode=info  Guardar y cerrar En el mismo directorio  Sudo gedit extensions.1.Busy(30) exten => s-CONGESTION.1.1.1) exten => s-CANCEL.1.

por el momento sin tomar en cuenta el SMQUEU que es para el envío de SMS: Por último el programa que servirá como estación base entre la central y los móviles. definida por su creador como experimentación.conf con los IMSIs correctos que vamos usar. Es una aplicación Unix que usa software de radio para presentar una interfaz área de 2G GSM bajo sus estándares usando un conmutador o PBX con SIP para interconectar las llamadas. hay un gráfico que puede que aclare la interrogante. Freddy Montas .6. Instalando el OpenBTS Si te preguntas para que necesite todo lo anterior instalado para instalar OpenBTS.conf y EXTENSIONS.Listo Asterisk está configurado.tar. El software OpenBTS tiene tres versiones:   Publica Comercial Para los fines usaremos la comercial.0Mamou.net/projects/openbts/files/openbts-2. Los pasos a seguir son los siguientes:   Descargar OpenBTS versión Mamou de este link: http://sourceforge. educación o evaluación.gz/download Ubicarlo en /usr/local/src Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof. Nota: Aún hace falta completar los campos IMSI número 1 y el IMSI número 2 en ambos SIP.

sqlite3. elegido fue Twinkle. libusb-1.BAND – 51 GSM. el OpenBTS está configurado.rbf /usr/local/share/usrp/rev4/ Listo.0Mamou. erlang En el mismo directorio /usr/local/openbts-2. CTRL + ALT + T Cd /usr/local/src/ openbts-2./apps Ln –s . Lo pueden descargar del repositorio de Ubuntu 10../Transceiver52M/std_inband. libortp-dev./configure Make Cd Transceiver52M Make Cd . g++.C0 Listo. marcando las extensiones especificadas en Asterisk.04 o tecleando en la terminal sudo apt-get install twinkle.gz Instala algunas librerías necesarias para compilación si aún no existen en tu sistema:  sudo apt-get install autoconf libtool.6..tar.conf Cambiar los siguientes parámetros GSM.6. Freddy Montas . el OpenBTS está instalado.. Configurando el OpenBTS La configuración básica necesaria para que el OpenBTS trabaje bajo una red GSM en nuestro país (República Dominicana) es necesaria la siguiente configuración:     Abre terminal. libsqlite3-dev.0-0-dev.0Mamou          Autoreconf –i .   Abrir terminal Cd /usr/local/src Tar xvfz openbts-2.RADIO.0Mamou Cd apps Sudo gedit OpenBTS. libosip2-dev. Instalando Softphone El softphone SIP para probar llamadas desde el computador y los móviles y viceversa.RADIO./Transceiver52M/transceiver Sudo mkdir –p /usr/local/share/usrp/rev4 Sudo cp .6. Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof.

Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof. Integrando los software y el USRP Una vez realizado con éxito los pasos anteriores de instalación y configuración de los softwres necesarios para la creación de la red GSM vamos a integrar el funcionamiento de cada uno./OpenBTS Debe salir en la terminal OpenBTS> Abrir Twinkle si ya no lo tienes. dar OK e ignorarlo. y autenticarse. CLI> Abrir cliente OpenBTS      Abrir otra terminal Cd /usr/local/src/ openbts-2.0. y autenticarse con username 1001 y password 1001.  Intentar hacer llamada al softphone marcando la extensión 1001. Abrir cliente Asterisk en otra terminal.0.6. Tomar un móvil y registrarse en la red con el nombre especificado en la configuración del OpenBTS.1 Password: la secret especifica en asterisk “1001” Authname poner “1001” Real poner “1001” Dar click en Aceptar Seleccionar el usuario creado y darle en RUN Nota: Si sale un error de puerto. debe salir un campo especificando el puerto.0Mamou/apps Sudo . “puerto 6061 es usado”. Sigue los pasos:    Conectar el USRP al puerto USB Abrir una Terminal Comprobar el USRP está siendo reconocido con “lsusrp”. Freddy Montas . Volver abrir Twinkle que se encuentra en la barra de menú para traer al frente la interfaz de las llamadas.Una vez instalado seguir los siguientes pasos:          Configurar profile Poner nombre de profile En nombre de usuario poner la extensión especificada en asterisk “1001” Host: 127. teclear:   Asterisk –r Debe salir en la terminal.

conf de Asterisk. Fin del manual. ya está hecha toda la configuración necesaria para la comunicación entre móviles. no estes triste. Nota: De no ser así revisar los pasos de la instalación y configuración de Asterisk y OpenBTS nuevamente.conf y EXTENSIONS. a diferencia de que el campo a cambiar es el “IMSI número 2” en los archivos SIP. Intentos    Intenta llamar de un móvil al softphone marcando la extensión 1001 Intenta llamar del softphone a un móvil con la extensión correspondiente especificada en Asterisk Intenta llamar de un móvil a otro marcando las extensiones correspondientes especificadas en Asterisk Si el primer proceso fue exitoso y los otros dos no. Esperamos que haya sido útil.conf y EXTENSIONS. Freddy Montas .conf. verificar un error de intento de número IMSI de 15 caracteres. En el parámetro “IMSI número 1”. Tomar ese número IMSI y pegarlo en la configuración del SIP. simplemete resetea la consola de Asterisk. Ahora sí las llamadas deben ser exitosas en cualquier sentido. Guardar los SIP. cerrándola y volviéndola abrir e intenta nuevamente.conf En la terminal de Asterisk teclear:   Sip reload Dialplan reload Hacer el mismo proceso con el móvil número 2.   En la terminal de Asterisk. Listo. Pontificia Universidad Católica Madre y Maestra –Campus RSTA – Redes Móviles – Prof.conf y EXTENSIONS.