Difference between revisions of "OpenBTS: FreeSWITCH"

From OnnoWiki
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Sumber: https://wush.net/trac/rangepublic/wiki/DebOpenBTS
 
Sumber: https://wush.net/trac/rangepublic/wiki/DebOpenBTS
  
 +
 +
* Instalasi GNURadio 3.4.2. untuk USRP
 +
* Instalasi OpenBTS versi terakhir
  
 
Note the Package System Only Works on Ubuntu 12.04 running on x86-64 architecture
 
Note the Package System Only Works on Ubuntu 12.04 running on x86-64 architecture
Line 7: Line 10:
 
Required Libraries/Utilities
 
Required Libraries/Utilities
  
To fulfill various package dependencies of OpenBTS (minus the PBX) you'll need the following packages:
+
Instalasi paket berikut
 
 
    autoconf
 
 
 
    libtool
 
 
 
    libosip2
 
 
 
    libortp
 
 
 
    libusb-1.0
 
 
 
    g++
 
 
 
    sqlite3
 
 
 
    libsqlite3-dev (sipauthserve only)
 
 
 
    libreadline6-dev
 
  
    libncurses5-dev
+
autoconf
 +
libtool
 +
libosip2
 +
libortp
 +
libusb-1.0
 +
g++
 +
sqlite3
 +
libsqlite3-dev (sipauthserve only)
 +
libreadline6-dev
 +
libncurses5-dev
  
These can be installed (on a Debian-flavored unix distro) with the following command:
+
di turunan debian
  
sudo apt-get install autoconf libtool libosip2-dev libortp-dev libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang libreadline6-dev libncurses5-dev
+
sudo apt-get install autoconf libtool libosip2-dev libortp-dev \
 +
libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang libreadline6-dev \
 +
libncurses5-dev
  
System Diagram
+
==System Diagram==
  
 
In this diagram, Black links are network connections (SIP). Red links are file system connections (sqlite3 lookups). Blue links are ODBC (network/local DB lookups).
 
In this diagram, Black links are network connections (SIP). Red links are file system connections (sqlite3 lookups). Blue links are ODBC (network/local DB lookups).
Line 57: Line 53:
 
To verify proper driver installation, run the uhd_usrp_probe utility installed with the UHD driver. Output should be similar to the following truncated output. Also, to facilitate of FPGA loading times, it is suggested that the uhd_usrp_probe be run at least once after powering on the device and before starting OpenBTS.
 
To verify proper driver installation, run the uhd_usrp_probe utility installed with the UHD driver. Output should be similar to the following truncated output. Also, to facilitate of FPGA loading times, it is suggested that the uhd_usrp_probe be run at least once after powering on the device and before starting OpenBTS.
  
$ uhd_usrp_probe  
+
$ uhd_usrp_probe  
 +
 +
linux; GNU C++ version 4.8.1 20130603 (Red Hat 4.8.1-1); Boost_105300;  UHD_003.005.004-140-gfb32ed16
  
linux; GNU C++ version 4.8.1 20130603 (Red Hat 4.8.1-1); Boost_105300; UHD_003.005.004-140-gfb32ed16
+
-- Opening a USRP2/N-Series device...
 +
-- Current recv frame size: 1472 bytes
 +
-- Current send frame size: 1472 bytes
 +
  _____________________________________________________
 +
  /
 +
|      Device: USRP2 / N-Series Device
 +
|    _____________________________________________________
 +
|    /
 +
|  |      Mboard: USRP2 r4
 +
|  |  hardware: 1024
 +
|  |  mac-addr: 00:50:c2:85:36:1e
 +
|  |  ip-addr: 255.255.255.255
 +
|  |  subnet: 255.255.255.255
 +
|  |  gateway: 255.255.255.255
 +
|  |  gpsdo: none
 +
|  |  serial: 1566
 +
|  |  FW Version: 12.4
 +
|  |  FPGA Version: 10.1
  
-- Opening a USRP2/N-Series device...
+
==Install Stage==
-- Current recv frame size: 1472 bytes
 
-- Current send frame size: 1472 bytes
 
  _____________________________________________________
 
/
 
|      Device: USRP2 / N-Series Device
 
|    _____________________________________________________
 
|    /
 
|  |      Mboard: USRP2 r4
 
|  |  hardware: 1024
 
|  |  mac-addr: 00:50:c2:85:36:1e
 
|  |  ip-addr: 255.255.255.255
 
|  |  subnet: 255.255.255.255
 
|  |  gateway: 255.255.255.255
 
|  |  gpsdo: none
 
|  |  serial: 1566
 
|  |  FW Version: 12.4
 
|  |  FPGA Version: 10.1
 
 
 
Install Stage
 
  
 
The following packages are necessary to continue, (be forewarned they were built for Ubuntu 12.04 x86-64 system). Also this version of openbts was built for uhd devices:
 
The following packages are necessary to continue, (be forewarned they were built for Ubuntu 12.04 x86-64 system). Also this version of openbts was built for uhd devices:
Line 88: Line 84:
 
Install the packages in the following order, (if any dependencies pop-up install them as well):
 
Install the packages in the following order, (if any dependencies pop-up install them as well):
  
sudo dpkg -i a53_1.0-1_amd64.deb
+
sudo dpkg -i a53_1.0-1_amd64.deb
sudo dpkg -i openbts-public_3.2_amd64.deb
+
sudo dpkg -i openbts-public_3.2_amd64.deb
sudo dpkg -i smqueue-public_3.2_amd64.deb
+
sudo dpkg -i smqueue-public_3.2_amd64.deb
sudo dpkg -i sipauthserve-public_3.2_amd64.deb
+
sudo dpkg -i sipauthserve-public_3.2_amd64.deb
  
Running OpenBTS
+
==Running OpenBTS==
  
 
At this point, we should be able to perform a basic sanity check of OpenBTS.
 
At this point, we should be able to perform a basic sanity check of OpenBTS.
  
 
(from OpenBTS root)
 
(from OpenBTS root)
cd /OpenBTS
+
 
sudo ./OpenBTS
+
cd /OpenBTS
 +
sudo ./OpenBTS
  
 
You should see output like this:
 
You should see output like this:
  
system ready
+
system ready
use the OpenBTSCLI utility to access CLI
+
use the OpenBTSCLI utility to access CLI
  
 
And if you scan for GSM towers on your phone, you should see a 00101 (test) network. If you try to attach, it will reject you. This is because OpenBTS, by default, only allows registered handsets to connect. As we are not running our registration server (sipauthserve) no phones will camp. From here, we should look at a few OpenBTS configuration variables. Connect to OpenBTS with the OpenBTSCLI command:
 
And if you scan for GSM towers on your phone, you should see a 00101 (test) network. If you try to attach, it will reject you. This is because OpenBTS, by default, only allows registered handsets to connect. As we are not running our registration server (sipauthserve) no phones will camp. From here, we should look at a few OpenBTS configuration variables. Connect to OpenBTS with the OpenBTSCLI command:
  
 
(from OpenBTS root)
 
(from OpenBTS root)
cd /OpenBTS
+
 
sudo ./OpenBTSCLI
+
cd /OpenBTS
 +
sudo ./OpenBTSCLI
  
 
and then, in the CLI
 
and then, in the CLI
  
config
+
config
  
 
You will see a lot of stock configuration options. You can find these listed here. Most of these only need to be tweaked if you are moving beyond a simple desktop setup. However, a few are required for basic operation. These are:
 
You will see a lot of stock configuration options. You can find these listed here. Most of these only need to be tweaked if you are moving beyond a simple desktop setup. However, a few are required for basic operation. These are:
Line 124: Line 122:
 
The values can be modified from OpenBTSCLI with the config command. For example,
 
The values can be modified from OpenBTSCLI with the config command. For example,
  
config Control.LUR.OpenRegistration .*
+
config Control.LUR.OpenRegistration .*
  
 
to allow registrations from any phone regardless of their provider. Caution: With this config all phones have access, without any restriction. When an antenna is attached, at least your neighbors will connect, so do not try this at home :-)
 
to allow registrations from any phone regardless of their provider. Caution: With this config all phones have access, without any restriction. When an antenna is attached, at least your neighbors will connect, so do not try this at home :-)
  
 
If these steps are complete, you have a working BTS. If they do not, check out the common errors.
 
If these steps are complete, you have a working BTS. If they do not, check out the common errors.
Running sipauthserve
+
 
 +
==Running sipauthserve==
  
 
Running sipauthserve will provide you with a registration server. To do so:
 
Running sipauthserve will provide you with a registration server. To do so:
  
cd /OpenBTS
+
cd /OpenBTS
sudo ./sipauthserve
+
sudo ./sipauthserve
  
 
sipauthserve does not have a CLI, so you'll only see a small output:
 
sipauthserve does not have a CLI, so you'll only see a small output:
Line 155: Line 154:
  
 
Remember, if you change any of the variables, you'll need to restart smqueue for the changes to take effect.
 
Remember, if you change any of the variables, you'll need to restart smqueue for the changes to take effect.
Installing the PBX Freeswitch
+
 
 +
==Installing the PBX Freeswitch==
  
 
FreeSwitch is an up-and-coming Asterisk competitor. Its interoperation with OpenBTS is supported primarily by the group at Berkeley. It provides programmatic voice and text routing, as well as a more flexible programming environment for voice/sms applications at the cost of being buggier and having less support.
 
FreeSwitch is an up-and-coming Asterisk competitor. Its interoperation with OpenBTS is supported primarily by the group at Berkeley. It provides programmatic voice and text routing, as well as a more flexible programming environment for voice/sms applications at the cost of being buggier and having less support.
Install Stage
+
 
 +
==Instalasi Aplikasi Pendukung==
 +
 
 +
apt-get install libpq5 libfreeswitch1
 +
apt-get install freeswitch-music-default freeswitch-sounds-en-us-callie freeswitch-sounds-en-us freeswitch-sounds-en
 +
 
 +
 
 +
==Instalasi Freeswitch==
  
 
Perform the following operations:
 
Perform the following operations:
  
tar -zxvf freeswitch_vanilla.tar.gz
+
cd /usr/local/src
tar -zxvf freeswitch_all.tar.gz
+
tar -zxvf freeswitch_vanilla.tar.gz
cd freeswitch_vanilla
+
tar -zxvf freeswitch_all.tar.gz
 
+
cd /usr/local/src/freeswitch_vanilla
Check if you have the all the following packages in the directory freeswitch_vanilla: Depends: freeswitch-meta-vanilla, freeswitch (= 1.2.12y), freeswitch-mod-console (= 1.2.12y), freeswitch-mod-logfile (= 1.2.12y), freeswitch-mod-enum (= 1.2.12y), freeswitch-mod-cdr-csv (= 1.2.12y), freeswitch-mod-event-socket (= 1.2.12y), freeswitch-mod-sofia (= 1.2.12y), freeswitch-mod-loopback (= 1.2.12y), freeswitch-mod-commands (= 1.2.12y), freeswitch-mod-conference (= 1.2.12y), freeswitch-mod-db (= 1.2.12y), freeswitch-mod-dptools (= 1.2.12y), freeswitch-mod-expr (= 1.2.12y), freeswitch-mod-fifo (= 1.2.12y), freeswitch-mod-hash (= 1.2.12y), freeswitch-mod-voicemail (= 1.2.12y), freeswitch-mod-esf (= 1.2.12y), freeswitch-mod-fsv (= 1.2.12y), freeswitch-mod-cluechoo (= 1.2.12y), freeswitch-mod-valet-parking (= 1.2.12y), freeswitch-mod-httapi (= 1.2.12y), freeswitch-mod-dialplan-xml (= 1.2.12y), freeswitch-mod-dialplan-asterisk (= 1.2.12y), freeswitch-mod-spandsp (= 1.2.12y), freeswitch-mod-g723-1 (= 1.2.12y), freeswitch-mod-g729 (= 1.2.12y), freeswitch-mod-amr (= 1.2.12y), freeswitch-mod-speex (= 1.2.12y), freeswitch-mod-h26x (= 1.2.12y), freeswitch-mod-sndfile (= 1.2.12y), freeswitch-mod-native-file (= 1.2.12y), freeswitch-mod-local-stream (= 1.2.12y), freeswitch-mod-tone-stream (= 1.2.12y), freeswitch-mod-lua (= 1.2.12y), freeswitch-mod-say-en (= 1.2.12y), freeswitch-init (= 1.2.12y), freeswitch-lang (= 1.2.12y), freeswitch-music (= 1.2.12y), freeswitch-sounds (= 1.2.12y), freeswitch-conf-vanilla (= 1.2.12y).
 
  
 
Assuming you have all the necessary packages in the directory run, (note these packages were built for Ubuntu 12.04 x86-64 system):
 
Assuming you have all the necessary packages in the directory run, (note these packages were built for Ubuntu 12.04 x86-64 system):
  
sudo dpkg -i *.deb
+
cd /usr/local/src/freeswitch_vanilla
 +
sudo dpkg -i *.deb
  
 
If the system complains about unmet dependencies cherry pick install debian packages from freeswitch_all.
 
If the system complains about unmet dependencies cherry pick install debian packages from freeswitch_all.
Line 176: Line 183:
 
Now install two extra dependencies, smspdu and libvbts by running, (note make sure to do this in the following order):
 
Now install two extra dependencies, smspdu and libvbts by running, (note make sure to do this in the following order):
  
sudo dpkg -i python-smspdu_1.0-1_all.deb
+
sudo dpkg -i python-smspdu_1.0-1_all.deb
sudo dpkg -i python-libvbts_0.0.1-1_all.deb
+
sudo dpkg -i python-libvbts_0.0.1-1_all.deb
  
Configuration Stage
+
==Configuration Stage==
  
 
Perform the following operations:
 
Perform the following operations:
  
1. In /usr/share/freeswitch/conf/vanilla/dialplan/default.xml change <context name="default"> to <context name="public">.
+
Edit
 +
 
 +
vi /usr/share/freeswitch/conf/vanilla/dialplan/default.xml
 +
 
 +
Ubah
 +
 
 +
<context name="default">
 +
 
 +
Menjadi
 +
 
 +
<context name="public">.
  
2.
+
Lakukan
  
sudo cp -r /usr/share/freeswitch/conf/vanilla/* /etc/freeswitch/
+
mkdir /etc/freeswitch
 +
sudo cp -r /usr/share/freeswitch/conf/vanilla/* /etc/freeswitch/
  
 
Running Freeswitch and Freeswitch Console
 
Running Freeswitch and Freeswitch Console
  
sudo freeswitch
+
sudo freeswitch
sudo fs_cli
+
sudo fs_cli
  
Making an Echo Call
+
==Making an Echo Call==
  
 
Run openbts, openbtscli, smqueue, sipauthserve. In OpenBTSCLI, perform the following operation, substituting address with our inet_address, (which can be found using ifconfig):
 
Run openbts, openbtscli, smqueue, sipauthserve. In OpenBTSCLI, perform the following operation, substituting address with our inet_address, (which can be found using ifconfig):
Line 201: Line 219:
 
   config SIP.Proxy.SMS address:5060
 
   config SIP.Proxy.SMS address:5060
  
Make sure your configurations in OpenBTSCLI also allow you to register your phone. Run freeswitch. Connect your phone to the network and call 9196 (echo). If echo works congratulations. Otherwise refer to debugging tips in BuildInstallRun.
+
Misalnya
Attachments
 
  
    openbts_system_diagram.png Download (45.2 KB) - added by guest 6 weeks ago
+
  config SIP.Proxy.Speech 192.168.0.3:5060
 +
  config SIP.Proxy.SMS 192.168.0.3:5060
  
 +
 +
Coba echo call ke 9196.
  
  
Line 213: Line 233:
 
* https://wush.net/trac/rangepublic/wiki/DebOpenBTS
 
* https://wush.net/trac/rangepublic/wiki/DebOpenBTS
 
* http://vmphone2.cs.berkeley.edu/all_packages/
 
* http://vmphone2.cs.berkeley.edu/all_packages/
 +
* http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTSSettingUpFreeSWITCH
 +
 +
==Pranala Menarik==
 +
 +
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
 +
 +
===Persiapan===
 +
 +
* [[USRP: High Precision Clock]]
 +
* [[USRP: Menyambungkan ClockTamer ke USRP1]]
 +
* [[USRP: Kalibrasi ClockTamer]]
 +
* [[USRP: ClockTamer Control Protocol]]
 +
* [[USRP: ClockTamer Flashing]]
 +
* [[USRP: Instalasi Board]]
 +
* [[OpenBTS: GIT Source Code]]
 +
* [[USRP: Rangkaian Board USRP]]
 +
* [[OpenBTS: Tethr untuk Bencana Alam]]
 +
* [[USRP: Tip Pemesanan]]
 +
 +
===Script===
 +
 +
* [[OpenBTS: Script Membuat GNURadio 3.4.2 di Ubuntu 13.04]]
 +
* [[OpenBTS: Script Membuat OpenBTS dan yate di Ubuntu 13.04]]
 +
* [[OpenBTS: Script Membuat OpenBTS 2.8.0 di RangeNetwork Dev Kit]]
 +
* [[OpenBTS: Script Membuat OpenBTS di RangeNetwork Dev Kit]]
 +
 +
===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: Ubuntu 13.04 Install GNURadio 3.4.2 Clock 52MHz]] ''NOT 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: Ubuntu 13.04 Install OpenBTS 2.6 Clock 52MHz]] ''NOT 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 13.04 Instal GNURadio 3.4.2]] '''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 di Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN 2.8.0 Install Clock 52MHz di Ubuntu 13.04]] '''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 Softswitch install Ubuntu 13.04]] '''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 Cognitive Radio Elsabagh]]
 +
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 +
* [[OpenBTS: Database SQLite]]
 +
* [[OpenBTS: Set SQLite Subscriber Registry secara manual]]
 +
* [[OpenBTS: FreeSWITCH]]
 +
 +
===Multi OpenBTS 2.8===
 +
 +
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED'''
 +
 +
===OpenBTS 3.1.x===
 +
 +
* [[OpenBTS: Install UHD untuk USRP1]]
 +
* [[OpenBTS: UHD Identifikasi Device]]
 +
* [[OpenBTS: OpenBTS 3.1.3 Compile]] '''Tidak bisa untuk USRP1'''
 +
* [[OpenBTS: Yate Compile]]
 +
 +
===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 Konfigurasi Jaringan]]
 +
* [[OpenBTS: E110 Bekerja dengan opkg]]
 +
* [[OpenBTS: E110 Instalasi iptables]]
 +
* [[OpenBTS: E110 GNURadio]]
 +
* [[OpenBTS: E110 Compile UHD]] ''Not Recommended''
 +
* [[OpenBTS: E110 Compile UHD dari Release Bukan git]] ''Not Recommended''
 +
* [[OpenBTS: E110 UHD burn EEPROM RFX Board]] ''Not Recommended''
 +
* [[OpenBTS: E110 Install UHD Image]] ''Not Recommended''
 +
* [[OpenBTS: E110 Instalasi OpenBTS]]
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.6]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Yate Softswitch]]
 +
 +
===Ettus N210===
 +
 +
* [[OpenBTS: N210 Instalasi GPSDO Kit]]
 +
* [[OpenBTS: N210 GNURadio]]
 +
* [[OpenBTS: N210 GNURadio 3.7.0]]
 +
* [[OpenBTS: N210 Instalasi OpenBTS]]
 +
* [[OpenBTS: N210 Instalasi Yate]]
 +
* [[OpenBTS: N210 Yate Config Test]]
 +
* [[OpenBTS: N210 Burn Firmware]]
 +
 +
===RangeNetworks===
 +
 +
* [[OpenBTS: RangeNetwork Default Setting]]
 +
* [[OpenBTS: RangeNetwork Compile GNURadio UHD]]
 +
* [[OpenBTS: RangeNetwork Compile]]
 +
* [[OpenBTS: RangeNetwork Compile OpenBTS 3.1.3]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: RangeNetwork Yate Compile]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: RangeNetwork Web Interface]]
 +
* [[OpenBTS: RangeNetwork Trunk ke Asterisk Lain]]
 +
* [[VoIP: Trunk]]
 +
 +
 +
===GPRS===
 +
 +
* [[OpenBTS: GPRS]]
 +
* [[OpenBTS: GPRS Konfigurasi]]
 +
* [[OpenBTS: GPRS untuk dibelakang Router dengan NAT]]
 +
 +
===Briker OpenBTS===
 +
 +
* [[OpenBTS: Briker]]
 +
 +
===FreeSWITCH OpenBTS===
 +
 +
* [[OpenBTS: FreeSWITCH]]
 +
 +
===Power Amplifier===
 +
 +
* [[Driver 900MHz]]
 +
* [[Power Amplifier 900MHz]]
 +
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
 +
 +
===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]]
 +
* [[OpenBTS: 2013/02/19 - OpenBTS TelkomSel Mengudara di Muscat Oman]]
 +
* [[OpenBTS: Beroperasi di Papua]]
 +
 +
===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)
 +
* http://www.youtube.com/watch?v=Ff_rw4kAOZg&feature=share
 +
 +
===Perjuangan OpenBTS===
 +
 +
* http://www.technologyreview.com/news/522371/how-remote-places-can-get-cellular-coverage-by-doing-it-themselves/?utm_campaign=socialsync&utm_medium=social-post&utm_source=twitter
 +
 +
 +
 +
[[Category: Wireless]]
 +
[[Category: Selular]]

Latest revision as of 11:04, 16 February 2014

Sumber: https://wush.net/trac/rangepublic/wiki/DebOpenBTS


  • Instalasi GNURadio 3.4.2. untuk USRP
  • Instalasi OpenBTS versi terakhir

Note the Package System Only Works on Ubuntu 12.04 running on x86-64 architecture

The packages can be obtained from http://vmphone2.cs.berkeley.edu/all_packages/. Required Libraries/Utilities

Instalasi paket berikut

autoconf
libtool
libosip2
libortp
libusb-1.0
g++
sqlite3
libsqlite3-dev (sipauthserve only)
libreadline6-dev
libncurses5-dev

di turunan debian

sudo apt-get install autoconf libtool libosip2-dev libortp-dev \
libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang libreadline6-dev \
libncurses5-dev

System Diagram

In this diagram, Black links are network connections (SIP). Red links are file system connections (sqlite3 lookups). Blue links are ODBC (network/local DB lookups).

Install OpenBTS, Smqueue, Sipauthserve and the Transceiver All Other Devices (except for USRP1)

All UHD devices from Ettus Research - with the exception of the USRP1 - use the UHD (Universal Hardware Driver) with OpenBTS. In addition, the UmTRX from Fairwaves uses a its own UHD driver, which is API compatible.

UHD devices include the following:

   Ettus Research
       B-Series: B100, B200, B210
       N-Series: N200, N210, USRP2 
   Fairwaves
       UmTRX 

Instructions to install UHD can be found here. Recently released B200 and B210 devices currently require building UHD from the master branch. Released binary versions of UHD are suitable for other devices.

Information on UmTRX and the Fairwaves UHD driver is available here.

To verify proper driver installation, run the uhd_usrp_probe utility installed with the UHD driver. Output should be similar to the following truncated output. Also, to facilitate of FPGA loading times, it is suggested that the uhd_usrp_probe be run at least once after powering on the device and before starting OpenBTS.

$ uhd_usrp_probe 

linux; GNU C++ version 4.8.1 20130603 (Red Hat 4.8.1-1); Boost_105300;  UHD_003.005.004-140-gfb32ed16
-- Opening a USRP2/N-Series device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes
  _____________________________________________________
 /
|       Device: USRP2 / N-Series Device
|     _____________________________________________________
|    /
|   |       Mboard: USRP2 r4
|   |   hardware: 1024
|   |   mac-addr: 00:50:c2:85:36:1e
|   |   ip-addr: 255.255.255.255
|   |   subnet: 255.255.255.255
|   |   gateway: 255.255.255.255
|   |   gpsdo: none
|   |   serial: 1566
|   |   FW Version: 12.4
|   |   FPGA Version: 10.1 

Install Stage

The following packages are necessary to continue, (be forewarned they were built for Ubuntu 12.04 x86-64 system). Also this version of openbts was built for uhd devices:

   openbts-public_3.2_amd64.deb smqueue-public_3.2_amd64.deb sipauthserve-public_3.2_amd64.deb a53_1.0-1_amd64.deb

Install the packages in the following order, (if any dependencies pop-up install them as well):

sudo dpkg -i a53_1.0-1_amd64.deb
sudo dpkg -i openbts-public_3.2_amd64.deb
sudo dpkg -i smqueue-public_3.2_amd64.deb
sudo dpkg -i sipauthserve-public_3.2_amd64.deb

Running OpenBTS

At this point, we should be able to perform a basic sanity check of OpenBTS.

(from OpenBTS root)

cd /OpenBTS
sudo ./OpenBTS

You should see output like this:

system ready
use the OpenBTSCLI utility to access CLI

And if you scan for GSM towers on your phone, you should see a 00101 (test) network. If you try to attach, it will reject you. This is because OpenBTS, by default, only allows registered handsets to connect. As we are not running our registration server (sipauthserve) no phones will camp. From here, we should look at a few OpenBTS configuration variables. Connect to OpenBTS with the OpenBTSCLI command:

(from OpenBTS root)

cd /OpenBTS
sudo ./OpenBTSCLI

and then, in the CLI

config

You will see a lot of stock configuration options. You can find these listed here. Most of these only need to be tweaked if you are moving beyond a simple desktop setup. However, a few are required for basic operation. These are:

   GSM.Radio.Band - Set this to the GSM band appropriate for your hardware.
   GSM.Radio.C0 - This is the  ARFCN. Set it to something appropriate for your band.
   Control.LUR.OpenRegistration - Set this to a  regular expression matching the IMSIs of your test phones. This tells OpenBTS to not reject your handset just because your registration server (below) isn't responding. Useful for debugging and initializing the system. 

The values can be modified from OpenBTSCLI with the config command. For example,

config Control.LUR.OpenRegistration .*

to allow registrations from any phone regardless of their provider. Caution: With this config all phones have access, without any restriction. When an antenna is attached, at least your neighbors will connect, so do not try this at home :-)

If these steps are complete, you have a working BTS. If they do not, check out the common errors.

Running sipauthserve

Running sipauthserve will provide you with a registration server. To do so:

cd /OpenBTS
sudo ./sipauthserve

sipauthserve does not have a CLI, so you'll only see a small output:

ALERT 139639310980928 sipauthserve.cpp:214:main: ./sipauthserve (re)starting

Remember, if you change any of the config variables, you'll need to restart sipauthserve for the changes to take effect. Running Smqueue

Smqueue is run with the following command:

(from the smqueue directory) cd /OpenBTS sudo ./smqueue

Smqueue does not have a command-line interface, instead just reading configuration values and processing messages. So you'll only see a small output:

ALERT 140545832068928 smqueue.cpp:2421:main: smqueue (re)starting smqueue logs to syslogd facility LOCAL7, so there's not much to see here

Remember, if you change any of the variables, you'll need to restart smqueue for the changes to take effect.

Installing the PBX Freeswitch

FreeSwitch is an up-and-coming Asterisk competitor. Its interoperation with OpenBTS is supported primarily by the group at Berkeley. It provides programmatic voice and text routing, as well as a more flexible programming environment for voice/sms applications at the cost of being buggier and having less support.

Instalasi Aplikasi Pendukung

apt-get install libpq5 libfreeswitch1
apt-get install freeswitch-music-default freeswitch-sounds-en-us-callie freeswitch-sounds-en-us freeswitch-sounds-en


Instalasi Freeswitch

Perform the following operations:

cd /usr/local/src
tar -zxvf freeswitch_vanilla.tar.gz
tar -zxvf freeswitch_all.tar.gz
cd /usr/local/src/freeswitch_vanilla

Assuming you have all the necessary packages in the directory run, (note these packages were built for Ubuntu 12.04 x86-64 system):

cd /usr/local/src/freeswitch_vanilla
sudo dpkg -i *.deb

If the system complains about unmet dependencies cherry pick install debian packages from freeswitch_all.

Now install two extra dependencies, smspdu and libvbts by running, (note make sure to do this in the following order):

sudo dpkg -i python-smspdu_1.0-1_all.deb
sudo dpkg -i python-libvbts_0.0.1-1_all.deb

Configuration Stage

Perform the following operations:

Edit

vi /usr/share/freeswitch/conf/vanilla/dialplan/default.xml

Ubah

<context name="default">

Menjadi

<context name="public">.

Lakukan

mkdir /etc/freeswitch
sudo cp -r /usr/share/freeswitch/conf/vanilla/* /etc/freeswitch/

Running Freeswitch and Freeswitch Console

sudo freeswitch
sudo fs_cli

Making an Echo Call

Run openbts, openbtscli, smqueue, sipauthserve. In OpenBTSCLI, perform the following operation, substituting address with our inet_address, (which can be found using ifconfig):

 config SIP.Proxy.Speech address:5060
 config SIP.Proxy.SMS address:5060

Misalnya

 config SIP.Proxy.Speech 192.168.0.3:5060
 config SIP.Proxy.SMS 192.168.0.3:5060


Coba echo call ke 9196.


Referensi

Pranala Menarik

Persiapan

Script

OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

OpenBTS 3.1.x

Ettus E110

Ettus N210

RangeNetworks


GPRS

Briker OpenBTS

FreeSWITCH OpenBTS

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video

Perjuangan OpenBTS