Продвинутый callback для Asterisk
Цена договорная
•
электронные деньги
Имеется:
- список номеров операторов (мобильные)
- номер (один) клиента
- id задачи
- call-файлы создаются внешним приложением (его писать не надо)
Необходимо дозвониться хотя бы на один из номеров оператора. Перебираем их по кругу. Делаем 2 круга, после этого отбой. Сообщаем внешнему скрипту о не удаче (передаем id)
Если прошел дозвон (взяли трубку), то:
- включаем проигрывание файла
- сообщаем внешнему скрипту о дозвоне до оператора (передаем id + код)
- начинаем совершать звонок клиенту
Если клиент не взял трубку:
- проигрывание файла оператору
- сообщаем внешнему скрипту о ситуации (id + код)
- кладем трубку
Если клиент взял трубку:
- соединяем оператора и клиента
- сообщаем внешнему скрипту о соединении и об окончании разговора (id + код)
Сейчас все работает просто:
Channel: SIP/myprovider/79510000000
MaxRetries: 5
RetryTime: 300
WaitTime: 45
Context: myprovider-out
Extension: 79020000000
Priority: 1
т.е. с помощью call-файлов просто звонит на один номер, после соединения дозванивается до второго.
Требуется:
- написать extensions (если я не ошибаюсь)
- список номеров операторов (мобильные)
- номер (один) клиента
- id задачи
- call-файлы создаются внешним приложением (его писать не надо)
Необходимо дозвониться хотя бы на один из номеров оператора. Перебираем их по кругу. Делаем 2 круга, после этого отбой. Сообщаем внешнему скрипту о не удаче (передаем id)
Если прошел дозвон (взяли трубку), то:
- включаем проигрывание файла
- сообщаем внешнему скрипту о дозвоне до оператора (передаем id + код)
- начинаем совершать звонок клиенту
Если клиент не взял трубку:
- проигрывание файла оператору
- сообщаем внешнему скрипту о ситуации (id + код)
- кладем трубку
Если клиент взял трубку:
- соединяем оператора и клиента
- сообщаем внешнему скрипту о соединении и об окончании разговора (id + код)
Сейчас все работает просто:
Channel: SIP/myprovider/79510000000
MaxRetries: 5
RetryTime: 300
WaitTime: 45
Context: myprovider-out
Extension: 79020000000
Priority: 1
т.е. с помощью call-файлов просто звонит на один номер, после соединения дозванивается до второго.
Требуется:
- написать extensions (если я не ошибаюсь)
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.