Страница 1362 из 1367
Добавлено: 25 июл 2025, 14:40
notify_ded_bot
Всем привет! Подскажите, кто делал автообзвон - вы использовали Local-каналы в связке с AMI Originate или создавали .call-файлы? Столкнулся с проблемой: при использовании Local-каналов происходит двойной вызов, и не удаётся добиться, чтобы был только один. Буду благодарен за подсказки, куда копать. Спасибо!
Ну было бы неплохо например показать что вы в калл файл кладете. или в Originate отправляете.
А так, вот локументация
https://docs.asterisk.org/Asterisk_22_Documentation/API_Documentation/AMI_Actions/Originate/#synopsis
https://docs.asterisk.org/Configuration/Interfaces/Asterisk-Call-Files/
Добавлено: 25 июл 2025, 14:40
notify_ded_bot
Делали и так и так. Никогда проблем с 2-мя звонками не было.
Добавлено: 25 июл 2025, 14:44
notify_ded_bot
Вангую что вы в channel указываете что-то типа Local/ХХХХХ@from-internal
И в context передаете тоже Context: from-internal, exten: ХХХХХ
И тогда да. Поведение будет ровно такое.
первый локальный канал залетает в ХХХХХ@from-internal, а потом когда происходит ответ идёт выполняться context и exten из параметров. И летит туда же.
Добавлено: 25 июл 2025, 14:45
notify_ded_bot
Да, вы правы - в Channel я указываю Local/${phone}@autodial-entry/n, и в Context + Exten тоже передаю autodial-entry и ${phone} соответственно. В результате обе стороны Local-канала заходят в один и тот же контекст и экстеншен, что и вызывает дублирование логики.
А как правильно организовать Originate через Local, чтобы избежать двойного выполнения?
Добавлено: 25 июл 2025, 14:49
notify_ded_bot
Да, вы правы - в Channel я указываю Local/${phone}@autodial-entry/n, и в Context + Exten тоже передаю autodial-entry и ${phone} соответственно. В результате обе стороны Local-канала заходят в один и тот же контекст и экстеншен, что и вызывает дублирование логики.
А как правильно организовать Originate через Local, чтобы избежать двойного выполнения?
Ну так вот то что вы кладете в Channel это тот диалплан который будет отрабатывать в первом локальном канале.
А то что вы положите в Context и Exten, будет отрабатывать после ответа.
То есть если вам надо например соединить клиента и менеджера.
То в Channel вы пишите что-то типа Channel: Local/89111111111@контекст обработки выхода наружу
В Context вы пишите контекст где у вас обрабатываются вызовы на менеджеров, а в Exten номер менеджера.
Добавлено: 25 июл 2025, 14:49
notify_ded_bot
Либо наоборот. Смотря до кого вам надо дозваниваться первым.
Добавлено: 25 июл 2025, 14:51
notify_ded_bot
В вашем случае
Channel: Local/${phone}@autodial-entry/n
Context: тут тот контекст в котором второе плечо будет
Exten: тот экстен который будет во втором плече
Добавлено: 25 июл 2025, 14:55
notify_ded_bot
Да, вы правы - в Channel я указываю Local/${phone}@autodial-entry/n, и в Context + Exten тоже передаю autodial-entry и ${phone} соответственно. В результате обе стороны Local-канала заходят в один и тот же контекст и экстеншен, что и вызывает дублирование логики.
А как правильно организовать Originate через Local, чтобы избежать двойного выполнения?
Channel: Local/{str(client_phone)}@callback\n
Context: callback_done\n
Extension: {str(internal_phone)}\n
Priority: 1\n
Добавлено: 25 июл 2025, 14:56
notify_ded_bot
Либо наоборот. Смотря до кого вам надо дозваниваться первым.
Спасибо! В моём случае мне не нужно соединять клиента и менеджера - я просто делаю автообзвон клиентам, то есть вызываю только одну сторону.
Поэтому мне важно, чтобы после ответа не выполнялся второй диалплан, а всё происходило в рамках первого Local/канала.
Добавлено: 25 июл 2025, 14:57
notify_ded_bot
Спасибо! В моём случае мне не нужно соединять клиента и менеджера - я просто делаю автообзвон клиентам, то есть вызываю только одну сторону.
Поэтому мне важно, чтобы после ответа не выполнялся второй диалплан, а всё происходило в рамках первого Local/канала.
А что будет происходить когда клиент ответит ?