АвтоОбзвон - Частные приложения 1. Информирование звонка при нажатии определенных кнопок на почту клиента. 1) Для начала открываем В БД таблицу company_var. Здесь хранится частные переменные. Делаем копию строки с содержанием autodialCustomAction и меняем: а) company_id - на тот, кому нужно добавить частное приложение б) value - значение переменной autodialCustomAction, которое будет отрабатывать в extension. Для удобства юзается infoscript(номер) переменные. с) description - описание, если требуется изменить (так будет называться задача в л.к. 2) Заходим на наш сервак pbx1 и открываем в директории /etc/asterisk/ast_extent файл extens_outbound-autodial а) В контексте outbound-autodial-leg2 копируем строчку exten => infoscript2,1,Goto(outbound-autodial-infoscript2,${EXTEN},1); где, infoscript2 - имя значения переменной autodialCustomAction outbound-autodial-infoscript2 - контекст, на который будет ссылаться данная переменная б) В самом низу копируем контекст вида outbound-autodial-infoscript2 и вставляем внизу: Код: [outbound-autodial-infoscript2]
exten => infoscript2,1,Answer()
exten => infoscript2,n,Background(/asterisk/ivr/1002789/0JHQlNCUINCW0YPRh9C60L7QstCwINC8Lg)
exten => infoscript2,n,Queue(${queue_name})
exten => [023456789],1,Set(info_comfirm=${EXTEN})
exten => [023456789],n,Playback(/var/lib/asterisk/sounds/ru/queue-thankyou)
exten => 1,1,Set(info_comfirm=${EXTEN})
exten => 1,n,AGI(agi://web.new-tel.net/sendmail.php,${groupe_name},${EXTEN})
exten => 1,n,Playback(/var/lib/asterisk/sounds/ru/queue-thankyou)
exten => h,1,ExecIf($[${EXISTS(${MEMBERNAME})}]?
Set(ODBC_AUTODIALANSW(${taskid},${CALLERID(num)},${MEMBERNAME},${CDR(uniqueid)})=1))
Основная инфа: exten => infoscript2,1,Answer() - отработка ответа по нашей переменной. exten => infoscript2,n,Background(/asterisk/ivr/1002789/0JHQlNCUINCW0YPRh9 - отработка проигрывания фонового звукового файла (ivr) по такому-то пути. Путь узнается по нужной группе и нужного имени файла. exten => infoscript2,n,Queue(${queue_name}) - отработка очереди (не используется и происходит hangup послуш прослушивания). exten => [023456789],1,Set(info_comfirm=${EXTEN}) - отработка нажатия кнопок (что будет происходит после нажатия указанных кнопок). Установка значения переменной info_comfirm в текущий exten. exten => [023456789],n,Playback(/var/lib/asterisk/sounds/ru/queue-thankyou) - после отработки кнопок проигрывания указанного файла. exten => 1,1,Set(info_comfirm=${EXTEN}) - отработка нажатия кнопки. Установка значения переменной info_comfirm в текущий exten. exten => 1,n,AGI(agi://web.new-tel.net/sendmail.php,${groupe_name},${EXTEN}) - после нажатия кнопки передача отработки по AGI скрипту sendmail.php exten => 1,n,Playback(/var/lib/asterisk/sounds/ru/queue-thankyou) - после отработки кнопки проигрывания указанного файла. Соответственно нужно настроить так, как требует клиент. 3) на web.new-tel.net открыть директории /var/www/newtelpro/fastagi и открыть файл sendmail.php. Скопировать данные с заменой на нужную группу и почту: if ($groupe_name == '1002789') {
//if (${groupe_name} == '1002789') {
$mail->AddReplyTo("accountservice@new-tel.pro", "New-Tel Accounts Service");
$mail->SetFrom('noreply@web.new-tel.net', "New-Tel Accounts Service");
//$mail->AddAddress("ev.som15@gmail.com");
$mail->AddAddress("zhuchkova@dpokadrov.ru");
$mail->CharSet = 'utf-8';
$mail->Subject = 'Заказ звонка. C номера: ' . $dnid_num[0][0] . ' Время звонка: ' . date("Y-m-d H:i") . '.';
$mail->MsgHTML('Заказ звонка. C номера: ' . $dnid_num[0][0] . ' Время звонка: ' . date("Y-m-d H:i") . '.');
$mail->Send(); }
?>
где, SetFrom - с какой почты идет письмо информирования AddAddress - на какой адрес будет происходить информирование. 4) После редактирования файла проинформировать Ярослава чтобы он норм перезапустил php скрипт. Вероятно для правильной работы нужно будет юзать наш проект в NetBeans программе. Дальше просто создаем задачу и проверяем, что все работает.