@alexdora
Топ-менеджер

Как организовать удержание входящего вызова до подключения абонента?

Есть iPhone c программой Bria. Она умеет работать в фоне и удерживать соединение с сервером. Но не устраивает расход батереи 35% в сутки Bria высасывает. На сервере последний ASTERISK + FreePBX
Задача:
При входящем вызове сделать такую схему:
1. Входящий звонок на транк
2. Снять трубку
2. Выполнить команду (в данном случае я хочу curl на API сайта sms.ru чтобы отправил SMS на мобильник)
3. Гудок ожидания ответа
4. Цикл проверки ext абонента asterisk на доступность. Если доступен, перекинуть дальше. Если недоступен - ничего не делать
5. По окончанию N секунд перекинуть на голосовую почту или terminate звонка

Пункты 1,2 да, и 3,5 я знаю как сделать. А вот как сделать цикл и условие, теряюсь. Большая просьба помочь в реализации. Спасибо.
  • Вопрос задан
  • 426 просмотров
Пригласить эксперта
Ответы на вопрос 2
обычная очередь подойдет
можно и на парковку ставить
Ответ написан
Комментировать
Грубый вариант решения куска с циклом:
same => n(here),Dial(...)
same => n,Wait(5)
same => n,Goto(here)

Можно немного улучшить, добавив ограниченное число итераций.
Так же вариант, предложенный Владимир, с очередью из одного мембера, наверно, будет поаккуратней.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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