2009年8月1日星期六

ippbx我长见识了

wiki了一下,ippbx貌似支持的是xml-rpc的数据传输形式。而我感觉那个ethereal似乎只是测试用的,知道有反应了。

因此ippbx配置里面的
config_url = reg.php就表示ippbx向这个页面发送了数据。

php中正好有xml-rpc的扩展http://phpxmlrpc.sourceforge.net/
xml数据是以gobal request的形式传输过来的,因此只要获取gobal request就可以了,基本用法如下:

// this is the function exposed as "get_time()"
function return_time($method, $args) {
return date('Ymd\THis');
}

$server = xmlrpc_server_create() or die("Can't create server");
xmlrpc_server_register_method($server, 'return_time', 'get_time')
or die("Can't register method.");

$request = $GLOBALS['HTTP_RAW_POST_DATA'];
$options = array('output_type' => 'xml', 'version' => 'xmlrpc');

print xmlrpc_server_call_method($server, $request, NULL, $options)
or die("Can't call method");

xmlrpc_server_destroy($server);

就生成了xml这样,就可以进一步用php解析这一个请求了,貌似是这样的。你先试试看。

没有评论:

发表评论