Страница 1362 из 1367

Cообщение от   Telegram-канал Mihail_K

Добавлено: 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/

Cообщение от   Telegram-канал Mihail_K

Добавлено: 25 июл 2025, 14:40
notify_ded_bot

Делали и так и так. Никогда проблем с 2-мя звонками не было.

Cообщение от   Telegram-канал Mihail_K

Добавлено: 25 июл 2025, 14:44
notify_ded_bot

Вангую что вы в channel указываете что-то типа Local/ХХХХХ@from-internal

И в context передаете тоже Context: from-internal, exten: ХХХХХ

И тогда да. Поведение будет ровно такое.
первый локальный канал залетает в ХХХХХ@from-internal, а потом когда происходит ответ идёт выполняться context и exten из параметров. И летит туда же.

Cообщение от   Telegram-канал Vadim_VOIP

Добавлено: 25 июл 2025, 14:45
notify_ded_bot

Да, вы правы - в Channel я указываю Local/${phone}@autodial-entry/n, и в Context + Exten тоже передаю autodial-entry и ${phone} соответственно. В результате обе стороны Local-канала заходят в один и тот же контекст и экстеншен, что и вызывает дублирование логики.

А как правильно организовать Originate через Local, чтобы избежать двойного выполнения?

Cообщение от   Telegram-канал Mihail_K

Добавлено: 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 номер менеджера.

Cообщение от   Telegram-канал Mihail_K

Добавлено: 25 июл 2025, 14:49
notify_ded_bot

Либо наоборот. Смотря до кого вам надо дозваниваться первым.

Cообщение от   Telegram-канал Mihail_K

Добавлено: 25 июл 2025, 14:51
notify_ded_bot

В вашем случае
Channel: Local/${phone}@autodial-entry/n
Context: тут тот контекст в котором второе плечо будет
Exten: тот экстен который будет во втором плече

Cообщение от   Telegram-канал Mihail_K

Добавлено: 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

Cообщение от   Telegram-канал Vadim_VOIP

Добавлено: 25 июл 2025, 14:56
notify_ded_bot
Либо наоборот. Смотря до кого вам надо дозваниваться первым.

Спасибо! В моём случае мне не нужно соединять клиента и менеджера - я просто делаю автообзвон клиентам, то есть вызываю только одну сторону.

Поэтому мне важно, чтобы после ответа не выполнялся второй диалплан, а всё происходило в рамках первого Local/канала.

Cообщение от   Telegram-канал Mihail_K

Добавлено: 25 июл 2025, 14:57
notify_ded_bot
Спасибо! В моём случае мне не нужно соединять клиента и менеджера - я просто делаю автообзвон клиентам, то есть вызываю только одну сторону.

Поэтому мне важно, чтобы после ответа не выполнялся второй диалплан, а всё происходило в рамках первого Local/канала.

А что будет происходить когда клиент ответит ?