Задать вопрос

Отправка уведомления о пропущенном вызове на почту в freepbx?

Не отправляются уведомления о пропущенном вызове на почту, в extensions_custom.conf прописано
exten => s,n, System(echo "текст" | mail -s "тема" xxxx@gmail.com)

Если по ssh дать команду echo "текст" | mail -s "тема" xxxx@gmail.com
то письмо поступает на почту, подскажите в чем может быть проблема?

Решение нашлось, может кому то пригодится.
Создал ivr:
Приложения>Интерактивное меню (IVR)
Добавил запись "все менеджеры заняты, мы перезвоним вам, положите трубку"
Затем открыл Приложения>Внутренние номера>"номер">Изменить установки 'Следуйте сюда'>Назначение если нет ответа: Интерактивное меню (IVR)>выбираем нужный ivr.
Далее в /etc/asterisk/extensions_override_freepbx.conf добавил

[ivr-5] ; 

exten => h,1,System(echo "Пропущеный вызов с номера ${CALLERID(num)} в ${STRFTIME(${EPOCH},,%H:%M)}" | sendmail -f root@xxxx.com -t info@xxxx.com)
same  => n,Hangup()


номер ivr можно увидеть в CLI (asterisk -rvvvv )
Во время звонка будет строка вида:
-- Executing [h@ivr-5:1] System("SIP/AS5350-000041bc", "echo "Пропущеный вызов с номера 89991111111 в 16:45" | sendmail -f root@xxxx.com -t info@xxxx.com") in new stack
  • Вопрос задан
  • 3232 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@ndr_pro Автор вопроса
Спасибо за помощь, прописал так:
exten => 1314,1,GotoIf($["${QUEUESTATUS}"="CONTINUE"]?answered)
same => n,ExecIf($["${CDR(dstchannel)}"=""]?System(echo "Пропущеный вызов с номера ${CALLERID(num)} в ${STRFTIME(${EPOCH},,%H:%M)}" | sendmail -f root@xxxx.com -t info@xxxx.com))

и заработало
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Leksnsk
@Leksnsk
По ssh вы даете команду от своего имени, а через System скорее всего от имени пользователя asterisk (если создан такой). Возможно у пользователя asterisk нет прав на команду mail.
Ответ написан
Комментировать
@arheops
Команда mail при первом запуске задает вопросы.

Вам надо

1) в /etc/passwd пользоватлею asterisk разрешить /bin/bash вместо nologin

2) сделать su asterisk потом mail, ответить на вопросы.

3) не забыть сделать nologin обратно.

а вообще надо в систем передавать только как /etc/asterisk/send_email "text" "xxxx@gmail.com", и написать скриптик который проверяет все возможные пробелмы и отправляет сообщение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы