Difference between revisions of "OpenBTS: 2.8 Instalasi Real Time Asterisk"

From OnnoWiki
Jump to navigation Jump to search
 
(30 intermediate revisions by the same user not shown)
Line 11: Line 11:
  
 
==Instalasi Aplikasi yang dibutuhkan==
 
==Instalasi Aplikasi yang dibutuhkan==
 +
 +
===Compile SQLite===
  
 
* Download sqlite3 dari
 
* Download sqlite3 dari
  
 
  http://www.sqlite.org/download.html
 
  http://www.sqlite.org/download.html
  http://www.sqlite.org/sqlite-amalgamation-3071100.zip
+
  http://www.sqlite.org/sqlite-amalgamation-3071300.zip
  http://www.sqlite.org/sqlite-autoconf-3071100.tar.gz
+
  http://www.sqlite.org/sqlite-autoconf-3071300.tar.gz
  
 
Sqlite3 harus di combile dengan terdefinisikan SQLITE_ENABLE_COLUMN_METADATA
 
Sqlite3 harus di combile dengan terdefinisikan SQLITE_ENABLE_COLUMN_METADATA
  
 +
cp sqlite-autoconf-3071300.tar.gz /usr/local/src/
 +
cd /usr/local/src/
 +
tar zxvf sqlite-autoconf-3071300.tar.gz
 +
cd /usr/local/src/sqlite-autoconf-3071300
 
  ./configure CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA -O2"
 
  ./configure CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA -O2"
  make
+
  make clean
 +
make all
 
  make install
 
  make install
  sudo apt-get install libsqlite3-dev
+
 
sudo apt-get install erlang
+
===Instalasi Libsqlite & erlang===
 +
 
 +
  sudo apt-get install libsqlite3-dev erlang unixodbc unixodbc-dev
 +
 
 +
===Instalasi sqliteodbc===
  
 
* Download sqliteodbc
 
* Download sqliteodbc
  
 
  http://www.ch-werner.de/sqliteodbc/
 
  http://www.ch-werner.de/sqliteodbc/
  http://www.ch-werner.de/sqliteodbc/sqliteodbc-0.94.tar.gz
+
  http://www.ch-werner.de/sqliteodbc/sqliteodbc-0.95.tar.gz
  
 
* Compile
 
* Compile
  
 +
cp sqliteodbc-0.95.tar.gz /usr/local/src/
 +
cd /usr/local/src
 +
tar zxvf sqliteodbc-0.95.tar.gz
 +
cd /usr/local/src/sqliteodbc-0.95
 
  ./configure
 
  ./configure
 +
make clean
 +
make all
 
  make
 
  make
 
  make install
 
  make install
Line 39: Line 56:
 
==(Re)Building Asterisk==
 
==(Re)Building Asterisk==
  
Kita perlu membuat ulang Asterisk
+
Kita perlu membuat ulang Asterisk. Pertama-tama lakukan download dari
 +
 
 +
http://www.asterisk.org/downloads
 +
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-10.5.1.tar.gz
  
 +
Compile menggunakan perintah
 +
 +
cp asterisk-10.5.1.tar.gz /usr/local/src/
 +
cd /usr/local/src
 +
tar zxvf asterisk-10.5.1.tar.gz
 +
cd /usr/local/src/asterisk-10.5.1
 
  ./configure --disable-xmldoc
 
  ./configure --disable-xmldoc
 
  make menuselect
 
  make menuselect
  
* Pastikan Sqlite3 dan ODBC dipilih, terutama di "applications", "resource modules" dan "dialplan functions".
+
Pastikan sqlite & ODBC di contreng. Tepatnya, pastikan ada asterisk (*) di
* Pastikan "res_realtime" dipilih di "resource modules".
 
* Harusnya tidak ada "XXX" di pilihan Sqlite3 dan ODBC di menu konfigurasi.
 
  
selections anywhere in the configuration menus. If you see "XXX" for Sqlite3 or ODBC features anywhere, that means that those packages are not installed correctly (or at least in the way that Asterisk expects to see them). Look at the config.log file for clues.
+
-> Dialplan Functions -> func_odbc
If you are building a full BTS unit, you will need to install Erlang with apt-get install and that will include an ODBC installation that Asterisk likes.  
+
-> Utilities -> astdb2sqlite3
 +
-> PBX Modules -> pbx_realtime
 +
-> "Resource Modules" -> "res_realtime"
 +
 
 +
Pastikan tidak ada "XXX" di pilihan Sqlite3 dan ODBC di menu konfigurasi.
 +
Jika kita membuat sebuah unit BTS lengkap, kita perlu menginstalasi Erlang menggunakan apt-get install ini biasanya termasuk instalasi ODBC yang di sukai asterisk.
 +
Selanjutnya kita perlu meng-compile & install menggunakan perintah
  
 
  make
 
  make
 
  make install  
 
  make install  
 +
chown -Rf asterisk.asterisk /var/log/asterisk/
  
Yes, you need to rebuild Asterisk. And if you are going to add Speex support, this would be the time to do it. You are supposed to be able to install Speex with apt-get install, but I have not gotten that to work yet.
+
Jika kita ingin menambahkan dukungan Speex maka sekarang saatnya. Kita dapat menginstalasi Speex menggunakan apt-get install.
ODBC configuration files
 
  
==Edit /etc/odbcinst.ini==
+
==File Konfigurasi ODBC==
 +
 
 +
===Edit /etc/odbcinst.ini===
  
 
  [SQLite3]
 
  [SQLite3]
Line 65: Line 97:
 
  Threading=2
 
  Threading=2
  
==Edit /etc/odbc.ini==
+
===Edit /etc/odbc.ini===
  
 
  [asterisk]
 
  [asterisk]
Line 74: Line 106:
 
  Timeout=2000
 
  Timeout=2000
  
==Link Simbolik==
+
===Link Simbolik===
  
 
Kita juga perlu membuat simbolik link ke file di tempat ini
 
Kita juga perlu membuat simbolik link ke file di tempat ini
  
 
  /usr/local/etc/odbcinst.ini /usr/local/etc/odbc.ini
 
  /usr/local/etc/odbcinst.ini /usr/local/etc/odbc.ini
  root/.odbcinst.ini /root/.odbc.ini
+
  /root/.odbcinst.ini /root/.odbc.ini
~openbts/.odbcinst.ini ~openbts/.odbc.ini  
 
  
 
Dengan kata lain, sebagai root lakukan
 
Dengan kata lain, sebagai root lakukan
Line 86: Line 117:
 
  cd /usr/local/etc; ln -s /etc/odbc.ini; ln -s /etc/odbcinst.ini
 
  cd /usr/local/etc; ln -s /etc/odbc.ini; ln -s /etc/odbcinst.ini
 
  cd /root; ln -s /etc/odbc.ini .odbc.ini; ln -s /etc/odbcinst.ini .odbcinst.ini
 
  cd /root; ln -s /etc/odbc.ini .odbc.ini; ln -s /etc/odbcinst.ini .odbcinst.ini
  cd ~openbts; ln -s /etc/odbc.ini .odbc.ini; ln -s /etc/odbcinst.ini .odbcinst.ini
+
 
 +
Tampaknya di Ubuntu tidak ada user / home directory ~openbts & ~asterisk
 +
jadi kita tida bisa melakukan mirror, semoga ini tidak menjadi masalah
 +
 
 +
  ~openbts/.odbcinst.ini ~openbts/.odbc.ini  
  
 
Kita juga perlu link simbolik untuk home directory asterisk jika asterisk di jalankan sebagai user asterisk:
 
Kita juga perlu link simbolik untuk home directory asterisk jika asterisk di jalankan sebagai user asterisk:
  
 
  cd ~asterisk; ln -s /etc/odbc.ini .odbc.ini; ln -s /etc/odbcinst.ini .odbcinst.ini
 
  cd ~asterisk; ln -s /etc/odbc.ini .odbc.ini; ln -s /etc/odbcinst.ini .odbcinst.ini
 +
cd ~openbts; ln -s /etc/odbc.ini .odbc.ini; ln -s /etc/odbcinst.ini .odbcinst.ini
  
 
Standard untuk unit BTS yang terkonfigurasi biasanya menyimpan file "asli" di /usr/local/etc dan membuat link simbolik ke
 
Standard untuk unit BTS yang terkonfigurasi biasanya menyimpan file "asli" di /usr/local/etc dan membuat link simbolik ke
Line 97: Line 133:
 
  ~root  
 
  ~root  
  
If Asterisk is running, modifying these files might make it crash. Be aware of that.
+
Jika Asterisk sedang beroperasi, mengubah file ini akan membuat-nya crash. Hati-hati.
  
Asterisk configuration files
+
==File konfigurasi Asterisk==
  
modules.conf
+
===Copy Contoh yang ada di openbts===
  
Autoload must be enabled, plus make sure you're not overriding that by telling it NOT to load particular files, like res_config_odbc.so. The noload is commented out here.
+
cp /usr/local/src/openbts/openbts/trunk/AsteriskConfig/*conf /etc/asterisk/
 +
 
 +
Selanjutnya kita perlu men-cek satu per satu
 +
 
 +
===Edit /etc/asterisk/modules.conf===
 +
 
 +
Autoload harus di enabled, plus pastikan kita tidak overide dengan cara menset agar tidak NOT load file tertentu, seperti res_config_odbc.so. Disini noload ODBC di comment,
  
 
  [modules]
 
  [modules]
Line 109: Line 151:
 
  ; noload => res_config_odbc.so
 
  ; noload => res_config_odbc.so
  
==extconfig.conf==
+
dicoba
 +
 
 +
preload => res_odbc.so
 +
preload => res_config_odbc.so
 +
 
 +
===Edit /etc/asterisk/extconfig.conf===
  
 
Ini akan meminta asterisk untuk menggunakan odbc untuk realtime sip.  
 
Ini akan meminta asterisk untuk menggunakan odbc untuk realtime sip.  
Line 119: Line 166:
 
  sippeers => odbc,asterisk,sip_buddies
 
  sippeers => odbc,asterisk,sip_buddies
  
==res_odbc.conf==
+
===Edit /etc/asterisk/res_odbc.conf===
  
Standard konfigirasi odbc. Semua diberi nama "asterisk" untuk menghindari kebingungan.
+
Standard konfigurasi odbc. Semua diberi nama "asterisk" untuk menghindari kebingungan.
  
 
  [asterisk]
 
  [asterisk]
Line 128: Line 175:
 
  pre-connect => yes
 
  pre-connect => yes
  
==func_odbc.conf ==
+
===Edit /etc/asterisk/func_odbc.conf===
  
 
Ini akan memungkinkan kita untuk menggunakan fungsi ODBC_SQL untuk menjalankan perintah SQL di dial plan.
 
Ini akan memungkinkan kita untuk menggunakan fungsi ODBC_SQL untuk menjalankan perintah SQL di dial plan.
Line 137: Line 184:
 
  readsql=${ARG1}
 
  readsql=${ARG1}
  
==extensions.conf==
 
  
Here's how the dialplan uses the ODBC_SQL function to get the SIP number from the extension. This is just here as an example, though. Use the extensions.conf file in openbts/trunk/AsteriskConfigs.
+
dicoba
 +
 
 +
; ODBC_PRESENCE - Retrieve and update presence
 +
[PRESENCE]
 +
dsn=asterisk
 +
readsql=SELECT location FROM presence WHERE id='${SQL_ESC(${ARG1})}'
 +
writesql=UPDATE presence SET location='${SQL_ESC(${VAL1})}' WHERE id='${SQL_ESC(${ARG1})}'
 +
 
 +
===Edit /etc/asterisk/extensions.conf===
 +
 
 +
Kalau tidak mau pusing gunakan file extensions.conf di openbts/trunk/AsteriskConfigs.
 +
Berikut adalah contoh saja. Berikut adalah bagaimana dialplan menggunakan fungsi ODBC_SQL untuk memperoleh nomor SIP dari extension. Berikut hanya sebuah contoh saja.  
  
 
  [phones]
 
  [phones]
Line 149: Line 206:
 
  exten => _N.,n,Dial(SIP/${Name}@${IPAddr}:5062)
 
  exten => _N.,n,Dial(SIP/${Name}@${IPAddr}:5062)
  
In this example, OpenBTS has it's inbound SIP interface at port 5062 and the context "outbound-trunk" is used for handling phones not provisioned in the realtime database.
+
Dalam contoh ini, OpenBTS mempunyai inbound SIP interface di port 5062 dan context "outbound-trunk" digunakan untuk menangani phone yang tidak di manaje oleh realtime database.
 +
 
 +
==Lokasi database Sqlite3==
 +
 
 +
Path default untuk file realtime database Asterisk adalah
 +
 
 +
/var/lib/asterisk/sqlite3dir/sqlite3.db.
 +
 
 +
Ini di tentukan oleh /etc/odbc.ini
 +
 
 +
File database sqlite3 harus read & write oleh asterisk, smqueue & sipauthserve, DAN directory dimana file tersebut berada HARUS read & write untuk aplikasi Sqlite. Karena sqlite3 akan membuat file temporary di directory tersebut.
  
==Sqlite3 database location==
 
  
The default path for the Asterisk realtime database file is /var/lib/asterisk/sqlite3dir/sqlite3.db. (Note that this path was referenced above in /etc/odbc.ini.)
+
==Debugging==
  
The sqlite3 database file must be readable and writable by asterisk, smqueue and sipauthserve, AND the directory in which the sqlite3 database file is located must ALSO be readable and writable by the applications. This is because sqlite3 generates temporary files in the directory.
+
Dari Anton Raharja: coba ke logger.conf nya aja dulu kang, lalu remove comment yang full
 +
setelah itu restart asterisk nya.
  
 +
tail -f /var/log/asterisk/full
  
 
==Referensi==
 
==Referensi==
Line 167: Line 235:
  
 
* [[OpenBTS]]
 
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
  
 
===Persiapan===
 
===Persiapan===
Line 176: Line 245:
 
* [[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 181: Line 253:
 
* [[GNURadio]]
 
* [[GNURadio]]
 
* [[GNURadio: Ubuntu Install]]
 
* [[GNURadio: Ubuntu Install]]
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''*RECOMMENDED*'''
+
* [[GNURadio: Menggunakan UHD]]
* [[GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz]] '''*RECOMMENDED*'''
+
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz]] '''RECOMMENDED'''
 
* [[GNURadio: Contoh Aplikasi]]
 
* [[GNURadio: Contoh Aplikasi]]
 
* [[GNURadio: Spectrum Analizer GSM]]
 
* [[GNURadio: Spectrum Analizer GSM]]
 
* [[GNURadio: Mengubah board RFX1800 menjadi RFX900]]
 
* [[GNURadio: Mengubah board RFX1800 menjadi RFX900]]
 
* [[GNURadio: Programming Untuk Pemula]]
 
* [[GNURadio: Programming Untuk Pemula]]
* [[OpenBTS: Ubuntu Install]]
+
* [[OpenBTS: Ubuntu Install]] '''RECOMMENDED'''
* [[OpenBTS: Ubuntu Install OpenBTS 2.6 Clock 52MHz]]
+
* [[OpenBTS: Ubuntu Install OpenBTS 2.6 Clock 52MHz]] '''RECOMMENDED'''
* [[OpenBTS: Konfigurasi]]
+
* [[OpenBTS: Konfigurasi]] '''RECOMMENDED'''
 
* [[OpenBTS: Kalibrasi]]
 
* [[OpenBTS: Kalibrasi]]
* [[OpenBTS: Konfigurasi Asterisk untuk OpenBTS]]
+
* [[OpenBTS: Konfigurasi Asterisk untuk OpenBTS]] '''RECOMMENDED'''
 
* [[OpenBTS: Menjalankan smqueue]]
 
* [[OpenBTS: Menjalankan smqueue]]
* [[OpenBTS: Mengoperasikan BTS]]
+
* [[OpenBTS: Mengoperasikan BTS]] '''RECOMMENDED'''
 
* [[OpenBTS: Tampilan di Nokia saat pakai OpenBTS]]
 
* [[OpenBTS: Tampilan di Nokia saat pakai OpenBTS]]
 
* [[OpenBTS: Operasi 1800 MHz]]
 
* [[OpenBTS: Operasi 1800 MHz]]
Line 207: Line 280:
 
* [[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 11.10 Instal GNURadio 3.4.2]]
+
* [[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 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 214: Line 293:
 
* [[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]]
* [[OpenBTS: dari GIT ttsou]] '''RECOMMENDED'''
+
* [[OpenBTS: dari GIT ttsou]]
* [[OpenBTS: 2.8 dari SVN Install]] '''RECOMMENDED'''
+
* [[OpenBTS: 2.8 dari SVN Install]]
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]]
+
* [[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 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 233: Line 327:
 
* [[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 266: Line 374:
 
* [[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 07:31, 24 December 2012

Konfigurasi Asterisk Realtime

Di bawah ini adalah beberapa langkah untuk membuat Sqlite3 dapat bekerja secara realtime di Asterisk. Ini masih dilakukan secara manual semua, belum ada script yang melakukan hal ini.

Cleaning sebelum Install

Buang sqlite3 dan asterisk. Kita perlu menginstalasi ulang semuanya,

sudo apt-get remove asterisk sqlite3
sudo apt-get autoremove

Instalasi Aplikasi yang dibutuhkan

Compile SQLite

  • Download sqlite3 dari
http://www.sqlite.org/download.html
http://www.sqlite.org/sqlite-amalgamation-3071300.zip
http://www.sqlite.org/sqlite-autoconf-3071300.tar.gz

Sqlite3 harus di combile dengan terdefinisikan SQLITE_ENABLE_COLUMN_METADATA

cp sqlite-autoconf-3071300.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf sqlite-autoconf-3071300.tar.gz
cd /usr/local/src/sqlite-autoconf-3071300
./configure CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA -O2"
make clean
make all
make install

Instalasi Libsqlite & erlang

sudo apt-get install libsqlite3-dev erlang unixodbc unixodbc-dev

Instalasi sqliteodbc

  • Download sqliteodbc
http://www.ch-werner.de/sqliteodbc/
http://www.ch-werner.de/sqliteodbc/sqliteodbc-0.95.tar.gz
  • Compile
cp sqliteodbc-0.95.tar.gz /usr/local/src/
cd /usr/local/src
tar zxvf sqliteodbc-0.95.tar.gz
cd /usr/local/src/sqliteodbc-0.95
./configure
make clean
make all
make
make install

(Re)Building Asterisk

Kita perlu membuat ulang Asterisk. Pertama-tama lakukan download dari

http://www.asterisk.org/downloads
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-10.5.1.tar.gz

Compile menggunakan perintah

cp asterisk-10.5.1.tar.gz /usr/local/src/
cd /usr/local/src
tar zxvf asterisk-10.5.1.tar.gz
cd /usr/local/src/asterisk-10.5.1
./configure --disable-xmldoc
make menuselect

Pastikan sqlite & ODBC di contreng. Tepatnya, pastikan ada asterisk (*) di

-> Dialplan Functions -> func_odbc
-> Utilities -> astdb2sqlite3
-> PBX Modules -> pbx_realtime
-> "Resource Modules" -> "res_realtime"

Pastikan tidak ada "XXX" di pilihan Sqlite3 dan ODBC di menu konfigurasi. Jika kita membuat sebuah unit BTS lengkap, kita perlu menginstalasi Erlang menggunakan apt-get install ini biasanya termasuk instalasi ODBC yang di sukai asterisk. Selanjutnya kita perlu meng-compile & install menggunakan perintah

make
make install 
chown -Rf asterisk.asterisk /var/log/asterisk/

Jika kita ingin menambahkan dukungan Speex maka sekarang saatnya. Kita dapat menginstalasi Speex menggunakan apt-get install.

File Konfigurasi ODBC

Edit /etc/odbcinst.ini

[SQLite3]
Description=SQLite3 ODBC Driver
Driver=/usr/local/lib/libsqlite3odbc.so
Setup=/usr/local/lib/libsqlite3odbc.so
Threading=2

Edit /etc/odbc.ini

[asterisk]
Description=SQLite3 database
Driver=SQLite3
Database=/var/lib/asterisk/sqlite3dir/sqlite3.db
# optional lock timeout in milliseconds
Timeout=2000

Link Simbolik

Kita juga perlu membuat simbolik link ke file di tempat ini

/usr/local/etc/odbcinst.ini /usr/local/etc/odbc.ini
/root/.odbcinst.ini /root/.odbc.ini

Dengan kata lain, sebagai root lakukan

cd /usr/local/etc; ln -s /etc/odbc.ini; ln -s /etc/odbcinst.ini
cd /root; ln -s /etc/odbc.ini .odbc.ini; ln -s /etc/odbcinst.ini .odbcinst.ini

Tampaknya di Ubuntu tidak ada user / home directory ~openbts & ~asterisk jadi kita tida bisa melakukan mirror, semoga ini tidak menjadi masalah

~openbts/.odbcinst.ini ~openbts/.odbc.ini 

Kita juga perlu link simbolik untuk home directory asterisk jika asterisk di jalankan sebagai user asterisk:

cd ~asterisk; ln -s /etc/odbc.ini .odbc.ini; ln -s /etc/odbcinst.ini .odbcinst.ini
cd ~openbts; ln -s /etc/odbc.ini .odbc.ini; ln -s /etc/odbcinst.ini .odbcinst.ini

Standard untuk unit BTS yang terkonfigurasi biasanya menyimpan file "asli" di /usr/local/etc dan membuat link simbolik ke

/etc
~root 

Jika Asterisk sedang beroperasi, mengubah file ini akan membuat-nya crash. Hati-hati.

File konfigurasi Asterisk

Copy Contoh yang ada di openbts

cp /usr/local/src/openbts/openbts/trunk/AsteriskConfig/*conf /etc/asterisk/

Selanjutnya kita perlu men-cek satu per satu

Edit /etc/asterisk/modules.conf

Autoload harus di enabled, plus pastikan kita tidak overide dengan cara menset agar tidak NOT load file tertentu, seperti res_config_odbc.so. Disini noload ODBC di comment,

[modules]
autoload=yes
; noload => res_config_odbc.so

dicoba

preload => res_odbc.so
preload => res_config_odbc.so

Edit /etc/asterisk/extconfig.conf

Ini akan meminta asterisk untuk menggunakan odbc untuk realtime sip. Ada sedikit kebingungan apakah kolom ke dua (dalam hal ini, asterisk adalah database, handel odbc database, atau odbc context. Disini dibuat sama agar kita tidak pusing.

[settings]
sipusers => odbc,asterisk,sip_buddies
sippeers => odbc,asterisk,sip_buddies

Edit /etc/asterisk/res_odbc.conf

Standard konfigurasi odbc. Semua diberi nama "asterisk" untuk menghindari kebingungan.

[asterisk]
enabled => yes
dsn => asterisk
pre-connect => yes

Edit /etc/asterisk/func_odbc.conf

Ini akan memungkinkan kita untuk menggunakan fungsi ODBC_SQL untuk menjalankan perintah SQL di dial plan. Kita menggunakan ini untuk memperoleh nomor SIP setelah diberi extension.

[SQL]
dsn=asterisk
readsql=${ARG1}


dicoba

; ODBC_PRESENCE - Retrieve and update presence
[PRESENCE]
dsn=asterisk
readsql=SELECT location FROM presence WHERE id='${SQL_ESC(${ARG1})}'
writesql=UPDATE presence SET location='${SQL_ESC(${VAL1})}' WHERE id='${SQL_ESC(${ARG1})}'

Edit /etc/asterisk/extensions.conf

Kalau tidak mau pusing gunakan file extensions.conf di openbts/trunk/AsteriskConfigs. Berikut adalah contoh saja. Berikut adalah bagaimana dialplan menggunakan fungsi ODBC_SQL untuk memperoleh nomor SIP dari extension. Berikut hanya sebuah contoh saja.

[phones]
; This is the context for handsets provisioned through the realtime database.
exten => _N.,1,Set(Name=${ODBC_SQL(select dial from dialdata_table where exten = \"${EXTEN}\")})
exten => _N.,n,GotoIf($["${Name}" = ""] ?outbound-trunk,${EXTEN},1)
exten => _N.,n,Set(IPAddr=${ODBC_SQL(select ipaddr from sip_buddies where name = \"${Name}\")})
exten => _N.,n,GotoIf($["${IPAddr}" = ""] ?outbound-trunk,${EXTEN},1)
exten => _N.,n,Dial(SIP/${Name}@${IPAddr}:5062)

Dalam contoh ini, OpenBTS mempunyai inbound SIP interface di port 5062 dan context "outbound-trunk" digunakan untuk menangani phone yang tidak di manaje oleh realtime database.

Lokasi database Sqlite3

Path default untuk file realtime database Asterisk adalah

/var/lib/asterisk/sqlite3dir/sqlite3.db.

Ini di tentukan oleh /etc/odbc.ini

File database sqlite3 harus read & write oleh asterisk, smqueue & sipauthserve, DAN directory dimana file tersebut berada HARUS read & write untuk aplikasi Sqlite. Karena sqlite3 akan membuat file temporary di directory tersebut.


Debugging

Dari Anton Raharja: coba ke logger.conf nya aja dulu kang, lalu remove comment yang full setelah itu restart asterisk nya.

tail -f /var/log/asterisk/full

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