VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Web-MeetMe сбор конференции по адресной книге

Раздел для разработчиков для обсуждения программных и аппаратных продуктов и их реализации.

Модераторы: april22, Zavr2008

utcon
Сообщения: 60
Зарегистрирован: 19 янв 2012, 14:26

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение utcon »

Кому интересно.
Если ваш Web-MeetMe не вызывает одновременно несколько абонентов :
1. В файле phpagi/phpagi-asmanager.php правим функцию Originate добавив параметр Async
Например

Код: Выделить всё

    function Originate($channel, $exten, $context, $priority, $timeout, $callerid, $variable, $account, $application, $data, $async)
    {
      $parameters = array();
      if($channel) $parameters['Channel'] = $channel;
      if($exten) $parameters['Exten'] = $exten;
      if($context) $parameters['Context'] = $context;
      if($priority) $parameters['Priority'] = $priority;
      if($timeout) $parameters['Timeout'] = $timeout;
      if($callerid) $parameters['CallerID'] = $callerid;
      if($variable) $parameters['Variable'] = $variable;
      if($account) $parameters['Account'] = $account;
      if($application) $parameters['Application'] = $application;
      if($data) $parameters['Data'] = $data;
      if($async) $parameters['Async'] = $async;
      return $this->send_request('Originate', $parameters);
    }
2. Правим call_operator_add.php, добавив значение этой переменной в true
Как пример

Код: Выделить всё

                $application = "MeetMe";
                $data = $data;
                $async = true;
                $priority = 1;
                $context = OUT_CONTEXT;
                $timeout = 60000;
                $callerid = OUT_CALL_CID;
                //$variable = "CDR(bookId)=$bookid,CDR(CIDnum)=$invite_num,CDR(CIDname)=$name";
                $variable = "CDR(userfield)=$bookid,VOLRX=$rx,VOLTX=$tx,VOLUME(RX)=$rx,VOLUME(TX)=$tx"; //,DYNAMIC_FEATURES=volumerxdec#volumetxinc";
                #echo $callerid;
                #echo $channel;
                //echo $variable;
                $res = $as->Originate ($channel, $exten, $context, $priority, $timeout, $callerid, $variable, $account, $application, $data, $async);

                $actiondone=0;

                // && DISCONNECTING
                $as->disconnect();
Вуаля. Вызов идет одновременно всем из вашего списка используя Originate без всяких там call файлов.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение Vlad1983 »

да, прошляпил этот параметр

ни сам ни никто никто из пользователей до сих пор не замечал
ЛС: @rostel
funny_bunny
Сообщения: 65
Зарегистрирован: 31 окт 2011, 18:37

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение funny_bunny »

Добрый день.

Может быть в первом посте стоит держать актуальное на данный момент решение?

Уже пару лет пользуюсь elastix, тут понадобилась вроде бы очевидная вещь, как селекторное совещание и такой гемморой(
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение Vlad1983 »

последние правки с Async точно учлись
всё что выше вроде тоже, но сейчас уже не вспомню
web-meetme-add-addressbook
ЛС: @rostel
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение Vlad1983 »

у вас слишком много вопросов
ЛС: @rostel
nana_MeDBeD
Сообщения: 8
Зарегистрирован: 28 мар 2013, 08:39

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение nana_MeDBeD »

utcon писал(а):Для тех, кто юзает эту сборку веб митми

выкладываю кнопку которая может вызвать всех кто присутствует в какой то адресной книге

в конец lib/addressbook_custom.php дописываем

Код: Выделить всё

  <form method = "post">
  <input type = "submit" name = "button1" value = "Пригласить всех">
  <form>
<?
  if($_POST['button1'])

  {
        $query1 = "SELECT SQL_CALC_FOUND_ROWS `id`,`name`,`number`,`rx`,`tx` FROM `addressbook_custom` ORDER BY `name` ASC ";
        $result1 = $db->query($query1);

while($row1 = $result1->fetchRow())
         {
$row1[1] = iconv("cp1251","UTF-8",preg_replace("/[^\x30-\x39\x41-\x5A\x61-\x7A\x20\x5F\xC0-\xFF\xA8\xB8]/","",iconv("UTF-8","cp1251",$row1[1])));


echo "<script> call_add(\x27$row1[1]\x27,\x27$row1[2]\x27,$row1[3],$row1[4],$confno,$book);</script>";

}

  }

?>
в сборке нет файлика lib/addressbook_custom.php. Добавил этот код в meetme_control.php, кнопка появилась на странице управления, но при нажатии ничего не происходит. Как отдебажить это дело ?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение Vlad1983 »

если из основной адресной книги

Код: Выделить всё

- $query1 = "SELECT SQL_CALC_FOUND_ROWS `id`,`name`,`number`,`rx`,`tx` FROM `addressbook_custom` ORDER BY `name` ASC ";
+ $query1 = "SELECT SQL_CALC_FOUND_ROWS `id`,`name`,`number`,`rx`,`tx` FROM `addressbook` ORDER BY `name` ASC ";
ЛС: @rostel
nana_MeDBeD
Сообщения: 8
Зарегистрирован: 28 мар 2013, 08:39

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение nana_MeDBeD »

Изменил. Не помогло. Я в php к сожалению не силен, вообще я правильно добавил код (и в тот ли файл) ?

вот кусок кода (со 139 строки) файла meetme_control.php:

Код: Выделить всё

<?php if ($confno != ""){ ?>
        <colgroup><col width="20%"></colgroup>
        <tr><td><td>
        <FORM METHOD=POST ACTION="conf_add.php?s=1&t=0&order=<?php echo "$order&sens=$sens&current_page=$current_page&PHPSESSID=$PH$
        <input type="Submit" name="Extend" align="top" border="0" value="Продлить на 10 мин." /> <td><td>
        </FORM>
        <FORM METHOD=POST ACTION="meetme_control.php?s=2&t=3" onclick="conf_action('end','<?PHP echo $confno; ?>', '')" >
  GNU nano 1.3.12                            File: meetme_control.php                                                               

        <input type="Submit" name="EndConf" align="top" border="0" value="Завершить конференцию" />
        <td>
        </FORM>
               <input type="Submit" name="Invite" onClick="out_call(<?php echo $confno.", ".$book;?>)" align="top" border="0" value$
               </td>
               <td>
               <input type="Submit" name="Invite" onClick="out_call_book(<?php echo $confno.", ".$book;?>)" align="top" border="0" $
               </td>
               </table>
   <form method = "post">
  <input type = "submit" name = "button1" value = "Пригласить всех">
  <form>
<?
  if($_POST['button1'])

  {
        $query1 = "SELECT SQL_CALC_FOUND_ROWS `id`,`name`,`number`,`rx`,`tx` FROM `addressbook` ORDER BY `name` ASC
";
        $result1 = $db->query($query1);

while($row1 = $result1->fetchRow())
         {
$row1[1] =
iconv("cp1251","UTF-8",preg_replace("/[^\x30-\x39\x41-\x5A\x61-\x7A\x20\x5F\xC0-\xFF\xA8\xB8]/","",iconv("UTF-8","cp1251",$row1[1])$


echo "<script> call_add(\x27$row1[1]\x27,\x27$row1[2]\x27,$row1[3],$row1[4],$confno,$book);</script>";

}

  }
?>
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение Vlad1983 »

джава скрипты, которые требуются не подключаются к meetme_control.php
вставте код в /lib/addressbook.php
ЛС: @rostel
nana_MeDBeD
Сообщения: 8
Зарегистрирован: 28 мар 2013, 08:39

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение nana_MeDBeD »

Премного благодарен! заработало.

Еще один момент, не работает управление конференцией, а именно, кнопки mute, kick, +-Tx\Rx, а также кнопка "завершить конференцию".
Работают только ?Rx\Tx, "пригласить участников", "продлить конференцию на 10 минут"
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH