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

