使用FreeSWITCH'的好友在线状态;s mod_skypopen和PHP

使用FreeSWITCH'的好友在线状态;s mod_skypopen和PHP,php,skype,freeswitch,Php,Skype,Freeswitch,我对FreeSWITCH/Skypopen不熟悉。我需要使用skypopen模块和PHP获取好友的状态 我使用下面的PHP脚本来获取状态 <?php $output = array(); $returnVar = ""; $result = exec('fs_cli -x "skypopen interface1 GET USER skypeusername ONLINESTATUS"', $returnVar, $output); var_dump($result, $retur

我对FreeSWITCH/Skypopen不熟悉。我需要使用skypopen模块和PHP获取好友的状态

我使用下面的PHP脚本来获取状态

<?php
$output = array();
$returnVar = "";
$result = exec('fs_cli -x "skypopen interface1 GET USER skypeusername ONLINESTATUS"',     $returnVar, $output);
var_dump($result, $returnVar, $output);
?>
它仅使用interface:globals.SKYPOPEN|u INTERFACES[18]返回
,而不是“skypeusername”的联机状态

但如果我在FreeSWITCH CLI中执行命令
skypopen interface1 GET USER skypeusername ONLINESTATUS
,它将返回以下内容:

freeswitch@internal> skypopen interface1 GET USER skypeusername ONLINESTATUS
Using interface: globals.SKYPOPEN_INTERFACES[18].name=|||interface1|||

2013-06-04 04:06:35.778928 [DEBUG] skypopen_protocol.c:1771    [1a3a11f|3d6ed64] [DEBUG_SKYPE  1771 ][interface1       ][IDLE,IDLE] SENDING: |||GET USER skypeusername ONLINESTATUS||||
2013-06-04 04:06:35.778928 [DEBUG] skypopen_protocol.c:209     [1a3a11f|3d6ed64] [DEBUG_SKYPE  209  ][interface1       ][IDLE,IDLE] READING: |||USER skypeusername ONLINESTATUS ONLINE||| 
在Google中搜索之后,我发现skypopen模块将结果作为调试日志发送到其日志文件


有没有办法得到PHP脚本的响应?

我没有加载这个模块,但是从mod_skypopen.c中skypopen_函数的源代码判断,似乎skypopen API调用除了您提到的接口行之外,从来没有真正返回任何东西

另一方面,模块似乎在每次从Skype API接收数据时都会触发一个
skypopen::incoming_raw
事件,因此您可以尝试从PHP打开并侦听这些事件

您应该首先直接在fs_cli上尝试:

freeswitch@internal> /event plain CUSTOM skypopen::incoming_raw
然后:


我没有加载这个模块,但是根据mod_skypopen.c中skypopen_函数的源代码判断,除了您提到的接口行之外,skypopen API调用似乎从未真正返回任何东西

另一方面,模块似乎在每次从Skype API接收数据时都会触发一个
skypopen::incoming_raw
事件,因此您可以尝试从PHP打开并侦听这些事件

您应该首先直接在fs_cli上尝试:

freeswitch@internal> /event plain CUSTOM skypopen::incoming_raw
然后:


Skypopen模块有问题。因此,它不会将响应返回到套接字或cli。它只返回到日志。您需要修改代码以将响应发送到套接字,然后在php端得到响应。

Skypopen模块有问题。因此,它不会将响应返回到套接字或cli。它只返回到日志。您需要修改代码以将响应发送到套接字,并且您将在php端得到它

freeswitch@internal> skypopen interface1 GET USER skypeusername ONLINESTATUS