Manual OpenBTS

11
 Pontificia Universidad Católica Madre y Maestra Campus RSTA  Redes Móviles  Prof. Freddy Montas Manual Instalación OpenBTS Linux Ubuntu Creado por: Karina Román Kelly Vazques  Víctor Medina Ramón Matos

Transcript of Manual OpenBTS

Page 1: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 1/11

 

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

Manual Instalación

OpenBTS

Linux Ubuntu

Creado por:

Karina Román

Kelly Vazques

 Víctor Medina

Ramón Matos

Page 2: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 2/11

 

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

Objetivo 

Creación de una red de Segunda Generación, GSM, simulando con un computador una BTS y

una centra usando como transceiver de radio un USRP, lo cual permitirá establecer llamadas

entre móviles conectados a la red.

Marco Teórico

Si entendiste todo lo antes dicho, vas por buen camino y no estás leyendo el manual incorrecto,

el cual está garantizado en funcionamiento en un 90% (por versiones de kernel).

Para asegurar que hablamos el mismo idioma, dejaremos claro algunos conceptos:

GSM: El Sistema Global para las Comunicaciones Móviles (Global System for Mobile

Comunication) es un sistema estándar, libre de regalías, de telefonía móvil digital.

Frecuencias GSM: 850, 900, 1800 y 1900 MHz

BTS: Base Transceiver Station es una instalación fija de radio para la comunicación

bidireccional. Se usa para comunicar con una o más radios móviles o portátiles.

PBX: Private Branch Exchange se encarga de establecer conexiones entre terminales de una

misma empresa, o de hacer que se cursen llamadas al exterior.

SIM: Subscriber Identity Module, es una tarjeta inteligente desmontable usada en teléfonos

móviles y módems HSDPA o HSUPA que se conectan al puerto USB.

IMSI: e International Mobile Subscriber es un código de identificación único para cada

dispositivo de telefonía móvil, integrado en la tarjeta SIM, que permite su identificación a travésde las redes GSM y UMTS.

USRP: Equipo que permite realizar diseño e implementación de plataformas de sistemas de

radio programable (SDR).

Herramientas necesarias

  Sistema Operativo Ubuntu 10.04 o más reciente

  USRP (Universal Software Radio Peripheral) con módulo de frecuencia que contenga un

rango permitido por GMS

  UHD, Universal Software Radio Peripheral Hardware Driver  GNU RADIO

  Central PBX, 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.

Page 3: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 3/11

 

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

Instalando Ubuntu 10.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. Lo instalas de la

siguiente manera:

1.  Bajar el cd de Ubuntu, grabarlo en un cd y colocarlo en la lectora de cd. Recordar que

en la BIOS se debe indicar que debe bootear desde el CD

2.  La primera pantalla es para elegir el idioma y si quieren probar el livecd o

directamente instalar Ubuntu 10.04. Elijen instalar.

3.  Elijan su ubicación, y de paso les muestra la hora que tiene esa ubicación

4.  Elegir la distribución de teclado. Recomiendo elegir España porque si eligen

Latinoamérica no les tomara la ñ

5.  El particionado. Crear una partición para disco SWAP de no más de 2 GB y una tipo

EXT4 en la ruta /

6.  Seleccionar la partición EXT4 y presionar instalar

7.  Esperar el proceso de instalación termine

 Actualizando Ubuntu

Una vez instalado, actualízalo. Muchas de las actualizaciones son del sistema y el kernel. Si no

sabes cómo hacerlo presiona ALT + CTRL + T para abrir la terminal y escribe: sudo apt-get 

install update .

Nota:  lo necesario es el update, no el upgrade, si no quieres cambiar la versión 10.04 a otra

más reciente no es necesario.

Instalando UHD

UHD son los drivers de hardware necesarios para utilizar los dispositivos USRP. Los pasos a

seguir son los siguientes:

  CTRL + ALT + T 

  Cd /usr/local 

  git clone http://github.com/EttusResearch/UHD-Mirror.git 

  mkdir build 

  cd build 

  cmake ../ 

Nota:  si no tienes cmake instalado, has sudo apt-get install cmake y vuelve al paso

anterior

  make

  make test

  sudo make install

   Agrega libuhd.so en LD_LIBRARY_PATH, este archivo está en la carpeta de UHD en

 /usr/local.

Page 4: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 4/11

 

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

Instalando GNU Radio

El GNU Radio herramienta de software diseñada para permitir a los usuarios crearimplementaciones de SDR. 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, así como ejemplos independientes.

Hay dos formas de instalar GNU Radio:

1.  Desde un script en Python que instala todas sus librerías y dependencias junto al GNU

Radio

2.  Instalar manualmente las librerías y el GNU Radio

La recomendada por experiencia en la realización es Instalar manualmente laslibrerí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, versión 3.4, desde este link:

http://gnuradio.org/redmine/attachments/download/279/gnuradio-3.4.2.tar.gz y ubicarlo en

/usr/local

 Abrir la terminal

  Cd /usr/local/ 

  Tar xvfz gnuradio-3.4.2.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-dev python-wxgtk2.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.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 \

Page 5: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 5/11

 

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

  libsdl1.2-dev python-wxgtk2.8 git guile-1.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.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.2-dev python-wxgtk2.8 git-core guile-1.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, sino vuelve y entra

  Cd /usr/local/ xvfz gnuradio-3.4.2 

  ./configure 

  ./make 

  ./make check 

  Nota: si salen fallidas algunas pruebas ignorarlas 

  ./sudo make install 

Configurando para trabajar con el USRP 

  sudo addgroup usrp 

  sudo usermod -G usrp -a <YOUR_USERNAME> 

  echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe",

SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile 

  sudo chown root.root tmpfile 

  sudo mv tmpfile /etc/udev/rules.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 .bashrc 

Page 6: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 6/11

 

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

 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.6/site-packages 

 Ya está listo el GNU Radio.

Para probarlo abre una terminal y teclea con el USRP conectado UHD_fft.py para mostrar el

espectro de señal que está recibiendo.

Nota: si este ejemplo no funciona, no te preocupes, que es probable que sea

problema con la librería de interfaz gráfica de Python y no del GNU Radio, para los

fines este ejemplo exitoso no es necesario.

Instalando PBX Asterisk 

 Asterisk es un programa de software libre (bajo licencia GPL) que proporciona funcionalidades

de una central telefónica (PBX). Como cualquier PBX, se puede conectar un número

determinado de teléfonos para hacer llamadas entre sí e incluso conectar a un proveedor

deVoIP o bien a una RDSI tanto básicos como primarios.

  Al igual que GNU Radio podemos instalar Asterisk y sus librerías de forma manual, 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.

Los pasos son los siguientes:

   Abre la terminal, CTRL + ALT + T

  Sudo apt-get install asterisk 

  Esperar el proceso termine, que incluye descarga, compilación e instalación

 A diferencia del GNU Radio, Asterisk si necesita de una configuración para que el propósito sea

exitoso.

Configurando Asterisk 

 Abre la terminal

  Cd /etc/asterisk 

  Sudo gedit sip.conf 

 Al final del archivo en el editor de texto agrega:

[IMSI número 1]callerid=6001

Page 7: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 7/11

 

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

canreinvite=notype=friendallow=gsmcontext=sip-localhost=dynamicdtmfmode=info

[IMSI número 2]callerid=6002canreinvite=notype=friendallow=gsmcontext=sip-localhost=dynamicdtmfmode=info

[1001]

username=1001secret=1001;canreinvite=notype=friendallow=gsmcontext=sip-localhost=dynamicbindport = 5061;dtmfmode=info

  Guardar y cerrar 

En el mismo directorio

  Sudo gedit extensions.conf 

 Agregar al final del archivo en el editor de texto:

[macro-dialGSM]exten => s,1,Dial(SIP/${ARG1})exten => s,2,Goto(s-${DIALSTATUS},1)exten => s-CANCEL,1,Hangupexten => s-NOANSWER,1,Hangup

exten => s-BUSY,1,Busy(30)exten => s-CONGESTION,1,Congestion(30)exten => s-CHANUNAVAIL,1,playback(ss-noservice)exten => s-CANCEL,1,Hangup

[sip-local]exten => 1001,1,Macro(dialGSM,SIP/1001)exten => 6001,1,Macro(dialGSM,SIP/IMSI número 1)exten => 6002,1,Macro(dialGSM,SIP/IMSI número 2)

Page 8: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 8/11

 

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

Listo Asterisk está configurado.

Nota: Aún hace falta completar los campos IMSI número 1 y el IMSI número 2 en

ambos SIP.conf y EXTENSIONS.conf con los IMSIs correctos que vamos usar.

Instalando el OpenBTS

Si te preguntas para que necesite todo lo anterior instalado para instalar OpenBTS, hay un

gráfico que puede que aclare la interrogante, 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. 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.

El software OpenBTS tiene tres versiones:

  Publica

  Comercial

Para los fines usaremos la comercial, definida por su creador como experimentación, educacióno evaluación.

Los pasos a seguir son los siguientes:

  Descargar OpenBTS versión Mamou de este link:

http://sourceforge.net/projects/openbts/files/openbts-2.6.0Mamou.tar.gz/download 

  Ubicarlo en /usr/local/src

Page 9: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 9/11

 

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

   Abrir terminal

  Cd /usr/local/src

  Tar xvfz openbts-2.6.0Mamou.tar.gz

Instala algunas librerías necesarias para compilación si aún no existen en tu sistema:

  sudo apt-get install autoconf libtool, libosip2-dev, libortp-dev, libusb-1.0-0-dev, g++,

sqlite3, libsqlite3-dev, erlang 

En el mismo directorio /usr/local/openbts-2.6.0Mamou

   Autoreconf – i 

  ./configure 

  Make 

  Cd Transceiver52M 

  Make 

  Cd ../apps   Ln – s ../Transceiver52M/transceiver 

  Sudo mkdir – p /usr/local/share/usrp/rev4 

  Sudo cp ../Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/ 

Listo, 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, CTRL + ALT + T 

  Cd /usr/local/src/ openbts-2.6.0Mamou 

  Cd apps 

  Sudo gedit OpenBTS.conf 

Cambiar los siguientes parámetros

GSM.RADIO.BAND – 51

GSM.RADIO.C0

Listo, el OpenBTS está configurado.

Instalando Softphone

El softphone SIP para probar llamadas desde el computador y los móviles y viceversa,

marcando las extensiones especificadas en Asterisk, elegido fue Twinkle. Lo pueden descargar

del repositorio de Ubuntu 10.04 o tecleando en la terminal sudo apt-get install twinkle.

Page 10: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 10/11

 

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

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.0.0.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, “puerto 6061 es usado”, dar OK e ignorarlo. Volver

abrir Twinkle que se encuentra en la barra de menú para traer al frente la interfaz

de las llamadas, y autenticarse con username 1001 y password 1001.

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.

Sigue los pasos:

  Conectar el USRP al puerto USB 

   Abrir una Terminal 

  Comprobar el USRP está siendo reconocido con “lsusrp”   , debe salir un campo 

especificando el puerto.

 Abrir cliente Asterisk en otra terminal, teclear:

   Asterisk – r 

  Debe salir en la terminal, CLI> 

 Abrir cliente OpenBTS

   Abrir otra terminal 

  Cd /usr/local/src/ openbts-2.6.0Mamou/apps 

  Sudo ./OpenBTS 

  Debe salir en la terminal OpenBTS>    Abrir Twinkle si ya no lo tienes, y autenticarse.

Tomar un móvil y registrarse en la red con el nombre especificado en la configuración del

OpenBTS.

  Intentar hacer llamada al softphone marcando la extensión 1001.

Page 11: Manual OpenBTS

5/13/2018 Manual OpenBTS - slidepdf.com

http://slidepdf.com/reader/full/manual-openbts 11/11

 

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

  En la terminal de Asterisk, verificar un error de intento de número IMSI de 15 

caracteres.

  Tomar ese número IMSI y pegarlo en la configuración del SIP.conf y EXTENSIONS.conf 

de Asterisk. En el parámetro “ IMSI número 1 ”. 

  Guardar los SIP.conf y EXTENSIONS.conf 

En la terminal de Asterisk teclear:

  Sip reload 

  Dialplan reload 

Hacer el mismo proceso con el móvil número 2, a diferencia de que el campo a cambiar es el

 “IMSI número 2” en los archivos SIP.conf y EXTENSIONS.conf. 

Listo, ya está hecha toda la configuración necesaria para la comunicación entre móviles.

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, no estes triste, simplemete resetea la

consola de Asterisk, cerrándola y volviéndola abrir e intenta nuevamente.

 Ahora sí las llamadas deben ser exitosas en cualquier sentido.

Nota: De no ser así revisar los pasos de la instalación y configuración de Asterisk y

OpenBTS nuevamente.

Fin del manual, 

Esperamos que haya sido útil.