Найти тему
Merion Academy

Asterisk FreePBX 13 регулировка громкости

Порой, например, при подключении аналогового телефона через FXS шлюз, на котором отсутствует регулировка громкости, необходимо отрегулировать громкость при разговоре. Предположим, что на FXS шлюзе отсутствует регулировка на порту, к которому подключен телефон. Давайте разберемся:

Данная регулировка реализуется на базе VOLUME(TX|RX). Информацию по ней можно посмотреть через консоль Asterisk:

asterisk*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
[See Also]
Not available

Данная функция имеет 2 параметра:

  • Направление, т.е TX – отправка, RX – прием.
  • Дополнительная опция p, которая активирует контроль над звуком по DTMF

На данном этапе мы разобрались с функцией VOLUME. Теперь открываем файл extensions_customs.conf и производим следующие настройки нового контекста:

[root@asterisk ~]# vim /etc/asterisk/extensions_custom.conf
[volume-set]
exten => _X.,1,NoOp(Volume settings)
same => n,Set(VOLUME(TX)=5)
same => n,Set(VOLUME(RX)=5)
same => n,Goto(from-internal,${EXTEN},1)

Теперь открываем необходимый нам Extension, и в поле Context, вносим название созданного нами выше контекста - volume-set.

Теперь можно регулировать громкость в настройках контекста, изменяя значение с 5 на другое, параллельно проверяя громкость в трубке