Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

СМС о пропущенном вызове, подскажите как реализовать

0

Всем доброе время суток! Подскажите как прописать отправку смс с номером не принятого звонка? Я так полагаю, если сделать пропись в hangup`e, то смс с номером звонящего будет отправляться даже если звонок был принят. Как объяснить АТС, где непринятий вызов, а где положенная трубка после разговора?

Спасибо!

удалить закрыть спам изменить тег редактировать

спросил 2012-11-30 16:51:28 +0400

vlad.v Gravatar vlad.v
377 28 5 21

Comments

Помогите понять что не так делаю, пробую просто вывести статус звонка: h => { NoOp(${DIALSTATUS}); }

и получаю вот такой вывод: Executing [h@incoming:1] NoOp("Datacard/datacard1-010000002c", "") in new stack

Чего не выводиться Dialstatus? Спасибо!

Нашел ответ на свой вопрос, частично. Походу статус начинает отображаться только если пошел вызов к абоненту, если человек положил трубку когда говорил IVR, то статус пустой.

vlad.v ( 2012-12-05 14:27:24 +0400 )редактировать

Конечно пустой. Эту переменную задает команда Dial и если она не вызывалась то и переменная пустая.

Злобный Мыш ( 2012-12-07 08:11:49 +0400 )редактировать

1 Ответ

1

Очень просто.

После завершения вызова в контексте h смотрим состояние переменной ${DIALSTATUS}. И по её значению решаем выдавать смс или нет.

У меня отправка сообщения на мыло идет если переменная принимает значения : CHANUNAVAIL CANCEL CONGESTION NOANSWER

Какие значения будут обрабатываться у вас решать вам.

ссылка удалить спам редактировать

ответил 2012-11-30 17:03:38 +0400

Злобный Мыш Gravatar Злобный Мыш
292 13 5 16

обновил 2012-11-30 17:05:33 +0400

Comments

То же и для очереди, вызванной с опцией "c", в контексте n проверяем состояние переменной ${QUEUESTATUS} (TIMEOUT, FULL, JOINEMPTY, LEAVEEMPTY, JOINUNAVAIL, LEAVEUNAVAIL, CONTINUE - нормальный выход)

viktorkho ( 2012-11-30 20:51:41 +0400 )редактировать

Спасибо за ответы! ОГРОМНОЕ!

vlad.v ( 2012-12-03 11:32:49 +0400 )редактировать

Подскажите еще такую штуку. Клиент набирает номер оператора, например 120, если оператор не берет 20 секунд трубку, срабатывает переадресация на его мобильный, но бываю ситуации что человеку надоело ждать и он кладет трубку. Вопрос, как сделать отправку смс именно на тот номер, на который была переадресация? Сейчас смс отсылает на один номер одному оператору, но это не правильно. Спасибо!

vlad.v ( 2012-12-06 13:40:09 +0400 )редактировать

Ну это тоже не сложно. Переадресация у вас выполняется средствами телефона или через диалплан?

Но в любом случае надо сделать чтобы астер знал соответствие внутреннего номера и мобильного. один из вариантов сделать через внутренюю базу астериска, добавить туда запись и потом из диалпплана вызывать. К примеру так : ${DB(notice/${extenfornotice})} где notice - это имя семейства в базе астера, а extenfornotice имя записи, тогда если в самой записи будет мобильный то его и выведет, дальше дело техники.

Безусловно можно использовать любой другой способ хранения, тот же скуль к примеру. Ну или в лоб перебрать в диалплане все номера с уведомлением, через макрос к примеру.

Злобный Мыш ( 2012-12-07 10:33:24 +0400 )редактировать

Спасибо, буду пробовать по Вашему совету!

vlad.v ( 2012-12-10 16:51:27 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку
1 закладка

подписаться на rss ленту новостей

Статистика

Задан: 2012-11-30 16:51:28 +0400

Просмотрен: 591 раз

Обновлен: Nov 30 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.