ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

ARI set volume? И вообще о ARI.

Раздел для разработчиков для обсуждения программных и аппаратных продуктов и их реализации.

Модераторы: april22, Zavr2008

ARI set volume? И вообще о ARI.

Сообщение AndyBack » 29 авг 2021, 23:38

В диал-плане была команда SET VOLUME(...). Отлично работала из диалплана, AGI, AMI и позволяла установить громкость канала как нужно...

Как сменить громкость на канале через ARI?
Попутно вопрос. Кто перелазил с AGI/AMI на ARI ввиду перехода на новые версии - поделитесь впечатлениями и подводными камнями...
AndyBack
 
Сообщений: 36
Зарегистрирован: 31 авг 2018, 23:03

Re: ARI set volume? И вообще о ARI.

Сообщение ded » 30 авг 2021, 12:26

Синтаксис поменялся вроде, было SET VOLUME(...), стало
Set(VOLUME(TX)=5)
ded
 
Сообщений: 15793
Зарегистрирован: 26 авг 2010, 19:00

Re: ARI set volume? И вообще о ARI.

Сообщение AndyBack » 30 авг 2021, 15:13

Это в диал-плане, а как этим из ARI воспользоваться?
AndyBack
 
Сообщений: 36
Зарегистрирован: 31 авг 2018, 23:03


Re: ARI set volume? И вообще о ARI.

Сообщение AndyBack » 30 авг 2021, 16:54

По первой ссылке говориться, что в ARI нет возможности выставлять свою громкость на канале. Но можно вернуться в диал-план и проделать оттуда Set(VOLUME(TX)=5). Не написано каким образом это делается, что и не понятно мне.

По второй ссылке PlayBack. Тут вообще не понятно как менять громкость...

В идеологии АРИ, вроде бы из астериска выкинуто 2/3 функционала и подразумевается, что любой звонок сразу уходит в Стасис (те в самописное приложение АРИ). Это приложение и рулит всем от начала звонка и до его конца. Нет больше никакого диал-плана, нет маршрутизации, нет конф-бриджей, войс-мейлов. Нет ничего. Все надо писать самому. В этой концепции как-то странно выглядит выскакивание обратно в диал-план, установка громкости и снова ныряние в Стасис... Если я неправильно понимаю - поправьте, плз.
AndyBack
 
Сообщений: 36
Зарегистрирован: 31 авг 2018, 23:03

Re: ARI set volume? И вообще о ARI.

Сообщение ded » 30 авг 2021, 17:03

Всё правильно. Эти две ссылки помогли вам самому и ответить на ваш же вопрос.
Чтобы не возвращаться в диал-план и проделывать оттуда Set(VOLUME(TX)=5) можно попробовать описать это в маленьком контекстном макросе типа [macro-up-tx-volume] и вызывать из ARI через локальный канал или субрутину
LOCAL/s@up-tx-volume
ded
 
Сообщений: 15793
Зарегистрирован: 26 авг 2010, 19:00

Re: ARI set volume? И вообще о ARI.

Сообщение AndyBack » 30 авг 2021, 17:57

Не понимаю каким методом можно из АРИ вызвать макро диал-плана LOCAL/s@up-tx-volume и остаться в АРИ... Помогите понять, плз.
AndyBack
 
Сообщений: 36
Зарегистрирован: 31 авг 2018, 23:03

Re: ARI set volume? И вообще о ARI.

Сообщение ded » 30 авг 2021, 18:41

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)

идею надо додумать и дописать.
https://wiki.asterisk.org/wiki/display/ ... s+REST+API
https://wiki.asterisk.org/wiki/display/ ... s+REST+API
ded
 
Сообщений: 15793
Зарегистрирован: 26 авг 2010, 19:00

Re: ARI set volume? И вообще о ARI.

Сообщение AndyBack » 30 авг 2021, 21:42

Так то новый канал. Читай новый звонок. Я и так могу Set(VOLUME(TX)=5) в диал-плане еще до попадания канала в Стасис. Приложения Confbridge теперь нет, а мне надо как в старом Confbridge было c DTMF *4=decrease_listening_volume, 4=increase_listening_volume, ... Что-то подобное во время активной конференции и не теряя управления ей. Да и чем это, собственно, отличается от выскочить из АРИ в диал-план снова ввалиться? Что-то я не понимаю ничего с этим АРИ...
AndyBack
 
Сообщений: 36
Зарегистрирован: 31 авг 2018, 23:03

Re: ARI set volume? И вообще о ARI.

Сообщение dimondack » 03 сен 2021, 15:18

2) POST /channels/{channelId}/variable Set the value of a channel variable or function
Попробовать просто передать значение переменной VOLUME(TX)

Это проверил работает


идею надо додумать и дописать.
https://wiki.asterisk.org/wiki/display/ ... s+REST+API
https://wiki.asterisk.org/wiki/display/ ... s+REST+API

+
Вложения
2.jpg
На форме конечно кнопочки надо предусмотреть
3.jpg
Бридж
1.jpg
Set(VOLUME(TX)=0.5) даже 0.5
Аватар пользователя
dimondack
 
Сообщений: 61
Зарегистрирован: 16 сен 2019, 03:40

След.

Вернуться в Разработка

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH