Страница 241 из 430
Добавлено: 18 дек 2024, 18:16
notify_ded_bot
Давайте накину тогда контекста)
Есть Приложение, которое делает originate (на внутренний номер определенного контекста, выгружает переменные и в этом же контексте есть Dial, в котором есть Gosub, где стартует запись)...Так вот при ответе номера (который из Dial) соединяет с контекстом в котором отдается управление в Stasis приложения, которое стартануло звонок.
И вот как раз перед стазисом и хочу получать MixMonitorID, но никак, потому что канал другой..
Во первых есть замечательная вещь как Shared и ты можешь установить любое значение в любой канал имя которого знаешь и он существует. (а канал ты знаешь, т.к. это как я понял будет Local)
Но основным камнем преткновения вижу Originate в сочетании с OnAnswer GoSub (предполагаю что у тебя оно)
В моих тестах редирект происходит в момент когда вызываемый канал получает статус answered , т.е. GoSub стартует вместе с контекстом редиректа и может быть ситуация что к моменту запуска твоего stasis, mixmonitor еще не запустился.
Я бы тут патчил asterisk, но можно какой нить задержкой и проверкой решать.
Добавлено: 18 дек 2024, 18:17
notify_ded_bot
Давайте накину тогда контекста)
Есть Приложение, которое делает originate (на внутренний номер определенного контекста, выгружает переменные и в этом же контексте есть Dial, в котором есть Gosub, где стартует запись)...Так вот при ответе номера (который из Dial) соединяет с контекстом в котором отдается управление в Stasis приложения, которое стартануло звонок.
И вот как раз перед стазисом и хочу получать MixMonitorID, но никак, потому что канал другой..
госаб для какого канала запускается?
Добавлено: 18 дек 2024, 18:18
notify_ded_bot
Ну хорош. Пойдёт специалист по телефонии в большой компании договариваться о серых схемах. Не по чину ему.
И давайте закрывать тему. Забугорным компаниям нельзя оплачивать в Россию даже если они вне политики - такая тема есть и бог с ней это можно понять. Но серые схемы для тех кто готов заморачиваться тоже есть.
почему нельзя запустить миксмонитор перед диал?
Добавлено: 18 дек 2024, 18:19
notify_ded_bot
Во первых есть замечательная вещь как Shared и ты можешь установить любое значение в любой канал имя которого знаешь и он существует. (а канал ты знаешь, т.к. это как я понял будет Local)
Но основным камнем преткновения вижу Originate в сочетании с OnAnswer GoSub (предполагаю что у тебя оно)
В моих тестах редирект происходит в момент когда вызываемый канал получает статус answered , т.е. GoSub стартует вместе с контекстом редиректа и может быть ситуация что к моменту запуска твоего stasis, mixmonitor еще не запустился.
Я бы тут патчил asterisk, но можно какой нить задержкой и проверкой решать.
Ну и надо учитывать что Local каналы могут оптимизироваться. Т.е. PJSIP<-Local1:Local2->bridge1<-Local1:Local2->bridge2<-PJSIP попытаетсяпопытается до одного бриджа.
Добавлено: 18 дек 2024, 18:29
notify_ded_bot
госаб для какого канала запускается?
для того, что вызывается в dial, он через U опцию
Добавлено: 18 дек 2024, 18:30
notify_ded_bot
Во первых есть замечательная вещь как Shared и ты можешь установить любое значение в любой канал имя которого знаешь и он существует. (а канал ты знаешь, т.к. это как я понял будет Local)
Но основным камнем преткновения вижу Originate в сочетании с OnAnswer GoSub (предполагаю что у тебя оно)
В моих тестах редирект происходит в момент когда вызываемый канал получает статус answered , т.е. GoSub стартует вместе с контекстом редиректа и может быть ситуация что к моменту запуска твоего stasis, mixmonitor еще не запустился.
Я бы тут патчил asterisk, но можно какой нить задержкой и проверкой решать.
так и есть, да. но shared тестил, не проходит, в контексте, куда вызов падает после ответа, переменная пустая..
Добавлено: 18 дек 2024, 18:30
notify_ded_bot
почему нельзя запустить миксмонитор перед диал?
потому что кпв будут, зачем они?) да и даже так не получается, передать значение переменной в другой канал, чтобы отдать его в стазис
Добавлено: 18 дек 2024, 18:31
notify_ded_bot
так и есть, да. но shared тестил, не проходит, в контексте, куда вызов падает после ответа, переменная пустая..
Возможно она ещё пустая. Если вы получаете верное имя канала, то она там будет.
Добавлено: 18 дек 2024, 18:32
notify_ded_bot
Возможно она ещё пустая. Если вы получаете верное имя канала, то она там будет.
ну судя по логам, я вижу id канала записи в основном канале, еще перед отправкой в контекст ответа.
Добавлено: 18 дек 2024, 18:32
notify_ded_bot
Полюбому вы будите останавливать запись не в момент старта стазиса, и GoSub с MixMonitor уже отработает.