Порой, например, при подключении аналогового телефона через 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 на другое, параллельно проверяя громкость в трубке