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

From OnnoWiki
Jump to navigation Jump to search
 
(18 intermediate revisions by the same user not shown)
Line 70: Line 70:
 
  make menuselect
 
  make menuselect
  
Pastikan ada (*) di
+
Pastikan sqlite & ODBC di contreng. Tepatnya, pastikan ada asterisk (*) di
  
 
  -> Dialplan Functions -> func_odbc
 
  -> Dialplan Functions -> func_odbc
Line 78: Line 78:
  
 
Pastikan tidak ada "XXX" di pilihan Sqlite3 dan ODBC di menu konfigurasi.
 
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.
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.
+
Selanjutnya kita perlu meng-compile & install menggunakan perintah
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.  
 
  
 
  make
 
  make
 
  make install  
 
  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.
  
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.
+
==File Konfigurasi ODBC==
ODBC configuration files
 
  
==Edit /etc/odbcinst.ini==
+
===Edit /etc/odbcinst.ini===
  
 
  [SQLite3]
 
  [SQLite3]
Line 96: Line 97:
 
  Threading=2
 
  Threading=2
  
==Edit /etc/odbc.ini==
+
===Edit /etc/odbc.ini===
  
 
  [asterisk]
 
  [asterisk]
Line 105: 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 117: 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 128: 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 140: 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 150: Line 166:
 
  sippeers => odbc,asterisk,sip_buddies
 
  sippeers => odbc,asterisk,sip_buddies
  
==Edit 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 159: Line 175:
 
  pre-connect => yes
 
  pre-connect => yes
  
==Edit 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 168: Line 184:
 
  readsql=${ARG1}
 
  readsql=${ARG1}
  
==Edit extensions.conf==
 
  
Berikit adalah bagaimana dialplan menggunakan fungsi ODBC_SQL untuk memperoleh nomor SIP dari extension. Berikut hanya sebuah contoh saja. Gunakan file extensions.conf di 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 180: Line 206:
 
  exten => _N.,n,Dial(SIP/${Name}@${IPAddr}:5062)
 
  exten => _N.,n,Dial(SIP/${Name}@${IPAddr}:5062)
  
Dalam contoh ini, OpenBTS mempunya inbound SIP interface di port 5062 dan context "outbound-trunk" digunakan untuk menangani phone yang tidak di manaje oleh 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==
 
==Lokasi database Sqlite3==
Line 191: Line 217:
  
 
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.
 
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==
 
==Referensi==
Line 201: Line 235:
  
 
* [[OpenBTS]]
 
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
  
 
===Persiapan===
 
===Persiapan===
Line 210: 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 215: Line 253:
 
* [[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 241: 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 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 248: 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]]
Line 255: Line 301:
 
* [[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 268: 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 301: 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