SERWEB Menggunakan OpenSER: Difference between revisions

From OnnoCenterWiki
Jump to navigationJump to search
Onnowpurbo (talk | contribs)
New page: Install software pendukung # pear install MDB2 # pear install DB # pear install lOG # pear install XML_RPC Install runkit karena Ubuntu terbaru mengunakan PHP 5 # apt-get install ...
 
Onnowpurbo (talk | contribs)
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 13: Line 13:
Kemungkinan gagal tinggi dalam menginstalasi runkit masih banyak bug di runkit, kalau ada punya nyali ada baiknya mengedit source code runkit jika terjadi bug
Kemungkinan gagal tinggi dalam menginstalasi runkit masih banyak bug di runkit, kalau ada punya nyali ada baiknya mengedit source code runkit jika terjadi bug


Jangan lupa mengaktifkan extension tersebut
# cd /tmp/pear/cache/runkit-0.9/
# vi runkit_import.c
 
Buang kalimat
 
#ifdef ZEND_ENGINE_2
    zend_unmangle_property_name(key, &cname, &pname);
#endif
 
Save file runkit_import.c, lakukan
 
# ./configure
# make
# make install
# make test (untuk melihat apakah runkit berjala dengan benar)
 
Jangan lupa mengaktifkan extension runkit.so tersebut


  # vi /etc/php5/apache2/php.ini
  # vi /etc/php5/apache2/php.ini


Pastikan
Pastikan ada


  extension=runkit.so
  extension=runkit.so
Line 24: Line 40:


  # /etc/init.d/apache2 restart
  # /etc/init.d/apache2 restart
----
Ambil source code SERWEB dari
http://ftp.iptel.org/pub/serweb/
Copykan source code SERWEB ke Folder Web
# cp serweb-0.9.6.tar.gz /var/www/
# cd /var/www
# tar zxvf serweb-0.9.6.tar.gz
# mv serweb-0.9.6 serweb
# chown -Rf www-data /var/www/serweb
# cp -Rf /var/www/serweb/phplib/ /var/www
# chown -Rf www-data /var/www/phplib
----
Edit konfigurasi Apache agar ada alias utk SERWEB
# vi /etc/apache2/httpd.conf
Isi dengan entry
Alias /serweb "/var/www/serweb/html"
Ubah konfigurasi SERWEB agar sesuai dengan OpenSER
ikuti langkah yang dijelaskan di VoIP-Info
http://www.voip-info.org/wiki/view/OpenSER+1.1.x+and+SerWEB+0.9.4
sebagai berikut ..
----
Edit file /var/www/serweb/config/config_data_layer.php
# vi /var/www/serweb/config/config_data_layer.php
Ubah parameter berikut agar cocok dengan openser
$i=0;
$config->data_sql->host[$i]['host']="localhost";        //database host
$config->data_sql->host[$i]['port']="";                //database port - leave empty for default
$config->data_sql->host[$i]['name']="openser";          //database name
$config->data_sql->host[$i]['user']="openser";          //database conection user
$config->data_sql->host[$i]['pass']="openserrw";        //database conection password
// If you want to configure additional backup SQL servers, do so below.
/*
$i++;
$config->data_sql->host[$i]['host']="localhost";        //database host
$config->data_sql->host[$i]['port']="";                //database port - leave empty for default
$config->data_sql->host[$i]['name']="openser";          //database name
$config->data_sql->host[$i]['user']="openser";          //database conection user
$config->data_sql->host[$i]['pass']="openserrw";        //database conection password
*/
// If you want to configure more SQL backup servers, copy and paste the above (including the "$i++;")
Lanjut ..
- $config->data_sql->table_user_preferences_types="preferences_types";
+ $config->data_sql->table_user_preferences_types="usr_preferences_types";
Lanjut
- $config->fifo_server="/tmp/ser_fifo";
+ $config->fifo_server="/tmp/openser_fifo";
----
Edit /var/www/serweb/config/config_paths.php
# vi /var/www/serweb/config/config_paths.php
Edit
- $config->fifo_server="/tmp/ser_fifo";
+ $config->fifo_server="/tmp/openser_fifo";
----
Edit /var/www/serweb/data_layer/method.add_contact.php
# vi /var/www/serweb/data_layer/method.add_contact.php
Lakukan
-
- ($config->ul_replication ? // if replication is supported by FIFO
- $replication."\n":
- "").
-
- ($config->ul_flags ? // if flags is supported by FIFO
- $flags."\n":
- "").
-
- "\n";
+ "0\n128\n4294967295\n"; // replication/flags/methods
----
Edit /var/www/serweb/data_layer/method.add_new_alias.php
# vi /var/www/serweb/data_layer/method.add_new_alias.php
Lakukan
+ "0\n128\n4294967295\n"; // replication/flags/methods
- ($config->ul_replication ? // if replication is supported by FIFO
- $replication."\n":
- "").
-
- ($config->ul_flags ? // if flags is supported by FIFO
- $flags."\n":
- "").
-
- "\n";
----
Edit /var/www/serweb/data_layer/method.get_acc_entries.php
# vi /var/www/serweb/data_layer/method.get_acc_entries.php
Lakukan pada line 301
$q = "(".$this->acc_sql['select_out'].", 'outgoing' as call_type ".
          $this->acc_sql['from_1'].
          $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain').
- "and t1.caller_deleted != '1' ".
      ")";
      else
$q = "(".$this->acc_sql['select_out'].", 'outgoing' as call_type ".
          $this->acc_sql['from_1'].
          $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain').
- "and t1.caller_deleted != '1' ".
      ") union (".
          $this->acc_sql['select_out'].", 'outgoing' as call_type ".
          $this->acc_sql['from_2'].
          $this->acc_sql['where_2']." and ".$this->get_indexing_sql_where_phrase($user, 't2.callee_UUID', 't2.username', 't2.domain').
- "and t2.callee_deleted != '1' ".
      ")";
return $q;
Lakukan pada line 326
if ($config->users_indexed_by=='uuid'){
    $q[] = "select count(*) ".
    $this->acc_sql['from_1'].
-  $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain').
-  " and t1.caller_deleted != '1' ";
+  $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain');
  }
else{
$q[] = "select count(*) ".
    $this->acc_sql['from_1'].
-  $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain').
-  " and t1.caller_deleted != '1' ";
+  $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain');
$q[] = "select count(*) ".
    $this->acc_sql['from_2'].
-  $this->acc_sql['where_2']." and ".$this->get_indexing_sql_where_phrase($user, 't2.callee_UUID', 't2.username', 't2.domain').
-  " and t2.callee_deleted != '1' ";
+  $this->acc_sql['where_2']." and ".$this->get_indexing_sql_where_phrase($user, 't2.callee_UUID', 't2.username', 't2.domain');
  }
return $q;
}
----
Edit /var/www/serweb/html/main_prepend.php
# vi /var/www/serweb/html/main_prepend.php
Lakukan edit pada line 38
require_once 'DB.php';
//require PEAR XML_RPC class
-require_once 'XML/RPC.php';
-require_once ($_SERWEB["serwebdir"] . "xml_rpc_patch.php");
+//require_once 'XML/RPC.php';
+//require_once ($_SERWEB["serwebdir"] . "xml_rpc_patch.php");
----
Langkah lain. Ambil file patch di atas di
http://www.openser.org/downloads/serweb-0.9.4-openser-1.1.0.patch.
Lakukan patch pada serweb-0.9.4.tar.gz sebagai berikut
# tar xvfz serweb-0.9.4.tar.gz
# cd serweb-0.9.4
# patch -p1<serweb-0.9.4-openser-1.1.0.patch
==Pranala Menarik==
* [[VoIP]]

Latest revision as of 07:24, 10 March 2008

Install software pendukung

# pear install MDB2
# pear install DB
# pear install lOG
# pear install XML_RPC

Install runkit karena Ubuntu terbaru mengunakan PHP 5

# apt-get install php5-dev
# pecl install -f runkit

Kemungkinan gagal tinggi dalam menginstalasi runkit masih banyak bug di runkit, kalau ada punya nyali ada baiknya mengedit source code runkit jika terjadi bug

# cd /tmp/pear/cache/runkit-0.9/
# vi runkit_import.c

Buang kalimat

#ifdef ZEND_ENGINE_2
   zend_unmangle_property_name(key, &cname, &pname);
#endif

Save file runkit_import.c, lakukan

# ./configure
# make
# make install
# make test (untuk melihat apakah runkit berjala dengan benar)

Jangan lupa mengaktifkan extension runkit.so tersebut

# vi /etc/php5/apache2/php.ini

Pastikan ada

extension=runkit.so

Jangan lupa untuk me-restart Apache Web Server

# /etc/init.d/apache2 restart



Ambil source code SERWEB dari

http://ftp.iptel.org/pub/serweb/

Copykan source code SERWEB ke Folder Web

# cp serweb-0.9.6.tar.gz /var/www/
# cd /var/www
# tar zxvf serweb-0.9.6.tar.gz
# mv serweb-0.9.6 serweb
# chown -Rf www-data /var/www/serweb


# cp -Rf /var/www/serweb/phplib/ /var/www
# chown -Rf www-data /var/www/phplib



Edit konfigurasi Apache agar ada alias utk SERWEB

# vi /etc/apache2/httpd.conf

Isi dengan entry

Alias /serweb "/var/www/serweb/html"


Ubah konfigurasi SERWEB agar sesuai dengan OpenSER ikuti langkah yang dijelaskan di VoIP-Info http://www.voip-info.org/wiki/view/OpenSER+1.1.x+and+SerWEB+0.9.4 sebagai berikut ..




Edit file /var/www/serweb/config/config_data_layer.php

# vi /var/www/serweb/config/config_data_layer.php

Ubah parameter berikut agar cocok dengan openser

$i=0;
$config->data_sql->host[$i]['host']="localhost";        //database host
$config->data_sql->host[$i]['port']="";                 //database port - leave empty for default
$config->data_sql->host[$i]['name']="openser";          //database name
$config->data_sql->host[$i]['user']="openser";          //database conection user
$config->data_sql->host[$i]['pass']="openserrw";        //database conection password
// If you want to configure additional backup SQL servers, do so below.
/*
$i++;
$config->data_sql->host[$i]['host']="localhost";        //database host
$config->data_sql->host[$i]['port']="";                 //database port - leave empty for default
$config->data_sql->host[$i]['name']="openser";          //database name
$config->data_sql->host[$i]['user']="openser";          //database conection user
$config->data_sql->host[$i]['pass']="openserrw";        //database conection password
*/
// If you want to configure more SQL backup servers, copy and paste the above (including the "$i++;")


Lanjut ..

- $config->data_sql->table_user_preferences_types="preferences_types";
+ $config->data_sql->table_user_preferences_types="usr_preferences_types";


Lanjut

- $config->fifo_server="/tmp/ser_fifo";
+ $config->fifo_server="/tmp/openser_fifo";



Edit /var/www/serweb/config/config_paths.php

# vi /var/www/serweb/config/config_paths.php

Edit

- $config->fifo_server="/tmp/ser_fifo";
+ $config->fifo_server="/tmp/openser_fifo";



Edit /var/www/serweb/data_layer/method.add_contact.php

# vi /var/www/serweb/data_layer/method.add_contact.php 

Lakukan

-
- ($config->ul_replication ? 			// if replication is supported by FIFO 
-		$replication."\n":
-		"").
-
- ($config->ul_flags ?				// if flags is supported by FIFO
-		$flags."\n":
-		"").
-
- "\n";
+ "0\n128\n4294967295\n"; // replication/flags/methods 



Edit /var/www/serweb/data_layer/method.add_new_alias.php

# vi /var/www/serweb/data_layer/method.add_new_alias.php 


Lakukan

+ "0\n128\n4294967295\n"; // replication/flags/methods
- ($config->ul_replication ? 			// if replication is supported by FIFO 
-		$replication."\n":
-		"").
-
- ($config->ul_flags ?				// if flags is supported by FIFO
-		$flags."\n":
-		"").
-
-	"\n";



Edit /var/www/serweb/data_layer/method.get_acc_entries.php

# vi /var/www/serweb/data_layer/method.get_acc_entries.php

Lakukan pada line 301

$q = "(".$this->acc_sql['select_out'].", 'outgoing' as call_type ".
         $this->acc_sql['from_1'].
         $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain').
- "and t1.caller_deleted != '1' ".
      ")";
      else
$q = "(".$this->acc_sql['select_out'].", 'outgoing' as call_type ".
         $this->acc_sql['from_1'].
         $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain').
- "and t1.caller_deleted != '1' ".
     ") union (".
         $this->acc_sql['select_out'].", 'outgoing' as call_type ".
         $this->acc_sql['from_2'].
         $this->acc_sql['where_2']." and ".$this->get_indexing_sql_where_phrase($user, 't2.callee_UUID', 't2.username', 't2.domain').
- "and t2.callee_deleted != '1' ".
      ")";
return $q;
	

Lakukan pada line 326

if ($config->users_indexed_by=='uuid'){
    $q[] = "select count(*) ".
    $this->acc_sql['from_1'].
-   $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain').
-   " and t1.caller_deleted != '1' ";
+   $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain');
 }
else{
$q[] = "select count(*) ".
    $this->acc_sql['from_1'].
-   $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain').
-   " and t1.caller_deleted != '1' ";
+   $this->acc_sql['where_1']." and ".$this->get_indexing_sql_where_phrase($user, 't1.caller_UUID', 't1.username', 't1.domain');
$q[] = "select count(*) ".
    $this->acc_sql['from_2'].
-   $this->acc_sql['where_2']." and ".$this->get_indexing_sql_where_phrase($user, 't2.callee_UUID', 't2.username', 't2.domain').
-   " and t2.callee_deleted != '1' ";
+   $this->acc_sql['where_2']." and ".$this->get_indexing_sql_where_phrase($user, 't2.callee_UUID', 't2.username', 't2.domain');
 }
return $q;	
}




Edit /var/www/serweb/html/main_prepend.php

# vi /var/www/serweb/html/main_prepend.php

Lakukan edit pada line 38

require_once 'DB.php';

//require PEAR XML_RPC class
-require_once 'XML/RPC.php';
-require_once ($_SERWEB["serwebdir"] . "xml_rpc_patch.php");
+//require_once 'XML/RPC.php';
+//require_once ($_SERWEB["serwebdir"] . "xml_rpc_patch.php");



Langkah lain. Ambil file patch di atas di http://www.openser.org/downloads/serweb-0.9.4-openser-1.1.0.patch.

Lakukan patch pada serweb-0.9.4.tar.gz sebagai berikut

# tar xvfz serweb-0.9.4.tar.gz
# cd serweb-0.9.4
# patch -p1<serweb-0.9.4-openser-1.1.0.patch




Pranala Menarik