Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Пример кода PHP для исходящего звонка с контролем результата

0

Подскажите пример кода на PHP для PHPAGI для создания исходящего звонка с контролем результата данного звонка (занят и т.д.). Сам звонок делается так (пример из PHPAGI examples):

<?php
  require_once('../phpagi-asmanager.php');

  $number = '1234';

  $asm = new AGI_AsteriskManager();
  if($asm->connect())
  {
    $call = $asm->send_request('Originate',
            array('Channel'=>"SIP/$number",
                  'Context'=>'default',
                  'Priority'=>1,
                  'Callerid'=>$number));
    $asm->disconnect();
  }
?>

Я так понимаю можно через extention failed проконтролировать при этом указав extention в Originate. Можно ли и как проконтролировать результат с использованием PHPAGI?

удалить закрыть спам изменить тег редактировать

спросил 2012-05-10 12:29:57 +0400

violant Gravatar violant
37 8 1 6

2 Ответа

1

Добавьте в массив строку

'Async' => $async,

Проконтроллировать результат звонка можно в значении $call['Response']

ссылка удалить спам редактировать

ответил 2012-05-10 13:12:23 +0400

zzuz Gravatar zzuz flag of Russian Federation
6744 2 6 69
http://line24.ru/
0

то чтовы описали это AMI.

вам надо вызвать аги скрипт в звонке(в диалплане). ну или в вашем скрипте ловит event-ы.

ссылка удалить спам редактировать

ответил 2012-05-10 13:43:00 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

Comments

Сути не меняет. враппер AGIManager также используется php.agi

zzuz ( 2012-05-10 13:48:31 +0400 )редактировать

Да и при Originate ловить евенты отдельным механизмом - лишняя работа.

zzuz ( 2012-05-10 13:49:30 +0400 )редактировать

зато ефективно. один поток оргинирует другой рапортует об результате. очень малый расход cpu и многоканальная оргинация.а делается это один раз ;)

meral ( 2012-05-10 13:52:53 +0400 )редактировать

ну возможно. хотя в $call['Response'] либо Success либо Failed также при многоканальной оригинации и также при низкой затрате процессорного времени. Плюс в том, что не надо парсить высь вывод AMI и следить за состоянием подключением , когда при отсутствии коннектора теряется вывод. Состояние звонка и так возвращает враппер AMI .

zzuz ( 2012-05-10 13:59:53 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку
1 закладка

подписаться на rss ленту новостей

Статистика

Задан: 2012-05-10 12:29:57 +0400

Просмотрен: 2,781 раз

Обновлен: May 10 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.