OpenBTS: Briker

From OnnoWiki
Jump to: navigation, search

OpenBTS 2.8 installation to use Briker 1.4 as IP PBX

Author: Anton Raharja (
        Asoka Wardhana (

Update: 201305310000


OpenBTS server ( <--------> IP PBX server (


  • 1 unit server for OpenBTS 2.8 trunk
  • 1 unit server for Asterisk and FreePBX based IP PBX (Briker 1.4)
  • 1 unit USRP1 with 52MHz clock (must use USRP1 and with 52MHz clock)
  • Ubuntu server 12.04.1 LTS ISO on USB disk or burned to CD
  • Briker 1.4 ISO burned to CD
  • LAN will be a plus
  • Fast Internet connection for apt-get
  • Several cellphones
  • IP Phones or desktop computers with SIP softphone installed is a plus

PART I: OpenBTS server

Install Ubuntu server 12.04 LTS You should have OpenSSH installed by choosing them from Ubuntu installation menu Set correct IP address and make it connected to the Internet to allow apt-get Login as root

Example local IP address for this server:

apt-get update

no need to apt-get upgrade

apt-get install subversion autoconf libtool libosip2-dev libortp-dev g++ sqlite3 \
libusb-1.0.0-dev libsqlite3-dev erlang libreadline6-dev libboost-all-dev swig \ 
libfftw3-dev libcppunit-dev libaudio-dev sdcc libusb-dev make
cd /usr/local/src
wget -c
wget -c
svn co OpenBTS
cd /usr/local/src
tar -zxf gnuradio-3.4.2.tar.gz
cd gnuradio-3.4.2/
patch -p0 < ../usrp52mhz.patch
./configure --disable-usrp2 --enable-usrp
make install
addgroup usrp
usermod -G usrp -a <YOUR_LINUX_USERNAME>
echo 'SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="fffe", ATTR{idProduct}=="0002", GROUP="usrp", MODE="0666"' > tmpfile
chown root.root tmpfile
mv tmpfile /etc/udev/rules.d/10-usrp.rules
udevadm control --reload-rules

Connect USRP1 to OpenBTS server through USB port:

ls -lR /dev/bus/usb | grep usrp

Should display something like this:

crw-rw---- 1 root usrp 189, 1 2013-05-28 11:34 003

If not then you should reboot the server and try again. Stop here and ask questions if you don't see the display like above.

cd /usr/local/src/OpenBTS/openbts/trunk/
autoreconf -i
./configure --with-usrp1
touch /var/run/command
mkdir -p /var/lib/asterisk/sqlite3dir
mkdir /etc/OpenBTS
sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db .quit
sqlite3 /etc/OpenBTS/OpenBTS.db .dump
cd /usr/local/src/OpenBTS/openbts/trunk/apps
ln -s ../Transceiver52M/transceiver .
mkdir -p /usr/local/share/usrp/rev4/
cp ../Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/

If OpenBTS started and system ready (no error, or exitting) then OpenBTS compiled and initiated successfully.

Ctrl+C to exit OpenBTS, and run again but this time with nohup.

cd /usr/local/src/OpenBTS/openbts/trunk/apps
nohup ./OpenBTS &
config GSM.Identity.ShortName BrikerGSM
config SIP.Local.IP
config SIP.Proxy.Registration
config SIP.Proxy.Speech
config SIP.Proxy.SMS
config SMS.MIMEType text/plain
config save
sqlite3 /etc/OpenBTS/OpenBTS.db "update CONFIG set VALUESTRING=NULL where KEYSTRING='SIP.SMSC'"
killall -9 OpenBTS
killall -9 transceiver
nohup ./OpenBTS &
tail -f /var/log/syslog

PART II: IP PBX server

Install Briker 1.4 (Asterisk 11), get it from Set correct IP address Login as root or become root using su

Example local IP address for this server:

cd /root
wget -c
wget -c
chmod 755 briker-OpenBTS.txt
chmod 644 extensions_OpenBTS.conf

Please note that you download briker-OpenBTS.txt and copy it to /var/lib/asterisk/agi-bin as briker-OpenBTS.php

cd /root
cp briker-OpenBTS.txt /var/lib/asterisk/agi-bin/briker-OpenBTS.php
cp extensions_OpenBTS.conf /etc/asterisk/

On below commands, be warned, it is double arrow >> not single arrow >

echo '#include extensions_OpenBTS.conf' >> /etc/asterisk/extensions_custom.conf
echo 'textsupport=yes' >> /etc/asterisk/sip_general_custom.conf
echo 'accept_outofcall_message=yes' >> /etc/asterisk/sip_general_custom.conf
echo 'outofcall_message_context=SMS' >> /etc/asterisk/sip_general_custom.conf

You might found the png files as screenshots to the following steps in

Create SIP trunk:

Trunk name: OpenBTS

PEER details:

Create custom extensions:

  • Fill User Extension with extension number
  • Fill Display Name with extension number, or anything
  • Fill dial with: SIP/OpenBTS/<IMSI>

Hit button Apply configuration above.

You need to create custom extension everytime you need to add a new cellphone


Pranala Menarik


OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

Ettus E110

Ettus N210


Briker OpenBTS

  • OpenBTS: Briker


Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video