Difference between revisions of "OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS"

From OnnoWiki
Jump to navigation Jump to search
Line 147: Line 147:
 
* Belum ada solusi
 
* Belum ada solusi
  
==Instalasi Subscriber Registry==
 
  
Lakukan
 
 
cd ~/src/openbts/subscriberRegistry/trunk/configFiles
 
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
 
 
 
===Error di Template Database===
 
 
Naga-naganya masih banyak sekali Error di template [[database]] subscriber registry :(
 
 
-- Loading resources from subscriberRegistryInit.sql
 
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)
 
)
 
;
 
 
 
'''SOLUSI:'''
 
* Belum ada solusi
 
  
 
==Instalasi Sipauthserve==
 
==Instalasi Sipauthserve==

Revision as of 14:39, 9 August 2012

Lakukan Ubah Master Clock ke 52MHz


Instalasi Aplikasi Pendukung

Instal aplikasi pendukung

opkg update
opkg install libosip2-6 libosip2-dev libortp8 libortp-dev sqlite3

Jika dibutuhkan kita dapat menset di shell

setenv PERL5LIB /usr/share/autoconf/Autom4te:/usr/share/automake-1.11/Automake


Instalasi OpenBTS

Cek apakah ada OpenBTS

updatedb &
locate openbts

Kalau tidak ketemu berarti kita perlu instalasi.

Download OpenBTS

Download di PC source code openbts bisa melalui

cd /usr/local/src
apt-get install subversion
svn co http://wush.net/svn/range/software/public openbts-2.8.0
scp -r openbts root@<ip-address-E110>

Compile OpenBTS

Compile menggunakan perintah

mv openbts ~/src
vi ~/src/openbts-2.8.0/openbts/trunk/apps/OpenBTS.cpp 

pastikan

sleep(8);

lanjutkan proses compile

cd ~/src/openbts-2.8.0/openbts/trunk
./autogen.sh 
./configure --with-uhd CFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -O3" CXXFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -O3" 
make clean
make 
make install
cd ~/src/openbts-2.8.0/openbts/trunk/apps
ln -s ../Transceiver52M/transceiver .

Instalasi Database Konfigurasi OpenBTS

cd ~/src/openbts-2.8.0/openbts/trunk
sudo mkdir /etc/OpenBTS
rm /etc/OpenBTS/OpenBTS.db
sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db
.exit


Error "assuming TRX is dead"

Di E1xx, transceiver akan lebih lambat dari yang normal OpenBTS. Oleh karenanya sangat di sarankan agar transceiver load delay di naikan, jika tidak OpenBTS akan meresponds dengan "assuming TRX is dead" dan exit. Jika ini terjadi, transceiver instance akan tetap running dan akan menyebabkan akses ke UHD device terhalangi. Patch-nya adalah

vi ~/src/openbts/openbts/trunk/apps/OpenBTS.cpp 

Edit

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

Ubah menjadi

sleep(8);

Error File System Kurang Baik

Kalau microSD yang kita gunakan kurang baik, ada beberapa sector yang Read-only, maka kita akan melihat error di bawah ini.


Preparing build ... autom4te: cannot open autom4te.cache/requests: Read-only file system
automake: autoconf failed with exit status: 1
ERROR: automake failed
rm: cannot remove `COPYING.5934.protect_from_automake.backup': Read-only file  system
rm: cannot remove `INSTALL.5934.protect_from_automake.backup': Read-only file system
rm: cannot remove `./config.sub.backup': Read-only file system
rm: cannot remove `./ltmain.sh.backup': Read-only file system

SOLUSI:

  • reboot & ulang proses compile.
  • Kalau tetap gagal, maka kita perlu membuat ulang microSD tersebut.

Error autoreconf

Sebaiknya jangan menggunakan autoreconf seperti di bawah ini karena akan meminta perl yang tidak ada di E110.

mv openbts ~/src
cd ~/src/openbts/openbts/trunk
autoreconf -i

Akan keluar error sebagai berikut

can't locate Autom4te/ChannelDefs.pm in @INC (@INC contains: @autom4te_perllibdir@ /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl   .) at /usr/bin/gnu-configize line 40.
BEGIN failed--compilation aborted at /usr/bin/gnu-configize line 40.
autoreconf: gnu-configize failed with exit status: 2

SOLUSI:

  • autoreconf -i cukup aman kalau di lakukan di Ubuntu 11.10. Caranya SD card di mount ke ubuntu 11.10, di lakukan di mesin host Ubuntu 11.10 bukan di E110.
  • Alternatif lain menggunakan ./autogen.sh kemungkinan berhasil lebih tinggi.

Compile Smqueue

Lakukan

cd ~/src/openbts/smqueue/trunk
./autogen.sh
./configure 
make clean
make 
make install

Selanjutnya, inisialisasi konfigurasi database OpenBTS

cd ~/src/openbts/smqueue/trunk
rm -Rf /etc/OpenBTS/smqueue.db
sudo sqlite3 -init  smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db
.exit

Error saat compile / make Smqueue

make[1]: Entering directory `/home/root/src/openbts/smqueue/trunk/smqueue'
g++ -DHAVE_CONFIG_H -I. -I..  -I../CommonLibs -I../GSM -I../SMS -I../Globals -I../HLR -I../sqlite3  -O3 -g -lpthread -g -O2 -MT smqueue.o -MD -MP -MF .deps/smqueue.Tpo -c -o smqueue.o smqueue.cpp
smqueue.cpp: In member function 'void SMqueue::SMq::respond_sip_ack(int,  SMqueue::short_msg_pending*, char*, size_t)':
smqueue.cpp:1910:20: error: invalid conversion from 'int (*)(void*, void**)' to 'int* (*)(void*, void*)'
smqueue.cpp:1910:20: error:   initializing argument 3 of 'int osip_list_clone(const osip_list_t*, osip_list_t*, int* (*)(void*, void*))'
make[1]: *** [smqueue.o] Error 1
make[1]: Leaving directory `/home/root/src/openbts/smqueue/trunk/smqueue'
make: *** [install-recursive] Error 1 

SOLUSI:

  • Belum ada solusi


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 ~/src/openbts/subscriberRegistry/trunk
make

Setup database untuk Sipauthserve

rm /etc/OpenBTS/sipauthserve.db
cd ~/src/openbts/subscriberRegistry/trunk
sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db
.exit


Menjalankan OpenBTS

cd ~/src/openbts/openbts/trunk/apps/
./OpenBTS

Bisa keluar

OpenBTS> version
release P2.8TRUNK built Mar  3 2012


Error waktu Start

ALERT 1088898144 TRXManager.cpp:86:clockHandler: TRX clock interface timed out, assuming TRX is dead.
Aborted

Biasanya setelah itu terjadi maka kalau di cek

uhd_usrp_probe 

Hasilnya

-- Opening device node /dev/usrp_e0...
Error: EnvironmentError: IOError: Failed to open /dev/usrp_e0

SOLUSI:

Edit

vi ~/src/openbts/openbts/trunk/apps/OpenBTS.cpp 

Edit

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

Ubah menjadi

sleep(8);

Lakukan ini sebelum mengcompile openbts

Referensi

Pranala Menarik

Persiapan

OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

Ettus E110

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video