Difference between revisions of "OpenBTS: 2.8 dari SVN Install Clock 52MHz"

From OnnoWiki
Jump to navigation Jump to search
 
(93 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
Sumber: http://wush.net/trac/rangepublic/wiki/BuildInstallRun
 +
 +
Teknik yang di jelaskan disini hanya untuk Sebuah OpenBTS saja.
 +
 +
Setelah selesai menginstalasi OpenBTS P2.8 harusnya telah siap:
 +
 +
* OpenBTS. Implementasi GSM dengan bagian TDMA mulai dari L1 sampai dengan L3 dan L3/L4 boundary. Interface SIP bekerja pada port 5062. OpenBTS berlokasi openbts/trunk.
 +
* Transceiver. Ini adalah software radiomodem, mengimplementasikan bagian bawah dari L1. OpenBTS akan menjalankan transceiver secara automatis. Transceiver berlokasi di openbts/trunk/Transceiver*.
 +
* SIP PBX atau softswitch (Asterisk, FeeeSWITCH, yate dll.) Komponen ini menyambungkan call pembicaraan. Interface SIP bekerja pada port 5060. Softswitch bukan bagian dari [[OpenBTS]].
 +
* Sipauthserver. Ini adalah SIP registration & authorization server, digunakan untuk permohonan uutuk update lokasi dari OpenBTS dan mengupdate subscriber registry database. Interface SIP biasanya bekerja pada port 5064. Ini berlokasi di subscriberRegistry/trunk.
 +
* Smqueue. Ini adalah store-and-forward text messaging server. Ini perlu di jalankan secara tersendiri dari OpenBTS. Interface SIP biasanya berjalan di port 5063. Smqueue tidak diperlukan jika tidak dibutuh kemampuan SMS. Ini terletak di smqueue/trunk.
 +
* Rrlpserver. ini adalah RRLP aiding server yang berjalan sebagai CGI script di web server. Rrlpserver tidak dibutuhkan jika RRLP tidak digunakan. Ini terletak di RRLP/trunk.
 +
 +
[[Image:Openbts system diagram.png|center|300px|thumb]]
 +
 
==Prasyarat==
 
==Prasyarat==
  
 
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2 | Compile dan Install GNURadio 3.4.2]]. Tanpa [[GNURadio]] terinstall maka [[OpenBTS]] tidak mungkin di instalasi.
 
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2 | Compile dan Install GNURadio 3.4.2]]. Tanpa [[GNURadio]] terinstall maka [[OpenBTS]] tidak mungkin di instalasi.
 
* Perhatikan max. GNURadio 3.4.2 yang masih membuat libusrp.
 
* Perhatikan max. GNURadio 3.4.2 yang masih membuat libusrp.
 +
* '''[[OpenBTS: Yate Softswitch | Install Yate Softswitch]]'''
  
 +
==Instalasi Paket Pendukung dan Yate==
  
==Instalasi Paket Pendukung dan Asterisk==
+
Tampaknya OpenBTS 2.8 ini lebih baik pakai gcc 4.7, maka remove gcc yang versi baru
 +
Instalasi paket / library pendukung tambahan
  
Instalasi paket / library pendukung tambahan
+
sudo apt-get remove --purge gcc
 +
apt-get install gcc-4.7 build-essential libboost-all-dev libboost-python-dev \
 +
libboost-python1.46-dev gccxml autoconf libtool libosip2-dev libortp-dev \
 +
libusb-1.0-0-dev g++ erlang libreadline6-dev libboost-all-dev \
 +
cmake build-essential subversion
 +
 
 +
Install sqlite3 terpisah
 +
 
 +
rm /usr/local/bin/sqlite3
 +
apt-get install sqlite3 libsqlite3-dev
 +
cp /usr/bin/sqlite3 /usr/local/bin
 +
 
 +
SQLite3 suka rewel, coba di test dulu
 +
 
 +
sqlite3 --version
 +
 
 +
Yang seharusnya keluar
 +
 
 +
3.7.9 2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e
 +
 
 +
Kalau ada error, SQLite header mismatch
 +
 
 +
SQLite header and source version mismatch
 +
2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e
 +
2012-06-11 02:05:22 f5b5a13f7394dc143aa136f1d4faba6839eaa6dc
 +
 
 +
Jika ada error, coba lakukan
  
  sudo apt-get install autoconf libtool libosip2-dev libortp-dev \
+
  apt-get remove --purge sqlite3 libsqlite3-dev
  libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang \
+
  apt-get install sqlite3 libsqlite3-dev
asterisk asterisk-mysql cmake
 
  
 
Load [[GNURadio]]
 
Load [[GNURadio]]
Line 17: Line 60:
 
  sudo ldconfig
 
  sudo ldconfig
 
  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
 
  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
 +
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/
  
 
Cek apakah [[USRP]] [[GNURadio]] terinstalasi dengan baik menggunakan  
 
Cek apakah [[USRP]] [[GNURadio]] terinstalasi dengan baik menggunakan  
Line 32: Line 76:
 
  sudo su
 
  sudo su
 
  cd /usr/local/src
 
  cd /usr/local/src
  svn co http://wush.net/svn/range/software/public openbts
+
  svn co http://wush.net/svn/range/software/public openbts-2.8.0
  
 
===Edit OpenBTS===
 
===Edit OpenBTS===
  
 
  sudo su
 
  sudo su
  cd /usr/local/src/openbts/openbts/trunk/apps
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
  
 
Edit
 
Edit
Line 49: Line 93:
 
  sleep(5);
 
  sleep(5);
  
supaya menjadi
+
Pada masa lalu kita bisa men-delay, sekarang jangan dilakukan akan membuat transceiver shutdown
  
 
  sleep(15);
 
  sleep(15);
Line 55: Line 99:
 
==Install OpenBTS==
 
==Install OpenBTS==
  
Compile & Instalasi [[OpenBTS]]
+
Nyalakan USRP1 dan sambungkan ke komputer.
 +
Compile & Instalasi [[OpenBTS]] untuk clock 52MHz
  
 
  sudo su
 
  sudo su
  cd /usr/local/src/openbts/openbts/trunk
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk
 
  autoreconf -i
 
  autoreconf -i
  ./configure --with-usrp1               # '''*RECOMMENDED*''' untuk clock 52MHz, butuh libusrp
+
  ./configure --with-usrp1
./configure --with-uhd                  # ''NOT RECOMMENDED''
 
./configure --with-usrp1 --with-resamp  # untuk clock 64MHz, butuh libusrp
 
 
  make clean
 
  make clean
 
  make
 
  make
 
  make install
 
  make install
  cd /usr/local/src/openbts/openbts/trunk/apps
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
  ln -s ../Transceiver52M/transceiver  
+
  ln -s ../Transceiver52M/transceiver .
  cd /usr/local/src/openbts/openbts/trunk/
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/
 
  sudo mkdir -p /usr/local/share/usrp/rev4/
 
  sudo mkdir -p /usr/local/share/usrp/rev4/
 
  sudo cp Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/
 
  sudo cp Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/
  
Instalasi [[Database]] Konfigurasi [[OpenBTS]]
 
  
  cd /usr/local/src/openbts/openbts/trunk
+
Inisialisasi Transaction Table & Instalasi [[Database]] Konfigurasi [[OpenBTS]]
 +
 
 +
mkdir /var/run/OpenBTS
 +
  cd /usr/local/src/openbts-2.8.0/openbts/trunk
 
  sudo mkdir /etc/OpenBTS
 
  sudo mkdir /etc/OpenBTS
  rm /etc/OpenBTS/OpenBTS.db
+
  rm -Rf /etc/OpenBTS/OpenBTS.db
  sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db
+
  sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db ".quit"
.exit
 
  
 
Beberapa catatan minimal yang harus di set dari [[database]] [[OpenBTS]]
 
Beberapa catatan minimal yang harus di set dari [[database]] [[OpenBTS]]
Line 85: Line 129:
 
* GSM.Radio.C0 - Ini adalah [[ARFCN]]. Set sesuai dengan band yang kita gunakan.
 
* GSM.Radio.C0 - Ini adalah [[ARFCN]]. Set sesuai dengan band yang kita gunakan.
 
* Control.LUR.OpenRegistration - Set menggunakan regular expression sesuai denan IMSI dari test phone. Parameter ini memberitahukan [[OpenBTS]] untuk tidak me-reject handset karena registration server di bawah tidak me-responds. Sehingga sangat bermanfaat untuk proses debugging dan inisialisasi sistem. Tentang regular expression dapat dibaca di http://en.wikipedia.org/wiki/Regular_expression
 
* Control.LUR.OpenRegistration - Set menggunakan regular expression sesuai denan IMSI dari test phone. Parameter ini memberitahukan [[OpenBTS]] untuk tidak me-reject handset karena registration server di bawah tidak me-responds. Sehingga sangat bermanfaat untuk proses debugging dan inisialisasi sistem. Tentang regular expression dapat dibaca di http://en.wikipedia.org/wiki/Regular_expression
 +
 +
Agar semua SIM card register tanpa AMPUN konfigurasi pada prompt OpenBTS>
 +
 +
config Control.LUR.OpenRegistration \W+
 +
config Control.LUR.OpenRegistration .
 +
config save
 +
 +
Agar semua SIM Card dengan 510xxxx register dapat menggunakan
 +
 +
config Control.LUR.OpenRegistration [510].
 +
config save
 +
 +
Baca tentang [[OpenBTS: 2.8 Konfigurasi | cara konfigurasi OpenBTS 2.8]]
  
 
===Contoh Error Saat Compile OpenBTS===
 
===Contoh Error Saat Compile OpenBTS===
Line 98: Line 155:
 
  See the pkg-config man page for more details.
 
  See the pkg-config man page for more details.
  
Alternatif solusinya
+
SOLUSI:
  
# [[GNURadio: Ubuntu Install | Gunakan GNURADIO 3.3.0]]
+
# [[GNURadio: Ubuntu 12.04 Instal GNURadio 3.4.2 | Gunakan GNURADIO 3.4.2]]
 
# Masukan PKG_CONFIG_PATH ke .bashrc  
 
# Masukan PKG_CONFIG_PATH ke .bashrc  
  
 
  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
 
  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
  
==Instalasi Smqueue==
+
# Untuk 64bit masukan
  
Smqueue dapat di instalasi dengan melakukan langkah berikut
+
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
  
cd /usr/local/src/openbts/smqueue/trunk
+
==Instalasi Subscriber Registry==
autoreconf -i
 
./configure
 
make clean
 
make
 
make install
 
  
Selanjutnya, inisialisasi konfigurasi [[database]] [[OpenBTS]]
+
Lakukan
  
  cd /usr/local/src/openbts/smqueue/trunk
+
  cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/configFiles
  rm -Rf /etc/OpenBTS/smqueue.db
+
sudo mkdir /var/lib/asterisk/
  sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db
+
  sudo mkdir -p /var/lib/asterisk/sqlite3dir
.exit
+
sudo rm -Rf /var/lib/asterisk/sqlite3dir/sqlite3.db
 +
  sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db ".quit"
  
==Instalasi Subscriber Registry==
+
===Perlu di Hack ini?===
  
Lakukan
+
Buat link CGI
  
  cd /usr/local/src/openbts/subscriberRegistry/trunk/configFiles
+
  vi /etc/apache2/sites-enabled/000-default
sudo mkdir /var/lib/asterisk/
 
sudo mkdir /var/lib/asterisk/sqlite3dir
 
sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db
 
.exit
 
  
Yang agak repot adalah menginstalasi Asterisk Real Time
+
ScriptAlias /cgi/ /usr/lib/cgi-bin/
 +
<Directory "/usr/lib/cgi-bin">
 +
      AllowOverride None
 +
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
 +
      Order allow,deny
 +
      Allow from all
 +
  </Directory>
  
Naga-naganya masih banyak sekali Error di template [[database]] subscriber registry :(
+
cd /usr/lib/cgi-bin/
 +
ln -s /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/srmanager.cgi
  
-- Loading resources from subscriberRegistryInit.sql
+
Yang agak repot adalah menginstalasi Asterisk Real Time
Error: incomplete SQL: CREATE TABLE 'sip_buddies'
 
(
 
id                    integer,
 
name                  VARCHAR(80) not null,
 
context              VARCHAR(80),
 
callingpres          VARCHAR(30) DEFAULT 'allowed_not_screened',
 
deny                  VARCHAR(95),
 
permit                VARCHAR(95),
 
secret                VARCHAR(80),
 
md5secret            VARCHAR(80),
 
remotesecret          VARCHAR(250),
 
transport            VARCHAR(10),
 
host                  VARCHAR(31) not null,
 
nat                  VARCHAR(5) DEFAULT 'no' not null,
 
type                  VARCHAR(10) DEFAULT 'friend' not null,
 
accountcode          VARCHAR(20),
 
amaflags              VARCHAR(13),
 
callgroup            VARCHAR(10),
 
callerid              VARCHAR(80),
 
defaultip            VARCHAR(40) DEFAULT '0.0.0.0',
 
dtmfmode              VARCHAR(7) DEFAULT 'rfc2833',
 
fromuser              VARCHAR(80),
 
fromdomain            VARCHAR(80),
 
insecure              VARCHAR(4),
 
language              CHAR(2),
 
mailbox              VARCHAR(50),
 
pickupgroup          VARCHAR(10),
 
qualify              CHAR(3),
 
regexten              VARCHAR(80),
 
rtptimeout            CHAR(3),
 
rtpholdtimeout        CHAR(3),
 
setvar                VARCHAR(100),
 
disallow              VARCHAR(100) DEFAULT 'all',
 
allow                VARCHAR(100) DEFAULT 'ulaw' not null,
 
fullcontact          VARCHAR(80),
 
ipaddr                VARCHAR(40),
 
port                  int(5) DEFAULT 0,
 
username              VARCHAR(80),
 
defaultuser          VARCHAR(80),
 
subscribecontext      VARCHAR(80),
 
directmedia          VARCHAR(3),
 
trustrpid            VARCHAR(3),
 
sendrpid              VARCHAR(3),
 
progressinband        VARCHAR(5),
 
promiscredir          VARCHAR(3),
 
useclientcode        VARCHAR(3),
 
callcounter          VARCHAR(3),
 
busylevel            int(11),
 
allowoverlap          VARCHAR(3) DEFAULT 'yes',
 
allowsubscribe        VARCHAR(3) DEFAULT 'yes',
 
allowtransfer        VARCHAR(3) DEFAULT 'yes',
 
ignoresdpversion      VARCHAR(3) DEFAULT 'no',
 
template              VARCHAR(100),
 
videosupport          VARCHAR(6) DEFAULT 'no',
 
maxcallbitrate        int(11),
 
rfc2833compensate    VARCHAR(3) DEFAULT 'yes',
 
'session-timers'      VARCHAR(10) DEFAULT 'accept',
 
'session-expires'    int(6) DEFAULT 1800,
 
'session-minse'      int(6) DEFAULT 90,
 
'session-refresher'  VARCHAR(3) DEFAULT 'uas',
 
t38pt_usertpsource    VARCHAR(3),
 
outboundproxy        VARCHAR(250),
 
callbackextension    VARCHAR(250),
 
registertrying        VARCHAR(3) DEFAULT 'yes',
 
timert1              int(6) DEFAULT 500,
 
timerb                int(9),
 
qualifyfreq          int(6) DEFAULT 120,
 
contactpermit        VARCHAR(250),
 
contactdeny          VARCHAR(250),
 
lastms                int(11) DEFAULT 0 not null,
 
regserver            VARCHAR(100),
 
regseconds            int(11) DEFAULT 0 not null,
 
useragent            VARCHAR(100),
 
cancallforward        CHAR(3) DEFAULT 'yes' not null,
 
canreinvite          CHAR(3) DEFAULT 'yes' not null,
 
mask                  VARCHAR(95),
 
musiconhold          VARCHAR(100),
 
restrictcid          CHAR(3),
 
calllimit            int(5),
 
WhiteListFlag        timestamp not null default '0',
 
WhiteListCode        varchar(8) not null default '0',
 
rand                  varchar(33) default '',
 
sres                  varchar(33) default '',
 
ki                    varchar(33) default '',
 
kc                    varchar(33) default '',
 
RRLPSupported        int(1) default 1 not null,
 
hardware       VARCHAR(20),
 
regTime              INTEGER default 0 NOT NULL"
 
a3_a8                varchar(45) default NULL
 
primary key(id)
 
)
 
;
 
  
 
==Instalasi Sipauthserve==
 
==Instalasi Sipauthserve==
Line 237: Line 201:
 
Compile Sipauthserve
 
Compile Sipauthserve
  
  cd /usr/local/src/openbts/subscriberRegistry/trunk
+
  cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
 
  make
 
  make
  
 
Setup [[database]] untuk Sipauthserve
 
Setup [[database]] untuk Sipauthserve
  
  rm /etc/OpenBTS/sipauthserve.db
+
mkdir /etc/OpenBTS
  cd /usr/local/src/openbts/subscriberRegistry/trunk
+
  rm -Rf /etc/OpenBTS/sipauthserve.db
  sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db
+
  cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
  .exit
+
  sudo sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db ".quit"
 +
 
 +
==Instalasi Smqueue==
 +
 
 +
Smqueue dapat di instalasi dengan melakukan langkah berikut
 +
 
 +
cd /usr/local/src/openbts-2.8.0/smqueue/trunk
 +
autoreconf -i
 +
  ./configure
 +
make clean
 +
make
 +
make install
 +
 
 +
Selanjutnya, inisialisasi konfigurasi [[database]] [[OpenBTS]]
 +
 
 +
cd /usr/local/src/openbts-2.8.0/smqueue/trunk
 +
rm -Rf /etc/OpenBTS/smqueue.db
 +
sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db ".quit"
 +
 
 +
 
  
 
==Cek Sebelum Menjalankan OpenBTS==
 
==Cek Sebelum Menjalankan OpenBTS==
Line 259: Line 242:
 
Cek sambungan antara PC ke USRP
 
Cek sambungan antara PC ke USRP
  
  cd /usr/local/src/openbts/openbts/trunk/Transceiver52M
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/Transceiver52M
 
  ./USRPping
 
  ./USRPping
  
Line 290: Line 273:
 
Error saat USRPping
 
Error saat USRPping
  
  cd /usr/local/src/openbts/openbts/trunk/Transceiver52M
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/Transceiver52M
 
  ./USRPping
 
  ./USRPping
  
Line 306: Line 289:
  
 
==Menjalankan OpenBTS==
 
==Menjalankan OpenBTS==
 +
 +
[[OpenBTS: Yate Softswitch | Pastikan Yate sudah di Instalasi.]]
  
 
Lakukan di tiga (3) windows yang berbeda
 
Lakukan di tiga (3) windows yang berbeda
  
  cd /usr/local/src/openbts/openbts/trunk/apps
+
  cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/
  ./OpenBTS
+
./sipauthserve &
 +
 
 +
cd /usr/local/src/openbts-2.8.0/smqueue/trunk/smqueue/
 +
./smqueue &
 +
 
 +
cd /usr/local/src/yate
 +
rm -Rf /var/log/yate
 +
./run -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate -e /usr/local/share/yate -d
 +
 
 +
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
 +
  ./OpenBTS &
 +
 
 +
Kalau di lihat di background
 +
 
 +
ps ax
 +
 
 +
Akan terlihat kira-kira
 +
 
 +
23253 pts/4    S      0:00 ./sipauthserve
 +
23254 pts/4    S      0:00 ./smqueue
 +
23258 ?        Ssl    0:03 ./yate -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate
 +
23276 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Call_Provisioning.py 10
 +
23278 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Route_Local.py 10
 +
23280 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Route_Provisioning.py 10
 +
23282 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Echo.py 10|vbts_tp_dest
 +
23284 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Provisioning.py 50
 +
23286 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Route.py 50
 +
23303 pts/4    Sl    0:00 ./OpenBTS
 +
23308 pts/4    Sl    0:00 ./transceiver 1
 +
 
 +
==Pastikan Yate Beroperasi dengan Baik==
 +
 
 +
Lihat
 +
 
 +
vi /var/log/yate
 +
 
 +
Pastikan
 +
 
 +
Initializing module ExtModule
 +
Loading external module 'VBTS_Call_Route.py' '10'
 +
Execing '/usr/local/share/yate/scripts/VBTS_Call_Route.py' '10'
 +
Loading external module 'VBTS_Call_Originate.py' '10'
 +
Execing '/usr/local/share/yate/scripts/VBTS_Call_Originate.py' '10'
 +
Loading external module 'VBTS_Call_Provisioning.py' '10'
 +
Execing '/usr/local/share/yate/scripts/VBTS_Call_Provisioning.py' '10'
 +
Loading external module 'VBTS_Route_Local.py' '10'
 +
Execing '/usr/local/share/yate/scripts/VBTS_Route_Local.py' '10'
 +
Loading external module 'VBTS_Route_Provisioning.py' '10'
 +
Execing '/usr/local/share/yate/scripts/VBTS_Route_Provisioning.py' '10'
 +
Loading external module 'VBTS_SMS_Echo.py' '10|vbts_tp_dest_address|^100$'
 +
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Echo.py' '10|vbts_tp_dest_address|^100$'
 +
Loading external module 'VBTS_SMS_Provisioning.py' '50'
 +
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Provisioning.py' '50'
 +
Loading external module 'VBTS_SMS_Route.py' '50'
 +
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Route.py' '50'
 +
Loading external module 'VBTS_SMS_Send.py' '50'
 +
Initializing module SIP Channel
 +
..
 +
..
 +
..
 +
Yate engine is initialized and starting up on openbts28
 +
<INFO> Creating new message dispatching thread (0 running)
 +
VBTS Provisioning Starting
 +
VBTS Provisioning_SMS Installing sip.message at 50
 +
VBTS Provisioner Starting
 +
VBTS Provisioner Installing chan.dtmf
 +
VBTS Provisioner Installing chan.notify
 +
VBTS Echo_SMS filtering: [('vbts_tp_dest_address', <_sre.SRE_Pattern object at 0xb703c2c0>)]
 +
VBTS Echo Starting
 +
VBTS Echo_SMS Installing sip.message at 10
 +
VBTS Route Provisioning on
 +
VBTS Echo Starting
 +
VBTS Echo_SMS Installing call.route at 10
 +
VBTS SMS_Route filtering: []
 +
VBTS SMS_Route Starting
 +
VBTS SMS_Route Installing sip.message at 50
 +
VBTS Route Local on
 +
VBTS Echo Starting
 +
VBTS Echo_SMS Installing call.route at 10
 +
 
 +
==Mengkonfigurasi OpenBTS==
 +
 
 +
OpenBTS saat ini menggunakan CLI sendiri untuk di konfigurasi. Ini bisa di akses melalui
  
  cd /usr/local/src/openbts/smqueue/trunk/smqueue/
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
  ./smqueue
+
  ./OpenBTSCLI
  
cd /usr/local/src/openbts/subscriberRegistry/trunk/
+
Lebih detail-nya bisa di baca di [[OpenBTS: 2.8 Konfigurasi | Konfigurasi OpenBTS 2.8]]
./sipauthserve
 
  
 
==Beberapa Error==
 
==Beberapa Error==
Line 349: Line 415:
  
  
 +
 +
===Error SubscriberRegistry Configurasi===
 +
 +
Keluar error saat menjalankan subscriberRegistry
 +
 +
cannot find configuration value Log.Level
 +
terminate called after throwing an instance of 'ConfigurationTableKeyNotFound'
 +
 +
SOLUSI:
 +
* Tampaknya ini karena sqlite belum di install & di jalankan.
  
 
===Error SubscriberRegistry database===
 
===Error SubscriberRegistry database===
  
Keluar error
+
Keluar error saat menjalankan OpenBTS
  
 
  EMERG 3077609168 SubscriberRegistry.cpp:160:init: Cannot open SubscriberRegistry database: unable to open database file
 
  EMERG 3077609168 SubscriberRegistry.cpp:160:init: Cannot open SubscriberRegistry database: unable to open database file
Line 359: Line 435:
  
 
Lakukan Instalasi Subscriber Registry
 
Lakukan Instalasi Subscriber Registry
 +
 +
===Error SubscriberRegistry.UpstreamServer===
 +
 +
Keluar error saat menjalankan smqueue server
 +
 +
cannot find configuration value SubscriberRegistry.UpstreamServer
 +
 +
'''SOLUSI:'''
 +
 +
Jalankan SipAuth Server sebelum smqueue server
  
 
===Error Stray Transceiver Process===
 
===Error Stray Transceiver Process===
Line 364: Line 450:
 
Masalah:
 
Masalah:
  
  cd /usr/local/src/openbts/openbts/trunk/apps
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
 
  ./OpenBTS
 
  ./OpenBTS
  
Line 390: Line 476:
  
 
  killall transceiver
 
  killall transceiver
 +
 +
 +
===Error /var/run/OpenBTS/TransactionTable.db===
 +
 +
'''Error:'''
 +
 +
ALERT 140385169614656 TransactionTable.cpp:868:init: Cannot open Transaction Table database at /var/run/OpenBTS/TransactionTable.db: unable to open database file
 +
1356917323.929728 140385169614656:
 +
Starting the system...
 +
ALERT 140385169614656 TRXManager.cpp:408:powerOn: POWERON failed with status -1
 +
transceiver: no process found
 +
 +
'''Solusi:'''
 +
 +
mkdir /var/run/OpenBTS
 +
touch /var/run/OpenBTS/TransactionTable.db
  
 
==Referensi==
 
==Referensi==
  
 +
* http://wush.net/trac/rangepublic/wiki/BuildInstallRun
 
* http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTSBuildingAndRunning
 
* http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTSBuildingAndRunning
* http://wush.net/trac/rangepublic/wiki/BuildInstallRun
 
 
* http://en.wikipedia.org/wiki/Regular_expression
 
* http://en.wikipedia.org/wiki/Regular_expression
 
* http://www.mentby.com/modesto-aguirre-gomez/is-it-possible-to-run-the-usrp-at-64mhz-with-openbts28.html
 
* http://www.mentby.com/modesto-aguirre-gomez/is-it-possible-to-run-the-usrp-at-64mhz-with-openbts28.html
Line 402: Line 504:
  
 
* [[OpenBTS]]
 
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
  
 
===Persiapan===
 
===Persiapan===
Line 411: Line 514:
 
* [[USRP: Instalasi Board]]
 
* [[USRP: Instalasi Board]]
 
* [[OpenBTS: GIT Source Code]]
 
* [[OpenBTS: GIT Source Code]]
 +
* [[USRP: Rangkaian Board USRP]]
 +
* [[OpenBTS: Tethr untuk Bencana Alam]]
 +
* [[USRP: Tip Pemesanan]]
  
 
===OpenBTS 2.6===
 
===OpenBTS 2.6===
Line 416: Line 522:
 
* [[GNURadio]]
 
* [[GNURadio]]
 
* [[GNURadio: Ubuntu Install]]
 
* [[GNURadio: Ubuntu Install]]
 +
* [[GNURadio: Menggunakan UHD]]
 
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''RECOMMENDED'''
 
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''RECOMMENDED'''
 
* [[GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz]] '''RECOMMENDED'''
 
* [[GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz]] '''RECOMMENDED'''
Line 442: Line 549:
 
* [[GNURadio: Ubuntu 11.10 instalasi menggunakan Repo]] ''NOT RECOMMENDED''
 
* [[GNURadio: Ubuntu 11.10 instalasi menggunakan Repo]] ''NOT RECOMMENDED''
 
* [[GNURadio: Download GNURadio]]
 
* [[GNURadio: Download GNURadio]]
 +
* [[GNURadio: Install UHD]]
 
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0]]
 
* [[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 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 11.10 Instal GNURadio 3.5.0]] ''NOT 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.5.3.2]] ''NOT RECOMMENDED''
Line 449: Line 562:
 
* [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED''
 
* [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED''
 
* [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]]
 
* [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]]
* [[GNURadio: UHD]]
+
* [[GNURadio: UHD]] ''NOT RECOMMENDED''
* [[GNURadio: UHD Image]]
+
* [[GNURadio: UHD Image]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD burn EEPROM RFX Board di USRP1]] ''NOT RECOMMENDED''
 
* [[GNURadio: UHD Identifikasi Device]]
 
* [[GNURadio: UHD Identifikasi Device]]
 
* [[OpenBTS: Ubuntu 11.10 Install]]
 
* [[OpenBTS: Ubuntu 11.10 Install]]
Line 456: Line 570:
 
* [[OpenBTS: 2.8 dari SVN Install]]
 
* [[OpenBTS: 2.8 dari SVN Install]]
 
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz]] '''RECOMMENDED'''
 
* [[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 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 Config Test]]
 
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Menjalankan]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 Konfigurasi]]
 
* [[OpenBTS: 2.8 Konfigurasi]]
 +
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 
* [[OpenBTS: Database SQLite]]
 
* [[OpenBTS: Database SQLite]]
 +
 +
===Multi OpenBTS 2.8===
 +
 +
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED'''
  
 
===Ettus E110===
 
===Ettus E110===
  
 
* [[OpenBTS: E110 Cara Login]]
 
* [[OpenBTS: E110 Cara Login]]
* [[OpenBTS: E110 Install Image di MicroSD]]
+
* [[OpenBTS: E110 Install Image di MicroSD]] '''*RECOMMENDED*'''
 
* [[OpenBTS: E110 Cek Daughter Board]]
 
* [[OpenBTS: E110 Cek Daughter Board]]
 
* [[OpenBTS: E110 Mengubah Master Clock]]
 
* [[OpenBTS: E110 Mengubah Master Clock]]
Line 469: Line 596:
 
* [[OpenBTS: E110 Bekerja dengan opkg]]
 
* [[OpenBTS: E110 Bekerja dengan opkg]]
 
* [[OpenBTS: E110 GNURadio]]
 
* [[OpenBTS: E110 GNURadio]]
* [[OpenBTS: E110 Install UHD Image]]
+
* [[OpenBTS: E110 Compile UHD]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 UHD burn EEPROM RFX Board]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Install UHD Image]] '''*RECOMMENDED*'''
 
* [[OpenBTS: E110 Instalasi OpenBTS]]
 
* [[OpenBTS: E110 Instalasi OpenBTS]]
 
* [[OpenBTS: E110 Instalasi OpenBTS 2.6]] ''NOT RECOMMENDED''
 
* [[OpenBTS: E110 Instalasi OpenBTS 2.6]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS]] '''*RECOMMENDED*'''
 +
 +
===GPRS===
 +
 +
* [[OpenBTS: GPRS]]
 +
 +
===Power Amplifier===
 +
 +
* [[Driver 900MHz]]
 +
* [[Power Amplifier 900MHz]]
 +
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
  
 
===Lain Lain===
 
===Lain Lain===
Line 502: Line 643:
 
* [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]]
 
* [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]]
 
* [[OpenBTS: Daftar Artikel di Media]]
 
* [[OpenBTS: Daftar Artikel di Media]]
 +
* [[OpenBTS: Permohonan Kanal dan DID untuk OpenBTS]]
 +
 +
===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: Wireless]]
 
[[Category: Selular]]
 
[[Category: Selular]]

Latest revision as of 19:09, 31 December 2012

Sumber: http://wush.net/trac/rangepublic/wiki/BuildInstallRun

Teknik yang di jelaskan disini hanya untuk Sebuah OpenBTS saja.

Setelah selesai menginstalasi OpenBTS P2.8 harusnya telah siap:

  • OpenBTS. Implementasi GSM dengan bagian TDMA mulai dari L1 sampai dengan L3 dan L3/L4 boundary. Interface SIP bekerja pada port 5062. OpenBTS berlokasi openbts/trunk.
  • Transceiver. Ini adalah software radiomodem, mengimplementasikan bagian bawah dari L1. OpenBTS akan menjalankan transceiver secara automatis. Transceiver berlokasi di openbts/trunk/Transceiver*.
  • SIP PBX atau softswitch (Asterisk, FeeeSWITCH, yate dll.) Komponen ini menyambungkan call pembicaraan. Interface SIP bekerja pada port 5060. Softswitch bukan bagian dari OpenBTS.
  • Sipauthserver. Ini adalah SIP registration & authorization server, digunakan untuk permohonan uutuk update lokasi dari OpenBTS dan mengupdate subscriber registry database. Interface SIP biasanya bekerja pada port 5064. Ini berlokasi di subscriberRegistry/trunk.
  • Smqueue. Ini adalah store-and-forward text messaging server. Ini perlu di jalankan secara tersendiri dari OpenBTS. Interface SIP biasanya berjalan di port 5063. Smqueue tidak diperlukan jika tidak dibutuh kemampuan SMS. Ini terletak di smqueue/trunk.
  • Rrlpserver. ini adalah RRLP aiding server yang berjalan sebagai CGI script di web server. Rrlpserver tidak dibutuhkan jika RRLP tidak digunakan. Ini terletak di RRLP/trunk.
Openbts system diagram.png

Prasyarat

Instalasi Paket Pendukung dan Yate

Tampaknya OpenBTS 2.8 ini lebih baik pakai gcc 4.7, maka remove gcc yang versi baru Instalasi paket / library pendukung tambahan

sudo apt-get remove --purge gcc
apt-get install gcc-4.7 build-essential libboost-all-dev libboost-python-dev \
libboost-python1.46-dev gccxml autoconf libtool libosip2-dev libortp-dev \
libusb-1.0-0-dev g++ erlang libreadline6-dev libboost-all-dev \
cmake build-essential subversion

Install sqlite3 terpisah

rm /usr/local/bin/sqlite3
apt-get install sqlite3 libsqlite3-dev
cp /usr/bin/sqlite3 /usr/local/bin

SQLite3 suka rewel, coba di test dulu

sqlite3 --version

Yang seharusnya keluar

3.7.9 2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e

Kalau ada error, SQLite header mismatch

SQLite header and source version mismatch
2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e
2012-06-11 02:05:22 f5b5a13f7394dc143aa136f1d4faba6839eaa6dc

Jika ada error, coba lakukan

apt-get remove --purge sqlite3 libsqlite3-dev
apt-get install sqlite3 libsqlite3-dev

Load GNURadio

sudo ldconfig
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/

Cek apakah USRP GNURadio terinstalasi dengan baik menggunakan

pkg-config --cflags usrp

Harus keluar informasi, misalnya,

-I/usr/local/include 

Jika tidak maka instalasi GNURadio gagal. Cara yang tampaknya baik bisa di baca di Instalasi GNURadio 3.3.0 di Ubuntu 11.10

Download Source Code OpenBTS via SVN

sudo su
cd /usr/local/src
svn co http://wush.net/svn/range/software/public openbts-2.8.0

Edit OpenBTS

sudo su
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps

Edit

vi OpenBTS.cpp

Edit

// Start the transceiver interface.
// Sleep long enough for the USRP to bootload.
sleep(5);

Pada masa lalu kita bisa men-delay, sekarang jangan dilakukan akan membuat transceiver shutdown

sleep(15);

Install OpenBTS

Nyalakan USRP1 dan sambungkan ke komputer. Compile & Instalasi OpenBTS untuk clock 52MHz

sudo su
cd /usr/local/src/openbts-2.8.0/openbts/trunk
autoreconf -i
./configure --with-usrp1
make clean
make
make install
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
ln -s ../Transceiver52M/transceiver .
cd /usr/local/src/openbts-2.8.0/openbts/trunk/
sudo mkdir -p /usr/local/share/usrp/rev4/
sudo cp Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/


Inisialisasi Transaction Table & Instalasi Database Konfigurasi OpenBTS

mkdir /var/run/OpenBTS
cd /usr/local/src/openbts-2.8.0/openbts/trunk
sudo mkdir /etc/OpenBTS
rm -Rf /etc/OpenBTS/OpenBTS.db
sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db ".quit"

Beberapa catatan minimal yang harus di set dari database OpenBTS

  • GSM.Radio.Band - Set parameter ini untuk menentukan GSM band yang sesuai dengan hardware yang kita gunakan.
  • GSM.Radio.C0 - Ini adalah ARFCN. Set sesuai dengan band yang kita gunakan.
  • Control.LUR.OpenRegistration - Set menggunakan regular expression sesuai denan IMSI dari test phone. Parameter ini memberitahukan OpenBTS untuk tidak me-reject handset karena registration server di bawah tidak me-responds. Sehingga sangat bermanfaat untuk proses debugging dan inisialisasi sistem. Tentang regular expression dapat dibaca di http://en.wikipedia.org/wiki/Regular_expression

Agar semua SIM card register tanpa AMPUN konfigurasi pada prompt OpenBTS>

config Control.LUR.OpenRegistration \W+
config Control.LUR.OpenRegistration .
config save

Agar semua SIM Card dengan 510xxxx register dapat menggunakan

config Control.LUR.OpenRegistration [510].
config save

Baca tentang cara konfigurasi OpenBTS 2.8

Contoh Error Saat Compile OpenBTS

Jika GNURadio tidak terinstalasi dengan baik akan keluar Error berikut

configure: error: Package requirements (usrp > 3.1) were not met:
No package 'usrp' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables USRP_CFLAGS
and USRP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

SOLUSI:

  1. Gunakan GNURADIO 3.4.2
  2. Masukan PKG_CONFIG_PATH ke .bashrc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
  1. Untuk 64bit masukan
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig

Instalasi Subscriber Registry

Lakukan

cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/configFiles
sudo mkdir /var/lib/asterisk/
sudo mkdir -p /var/lib/asterisk/sqlite3dir
sudo rm -Rf /var/lib/asterisk/sqlite3dir/sqlite3.db
sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db ".quit"

Perlu di Hack ini?

Buat link CGI

vi /etc/apache2/sites-enabled/000-default 
ScriptAlias /cgi/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
      AllowOverride None
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
      Order allow,deny
      Allow from all
 </Directory>
cd /usr/lib/cgi-bin/
ln -s /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/srmanager.cgi

Yang agak repot adalah menginstalasi Asterisk Real Time

Instalasi Sipauthserve

Sipauthserve adalah daemon yang memberikan SIP authentication services. Variabel SIP.Proxy.Registration di OpenBTS harus menunjuk pada hostname & port Sipauthserve. OpenBTS harus sudah di buat sebelum membuat Sipauthserve.

Compile Sipauthserve

cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
make

Setup database untuk Sipauthserve

mkdir /etc/OpenBTS
rm -Rf /etc/OpenBTS/sipauthserve.db
cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
sudo sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db ".quit"

Instalasi Smqueue

Smqueue dapat di instalasi dengan melakukan langkah berikut

cd /usr/local/src/openbts-2.8.0/smqueue/trunk
autoreconf -i
./configure 
make clean
make 
make install

Selanjutnya, inisialisasi konfigurasi database OpenBTS

cd /usr/local/src/openbts-2.8.0/smqueue/trunk
rm -Rf /etc/OpenBTS/smqueue.db
sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db ".quit"


Cek Sebelum Menjalankan OpenBTS

Cek USRP apakah sudah di deteksi sistem operasi

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

Harusnya akan keluar seperti

crw-rw---- 1 root usrp 189, 2 2012-02-22 07:39 003

Cek sambungan antara PC ke USRP

cd /usr/local/src/openbts-2.8.0/openbts/trunk/Transceiver52M
./USRPping

Harusnya keluar

ALERT 3078412512 USRPDevice.cpp:526:setTxFreq: set TX: 8.254e+08failed
    baseband freq: 0
    DDC freq:      5.74e+07
    residual freq: 5.74e+07
ALERT 3078412512 USRPDevice.cpp:546:setRxFreq: set RX: 8.254e+08failed
    baseband freq: 0
    DDC freq:      -6.6e+06
    residual freq: -0.00596046
19000: 0 0
19001: 0 0
19002: 0 0
19003: 0 0
19004: 0 0
19005: 0 0

Contoh jika gagal

usrp_open_interface:usb_claim_interface: failed interface 2
could not claim interface 2: Device or resource busy
usrp_basic_rx: can't open rx interface


Error UHD

Error saat USRPping

cd /usr/local/src/openbts-2.8.0/openbts/trunk/Transceiver52M
./USRPping

Error

linux; GNU C++ version 4.6.1; Boost_104601; UHD_003.004.001-101-gff2649ca

ALERT 3063285456 UHDDevice.cpp:409:parse_dev_type: USRP1 is not supported using the UHD driver
ALERT 3063285456 UHDDevice.cpp:410:parse_dev_type: Please compile with GNU Radio libusrp support
Segmentation fault

SOLUSI:

Kita punya masalah dengan UHD rupanya USRP1 tidak cocok dengan UHD. Lebih baik menggunakan GNURadio 3.4.2

Menjalankan OpenBTS

Pastikan Yate sudah di Instalasi.

Lakukan di tiga (3) windows yang berbeda

cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/
./sipauthserve &
cd /usr/local/src/openbts-2.8.0/smqueue/trunk/smqueue/
./smqueue &
cd /usr/local/src/yate
rm -Rf /var/log/yate
./run -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate -e /usr/local/share/yate -d
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
./OpenBTS &

Kalau di lihat di background

ps ax

Akan terlihat kira-kira

23253 pts/4    S      0:00 ./sipauthserve
23254 pts/4    S      0:00 ./smqueue
23258 ?        Ssl    0:03 ./yate -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate
23276 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Call_Provisioning.py 10
23278 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Route_Local.py 10
23280 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Route_Provisioning.py 10
23282 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Echo.py 10|vbts_tp_dest
23284 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Provisioning.py 50
23286 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Route.py 50
23303 pts/4    Sl     0:00 ./OpenBTS
23308 pts/4    Sl     0:00 ./transceiver 1

Pastikan Yate Beroperasi dengan Baik

Lihat

vi /var/log/yate

Pastikan

Initializing module ExtModule
Loading external module 'VBTS_Call_Route.py' '10'
Execing '/usr/local/share/yate/scripts/VBTS_Call_Route.py' '10'
Loading external module 'VBTS_Call_Originate.py' '10'
Execing '/usr/local/share/yate/scripts/VBTS_Call_Originate.py' '10'
Loading external module 'VBTS_Call_Provisioning.py' '10'
Execing '/usr/local/share/yate/scripts/VBTS_Call_Provisioning.py' '10'
Loading external module 'VBTS_Route_Local.py' '10'
Execing '/usr/local/share/yate/scripts/VBTS_Route_Local.py' '10'
Loading external module 'VBTS_Route_Provisioning.py' '10'
Execing '/usr/local/share/yate/scripts/VBTS_Route_Provisioning.py' '10'
Loading external module 'VBTS_SMS_Echo.py' '10|vbts_tp_dest_address|^100$'
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Echo.py' '10|vbts_tp_dest_address|^100$'
Loading external module 'VBTS_SMS_Provisioning.py' '50'
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Provisioning.py' '50'
Loading external module 'VBTS_SMS_Route.py' '50'
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Route.py' '50'
Loading external module 'VBTS_SMS_Send.py' '50'
Initializing module SIP Channel
..
..
..
Yate engine is initialized and starting up on openbts28
<INFO> Creating new message dispatching thread (0 running)
VBTS Provisioning Starting
VBTS Provisioning_SMS Installing sip.message at 50
VBTS Provisioner Starting
VBTS Provisioner Installing chan.dtmf
VBTS Provisioner Installing chan.notify
VBTS Echo_SMS filtering: [('vbts_tp_dest_address', <_sre.SRE_Pattern object at 0xb703c2c0>)]
VBTS Echo Starting
VBTS Echo_SMS Installing sip.message at 10
VBTS Route Provisioning on
VBTS Echo Starting
VBTS Echo_SMS Installing call.route at 10
VBTS SMS_Route filtering: []
VBTS SMS_Route Starting
VBTS SMS_Route Installing sip.message at 50
VBTS Route Local on
VBTS Echo Starting
VBTS Echo_SMS Installing call.route at 10

Mengkonfigurasi OpenBTS

OpenBTS saat ini menggunakan CLI sendiri untuk di konfigurasi. Ini bisa di akses melalui

cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
./OpenBTSCLI

Lebih detail-nya bisa di baca di Konfigurasi OpenBTS 2.8

Beberapa Error

Saat menjalankan OpenBTS akan keluar Error

ALERT 3079285616 USRPDevice.cpp:546:setRxFreq: set RX: 9.002e+08failed
    baseband freq: 8.96e+08
    DDC freq:      -4.2e+06
    residual freq: 0.00298023
ALERT 3079285616 Transceiver.cpp:540:driveControl: RX failed to tune
ALERT 3079272144 TRXManager.cpp:342:tune: RXTUNE failed with status 1
ALERT 3079272144 TRXManager.cpp:395:powerOn: POWERON failed with status 1
ALERT 3079272144 TRXManager.cpp:409:setPower: SETPOWER failed with status 1
ALERT 3079272144 TRXManager.cpp:409:setPower: SETPOWER failed with status 1
1329902709.029597 3079272144: 

Welcome to OpenBTS.  Type "help" to see available commands.

OpenBTS> ALERT 3045964656 TRXManager.cpp:409:setPower: SETPOWER failed with status 1
ALERT 3068914544 TRXManager.cpp:86:clockHandler: TRX clock interface timed out, assuming TRX is dead.
Aborted

Biasanya ini di barengi dengan konsumsi CPU yang sangat tinggi.

PROBLEM: Kemungkinan besar anda menjalankan program transceiver yang salah. Untuk USRP 64MHz gunakan Transceiver/transceiver. Untuk USRP 52MHz gunakan Transceiver52M/transceiver.

SOLUSI: Set path TRX.Path yang benar di OpenBTS.config.



Error SubscriberRegistry Configurasi

Keluar error saat menjalankan subscriberRegistry

cannot find configuration value Log.Level
terminate called after throwing an instance of 'ConfigurationTableKeyNotFound'

SOLUSI:

  • Tampaknya ini karena sqlite belum di install & di jalankan.

Error SubscriberRegistry database

Keluar error saat menjalankan OpenBTS

EMERG 3077609168 SubscriberRegistry.cpp:160:init: Cannot open SubscriberRegistry database: unable to open database file

SOLUSI:

Lakukan Instalasi Subscriber Registry

Error SubscriberRegistry.UpstreamServer

Keluar error saat menjalankan smqueue server

cannot find configuration value SubscriberRegistry.UpstreamServer

SOLUSI:

Jalankan SipAuth Server sebelum smqueue server

Error Stray Transceiver Process

Masalah:

cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
./OpenBTS

Keluar message error

bind() failed: Address already in use
terminate called after throwing an instance of 'SocketError'
Aborted

PROBLEM: OpenBTS shutdown tidak bersih dan masih ada proses transceiver yang masih jalan.

SOLUSI: Kill proses transceiver yang masih jalan dan coba sekali lagi seperti di bawah ini.

ps | grep transceiver

Keluar misalnya

30208 pts/1    00:00:00 transceiver

Kill

kill -KILL 30208

atau

killall transceiver


Error /var/run/OpenBTS/TransactionTable.db

Error:

ALERT 140385169614656 TransactionTable.cpp:868:init: Cannot open Transaction Table database at /var/run/OpenBTS/TransactionTable.db: unable to open database file
1356917323.929728 140385169614656: 
Starting the system...
ALERT 140385169614656 TRXManager.cpp:408:powerOn: POWERON failed with status -1
transceiver: no process found

Solusi:

mkdir /var/run/OpenBTS
touch /var/run/OpenBTS/TransactionTable.db

Referensi

Pranala Menarik

Persiapan

OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

Ettus E110

GPRS

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video