АвтоОбзвон - Частные приложения
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
и вставляем внизу:
<html>
Код: [outbound-autodial-infoscript2] <br> exten => infoscript2,1,Answer() <br> exten => infoscript2,n,Background(/asterisk/ivr/1002789/0JHQlNCUINCW0YPRh9C60L7QstCwINC8Lg) <br> exten => infoscript2,n,Queue(${queue_name}) <br> exten => [023456789],1,Set(info_comfirm=${EXTEN}) <br> exten => [023456789],n,Playback(/var/lib/asterisk/sounds/ru/queue-thankyou) <br> exten => 1,1,Set(info_comfirm=${EXTEN}) <br> exten => 1,n,AGI(agi://web.new-tel.net/sendmail.php,${groupe_name},${EXTEN}) <br> exten => 1,n,Playback(/var/lib/asterisk/sounds/ru/queue-thankyou) <br> exten => h,1,ExecIf($[${EXISTS(${MEMBERNAME})}]? <br> Set(ODBC_AUTODIALANSW(${taskid},${CALLERID(num)},${MEMBERNAME},${CDR(uniqueid)})=1)) <br>
</html>
Основная инфа:
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. Скопировать данные с заменой на нужную группу и почту: <html> <code> if ($groupe_name == '1002789') { <br> if (${groupe_name} == '1002789') { <br>
$mail->AddReplyTo("accountservice@new-tel.pro", "New-Tel Accounts Service"); <br> $mail->SetFrom('noreply@web.new-tel.net', "New-Tel Accounts Service"); <br>
$mail→AddAddress(«ev.som15@gmail.com»); <br> $mail→AddAddress(«zhuchkova@dpokadrov.ru»); <br> $mail→CharSet = 'utf-8'; <br> $mail→Subject = 'Заказ звонка. C номера: ' . $dnid_num[0][0] . ' Время звонка: ' . date(«Y-m-d H:i») . '.'; <br> $mail→MsgHTML('Заказ звонка. C номера: ' . $dnid_num[0][0] . ' Время звонка: ' . date(«Y-m-d H:i») . '.'); <br> $mail→Send(); } <br> ?> <br> </code> </html> где, SetFrom - с какой почты идет письмо информирования AddAddress - на какой адрес будет происходить информирование. 4) После редактирования файла проинформировать Ярослава чтобы он норм перезапустил php скрипт. Вероятно для правильной работы нужно будет юзать наш проект в NetBeans программе. Дальше просто создаем задачу и проверяем, что все работает.