АвтоОбзвон - Частные приложения
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 программе.
Дальше просто создаем задачу и проверяем, что все работает.