Поковыряйтесь. В доке. В теории вам нужно инициализировать вызов, а затем выставить PHONEHOOKSWITCHMODE для Handset через phoneSetHookSwitch. Или вызвать phoneSetRing... Смотря что вы хотите получить
В целом, возможно всё реализуемо. Я смотрю у TAPI богатый функционал. Вполне возможно что и получится реализовать нужный функционал, если удастся из модема получить информацию по управлению его поведением
duoman, ок... Но думаю все же следует поискать информацию в документации по вашему TA. Похоже всё упрется в его функционал, если придерживаться вашей схемы работы.
Как в настоящее время это делают - API-запрос отправляется на АТС. АТС выполняет дозвон первой стороне и после поднятия трубки, вызванивает вторую сторону и соединяет их.
/\ Вот серьёзно - самый полезный комментарий. Исправьте эту вопиющую ошибку и все начнёт работать как запланировано и без этих вот танцев с присяданиями, которые вы пытаетесь сейчас изобразить.
FRANZEE, да, в портах разница. В теме корректная инфа. Если вы укладываетесь в 25мбит с трафиком камер, то все отлично. Или используйте vpn без шифрования, pptp или l2tp. Получите выше скорость
massef, вы можете отревертить сразу несколько коммитов и получить один новый A - B - C - D - xBxCxD. Посмотрите в документации по реверту. И всем сразу будет понятно, что была проблема и её откатили. История событий в целости.
Ещё раз - во всех других вариантах с ребейзом вы перепишите историю и вам потребуется форс-пуш, в т.ч. форс-пуш в мастер. Считайте это ну самой крайней мерой, практически неприменимой. Портить историю можно в свой ветке, но как только она слита с другой (общественной), а в особенности мастером - перезапись истории табу.
Smoke Cartesius, даже не представляете как вы были близко от того, чтобы угробить всю конфигурацию. Сделайте бекап прежде чем продолжать.
Откройте конфиг сервера и найдите где сейчас хранятся ключи, отбекапте их. Посмотрите. может там же и утилиты по генерации новых находятся. Если нет, то будет другой путь. CA и TA ключи на действующем сервере не заменяйте без необходимости
Ivan Yakushenko, да, async/await я вам ещё и не рекомендовал :) Это еще вариант.
А так самый простой Celery, который берет на себя всю работу по жизни порождаемого воркера
Скорее всего убить корректно поток не получится, т.к. они у вас "повисают" на ожидании ответа и вы не предусмотрели таймаута ожидания.
есть какая-то возможность задавать время жизни потока
У вас там бесконечный цикл? Вот и считайте там прошедшее время. Когда насчитаете нужное (час прошёл, например) - выходите из цикла. Пришёл запрос в поток - сбрасывайте счётчик жизни потока, пусть ещё поживет.
Проще сереализовать сохраняемый объект в json, а json записать в файл.