Difference between revisions of "OpenBTS: 2.8 Instalasi Real Time Asterisk"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
(49 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Asterisk Realtime | + | ==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== | |
− | Cleaning | ||
− | sqlite3 | + | Buang sqlite3 dan asterisk. Kita perlu menginstalasi ulang semuanya, |
− | sudo apt-get remove asterisk sqlite3 | + | sudo apt-get remove asterisk sqlite3 |
− | sudo apt-get autoremove | + | 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 /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 | ||
+ | |||
+ | 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 | 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== | ==Referensi== | ||
Line 142: | Line 235: | ||
* [[OpenBTS]] | * [[OpenBTS]] | ||
+ | * [[OpenBTS: Arsitektur secara umum]] | ||
− | ===Persiapan | + | ===Persiapan=== |
* [[USRP: High Precision Clock]] | * [[USRP: High Precision Clock]] | ||
+ | * [[USRP: Menyambungkan ClockTamer ke USRP1]] | ||
+ | * [[USRP: Kalibrasi ClockTamer]] | ||
+ | * [[USRP: ClockTamer Control Protocol]] | ||
* [[USRP: Instalasi Board]] | * [[USRP: Instalasi Board]] | ||
+ | * [[OpenBTS: GIT Source Code]] | ||
+ | * [[USRP: Rangkaian Board USRP]] | ||
+ | * [[OpenBTS: Tethr untuk Bencana Alam]] | ||
+ | * [[USRP: Tip Pemesanan]] | ||
===OpenBTS 2.6=== | ===OpenBTS 2.6=== | ||
+ | * [[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 Clock 52MHz]] '''RECOMMENDED''' | ||
+ | * [[GNURadio: Contoh Aplikasi]] | ||
* [[GNURadio: Spectrum Analizer GSM]] | * [[GNURadio: Spectrum Analizer GSM]] | ||
* [[GNURadio: Mengubah board RFX1800 menjadi RFX900]] | * [[GNURadio: Mengubah board RFX1800 menjadi RFX900]] | ||
− | * [[OpenBTS: Ubuntu Install]] | + | * [[GNURadio: Programming Untuk Pemula]] |
− | * [[OpenBTS: Konfigurasi]] | + | * [[OpenBTS: Ubuntu Install]] '''RECOMMENDED''' |
+ | * [[OpenBTS: Ubuntu Install OpenBTS 2.6 Clock 52MHz]] '''RECOMMENDED''' | ||
+ | * [[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 165: | Line 273: | ||
* [[OpenBTS: Amplifier]] | * [[OpenBTS: Amplifier]] | ||
* [[OpenBTS: SMS]] | * [[OpenBTS: SMS]] | ||
+ | * [[AirProbe]] | ||
===OpenBTS 2.8=== | ===OpenBTS 2.8=== | ||
− | * [[GNURadio: Ubuntu 11.10 Install]] | + | * [[GNURadio: Ubuntu 11.10 Install]] ''NOT RECOMMENED'' |
+ | * [[GNURadio: Ubuntu 11.10 instalasi menggunakan Repo]] ''NOT RECOMMENDED'' | ||
+ | * [[GNURadio: Download GNURadio]] | ||
+ | * [[GNURadio: Install UHD]] | ||
+ | * [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0]] | ||
+ | * [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.3.0]] | ||
+ | * [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.1]] ''NOT RECOMMENDED'' | ||
+ | * [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2]] '''RECOMMENDED''' | ||
+ | * [[GNURadio: Ubuntu 12.04 Instal GNURadio 3.4.2]] '''RECOMMENDED''' | ||
+ | * [[GNURadio: Ubuntu 12.04.1 Instal GNURadio 3.4.2]] '''RECOMMENDED''' | ||
+ | * [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.2]] ''NOT RECOMMENDED'' | ||
+ | * [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.0]] ''NOT RECOMMENDED'' | ||
+ | * [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.3.2]] ''NOT RECOMMENDED'' | ||
+ | * [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.6.0]] ''NOT RECOMMENDED'' | ||
+ | * [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED'' | ||
+ | * [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]] | ||
+ | * [[GNURadio: UHD]] ''NOT RECOMMENDED'' | ||
+ | * [[GNURadio: UHD Image]] ''NOT RECOMMENDED'' | ||
+ | * [[GNURadio: UHD burn EEPROM RFX Board di USRP1]] ''NOT RECOMMENDED'' | ||
+ | * [[GNURadio: UHD Identifikasi Device]] | ||
* [[OpenBTS: Ubuntu 11.10 Install]] | * [[OpenBTS: Ubuntu 11.10 Install]] | ||
+ | * [[OpenBTS: dari GIT ttsou]] | ||
* [[OpenBTS: 2.8 dari SVN Install]] | * [[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 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 Mengubah Master Clock]] | ||
+ | * [[OpenBTS: E110 Kalibrasi Clock]] | ||
* [[OpenBTS: E110 Bekerja dengan opkg]] | * [[OpenBTS: E110 Bekerja dengan opkg]] | ||
+ | * [[OpenBTS: E110 GNURadio]] | ||
+ | * [[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.8 untuk MultiBTS]] '''*RECOMMENDED*''' | ||
+ | |||
+ | ===GPRS=== | ||
+ | |||
+ | * [[OpenBTS: GPRS]] | ||
+ | |||
+ | ===Power Amplifier=== | ||
+ | |||
+ | * [[Driver 900MHz]] | ||
+ | * [[Power Amplifier 900MHz]] | ||
+ | * [[Duplexer]] | ||
+ | * [[OpenBTS: Menaikan Jangkauan OpenBTS]] | ||
===Lain Lain=== | ===Lain Lain=== | ||
+ | * [[OpenBTS: Materi Magang di ICTWATCH]] | ||
+ | * [[OpenBTS: Seminar Outline]] | ||
+ | * [[OpenBTS: Workshop Outline]] | ||
* [[Membuat Base Station GSM Open Source]] | * [[Membuat Base Station GSM Open Source]] | ||
* [[Teknologi Selular]] | * [[Teknologi Selular]] | ||
Line 198: | Line 365: | ||
* [[Siapa Bilang OpenBTS Ilegal?]] | * [[Siapa Bilang OpenBTS Ilegal?]] | ||
* [[OpenBTS: Catatan MNC dan MCC Indonesia]] | * [[OpenBTS: Catatan MNC dan MCC Indonesia]] | ||
+ | * [[OpenBTS: Catatan MNC dan MCC COOL]] | ||
* [[OpenBTS : Alokasi Frekuensi Operator GSM Indonesia]] | * [[OpenBTS : Alokasi Frekuensi Operator GSM Indonesia]] | ||
+ | * [[GSM: Daftar Channel Frekuensi]] | ||
===Catatan Sejarah=== | ===Catatan Sejarah=== | ||
Line 205: | 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
- http://wush.net/trac/rangepublic/wiki/asteriskConfig
- http://www.voip-info.org/wiki/view/Asterisk+RealTime
- http://wush.net/trac/rangepublic/wiki/sqlie3ODBC
Pranala Menarik
Persiapan
- USRP: High Precision Clock
- USRP: Menyambungkan ClockTamer ke USRP1
- USRP: Kalibrasi ClockTamer
- USRP: ClockTamer Control Protocol
- USRP: Instalasi Board
- OpenBTS: GIT Source Code
- USRP: Rangkaian Board USRP
- OpenBTS: Tethr untuk Bencana Alam
- USRP: Tip Pemesanan
OpenBTS 2.6
- GNURadio
- GNURadio: Ubuntu Install
- GNURadio: Menggunakan UHD
- GNURadio: Ubuntu Install GNURadio 3.4.2 RECOMMENDED
- GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz RECOMMENDED
- GNURadio: Contoh Aplikasi
- GNURadio: Spectrum Analizer GSM
- GNURadio: Mengubah board RFX1800 menjadi RFX900
- GNURadio: Programming Untuk Pemula
- OpenBTS: Ubuntu Install RECOMMENDED
- OpenBTS: Ubuntu Install OpenBTS 2.6 Clock 52MHz RECOMMENDED
- OpenBTS: Konfigurasi RECOMMENDED
- OpenBTS: Kalibrasi
- OpenBTS: Konfigurasi Asterisk untuk OpenBTS RECOMMENDED
- OpenBTS: Menjalankan smqueue
- OpenBTS: Mengoperasikan BTS RECOMMENDED
- OpenBTS: Tampilan di Nokia saat pakai OpenBTS
- OpenBTS: Operasi 1800 MHz
- OpenBTS: Beberapa Tips
- OpenBTS: USRP2
- OpenBTS: Amplifier
- OpenBTS: SMS
- AirProbe
OpenBTS 2.8
- GNURadio: Ubuntu 11.10 Install NOT RECOMMENED
- GNURadio: Ubuntu 11.10 instalasi menggunakan Repo NOT RECOMMENDED
- GNURadio: Download GNURadio
- GNURadio: Install UHD
- GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0
- GNURadio: Ubuntu 12.10 Instal GNURadio 3.3.0
- GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.1 NOT RECOMMENDED
- GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2 RECOMMENDED
- GNURadio: Ubuntu 12.04 Instal GNURadio 3.4.2 RECOMMENDED
- GNURadio: Ubuntu 12.04.1 Instal GNURadio 3.4.2 RECOMMENDED
- GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.2 NOT RECOMMENDED
- GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.0 NOT RECOMMENDED
- GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.3.2 NOT RECOMMENDED
- GNURadio: Ubuntu 11.10 Instal GNURadio 3.6.0 NOT RECOMMENDED
- GNURadio: Ubuntu 11.10 Install dari GIT GNURadio NOT RECOMMENDED
- GNURadio: Ubuntu 11.10 cek USRP Daughter Board
- GNURadio: UHD NOT RECOMMENDED
- GNURadio: UHD Image NOT RECOMMENDED
- GNURadio: UHD burn EEPROM RFX Board di USRP1 NOT RECOMMENDED
- GNURadio: UHD Identifikasi Device
- OpenBTS: Ubuntu 11.10 Install
- OpenBTS: dari GIT ttsou
- OpenBTS: 2.8 dari SVN Install
- OpenBTS: 2.8 dari SVN Install Clock 52MHz RECOMMENDED
- OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 12.10 RECOMMENDED
- OpenBTS: 2.8 dari SVN Install Clock 52MHz 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 Subscriber Registery
- OpenBTS: Database SQLite
Multi OpenBTS 2.8
- OpenBTS: Pola Multi OpenBTS RECOMMENDED
- Multi OpenBTS: Catatan Konfigurasi RECOMMENDED
Ettus E110
- OpenBTS: E110 Cara Login
- OpenBTS: E110 Install Image di MicroSD *RECOMMENDED*
- OpenBTS: E110 Cek Daughter Board
- OpenBTS: E110 Mengubah Master Clock
- OpenBTS: E110 Kalibrasi Clock
- OpenBTS: E110 Bekerja dengan opkg
- OpenBTS: E110 GNURadio
- 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 2.6 NOT RECOMMENDED
- OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS *RECOMMENDED*
GPRS
Power Amplifier
Lain Lain
- OpenBTS: Materi Magang di ICTWATCH
- OpenBTS: Seminar Outline
- OpenBTS: Workshop Outline
- Membuat Base Station GSM Open Source
- Teknologi Selular
- GSM: Daftar Channel Frekuensi
- Wireless Internet
- OpenBSC
- AirProbe
- Base station subsystem
- GSM
- Asterisk
- Mobile phone
Catatan Legal dan Pendukung
- Siapa Bilang OpenBTS Ilegal?
- OpenBTS: Catatan MNC dan MCC Indonesia
- OpenBTS: Catatan MNC dan MCC COOL
- OpenBTS : Alokasi Frekuensi Operator GSM Indonesia
- GSM: Daftar Channel Frekuensi
Catatan Sejarah
- 2011/04/30 - Workshop OpenBTS Pertama di Indonesia dilakukan di Univ Gajah Putih Takengon Aceh Tengah
- OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan
- OpenBTS: Daftar Artikel di Media
- OpenBTS: Permohonan Kanal dan DID untuk OpenBTS