freeswitch xml_curl模块使用

freeswitch xml_curl模块使用 替换掉directory,ivr,dialplan,等各种本地配置xml文件

freeswitch 数据库生成xml文件

部分代码

 

<?php
/**
 * @package FS_CURL
 
 */


/**
 * define for the time that execution of the script started
 */
define('START_TIME', ereg_replace('^0\.([0-9]+) ([0-9]+)$', '\2.\1', microtime()));


/**
 * Pre-Class initialization die function
 * This function should be called on any
 * critical error condition before the fs_curl
 * class is successfully instantiated.
 * @return void
 */


function file_not_found($no=false, $str=false, $file=false, $line=false) {
    if ($no == E_STRICT) {
        return;
    }
    header('Content-Type: text/xml');
    printf("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n");
    printf("<document type=\"freeswitch/xml\">\n");
    printf("  <section name=\"result\">\n");
    printf("    <result status=\"not found\"/>\n");
    printf("  </section>\n");
    if (!empty($no) && !empty($str) && !empty($file) &&!empty($line)) {
        printf("  <!-- ERROR: $no - ($str) on line $line of $file -->\n");
    }
    printf("</document>\n");
    exit();
}
error_reporting(E_ALL);
set_error_handler('file_not_found');


if (!class_exists('XMLWriter')) {
    trigger_error(
        "XMLWriter Class NOT Found... You Must install it before using this package"
        , E_USER_ERROR
    );
}
if (!(@include_once('fs_curl.php'))
    || !(@include_once('global_defines.php'))) {
    trigger_error(
        'could not include fs_curl.php or global_defines.php', E_USER_ERROR
    );
}
if (!is_array($_REQUEST)) {
    trigger_error('$_REQUEST is not an array');
}


if (array_key_exists('cdr', $_REQUEST)) {
    $section = 'cdr';
} else {
    $section = $_REQUEST['section'];
}
$section_file = sprintf('fs_%s.php', $section);
/**
 * this include will differ based on the section that's passed
 */
if (!(@include_once($section_file))) {
    trigger_error("unable to include $section_file");
}
switch ($section) {
    case 'configuration':
        if (!array_key_exists('key_value', $_REQUEST)) {
            trigger_error('key_value does not exist in $_REQUEST');
        }
        $config = $_REQUEST['key_value'];
        $processor = sprintf('configuration/%s.php', $config);
        $class = str_replace('.', '_', $config);
        if (!(@include_once($processor))) {
            trigger_error("unable to include $processor");
        }
        $conf = new $class;
        $conf -> comment("class name is $class");
        break;
    case 'dialplan':
        $conf = new fs_dialplan();
        break;
    case 'directory':
        $conf = new fs_directory();
        break;
    case 'cdr':
        $conf = new fs_cdr();
        break;
case 'chatplan':
$conf = new fs_chatplan();
break;
case 'phrases':
$conf = new fs_phrases();
break;
}


$conf -> debug('---- Start _REQUEST ----');
$conf -> debug($_REQUEST);
$conf -> debug('---- End _REQUEST ----');
$conf -> main();
$conf -> output_xml();


?>

https://blog.csdn.net/Coolyqq/article/details/50057215

详细代码,请下载http://download.csdn.net/detail/coolyqq/9302651

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值