Здравствуйте.
Реализовал на сайте исходящий вызов с помощью phpagi через метод Originate:
$actionID = md5($input_phone.$manager_phone.time()); // Уникальный ID
if ($asm->connect()) {
$call = $asm->send_request('Originate',
array(
'Channel'=>"Local/".$manager_phone."@from-internal",
'Context'=>'from-internal',
'Exten'=>$input_phone,
'Priority'=>'1',
'Callerid'=>"%ID оператора%",
'Async' => "yes",
'ActionID' => $actionID
));
$asm->disconnect();
}
Все работает - звонки идут. Возникла необходимость получать длительность этих звонков. И вот тут началось непонятное. В документации нашел метод CoreShowChannels, которому передаешь ActionID и он якобы возвращает длительность вызова. Когда вызываю этот метод, подключаясь через telnet, результаты показывает:
Response: Success
ActionID: c78d1d8c43e9b14a
EventList: start
Message: Channels will follow
Event: CoreShowChannel
Duration: 00:16:57
...
Однако, когда я тот же самый запрос делаю через PHP, в ответ получаю только верхнюю часть Array ( [Response] => Success [ActionID] => c78d1d8c43e9b14a [EventList] => start [Message] => Channels will follow )
Может быть после вызова send_request CoreShowChannels нужно делать какую-то дополнительный возов для получения результатов Event'ов? Кто-нибудь может меня хотя бы направить в нужную сторону?
Заранее спасибо!