OpenBTS: Briker

From OnnoWiki
Revision as of 05:46, 23 August 2013 by Onnowpurbo (talk | contribs) (New page: OpenBTS 2.8 installation to use Briker 1.4 as IP PBX Author: Anton Raharja (anton@itmn.co.id) Asoka Wardhana (asoka@itmn.co.id) Update: 201305310000 ============================...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

OpenBTS 2.8 installation to use Briker 1.4 as IP PBX

Author: Anton Raharja (anton@itmn.co.id)

       Asoka Wardhana (asoka@itmn.co.id)

Update: 201305310000

========================================================================

Architecture:

OpenBTS server (192.168.2.1) <--------> IP PBX server (192.168.2.2)

Equipments:

- 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: 192.168.2.1

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 http://voiprakyat.or.id/pub/openbts/usrp52mhz.patch wget -c http://gnuradio.org/redmine/attachments/download/279/gnuradio-3.4.2.tar.gz svn co http://wush.net/svn/range/software/public 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 make install ldconfig

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 make 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/ ./OpenBTS

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 &

./OpenBTSCLI config GSM.Identity.ShortName BrikerGSM config SIP.Local.IP 192.168.2.1 config SIP.Proxy.Registration 192.168.2.2:5060 config SIP.Proxy.Speech 192.168.2.2:5060 config SIP.Proxy.SMS 192.168.2.2:5060 config SMS.MIMEType text/plain config save quit

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 http://www.briker.org Set correct IP address Login as root or become root using su

Example local IP address for this server: 192.168.2.2

cd /root wget -c http://voiprakyat.or.id/pub/openbts/briker-OpenBTS.txt wget -c http://voiprakyat.or.id/pub/openbts/extensions_OpenBTS.conf 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 http://voiprakyat.or.id/pub/openbts/

Create SIP trunk:

Trunk name: OpenBTS

PEER details: type=peer context=OpenBTS host=192.168.2.1 port=5062 transport=udp disallow=all allow=gsm qualify=no

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

========================================================================

End.


Referensi