Настройка громкости микрофона в Asterisk

naomi

Moderator
Команда форума
ПОДГОТОВКА

Откроем FreePBX. Открыв модуль feature codes, мы обнаружим, что в нем можно только изменить существующие коды, но добавить новые нельзя.

НАСТРОЙКА

Открываем файл /etc/asterisk/globals_custom.conf. Этот файл позволяет переписать или добавить глобальные переменные, используемые Asterisk (как стандартные, так и ваши личные).

Если данного файла нет, то его нужно создать. Например, вот так:touch /etc/asterisk/globals_custom.conf
chown asterisk:asterisk /etc/asterisk/globals_custom.conf
chmod 775 /etc/asterisk/globals_custom.conf
В файл добавляем следующую конструкцию:

DYNAMIC_FEATURES=VUp#VDown#MUp#MDown
Vol=0
Mic=0
Мы задали специальные функции, которые понадобятся нам далее. Сейчас будем закреплять комбинации цифр за кодами. Для этого открываем файл etc/asterisk/features_applicationmap_custom.conf и запишем в него следующее:

VUp => 52*,self,Macro,VolumeUp
VDown => 58*,self,Macro,VolumeDown
MUp => 54*,self,Macro,MicUp
MDown => 56*,self,Macro,MicDown
Мы назначили коды для выполнения макроса громкости, который мы напишем позже. Не бойтесь - "странные" комбинации выбраны потому, что их легко запомнить, так как так называемый "крестик" расположен на клавиатуре телефона, как джойстик.

Go ahead. Приступаем к самим макросам. Для этого открываем файл /etc/asterisk/extensions_custom.conf и добавляте:

Set(__DYNAMIC_FEATURES=VUp#VDown#MUp#MDown)

Таким образом, мы подключаем добавленные коды в диалплан Asterisk, который генерирует FreePBX.

Не спешите закрывать файл extensions_custom.conf. В него же добавляем механизм увеличения громкости. То есть, макросы о которых мы писали ранее:

[macro-VolumeUp]
exten => s,1,Set(Vol=$[${Vol}+5])
same => n,Set(VOLUME(TX)=${Vol})

[macro-VolumeDown]
exten => s,1,Set(Vol=$[${Vol}-5])
same => n,Set(VOLUME(TX)=${Vol})

[macro-MUp]
exten => s,1,Set(Mic=$[${Mic}+5])
same => n,Set(VOLUME(RX)=${Mic})

[macro-MDown]
exten => s,1,Set(Mic=$[${Mic}-5])
same => n,Set(VOLUME(RX)=${Mic})
На этом правки закончены. Как вы могли заметить, почему-то очень много "громкости". Все довольно просто. Есть 2 макроса для увеличения и уменьшения громкости звукового канала и соответственно микрофонного канала.

Что нам дают все эти коды (по сравнению с жестко закодированными числами)? Если в какой-то момент разговора вы плохо слышите собеседника (тихо), нужно набрать на телефоне 52* и громкость увеличится. Можно сделать это несколько раз, пока громкость собеседника не станет приемлемой. Это работает и наоборот: 58* и человек, с которым вы разговариваете, становится «тише»

Удобно, правда? :) Из плюсов - не нужно прерывать звонок. Фиксированного ограничения объема нет. Если разговор затянется надолго, можно установить комфортную слышимость.

Ну а второй макрос спросите вы? Представьте: что делать, если собеседник жалуется, что вас тихо слышат? Нет проблем. Набираем 54* и собеседник начинает нас лучше слышать, то есть увеличиваем громкость нашего микрофонного канала!
 
Верх