В диал-плане была команда SET VOLUME(...). Отлично работала из диалплана, AGI, AMI и позволяла установить громкость канала как нужно...
Как сменить громкость на канале через ARI?
Попутно вопрос. Кто перелазил с AGI/AMI на ARI ввиду перехода на новые версии - поделитесь впечатлениями и подводными камнями...
По первой ссылке говориться, что в ARI нет возможности выставлять свою громкость на канале. Но можно вернуться в диал-план и проделать оттуда Set(VOLUME(TX)=5). Не написано каким образом это делается, что и не понятно мне.
По второй ссылке PlayBack. Тут вообще не понятно как менять громкость...
В идеологии АРИ, вроде бы из астериска выкинуто 2/3 функционала и подразумевается, что любой звонок сразу уходит в Стасис (те в самописное приложение АРИ). Это приложение и рулит всем от начала звонка и до его конца. Нет больше никакого диал-плана, нет маршрутизации, нет конф-бриджей, войс-мейлов. Нет ничего. Все надо писать самому. В этой концепции как-то странно выглядит выскакивание обратно в диал-план, установка громкости и снова ныряние в Стасис... Если я неправильно понимаю - поправьте, плз.
Всё правильно. Эти две ссылки помогли вам самому и ответить на ваш же вопрос.
Чтобы не возвращаться в диал-план и проделывать оттуда Set(VOLUME(TX)=5) можно попробовать описать это в маленьком контекстном макросе типа [macro-up-tx-volume] и вызывать из ARI через локальный канал или субрутину
LOCAL/s@up-tx-volume
1) POST /channels Create a new channel (originate).
Вызов локального канала LOCAL/s@up-tx-volume или даже уже созданного канала /channels/{channelId}
для которого должен быть контекст
[up-tx-volume]
exten = s,1,Set(VOLUME(TX)=5)
2) POST /channels/{channelId}/variable Set the value of a channel variable or function
Попробовать просто передать значение переменной VOLUME(TX)
Так то новый канал. Читай новый звонок. Я и так могу Set(VOLUME(TX)=5) в диал-плане еще до попадания канала в Стасис. Приложения Confbridge теперь нет, а мне надо как в старом Confbridge было c DTMF *4=decrease_listening_volume, 4=increase_listening_volume, ... Что-то подобное во время активной конференции и не теряя управления ей. Да и чем это, собственно, отличается от выскочить из АРИ в диал-план снова ввалиться? Что-то я не понимаю ничего с этим АРИ...