0) {
$response .= $buffer;
}
if ($contentlength == 0) { //if contentlenght is already don't process again
if (strlen(trim($buffer)) > 0) { //run only if buffer has content
$temparray = split(":", trim($buffer));
if ($temparray[0] == "Content-Length") {
$contentlength = trim($temparray[1]);
}
}
}
usleep(100); //allow time for reponse
//optional because of script timeout //don't let while loop become endless
if ($i > 10000) { break; }
if ($contentlength > 0) { //is contentlength set
//stop reading if all content has been read.
if (strlen($response) >= $contentlength) {
break;
}
}
$i++;
}
return $response;
}
else {
echo "no handle";
}
}
function event_socket_request_cmd($cmd)
{
global $config;
$password = $config['installedpackages']['freeswitchsettings']['config'][0]['event_socket_password'];
$port = $config['installedpackages']['freeswitchsettings']['config'][0]['event_socket_port'];
$host = $config['interfaces']['lan']['ipaddr'];
if (pkg_is_service_running('freeswitch'))
{
$fp = event_socket_create($host, $port, $password);
$response = event_socket_request($fp, $cmd);
fclose($fp);
}
unset($host, $port, $password);
}
function sync_package_freeswitch_settings()
{
global $config;
if($config['installedpackages']['freeswitchsettings']['config'] != "") {
conf_mount_rw();
config_unlock();
foreach($config['installedpackages']['freeswitchsettings']['config'] as $rowhelper) {
$fout = fopen("/usr/local/freeswitch/conf/directory/default/default.xml","w");
$tmpxml = "\n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= "\n";
fwrite($fout, $tmpxml);
unset($tmpxml);
fclose($fout);
$fout = fopen("/usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml","w");
$tmpxml = "\n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= "";
fwrite($fout, $tmpxml);
unset($tmpxml, $event_socket_password);
fclose($fout);
$fout = fopen("/usr/local/freeswitch/conf/autoload_configs/xml_rpc.conf","w");
$tmpxml = "\n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= "\n";
fwrite($fout, $tmpxml);
unset($tmpxml, $event_socket_password);
fclose($fout);
}
conf_mount_ro();
$cmd = "api reloadxml";
event_socket_request_cmd($cmd);
unset($cmd);
}
}
function sync_package_freeswitch_dialplan()
{
global $config;
conf_mount_rw();
config_unlock();
if(strlen($config['installedpackages']['freeswitchdialplan']['config'][0]['dialplan_default_xml']) == 0) {
/* dialplan not found in the pfsense config.xml get the default dialplan and save to config.xml. */
$filename = "/usr/local/freeswitch/conf/dialplan/default.xml";
$fout = fopen($filename,"r");
$tmpxml = fread($fout, filesize($filename));
$config['installedpackages']['freeswitchdialplan']['config'][0]['dialplan_default_xml'] = base64_encode($tmpxml);
unset($filename, $dialplan);
fclose($fout);
}
else {
/* found the dialplan in the pfsense config.xml save it to default.xml. */
$fout = fopen("/usr/local/freeswitch/conf/dialplan/default.xml","w");
$tmpxml = $config['installedpackages']['freeswitchdialplan']['config'][0]['dialplan_default_xml'];
fwrite($fout, base64_decode($tmpxml));
fclose($fout);
unset($tmpxml);
}
conf_mount_ro();
$cmd = "api reloadxml";
event_socket_request_cmd($cmd);
unset($cmd);
}
function sync_package_freeswitch_extensions()
{
global $config;
if($config['installedpackages']['freeswitchextensions']['config'] != "") {
conf_mount_rw();
config_unlock();
/* delete all old extensions to prepare for new ones */
unlink_if_exists("/usr/local/freeswitch/conf/directory/default/1*.xml");
unlink_if_exists("/usr/local/freeswitch/conf/directory/default/2*.xml");
unlink_if_exists("/usr/local/freeswitch/conf/directory/default/3*.xml");
unlink_if_exists("/usr/local/freeswitch/conf/directory/default/4*.xml");
unlink_if_exists("/usr/local/freeswitch/conf/directory/default/5*.xml");
unlink_if_exists("/usr/local/freeswitch/conf/directory/default/6*.xml");
unlink_if_exists("/usr/local/freeswitch/conf/directory/default/7*.xml");
unlink_if_exists("/usr/local/freeswitch/conf/directory/default/8*.xml");
unlink_if_exists("/usr/local/freeswitch/conf/directory/default/9*.xml");
foreach($config['installedpackages']['freeswitchextensions']['config'] as $rowhelper) {
$fout = fopen("/usr/local/freeswitch/conf/directory/default/".$rowhelper['extension'].".xml","w");
$tmpxml = "\n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
/* Disabled until further testing */
/* if (strlen($rowhelper['vm-mailto']) > 0) { */
/* $tmpxml .= " \n"; */
/* $tmpxml .= " \n"; */
/* $tmpxml .= " \n"; */
/* } */
/* */
/* Voicemail Mail To */
/* vm-mailto */
/* Optional: Enter the email address to send voicemail to. */
/* input */
/* */
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
if (strlen($rowhelper['effective_caller_id_number']) > 0) {
$tmpxml .= " \n";
$tmpxml .= " \n";
}
if (strlen($rowhelper['outbound_caller_id_number']) > 0) {
$tmpxml .= " \n";
$tmpxml .= " \n";
}
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= "\n";
fwrite($fout, $tmpxml);
unset($tmpxml);
fclose($fout);
}
conf_mount_ro();
$cmd = "api reloadxml";
event_socket_request_cmd($cmd);
unset($cmd);
}
}
function sync_package_freeswitch_gateways()
{
global $config;
if($config['installedpackages']['freeswitchgateways']['config'] != "") {
conf_mount_rw();
config_unlock();
/* delete all old gateways to prepare for new ones */
unlink_if_exists("/usr/local/freeswitch/conf/sip_profiles/external/*.xml");
foreach($config['installedpackages']['freeswitchgateways']['config'] as $rowhelper) {
if ($rowhelper['disabled'] != "on") {
$fout = fopen("/usr/local/freeswitch/conf/sip_profiles/external/".$rowhelper['gateway'].".xml","w");
$tmpxml .= "\n";
$tmpxml .= " \n";
if (strlen($rowhelper['username']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['password']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['realm']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['from-user']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['from-domain']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['proxy']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['expire-seconds']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['register']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['register-transport']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['retry-seconds']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['extension']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['context']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['caller-id-in-from']) > 0) {
$tmpxml .= " \n";
}
if (strlen($rowhelper['supress-cng']) > 0) {
$tmpxml .= " \n";
}
$tmpxml .= " \n";
$tmpxml .= "";
fwrite($fout, $tmpxml);
unset($tmpxml);
fclose($fout);
}
}
conf_mount_ro();
$cmd = "api sofia profile external restart reloadxml";
event_socket_request_cmd($cmd);
unset($cmd);
}
}
function sync_package_freeswitch_modules()
{
global $config;
conf_mount_rw();
config_unlock();
foreach($config['installedpackages']['freeswitchmodules']['config'] as $rowhelper) {
$fout = fopen("/usr/local/freeswitch/conf/autoload_configs/modules.conf.xml","w");
$tmpxml ="";
$tmpxml .= "\n";
$tmpxml .= " \n";
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_console'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_logfile'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_syslog'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
if ($rowhelper['mod_yaml'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
$tmpxml .= " \n";
if ($rowhelper['mod_enum'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_xml_rpc'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_xml_curl'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_xml_cdr'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_cdr_csv'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_event_multicast'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_event_socket'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_zeroconf'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_ldap'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_dingaling'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_iax'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_portaudio'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_alsa'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_sofia'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_loopback'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_wanpipe'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_woomera'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_openzap'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_commands'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_conference'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_dptools'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_expr'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_fifo'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_voicemail'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_limit'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_esf'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_fsv'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_snom'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_dialplan_directory'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_dialplan_xml'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_dialplan_asterisk'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_voipcodecs'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_g723_1'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_g729'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_amr'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_ilbc'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_speex'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_h26x'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_sndfile'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_native_file'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= " \n";
if ($rowhelper['mod_shout'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= " \n";
if ($rowhelper['mod_local_stream'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_tone_stream'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_spidermonkey'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_perl'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_python'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_java'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_lua'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_flite'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_pocketsphinx'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_cepstral'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_openmrcp'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_rss'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= "\n";
$tmpxml .= " \n";
if ($rowhelper['mod_say_en'] == "enable"){ $tmpxml .= " \n"; }
if ($rowhelper['mod_say_zh'] == "enable"){ $tmpxml .= " \n"; }
$tmpxml .= " \n";
$tmpxml .= "";
fwrite($fout, $tmpxml);
unset($tmpxml);
fclose($fout);
}
conf_mount_ro();
$cmd = "api reloadxml";
event_socket_request_cmd($cmd);
unset($cmd);
}
function sync_package_freeswitch_public()
{
global $config;
conf_mount_rw();
config_unlock();
if(strlen($config['installedpackages']['freeswitchpublic']['config'][0]['public_xml']) == 0) {
/* dialplan_public_xml not found in the pfsense config.xml get the default public.xml and save to config.xml. */
$filename = "/usr/local/freeswitch/conf/dialplan/public/00_inbound_did.xml";
$fout = fopen($filename,"r");
$tmpxml = fread($fout, filesize($filename));
$config['installedpackages']['freeswitchpublic']['config'][0]['public_xml'] = base64_encode($tmpxml);
unset($filename, $tmpxml);
fclose($fout);
}
else {
/* found dialplan_public_xml in the pfsense config.xml save it to public.xml. */
$fout = fopen("/usr/local/freeswitch/conf/dialplan/public/00_inbound_did.xml","w");
$tmpxml = $config['installedpackages']['freeswitchpublic']['config'][0]['public_xml'];
fwrite($fout, base64_decode($tmpxml));
fclose($fout);
unset($tmpxml);
}
conf_mount_ro();
$cmd = "api reloadxml";
event_socket_request_cmd($cmd);
unset($cmd);
}
function sync_package_freeswitch_vars()
{
global $config;
conf_mount_rw();
config_unlock();
if(strlen($config['installedpackages']['freeswitchvars']['config'][0]['vars_xml']) == 0) {
/* dialplan not found in the pfsense config.xml get the default dialplan and save to config.xml. */
$filename = "/usr/local/freeswitch/conf/vars.xml";
$fout = fopen($filename,"r");
$tmpxml = fread($fout, filesize($filename));
$config['installedpackages']['freeswitchvars']['config'][0]['vars_xml'] = base64_encode($tmpxml);
unset($filename, $dialplan);
fclose($fout);
}
else {
/* found the dialplan in the pfsense config.xml save it to default.xml. */
$fout = fopen("/usr/local/freeswitch/conf/vars.xml","w");
$tmpxml = $config['installedpackages']['freeswitchvars']['config'][0]['vars_xml'];
fwrite($fout, base64_decode($tmpxml));
fclose($fout);
unset($tmpxml);
}
conf_mount_ro();
$cmd = "api reloadxml";
event_socket_request_cmd($cmd);
unset($cmd);
}
function sync_package_freeswitch_internal()
{
global $config;
conf_mount_rw();
config_unlock();
if(strlen($config['installedpackages']['freeswitchinternal']['config'][0]['internal_xml']) == 0) {
/* internal_xml not found in the pfsense config.xml get the internal.xml and save to config.xml. */
$filename = "/usr/local/freeswitch/conf/sip_profiles/internal.xml";
$fout = fopen($filename,"r");
$tmpxml = fread($fout, filesize($filename));
$config['installedpackages']['freeswitchinternal']['config'][0]['internal_xml'] = base64_encode($tmpxml);
unset($filename, $dialplan);
fclose($fout);
}
else {
/* found the internal_xml in the pfsense config.xml save it to internal.xml. */
$fout = fopen("/usr/local/freeswitch/conf/sip_profiles/internal.xml","w");
$tmpxml = $config['installedpackages']['freeswitchinternal']['config'][0]['internal_xml'];
fwrite($fout, base64_decode($tmpxml));
fclose($fout);
unset($tmpxml);
}
conf_mount_ro();
$cmd = "api reloadxml";
event_socket_request_cmd($cmd);
unset($cmd);
}
function sync_package_freeswitch_external()
{
global $config;
conf_mount_rw();
config_unlock();
if(strlen($config['installedpackages']['freeswitchexternal']['config'][0]['external_xml']) == 0) {
/* external_xml not found in the pfsense config.xml get the external.xml and save to config.xml. */
$filename = "/usr/local/freeswitch/conf/sip_profiles/external.xml";
$fout = fopen($filename,"r");
$tmpxml = fread($fout, filesize($filename));
$config['installedpackages']['freeswitchexternal']['config'][0]['external_xml'] = base64_encode($tmpxml);
unset($filename, $dialplan);
fclose($fout);
}
else {
/* found the external_xml in the pfsense config.xml save it to external.xml. */
$fout = fopen("/usr/local/freeswitch/conf/sip_profiles/external.xml","w");
$tmpxml = $config['installedpackages']['freeswitchexternal']['config'][0]['external_xml'];
fwrite($fout, base64_decode($tmpxml));
fclose($fout);
unset($tmpxml);
}
conf_mount_ro();
$cmd = "api reloadxml";
event_socket_request_cmd($cmd);
unset($cmd);
}
function sync_package_freeswitch()
{
global $config;
sync_package_freeswitch_settings();
sync_package_freeswitch_dialplan();
sync_package_freeswitch_extensions();
sync_package_freeswitch_gateways();
sync_package_freeswitch_modules();
sync_package_freeswitch_public();
sync_package_freeswitch_vars();
sync_package_freeswitch_internal();
sync_package_freeswitch_external();
}
function freeswitch_php_install_command()
{
global $config;
conf_mount_rw();
config_lock();
if (!is_dir('/usr/local/www/freeswitch/')) {
exec("mkdir /usr/local/www/freeswitch/");
}
exec("cp /tmp/freeswitch_status.tmp /usr/local/www/freeswitch/freeswitch_status.php");
unlink_if_exists("/tmp/freeswitch_status.tmp");
exec("cp /tmp/freeswitch_cmd.tmp /usr/local/www/freeswitch/freeswitch_cmd.php");
unlink_if_exists("/tmp/freeswitch_cmd.tmp");
exec("tar zxvf /tmp/freeswitch.tgz -C /usr/local/");
unlink_if_exists("/tmp/freeswitch.tgz");
/* freeswitch settings defaults */
if (strlen($config['installedpackages']['freeswitchsettings']['config'][0]['numbering_plan']) == 0) {
$config['installedpackages']['freeswitchsettings']['config'][0]['numbering_plan'] = "US";
}
if(strlen($config['installedpackages']['freeswitchsettings']['config'][0]['event_socket_password']) == 0) {
$config['installedpackages']['freeswitchsettings']['config'][0]['event_socket_password'] = "ClueCon";
}
if (strlen($config['installedpackages']['freeswitchsettings']['config'][0]['event_socket_port']) == 0) {
$config['installedpackages']['freeswitchsettings']['config'][0]['event_socket_port'] = "8021";
}
if (strlen($config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_http_port']) == 0) {
$config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_http_port'] = "8787";
}
if (strlen($config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_auth_realm']) == 0) {
$config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_auth_realm'] = "freeswitch";
}
if (strlen($config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_auth_user']) == 0) {
$config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_auth_user'] = "freeswitch";
}
if (strlen($config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_auth_pass']) == 0) {
$config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_auth_pass'] = "works";
}
$numbering_plan = $config['installedpackages']['freeswitchsettings']['config'][0]['numbering_plan'];
$event_socket_password = $config['installedpackages']['freeswitchsettings']['config'][0]['event_socket_password'];
$event_socket_port = $config['installedpackages']['freeswitchsettings']['config'][0]['event_socket_port'];
$xml_rpc_http_port = $config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_http_port'];
$xml_rpc_auth_realm = $config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_auth_realm'];
$xml_rpc_auth_user = $config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_auth_user'];
$xml_rpc_auth_pass = $config['installedpackages']['freeswitchsettings']['config'][0]['xml_rpc_auth_pass'];
$fout = fopen("/usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml","w");
$tmpxml = "\n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= " \n";
$tmpxml .= "";
fwrite($fout, $tmpxml);
unset($tmpxml);
fclose($fout);
/* freeswitch modules defaults */
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_console']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_console'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_logfile']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_logfile'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_syslog']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_syslog'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_yaml']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_yaml'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_enum']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_enum'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_xml_rpc']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_xml_rpc'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_xml_curl']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_xml_curl'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_xml_cdr']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_xml_cdr'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_cdr_csv']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_cdr_csv'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_event_multicast']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_event_multicast'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_event_socket']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_event_socket'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_zeroconf']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_zeroconf'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_ldap']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_ldap'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_dingaling']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_dingaling'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_iax']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_iax'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_portaudio']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_portaudio'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_alsa']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_alsa'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_sofia']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_sofia'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_loopback']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_loopback'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_wanpipe']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_wanpipe'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_woomera']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_woomera'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_openzap']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_openzap'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_commands']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_commands'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_conference']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_conference'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_dptools']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_dptools'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_expr']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_expr'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_fifo']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_fifo'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_voicemail']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_voicemail'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_limit']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_limit'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_esf']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_esf'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_fsv']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_fsv'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_snom']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_snom'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_dialplan_directory']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_dialplan_directory'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_dialplan_xml']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_dialplan_xml'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_dialplan_asterisk']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_dialplan_asterisk'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_voipcodecs']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_voipcodecs'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_g723_1']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_g723_1'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_g729']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_g729'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_amr']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_amr'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_ilbc']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_ilbc'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_speex']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_speex'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_h26x']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_h26x'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_sndfile']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_sndfile'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_native_file']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_native_file'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_shout']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_shout'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_local_stream']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_local_stream'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_tone_stream']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_tone_stream'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_spidermonkey']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_spidermonkey'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_perl']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_perl'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_python']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_python'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_java']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_java'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_lua']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_lua'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_flite']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_flite'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_pocketsphinx']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_pocketsphinx'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_cepstral']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_cepstral'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_openmrcp']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_openmrcp'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_rss']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_rss'] = "disable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_say_en']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_say_en'] = "enable";
}
if (strlen($config['installedpackages']['freeswitchmodules']['config'][0]['mod_say_zh']) == 0) {
$config['installedpackages']['freeswitchmodules']['config'][0]['mod_say_zh'] = "disable";
}
write_rcfile(array(
"file" => "freeswitch.sh",
"start" => "/usr/local/freeswitch/bin/./freeswitch -nc",
"stop" => "/usr/local/freeswitch/bin/./freeswitch -stop"
)
);
exec("rm -R /freeswitch");
sync_package_freeswitch();
$handle = popen("/usr/local/etc/rc.d/freeswitch.sh start", "r");
pclose($handle);
$config['installedpackages']['freeswitchsettings']['config'][0]['freeswitch_version'] = "1.0.1 revision 9759.";
$config['installedpackages']['freeswitchsettings']['config'][0]['freeswitch_package_version'] = "0.1.1";
conf_mount_ro();
config_unlock();
}
function freeswitch_deinstall_command()
{
conf_mount_rw();
config_lock();
exec("killall -9 freeswitch");
unlink_if_exists("/usr/local/pkg/freeswitch.xml");
unlink_if_exists("/usr/local/pkg/freeswitch.inc");
unlink_if_exists("/usr/local/pkg/freeswitch_dialplan.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_extensions.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_external.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_gateways.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_internal.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_modules.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_public.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_vars.xml");
unlink_if_exists("/usr/local/www/freeswitch/freeswitch_status.xml");
unlink_if_exists("/usr/local/www/freeswitch/freeswitch_cmd.xml");
exec("rm -R /usr/local/freeswitch/");
exec("rm -R /usr/local/www/freeswitch/");
unlink_if_exists("/usr/local/etc/rc.d/freeswitch.sh");
unlink_if_exists("/tmp/freeswitch.tar.gz");
unlink_if_exists("/tmp/pkg_mgr_FreeSWITCH.log");
conf_mount_ro();
config_unlock();
}
?>