Difference between revisions of "Compile OpenSIPS"

From OnnoWiki
Jump to navigation Jump to search
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
==Siapkan Software Pendukung==
 
==Siapkan Software Pendukung==
 +
 +
Untuk [[Ubuntu]] 14.04 dapat menggunakan perintah berikut
 +
 +
apt-get install flex bison gcc make libperl5.18 libperl-dev libxmlrpc-core-c3 libxmlrpc-core-c3-dev \
 +
unixodbc unixodbc-dev libradiusclient-ng2 libradiusclient-ng-dev libxml2 openssl libsctp1 libsctp-dev \
 +
libexpat1 libexpat1-dev libldap-2.4-2 libldap2-dev libconfuse0 libconfuse-dev \
 +
libmysqlclient-dev mysql-client-5.5 mysql-server zlib1g zlib1g-dev  libmysql++3 libmysql++-dev libpcre3 \
 +
libpcre3-dbg libpcre3-dev libsnmp30 libsnmp-base libncurses5-dev libxml2-dev libsctp-dev libssl-dev
  
 
Untuk [[Ubuntu]] 13.04 dapat menggunakan perintah berikut
 
Untuk [[Ubuntu]] 13.04 dapat menggunakan perintah berikut
Line 7: Line 15:
 
  libexpat1 libexpat1-dev libldap-2.4-2 libldap2-dev libsnmp15 libsnmp-dev libconfuse0 libconfuse-dev \
 
  libexpat1 libexpat1-dev libldap-2.4-2 libldap2-dev libsnmp15 libsnmp-dev libconfuse0 libconfuse-dev \
 
  libmysqlclient-dev mysql-client-5.5 mysql-server zlib1g zlib1g-dev  libmysql++3 libmysql++-dev libpcre3 \
 
  libmysqlclient-dev mysql-client-5.5 mysql-server zlib1g zlib1g-dev  libmysql++3 libmysql++-dev libpcre3 \
  libpcre3-dbg libpcre3-dev
+
  libpcre3-dbg libpcre3-dev ncurses-dev
  
 
Untuk [[Ubuntu]] 10.10 dapat menggunakan perintah berikut
 
Untuk [[Ubuntu]] 10.10 dapat menggunakan perintah berikut
Line 62: Line 70:
 
  http://www.opensips.org/index.php?n=Resources.Downloads#osipsf
 
  http://www.opensips.org/index.php?n=Resources.Downloads#osipsf
 
  http://opensips.org/pub/opensips/1.10.0/src/
 
  http://opensips.org/pub/opensips/1.10.0/src/
  http://opensips.org/pub/opensips/latest/src/
+
  http://opensips.org/pub/opensips/latest/
 
Jika anda tidak menggunakan TLS, lakukan
 
  
sudo su -
 
cp opensips-1.6.4-2-notls_src.tar.gz /usr/local/src/
 
 
  cd /usr/local/src/
 
  cd /usr/local/src/
  tar zxvf opensips-1.6.4-2-notls_src.tar.gz  
+
  wget http://opensips.org/pub/opensips/latest/opensips-2.2.2.tar.gz
cd opensips-1.6.4-2-notls
+
 
 +
Jika anda menggunakan versi 2.2.2, lakukan
  
Jika anda menggunakan TLS, lakukan
 
  
sudo su -
 
cp opensips-1.6.4-2-tls_src.tar.gz /usr/local/src/
 
 
  cd /usr/local/src/
 
  cd /usr/local/src/
  tar zxvf opensips-1.6.4-2-tls_src.tar.gz
+
  tar zxvf opensips-2.2.2.tar.gz  
  cd opensips-1.6.4-2-tls
+
  cd /usr/local/src/opensips-2.2.2
 +
 
 +
==menuconfig==
  
Jika anda menggunakan versi 1.10.0, lakukan
+
Lakukan
  
sudo su -
+
  cd /usr/local/src/opensips-2.2.2
cp opensips-1.10.0_src.tar.gz /usr/local/src/
+
make menuconfig
  cd /usr/local/src/
+
 
tar zxvf opensips-1.10.0_src.tar.gz  
+
Pilih
  cd opensips-1.10.0-tls/
+
 
 +
Configure Compile Options
 +
  Configure Excluded Modules
 +
    [*] pi_http
 +
    [*] proto_sctp
 +
    [*] proto_tls
 +
  Save Changes
 +
 +
Generate OpenSIPS Script
 +
  Residential Script
 +
    Configure Residential Script
 +
      [*] ENABLE_TCP
 +
      [*] ENABLE_TLS
 +
      [*] USE_NAT
 +
      [*] USE_HTTP_MANAGEMENT_INTERFACE
 +
    Save Residential Script
 +
    Generate Residential Script
 +
 +
  Compile And Install OpenSIPS
 +
  Exit & Save All Changes
  
 
==Compile==
 
==Compile==
Line 92: Line 115:
 
Sebaiknya [[compile]] dan install sekaligus dengan modul "acc", "mysql", "textops", "sl", "db_mysql" dan "enum" melalui perintah
 
Sebaiknya [[compile]] dan install sekaligus dengan modul "acc", "mysql", "textops", "sl", "db_mysql" dan "enum" melalui perintah
  
  '''make all && make include_modules="acc mysql textops sl enum db_mysql" modules && make install'''
+
  '''make clean && make all && make include_modules="acc mysql textops sl enum db_mysql tls" modules && make install'''
 
 
Copykan scripts ke /usr/local/src/opensips/opensipsctl
 
 
 
cp -Rf /usr/local/src/opensips-1.6.4-2-tls/scripts/* /usr/local/lib/opensips/opensipsctl
 
  
atau
+
Copykan scripts
  
  cp -Rf /usr/local/src/opensips-1.6.4-2-notls/scripts/* /usr/local/lib/opensips/opensipsctl
+
mkdir -p /usr/local/lib/opensips/opensipsctl/
 +
  cp -Rf /usr/local/src/opensips-2.2.2/scripts/* /usr/local/lib/opensips/opensipsctl/
  
 
===Cara yang lebih konservatif===
 
===Cara yang lebih konservatif===
Line 108: Line 128:
 
  make
 
  make
 
  make modules
 
  make modules
 +
 +
Copykan scripts
 +
 +
mkdir -p /usr/local/lib/opensips/opensipsctl/
 +
cp -Rf /usr/local/src/opensips-2.2.2/scripts/* /usr/local/lib/opensips/opensipsctl/
 +
 +
atau
 +
 
  make install
 
  make install
  
Line 128: Line 156:
  
 
  /usr/local/etc/opensips
 
  /usr/local/etc/opensips
 +
 +
Pastikan
 +
 +
vi /usr/local/etc/opensips/opensips.cfg
 +
 +
Set dengan IP server
 +
 +
listen=udp:127.0.0.1:5060  # CUSTOMIZE ME
  
 
Lakukan [[OpenSIPS: Cek Konfigurasi | cek konfigurasi]] ada kesalahan dalam konfigurasi file
 
Lakukan [[OpenSIPS: Cek Konfigurasi | cek konfigurasi]] ada kesalahan dalam konfigurasi file
  
  # opensips -c -f /usr/local/etc/opensips/opensips.cfg
+
  opensips -c -f /usr/local/etc/opensips/opensips.cfg
  
 
==Beberapa Bug di versi < 1.6.2==
 
==Beberapa Bug di versi < 1.6.2==
Line 139: Line 175:
 
Edit /usr/local/etc/opensips/opensips.cfg
 
Edit /usr/local/etc/opensips/opensips.cfg
  
  # vi /usr/local/etc/opensips/opensips.cfg
+
  vi /usr/local/etc/opensips/opensips.cfg
  
 
Pastikan
 
Pastikan
Line 147: Line 183:
 
Lakukan
 
Lakukan
  
  # touch /tmp/opensips_fifo
+
  rm -Rf /tmp/opensips_fifo
 +
touch /tmp/opensips_fifo
  
 
===scripts untuk opensipsctl===
 
===scripts untuk opensipsctl===
Line 161: Line 198:
 
  cp -Rf /usr/local/src/opensips-1.6.4-2-tls/scripts/* /usr/local/lib/opensips/opensipsctl
 
  cp -Rf /usr/local/src/opensips-1.6.4-2-tls/scripts/* /usr/local/lib/opensips/opensipsctl
  
===copy modul .so ke folder lib/modules===
+
===copy modul .so ke folder lib64/modules===
  
 
Cek terlebih dulu
 
Cek terlebih dulu
  
  ls /usr/local/lib/opensips/modules
+
  ls /usr/local/lib64/opensips/modules
 
 
jika modules yang kita inginkan tidak ada; Kita kadang kala perlu mengcopy secara manual
 
 
 
cp /usr/local/src/opensips-1.6.4-2-notls/modules/db_mysql/db_mysql.so /usr/local/lib/opensips/modules
 
cp /usr/local/src/opensips-1.6.4-2-notls/modules/sl/sl.so /usr/local/lib/opensips/modules
 
cp /usr/local/src/opensips-1.6.4-2-notls/modules/textops/textops.so /usr/local/lib/opensips/modules
 
cp /usr/local/src/opensips-1.6.4-2-notls/modules/enum/enum.so /usr/local/lib/opensips/modules
 
  
 
Atau jika anda mengcompile di /usr/local/src kemungkinan path yang dibutuhkan adalah
 
Atau jika anda mengcompile di /usr/local/src kemungkinan path yang dibutuhkan adalah
  
  cp /usr/local/src/opensips-1.6.4-2-tls/modules/db_mysql/db_mysql.so /usr/local/lib/opensips/modules
+
  cp /usr/local/src/opensips-1.10.0-tls/modules/db_mysql/db_mysql.so /usr/local/lib64/opensips/modules
  cp /usr/local/src/opensips-1.6.4-2-tls/modules/sl/sl.so /usr/local/lib/opensips/modules
+
  cp /usr/local/src/opensips-1.10.0-tls/modules/sl/sl.so /usr/local/lib64/opensips/modules
  cp /usr/local/src/opensips-1.6.4-2-tls/modules/textops/textops.so /usr/local/lib/opensips/modules
+
  cp /usr/local/src/opensips-1.10.0-tls/modules/textops/textops.so /usr/local/lib64/opensips/modules
  cp /usr/local/src/opensips-1.6.4-2-tls/modules/enum/enum.so /usr/local/lib/opensips/modules
+
  cp /usr/local/src/opensips-1.10.0-tls/modules/enum/enum.so /usr/local/lib64/opensips/modules
 +
cp /usr/local/src/opensips-1.10.0-tls/modules/sl/sl.so /usr/local/lib64/opensips/modules
  
 
==Pranala Menarik==
 
==Pranala Menarik==
  
 +
* [[OpenSIPS]]
 
* [[OpenSIPS Softswitch]]
 
* [[OpenSIPS Softswitch]]
 +
* [[Compile OpenSIPS]]
 
* [[OpenSIPS: Cek Konfigurasi]]
 
* [[OpenSIPS: Cek Konfigurasi]]
 +
* [[OpenSIPS: Demo Dial Plan]]
 
* [[Menggunakan opensipsdbctl]]
 
* [[Menggunakan opensipsdbctl]]
 
* [[Menggunakan opensipsctl]]
 
* [[Menggunakan opensipsctl]]
* [[Konfigurasi Minimal OpenSIPS]]
+
* [[Konfigurasi minimal OpenSIPS]]
 +
* [[OpenSIPS: Demo User]]
 +
* [[Relay ke PSTN Menggunakan OpenSIPS]]
 +
* [[Relay ke Selular Menggunakan OpenSIPS]]
 +
* [[OpenSIPS: Rewrite URI]]
 
* [[ENUM Query di OpenSIPS]]
 
* [[ENUM Query di OpenSIPS]]
* [[Linux Howto]]
+
* [[OpenSIPS: Menjalankan Softswitch]]
* [[VoIP]]
 

Latest revision as of 10:50, 21 October 2016

Siapkan Software Pendukung

Untuk Ubuntu 14.04 dapat menggunakan perintah berikut

apt-get install flex bison gcc make libperl5.18 libperl-dev libxmlrpc-core-c3 libxmlrpc-core-c3-dev \
unixodbc unixodbc-dev libradiusclient-ng2 libradiusclient-ng-dev libxml2 openssl libsctp1 libsctp-dev \
libexpat1 libexpat1-dev libldap-2.4-2 libldap2-dev libconfuse0 libconfuse-dev \
libmysqlclient-dev mysql-client-5.5 mysql-server zlib1g zlib1g-dev  libmysql++3 libmysql++-dev libpcre3 \
libpcre3-dbg libpcre3-dev libsnmp30 libsnmp-base libncurses5-dev libxml2-dev libsctp-dev libssl-dev

Untuk Ubuntu 13.04 dapat menggunakan perintah berikut

apt-get install flex bison gcc make libperl5.14 libperl-dev libxmlrpc-core-c3 libxmlrpc-c3-dev \
unixodbc unixodbc-dev libradiusclient-ng2 libradiusclient-ng-dev libxml2 openssl libsctp1 libsctp-dev \
libexpat1 libexpat1-dev libldap-2.4-2 libldap2-dev libsnmp15 libsnmp-dev libconfuse0 libconfuse-dev \
libmysqlclient-dev mysql-client-5.5 mysql-server zlib1g zlib1g-dev  libmysql++3 libmysql++-dev libpcre3 \
libpcre3-dbg libpcre3-dev ncurses-dev

Untuk Ubuntu 10.10 dapat menggunakan perintah berikut

apt-get install flex bison gcc make libperl5.10 libperl-dev libxmlrpc-c3 libxmlrpc-c3-dev \
unixodbc unixodbc-dev libradiusclient-ng2 libradiusclient-ng-dev libxml2 openssl libsctp1 libsctp-dev \
libexpat1 libexpat1-dev libldap-2.4-2 libldap2-dev libsnmp15 libsnmp-dev libconfuse0 libconfuse-dev \
libmysqlclient-dev mysql-client-5.1 mysql-server zlib1g zlib1g-dev \
libmysql++3 libmysql++-dev libpcre3 libpcre3-dbg libpcre3-dev

Untuk Ubuntu 9.10, 10.04 dapat menggunakan perintah berikut

apt-get install flex bison gcc make libperl5.10 libperl-dev libxmlrpc-c3 libxmlrpc-c3-dev \
unixodbc unixodbc-dev libradiusclient-ng2 libradiusclient-ng-dev libxml2 openssl libsctp1 libsctp-dev \
libexpat1 libexpat1-dev libldap-2.4-2 libldap2-dev libsnmp15 libsnmp-dev libconfuse0 libconfuse-dev \
libmysqlclient16 libmysqlclient-dev mysql-client-5.1 mysql-server zlib1g zlib1g-dev \
libmysql++3 libmysql++-dev libpcre3 libpcre3-dbg libpcre3-dev


Untuk Ubuntu 8.10 & 9.04 dapat menggunakan perintah berikut

apt-get install flex bison gcc make libperl5.10 libperl-dev libxmlrpc-c3 libxmlrpc-c3-dev \
unixodbc unixodbc-dev libradiusclient-ng2 libradiusclient-ng-dev libxml2 openssl libsctp1 libsctp-dev \
libexpat1 libexpat1-dev libldap-2.4-2 libldap2-dev libsnmp15 libsnmp-dev libconfuse0 libconfuse-dev \
libmysqlclient15off libmysqlclient15-dev mysql-client-5.0 mysql-server zlib1g zlib1g-dev \
libmysql++3 libmysql++-dev

Untuk Ubuntu 8.04 dapat menggunakan perintah berikut

apt-get install flex bison gcc make libperl5.8 libperl-dev libxmlrpc-c3 libxmlrpc-c3-dev \
unixodbc unixodbc-dev libradiusclient-ng2 libradiusclient-ng-dev libxml2 openssl libsctp1 libsctp-dev \
libexpat1 libexpat1-dev libldap-2.4-2 libldap2-dev libsnmp15 libsnmp-dev libconfuse0 libconfuse-dev \
libmysqlclient15off libmysqlclient15-dev mysql-client-5.0 mysql-server zlib1g zlib1g-dev

Untuk Ubuntu 7.10 dapat menggunakan perintah berikut

apt-get install flex bison gcc make libperl5.8 libperl-dev libxmlrpc-c3 libxmlrpc-c3-dev \
unixodbc unixodbc-dev libradiusclient-ng2 libradiusclient-ng-dev libxml2 openssl libsctp1 libsctp-dev \
libexpat1 libexpat1-dev libldap2 libldap2-dev libsnmp10 libsnmp-dev libconfuse0 libconfuse-dev \
libmysqlclient15off libmysqlclient15-dev mysql-client-5.0 mysql-server zlib1g zlib1g-dev


Jika kita ingin menggunakan PostgresQL, kita perlu menginstalasi PostgresQL melalui perintah

apt-get install libpq5 libpq-dev

Ambil dan Buka Source Code OpenSIPS

Ambil source code dari

http://opensips.org/pub/opensips/
http://www.opensips.org/index.php?n=Resources.Downloads#osippub
http://www.opensips.org/index.php?n=Resources.Downloads#osipsf
http://opensips.org/pub/opensips/1.10.0/src/
http://opensips.org/pub/opensips/latest/
cd /usr/local/src/
wget http://opensips.org/pub/opensips/latest/opensips-2.2.2.tar.gz

Jika anda menggunakan versi 2.2.2, lakukan


cd /usr/local/src/
tar zxvf opensips-2.2.2.tar.gz   
cd /usr/local/src/opensips-2.2.2

menuconfig

Lakukan

cd /usr/local/src/opensips-2.2.2
make menuconfig

Pilih

Configure Compile Options 
  Configure Excluded Modules 
    [*] pi_http
    [*] proto_sctp
    [*] proto_tls
  Save Changes

Generate OpenSIPS Script
  Residential Script
    Configure Residential Script 
      [*] ENABLE_TCP
      [*] ENABLE_TLS
      [*] USE_NAT
      [*] USE_HTTP_MANAGEMENT_INTERFACE
    Save Residential Script
    Generate Residential Script

Compile And Install OpenSIPS 
Exit & Save All Changes

Compile

Sebaiknya compile dan install sekaligus dengan modul "acc", "mysql", "textops", "sl", "db_mysql" dan "enum" melalui perintah

make clean && make all && make include_modules="acc mysql textops sl enum db_mysql tls" modules && make install

Copykan scripts

mkdir -p /usr/local/lib/opensips/opensipsctl/
cp -Rf /usr/local/src/opensips-2.2.2/scripts/* /usr/local/lib/opensips/opensipsctl/

Cara yang lebih konservatif

Compile menggunakan perintah

make
make modules

Copykan scripts

mkdir -p /usr/local/lib/opensips/opensipsctl/
cp -Rf /usr/local/src/opensips-2.2.2/scripts/* /usr/local/lib/opensips/opensipsctl/

atau

make install

Atau

make && make modules && make install

Atau

make all && make install

Jika anda ingin menginstalasi OpenSIPS di folder /usr/sbin, maka sebaiknya kita install menggunakan perintah

make prefix=/usr/ install

Konfigurasi Dasar OpenSIPS

Semua file konfigurasi openser hasil compile terdapat di

/usr/local/etc/opensips

Pastikan

vi /usr/local/etc/opensips/opensips.cfg

Set dengan IP server

listen=udp:127.0.0.1:5060   # CUSTOMIZE ME

Lakukan cek konfigurasi ada kesalahan dalam konfigurasi file

opensips -c -f /usr/local/etc/opensips/opensips.cfg

Beberapa Bug di versi < 1.6.2

file /tmp/opensips_fifo

Edit /usr/local/etc/opensips/opensips.cfg

vi /usr/local/etc/opensips/opensips.cfg

Pastikan

modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")

Lakukan

rm -Rf /tmp/opensips_fifo
touch /tmp/opensips_fifo

scripts untuk opensipsctl

Kadang kala ada bug dalam proses instalasi, entah kenapa tidak semua module tercopy ke folder yang benar.

Copykan scripts ke /usr/local/lib/opensips/opensipsctl

cp -Rf /usr/local/src/opensips-1.6.4-2-notls/scripts/* /usr/local/lib/opensips/opensipsctl

atau

cp -Rf /usr/local/src/opensips-1.6.4-2-tls/scripts/* /usr/local/lib/opensips/opensipsctl

copy modul .so ke folder lib64/modules

Cek terlebih dulu

ls /usr/local/lib64/opensips/modules

Atau jika anda mengcompile di /usr/local/src kemungkinan path yang dibutuhkan adalah

cp /usr/local/src/opensips-1.10.0-tls/modules/db_mysql/db_mysql.so /usr/local/lib64/opensips/modules
cp /usr/local/src/opensips-1.10.0-tls/modules/sl/sl.so /usr/local/lib64/opensips/modules
cp /usr/local/src/opensips-1.10.0-tls/modules/textops/textops.so /usr/local/lib64/opensips/modules
cp /usr/local/src/opensips-1.10.0-tls/modules/enum/enum.so /usr/local/lib64/opensips/modules
cp /usr/local/src/opensips-1.10.0-tls/modules/sl/sl.so /usr/local/lib64/opensips/modules

Pranala Menarik