Difference between revisions of "OpenBTS: Briker"

From OnnoWiki
Jump to navigation Jump to search
(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 ============================...)
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
OpenBTS 2.8 installation to use Briker 1.4 as IP PBX
 
OpenBTS 2.8 installation to use Briker 1.4 as IP PBX
  
Author: Anton Raharja (anton@itmn.co.id)
+
Author: Anton Raharja (anton@itmn.co.id)
        Asoka Wardhana (asoka@itmn.co.id)
+
        Asoka Wardhana (asoka@itmn.co.id)
  
 
Update: 201305310000
 
Update: 201305310000
  
====================================================================================
+
==Architecture==
 
 
Architecture:
 
  
 
OpenBTS server (192.168.2.1) <--------> IP PBX server (192.168.2.2)
 
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
  
Equipments:
 
  
- 1 unit server for OpenBTS 2.8 trunk
+
==PART I: OpenBTS server==
- 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
 
Install Ubuntu server 12.04 LTS
Line 35: Line 32:
 
Example local IP address for this server: 192.168.2.1
 
Example local IP address for this server: 192.168.2.1
  
apt-get update
+
apt-get update
  
 
no need to apt-get upgrade
 
no need to apt-get upgrade
  
apt-get install subversion autoconf libtool libosip2-dev libortp-dev g++ sqlite3 \
+
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 \  
+
libusb-1.0.0-dev libsqlite3-dev erlang libreadline6-dev libboost-all-dev swig \  
libfftw3-dev libcppunit-dev libaudio-dev sdcc libusb-dev make
+
libfftw3-dev libcppunit-dev libaudio-dev sdcc libusb-dev make
  
cd /usr/local/src
+
cd /usr/local/src
wget -c http://voiprakyat.or.id/pub/openbts/usrp52mhz.patch
+
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
+
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
+
svn co http://wush.net/svn/range/software/public OpenBTS
  
cd /usr/local/src
+
cd /usr/local/src
tar -zxf gnuradio-3.4.2.tar.gz
+
tar -zxf gnuradio-3.4.2.tar.gz
cd gnuradio-3.4.2/
+
cd gnuradio-3.4.2/
patch -p0 < ../usrp52mhz.patch
+
patch -p0 < ../usrp52mhz.patch
./configure --disable-usrp2 --enable-usrp
+
./configure --disable-usrp2 --enable-usrp
make
+
make
make install
+
make install
ldconfig
+
ldconfig
  
addgroup usrp
+
addgroup usrp
usermod -G usrp -a <YOUR_LINUX_USERNAME>
+
usermod -G usrp -a <YOUR_LINUX_USERNAME>
echo 'SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="fffe", ATTR{idProduct}=="0002", GROUP="usrp", MODE="0666"' > tmpfile
+
echo 'SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="fffe", ATTR{idProduct}=="0002", GROUP="usrp", MODE="0666"' > tmpfile
chown root.root tmpfile
+
chown root.root tmpfile
mv tmpfile /etc/udev/rules.d/10-usrp.rules
+
mv tmpfile /etc/udev/rules.d/10-usrp.rules
udevadm control --reload-rules
+
udevadm control --reload-rules
  
 
Connect USRP1 to OpenBTS server through USB port:
 
Connect USRP1 to OpenBTS server through USB port:
ls -lR /dev/bus/usb | grep usrp
+
 
 +
ls -lR /dev/bus/usb | grep usrp
  
 
Should display something like this:
 
Should display something like this:
crw-rw---- 1 root usrp 189, 1 2013-05-28 11:34 003
+
 
 +
crw-rw---- 1 root usrp 189, 1 2013-05-28 11:34 003
  
 
If not then you should reboot the server and try again.
 
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.
 
Stop here and ask questions if you don't see the display like above.
  
cd /usr/local/src/OpenBTS/openbts/trunk/
+
cd /usr/local/src/OpenBTS/openbts/trunk/
autoreconf -i
+
autoreconf -i
./configure --with-usrp1
+
./configure --with-usrp1
make
+
make
touch /var/run/command
+
touch /var/run/command
  
mkdir -p /var/lib/asterisk/sqlite3dir
+
mkdir -p /var/lib/asterisk/sqlite3dir
mkdir /etc/OpenBTS
+
mkdir /etc/OpenBTS
sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db .quit
+
sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db .quit
sqlite3 /etc/OpenBTS/OpenBTS.db .dump
+
sqlite3 /etc/OpenBTS/OpenBTS.db .dump
  
cd /usr/local/src/OpenBTS/openbts/trunk/apps
+
cd /usr/local/src/OpenBTS/openbts/trunk/apps
  
ln -s ../Transceiver52M/transceiver .
+
ln -s ../Transceiver52M/transceiver .
mkdir -p /usr/local/share/usrp/rev4/
+
mkdir -p /usr/local/share/usrp/rev4/
cp ../Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/
+
cp ../Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/
./OpenBTS
+
./OpenBTS
  
 
If OpenBTS started and system ready (no error, or exitting) then
 
If OpenBTS started and system ready (no error, or exitting) then
Line 96: Line 95:
 
Ctrl+C to exit OpenBTS, and run again but this time with nohup.
 
Ctrl+C to exit OpenBTS, and run again but this time with nohup.
  
cd /usr/local/src/OpenBTS/openbts/trunk/apps
+
cd /usr/local/src/OpenBTS/openbts/trunk/apps
  
nohup ./OpenBTS &
+
nohup ./OpenBTS &
  
./OpenBTSCLI
+
./OpenBTSCLI
config GSM.Identity.ShortName BrikerGSM
+
config GSM.Identity.ShortName BrikerGSM
config SIP.Local.IP 192.168.2.1
+
config SIP.Local.IP 192.168.2.1
config SIP.Proxy.Registration 192.168.2.2:5060
+
config SIP.Proxy.Registration 192.168.2.2:5060
config SIP.Proxy.Speech 192.168.2.2:5060
+
config SIP.Proxy.Speech 192.168.2.2:5060
config SIP.Proxy.SMS 192.168.2.2:5060
+
config SIP.Proxy.SMS 192.168.2.2:5060
config SMS.MIMEType text/plain
+
config SMS.MIMEType text/plain
config save
+
config save
quit
+
quit
  
sqlite3 /etc/OpenBTS/OpenBTS.db "update CONFIG set VALUESTRING=NULL where KEYSTRING='SIP.SMSC'"
+
sqlite3 /etc/OpenBTS/OpenBTS.db "update CONFIG set VALUESTRING=NULL where KEYSTRING='SIP.SMSC'"
  
killall -9 OpenBTS
+
killall -9 OpenBTS
killall -9 transceiver
+
killall -9 transceiver
nohup ./OpenBTS &
+
nohup ./OpenBTS &
  
tail -f /var/log/syslog
+
tail -f /var/log/syslog
  
====================================================================================
 
  
PART II: IP PBX server
+
==PART II: IP PBX server==
  
 
Install Briker 1.4 (Asterisk 11), get it from http://www.briker.org
 
Install Briker 1.4 (Asterisk 11), get it from http://www.briker.org
Line 128: Line 126:
 
Example local IP address for this server: 192.168.2.2
 
Example local IP address for this server: 192.168.2.2
  
cd /root
+
cd /root
wget -c http://voiprakyat.or.id/pub/openbts/briker-OpenBTS.txt
+
wget -c http://voiprakyat.or.id/pub/openbts/briker-OpenBTS.txt
wget -c http://voiprakyat.or.id/pub/openbts/extensions_OpenBTS.conf
+
wget -c http://voiprakyat.or.id/pub/openbts/extensions_OpenBTS.conf
chmod 755 briker-OpenBTS.txt
+
chmod 755 briker-OpenBTS.txt
chmod 644 extensions_OpenBTS.conf
+
chmod 644 extensions_OpenBTS.conf
  
 
Please note that you download briker-OpenBTS.txt and copy it to
 
Please note that you download briker-OpenBTS.txt and copy it to
 
/var/lib/asterisk/agi-bin as briker-OpenBTS.php
 
/var/lib/asterisk/agi-bin as briker-OpenBTS.php
  
cd /root
+
cd /root
cp briker-OpenBTS.txt /var/lib/asterisk/agi-bin/briker-OpenBTS.php
+
cp briker-OpenBTS.txt /var/lib/asterisk/agi-bin/briker-OpenBTS.php
cp extensions_OpenBTS.conf /etc/asterisk/
+
cp extensions_OpenBTS.conf /etc/asterisk/
  
 
On below commands, be warned, it is double arrow >> not single arrow >
 
On below commands, be warned, it is double arrow >> not single arrow >
  
echo '#include extensions_OpenBTS.conf' >> /etc/asterisk/extensions_custom.conf
+
echo '#include extensions_OpenBTS.conf' >> /etc/asterisk/extensions_custom.conf
echo 'textsupport=yes' >> /etc/asterisk/sip_general_custom.conf
+
echo 'textsupport=yes' >> /etc/asterisk/sip_general_custom.conf
echo 'accept_outofcall_message=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
+
echo 'outofcall_message_context=SMS' >> /etc/asterisk/sip_general_custom.conf
  
  
Line 156: Line 154:
 
Trunk name: OpenBTS
 
Trunk name: OpenBTS
  
PEER details:
+
PEER details:
type=peer
+
type=peer
context=OpenBTS
+
context=OpenBTS
host=192.168.2.1
+
host=192.168.2.1
port=5062
+
port=5062
transport=udp
+
transport=udp
disallow=all
+
disallow=all
allow=gsm
+
allow=gsm
qualify=no
+
qualify=no
  
 
Create custom extensions:
 
Create custom extensions:
  
Fill User Extension with extension number
+
* Fill User Extension with extension number
Fill Display Name with extension number, or anything
+
* Fill Display Name with extension number, or anything
Fill dial with: SIP/OpenBTS/<IMSI>
+
* Fill dial with: SIP/OpenBTS/<IMSI>
  
 
Hit button Apply configuration above.
 
Hit button Apply configuration above.
Line 176: Line 174:
 
You need to create custom extension everytime you need to add a new cellphone
 
You need to create custom extension everytime you need to add a new cellphone
  
====================================================================================
 
  
End.
+
==Referensi==
 +
 
 +
* http://voiprakyat.or.id/pub/openbts/install.txt
 +
* http://t.co/JYCrAHwa95
 +
* http://voiprakyat.or.id/pub/openbts/
  
 +
==Pranala Menarik==
  
==Referensi==
+
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
 +
 
 +
===Persiapan===
 +
 
 +
* [[USRP: High Precision Clock]]
 +
* [[USRP: Menyambungkan ClockTamer ke USRP1]]
 +
* [[USRP: Kalibrasi ClockTamer]]
 +
* [[USRP: ClockTamer Control Protocol]]
 +
* [[USRP: Instalasi Board]]
 +
* [[OpenBTS: GIT Source Code]]
 +
* [[USRP: Rangkaian Board USRP]]
 +
* [[OpenBTS: Tethr untuk Bencana Alam]]
 +
* [[USRP: Tip Pemesanan]]
 +
 
 +
===OpenBTS 2.6===
 +
 
 +
* [[GNURadio]]
 +
* [[GNURadio: Ubuntu Install]]
 +
* [[GNURadio: Menggunakan UHD]]
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 13.04 Install GNURadio 3.4.2 Clock 52MHz]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Contoh Aplikasi]]
 +
* [[GNURadio: Spectrum Analizer GSM]]
 +
* [[GNURadio: Mengubah board RFX1800 menjadi RFX900]]
 +
* [[GNURadio: Programming Untuk Pemula]]
 +
* [[OpenBTS: Ubuntu Install]] '''RECOMMENDED'''
 +
* [[OpenBTS: Ubuntu Install OpenBTS 2.6 Clock 52MHz]] '''RECOMMENDED'''
 +
* [[OpenBTS: Ubuntu 13.04 Install OpenBTS 2.6 Clock 52MHz]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: Konfigurasi]] '''RECOMMENDED'''
 +
* [[OpenBTS: Kalibrasi]]
 +
* [[OpenBTS: Konfigurasi Asterisk untuk OpenBTS]] '''RECOMMENDED'''
 +
* [[OpenBTS: Menjalankan smqueue]]
 +
* [[OpenBTS: Mengoperasikan BTS]] '''RECOMMENDED'''
 +
* [[OpenBTS: Tampilan di Nokia saat pakai OpenBTS]]
 +
* [[OpenBTS: Operasi 1800 MHz]]
 +
* [[OpenBTS: Beberapa Tips]]
 +
* [[OpenBTS: USRP2]]
 +
* [[OpenBTS: Amplifier]]
 +
* [[OpenBTS: SMS]]
 +
* [[AirProbe]]
 +
 
 +
===OpenBTS 2.8===
 +
 
 +
* [[GNURadio: Ubuntu 11.10 Install]] ''NOT RECOMMENED''
 +
* [[GNURadio: Ubuntu 11.10 instalasi menggunakan Repo]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Download GNURadio]]
 +
* [[GNURadio: Install UHD]]
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0]]
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.3.0]]
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.1]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.04 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.04.1 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.2]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 13.04 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.0]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.3.2]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.6.0]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]]
 +
* [[GNURadio: UHD]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD Image]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD burn EEPROM RFX Board di USRP1]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD Identifikasi Device]]
 +
* [[OpenBTS: Ubuntu 11.10 Install]]
 +
* [[OpenBTS: dari GIT ttsou]]
 +
* [[OpenBTS: 2.8 dari SVN Install]]
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 12.10]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz dengan UHD tanpa GNURadio]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: 2.8 Edit User di sqlite3.db]] '''RECOMMEND'''
 +
* [[OpenBTS: Yate Softswitch]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 12.10]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Config Test]]
 +
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Menjalankan]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Konfigurasi]]
 +
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 +
* [[OpenBTS: Database SQLite]]
 +
 
 +
===Multi OpenBTS 2.8===
 +
 
 +
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED'''
 +
 
 +
===Ettus E110===
 +
 
 +
* [[OpenBTS: E110 Cara Login]]
 +
* [[OpenBTS: E110 Install Image di MicroSD]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Cek Daughter Board]]
 +
* [[OpenBTS: E110 Mengubah Master Clock]]
 +
* [[OpenBTS: E110 Kalibrasi Clock]]
 +
* [[OpenBTS: E110 Konfigurasi Jaringan]]
 +
* [[OpenBTS: E110 Bekerja dengan opkg]]
 +
* [[OpenBTS: E110 GNURadio]]
 +
* [[OpenBTS: E110 Compile UHD]] ''Not Recommended''
 +
* [[OpenBTS: E110 Compile UHD dari Release Bukan git]] ''Not Recommended''
 +
* [[OpenBTS: E110 UHD burn EEPROM RFX Board]] ''Not Recommended''
 +
* [[OpenBTS: E110 Install UHD Image]] ''Not Recommended''
 +
* [[OpenBTS: E110 Instalasi OpenBTS]]
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.6]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Yate Softswitch]]
 +
 
 +
===Ettus N210===
 +
 
 +
* [[OpenBTS: N210 Instalasi GPSDO Kit]]
 +
* [[OpenBTS: N210 GNURadio]]
 +
* [[OpenBTS: N210 GNURadio 3.7.0]]
 +
* [[OpenBTS: N210 Instalasi OpenBTS]]
 +
* [[OpenBTS: N210 Instalasi Yate]]
 +
* [[OpenBTS: N210 Yate Config Test]]
 +
* [[OpenBTS: N210 Burn Firmware]]
 +
 
 +
===GPRS===
 +
 
 +
* [[OpenBTS: GPRS]]
 +
 
 +
===Briker OpenBTS===
 +
 
 +
* [[OpenBTS: Briker]]
 +
 
 +
===FreeSWITCH OpenBTS===
 +
 
 +
* [[OpenBTS: FreeSWITCH]]
 +
 
 +
===Power Amplifier===
 +
 
 +
* [[Driver 900MHz]]
 +
* [[Power Amplifier 900MHz]]
 +
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
 +
 
 +
===Lain Lain===
 +
 
 +
* [[OpenBTS: Materi Magang di ICTWATCH]]
 +
* [[OpenBTS: Seminar Outline]]
 +
* [[OpenBTS: Workshop Outline]]
 +
* [[Membuat Base Station GSM Open Source]]
 +
* [[Teknologi Selular]]
 +
* [[GSM: Daftar Channel Frekuensi]]
 +
* [[Wireless Internet]]
 +
* [[OpenBSC]]
 +
* [[AirProbe]]
 +
* [[Base station subsystem]]
 +
* [[GSM]]
 +
* [[Asterisk]]
 +
* [[Mobile phone]]
 +
 
 +
===Catatan Legal dan Pendukung===
 +
 
 +
* [[Siapa Bilang OpenBTS Ilegal?]]
 +
* [[OpenBTS: Catatan MNC dan MCC Indonesia]]
 +
* [[OpenBTS: Catatan MNC dan MCC COOL]]
 +
* [[OpenBTS : Alokasi Frekuensi Operator GSM Indonesia]]
 +
* [[GSM: Daftar Channel Frekuensi]]
 +
 
 +
===Catatan Sejarah===
 +
 
 +
* [[2011/04/30 - Workshop OpenBTS Pertama di Indonesia dilakukan di Univ Gajah Putih Takengon Aceh Tengah]]
 +
* [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]]
 +
* [[OpenBTS: Daftar Artikel di Media]]
 +
* [[OpenBTS: Permohonan Kanal dan DID untuk OpenBTS]]
 +
* [[OpenBTS: 2013/02/19 - OpenBTS TelkomSel Mengudara di Muscat Oman]]
 +
 
 +
===Dokumentasi Video===
 +
 
 +
* http://www.metrotvnews.com/read/newsprograms/2012/10/14/14624/212/Teknologi-BTS
 +
* http://youtu.be/8ogOcUSpINU (1/6)
 +
* http://youtu.be/F5d7HGuhppk (2/6)
 +
* http://youtu.be/90Jgq6bOgrQ (3/6)
 +
* http://youtu.be/cNkx_qNqdfc (4/6)
 +
* http://youtu.be/6LCuoeI57ak (5/6)
 +
* http://youtu.be/-dEqcHoIlYk (6/6)
 +
 
 +
[[Category: Wireless]]
 +
[[Category: Selular]]

Latest revision as of 13:12, 27 August 2013

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


Referensi

Pranala Menarik

Persiapan

OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

Ettus E110

Ettus N210

GPRS

Briker OpenBTS

FreeSWITCH OpenBTS

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video