Страница 1 из 2
Отключить звук
Добавлено: 03 июн 2019, 18:48
bublikoff
Возможно ли отключить звук при исходящем вызове на экстеншен? И иметь возможность включить его через DTMF?
Задача дозавниваться к айпи домофону беззучно но так же иметь возможность переходить в режим общения
Re: Отключить звук
Добавлено: 04 июн 2019, 03:57
zzuz
Возможно через features applicationmap .
Например, так
Код: Выделить всё
muted=*71,peer,Set,VOLUME(tx)=-100
unmuted=*73,peer,Set,VOLUME(tx)=0
Re: Отключить звук
Добавлено: 04 июн 2019, 11:24
ded
Лучше на один код повесить - Toggle.
Тогда на кнопке, которая при нажатии генерит такой код можно обозначить Mute/Unmute
Re: Отключить звук
Добавлено: 05 июн 2019, 00:59
bublikoff
Про "features applicationmap" понятно. А как вешается Toggle?
Re: Отключить звук
Добавлено: 05 июн 2019, 10:10
zzuz
Также .
Re: Отключить звук
Добавлено: 05 июн 2019, 10:22
ded
Дык, так же. Примерно так (из головы пишу):
Код: Выделить всё
ExecIf($[${VOLUME(tx)} < 0]?Set,VOLUME(tx)=0)
...
ExecIf($[${VOLUME(tx)} = 0]?Set,VOLUME(tx)=-100)
Лучше посмотреть в других сервисных кодах FreePBX как делают toggle - app-cf-toggle, app-dnd-toggle например.
Re: Отключить звук
Добавлено: 05 июн 2019, 11:39
Wapo
ded, увы:
Код: Выделить всё
pbx.c:4427 ast_func_read: Function VOLUME cannot be read
Re: Отключить звук
Добавлено: 05 июн 2019, 12:05
ded
Ну уж не знаю, как вы умеете готовить кошек, а суслик он там есть:
*CLI> core show function VOLUME
-= Info about function 'VOLUME' =-
[Synopsis]
Set the TX or RX volume of a channel.
[Description]
The VOLUME function can be used to increase or decrease the 'tx' or 'rx' gain
of any channel.
For example:
Set(VOLUME(TX)=3)
Set(VOLUME(RX)=2)
Set(VOLUME(TX,p)=3)
Set(VOLUME(RX,p)=3)
[Syntax]
VOLUME(direction[,options])
[Arguments]
direction
Must be 'TX' or 'RX'.
options
p: Enable DTMF volume control
Re: Отключить звук
Добавлено: 05 июн 2019, 12:23
Wapo
Ну мало что на заборе написано, а там дрова лежат! Попробуйте сами варианты:
NoOp(${VOLUME(tx)}) и т.д.
Re: Отключить звук
Добавлено: 05 июн 2019, 12:36
ded
строго говоря - через NoOp(${VOLUME(tx)}) вы пытаетесь считать переменную ${VOLUME(tx), но такой переменной нет, это же функция.
Упреждая выстрел в мою голову -
ExecIf($[${VOLUME(tx)} < 0]?Set,VOLUME(tx)=0)
напоминаю, это примерно так (из головы писал). То есть пытался донести идею, а не готовый код.
Идея toggle - одно нажатие кнопки даёт Set,VOLUME(tx)=0, повторное нажатие той же кнопки даёт Set,VOLUME(tx)=100 например.