Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
При добавлении на АТС нового Сотрудника на АТС заводится учетная запись SIP с числовым внутренним номером. В ряде случаев, в целях безопасности есть необходимость изменить имя для авторизации этого сотрудника.
При настройке SIP Клиентов часто можно увидеть два ключевых параметра:
Username - обычно равен ID учетной записи, в случае с MikoPBX равен внутреннему номеру
Auth Username - имя пользователя для авторизации. В случае MikoPBX равен внутреннему номеру
Для изменения имени авторизации:
Откройте учетную запись сотрудника на редактирование
Перейдите к «Расширенным настройкам» → «Дополнительные параметры SIP»
Добавьте следующие строчки:
[auth]
username = MIKO204
Вместо MIKO204 укажите имя для авторизации, желательно использовать и буквы и цифры
MikoPBX установлена на отдельно выделенный сервер по . В качестве дополнительного диска для хранения записей разговоров (диск storage) подключен 4-ый раздел основного диска (/dev/sda4), где установлена MikoPBX. Свободное место на 4-ом разделе диска закончилось. Необходимо подключить к MikoPBX в качестве диска storage отдельный диск (/dev/sdb) и перенести на него все записи разговоров, которые ранее хранились на 4-ом разделе основного диска.
Подключитесь к MikoPBX через с помощью SSH по :
Перейдите в консоль - для этого выберите: [9] Console (Shell)
Отключите storage диск «sda4»:
Подключаем новый диск.
/etc/rc/freestorage;
php -f /etc/rc/connect.storage;
Увеличить размер диска позволяют некоторый виртуальные машины
Перед работами обязательно выполните резервное копирование данных!
Для выполнения предложенных далее команд потребуется Подключение к АТС с помощью SSH-клиента.
~ # df -h
Filesystem Size Used Available Use% Mounted on
none 281.3M 324.0K 281.0M 0% /dev
/dev/sda2 392.3M 384.6M 3.8M 99% /offload
/dev/sda3 14.1M 915.0K 12.9M 6% /cf
/dev/sdb1 4.9G 71.0M 4.5G 2% /storage/usbdisk1
Диск для хранения данных обычно монтируется в каталог «/storage/usbdisk1». Из примера выше видно, что на текущий момент доступно 4.5G из 4.9G.
Перед началом работ следует отмонтировать диск. Для этого запустите скрипт:
~ # /sbin/freestorage
Убедитесь, что диск для хранения данных более не смонтирован:
~ # df -h
Filesystem Size Used Available Use% Mounted on
none 281.3M 324.0K 281.0M 0% /dev
/dev/sda2 392.3M 388.3M 0 100% /offload
/dev/sda3 14.1M 915.0K 12.9M 6% /cf
Для начала удалим существующий раздел. Эта операция НЕ удаляет данные на диске, просто правит таблицу разделов.
Запускаем редактор разделов:
# fdisk /dev/sdb
Система запросит ввести команду, вводим «d» и жмем Enter:
Command (m for help): d
Система запросит выбрать раздел к удалению, он один, вводим номер раздела «1» и жмем Enter:
Selected partition 1
Сохраняем таблицу разделов, вводим команду «w» и жмем Enter:
Command (m for help): w
Запускаем редактор разделов:
# fdisk /dev/sdb
Система запросит ввести команду, вводим «n» и жмем Enter:
Command (m for help): n
Далее указываем команду «p», раздел будет первичным, жмем Enter:
Command action p
Вводим номер создаваемого раздела «1», жмем Enter:
Partition number (1-4): 1
Далее система запросит ввести номера первого и последнего сектора «First sector» / «Last sector», ждем Enter, ничего не вводим и соглашаемся со значениями «по умолчанию».
Размер раздела должен соответствовать размеру диска.
~ # fdisk -l
Disk /dev/sdb: 10 GB, 10737418240 bytes, 20971520 sectors
1305 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 16065 * 512 = 8225280 bytes
Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type
/dev/sdb1 0,1,1 1023,254,63 63 20964824 20964762 9.9G 83 Linux
Запускаем команду проверки:
e2fsck -f /dev/sdb1
Пример результата работы команды:
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 35/655360 files (11.4% non-contiguous), 63423/2620595 blocks
Запускаем команду:
resize2fs /dev/sdb1
Пример вывода команды:
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 2620595 (4k) blocks long. Nothing to do!
При загрузке система автоматически смонтирует диск для хранения данных:
~ # df -h
Filesystem Size Used Available Use% Mounted on
none 281.3M 324.0K 281.0M 0% /dev
/dev/sda2 392.3M 384.6M 3.8M 99% /offload
/dev/sda3 14.1M 915.0K 12.9M 6% /cf
/dev/sdb1 9.8G 73.3M 9.2G 1% /tmp/123
Настройка резервного интернета
Если АТС работает за NAT и серый публичный IP адрес изменился, то АТС не сможет получить входящий вызов пока не пройдет регистрация на стороне провайдера, по умолчанию это может занять от 2х до 6 мин.
Подключитесь к MikoPBX по протоколу SSH (документация о различных способах подключения — )
Создайте новый файл скрипта командой:
Система запросит ввод с клавиатуры, вставьте содержимое скрипта:
Нажмите CTRL + D
для завершения ввода.
Сделайте файл исполняемым:
Перейдите в web-интерфейс MikoPBX -> "Система" -> "Кастомизация системных файлов":
Откройте для редактирования файл /var/spool/cron/crontabs/root
:
Добавьте задачу в конец файла /var/spool/cron/crontabs/root
Теперь каждую минуту будет выполняться проверка на изменение публичного адреса, если адрем изменился, то будет выполнена перерегистрация всех провайдеров.
В системном логе system/messages
отобразиться информационное сообщение об изменении IP.
Действия для сброса данных из консоли MikoPBX
Может возникнуть ситуация, когда Вы забыли логин или пароль от web-интерфейса MikoPBX. В данной инструкции вы найдете порядок действий для их сброса.
Перейдите в консоль MikoPBX.
Перейдите в раздел "[7] Reset password for the web interface".
Введите "y" для подтверждения сброса логина и пароля.
Авторизуйтесь в web-интерфейс по стандартным данным:
Измените данные для входа после первой авторизации.
Перейдите в container-shell.
Запустите меню, используя следующую команду:
Перейдите в раздел "[7] Reset password for the web interface".
Введите "y" для подтверждения сброса логина и пароля.
Авторизуйтесь в web-интерфейс по стандартным данным:
Измените данные для входа после первой авторизации.
cat > /storage/usbdisk1/mikopbx/custom_modules/update_ip.sh
#!/bin/bash
# Файл для хранения предыдущего IP
IP_FILE="/tmp/last_ip.txt"
# Команда для получения текущего IP
CURRENT_IP=$(/usr/bin/curl -s https://checkip.amazonaws.com)
# Проверка, существует ли файл с предыдущим IP
if [ -f "$IP_FILE" ]; then
LAST_IP=$(cat "$IP_FILE")
else
LAST_IP=""
fi
# Сравнение текущего IP с предыдущим
if [ "$CURRENT_IP" != "$LAST_IP" ]; then
/bin/busybox logger -t 'UpdateIP' "IP изменился: $LAST_IP -> $CURRENT_IP";
echo "$CURRENT_IP" > "$IP_FILE"
# Выполнение команды Asterisk
/usr/sbin/asterisk -rx 'pjsip send register *all'
fi
chmod +x /storage/usbdisk1/mikopbx/custom_modules/update_ip.sh
*/1 * * * * /storage/usbdisk1/mikopbx/custom_modules/update_ip.sh > /dev/null 2> /dev/null
docker exec -it mikopbxcontaierNameOrID sh
/etc/rc/console_menu
В ряде случаев необходимо предусмотреть сохранение записей разговоров на сетевой диск. В этом примере покажем как подключить к MikoPBX общий каталог windows.
Обратите внимание: если сетевой каталог будет не доступен, возможны сбои в работе АТС.
Создадим каталог для хранения скрипта
mkdir /storage/usbdisk1/mikopbx/custom_modules/shared-folder-script
Создадим файл скрипта
cat > /storage/usbdisk1/mikopbx/custom_modules/shared-folder-script/mount-shared-folder.sh
Вставьте содержимое скрипта
#!/bin/sh
HOST='//172.16.32.38/SharedFolder';
USER='';
PASS='';
REC_DIR='autorecords';
mountPoint='/storage/win-shared';
createLink ()
{
subDir="$(date '+%Y/%m')";
monitorDir="$(/bin/busybox grep monitordir < /etc/inc/mikopbx-settings.json | /bin/busybox cut -f 4 -d '"')";
if [ "${monitorDir}x" = 'x' ];then
echo "Empty monitor dir";
return;
fi;
/bin/busybox mkdir -p "$monitorDir" "$mountPoint/$REC_DIR/$subDir";
if [ ! -L "$monitorDir/$subDir" ] && [ -d "$monitorDir/$subDir" ];then
cp -r "$monitorDir/$subDir/"* "$mountPoint/$REC_DIR/$subDir";
rm -rf "${monitorDir:?}/$subDir/";
ln -s "$mountPoint/$REC_DIR/$subDir" "${monitorDir:?}/$subDir";
fi;
if [ ! -L "$monitorDir/$subDir" ] && [ ! -f "${monitorDir:?}/$subDir" ]; then
ln -s "$mountPoint/$REC_DIR/$subDir" "${monitorDir:?}/$subDir";
fi;
}
/bin/busybox mount | /bin/busybox grep "$HOST";
resGrep="$?";
if [ "$resGrep" = "0" ]; then
echo "Disk is mounted..."
createLink;
exit 2;
fi;
mkdir -p "$mountPoint";
/bin/busybox mount -t cifs "$HOST" "$mountPoint" -o "username=$USER,password=$PASS,vers=2.0"
resMount="$?";
if [ "$resMount" != '0' ];then
echo "Error mount $HOST"
exit 1;
fi;
createLink;
Нажмите сочетание клавиш «CTRL+D» два раза для завершения создания файла
Предоставьте права на исполнение
chmod +x /storage/usbdisk1/mikopbx/custom_modules/shared-folder-script/mount-shared-folder.sh
В переменных скрипта «HOST,USER,PASS» следует описать параметры подключения к общему каталогу
Скрипт необходимо доавить в cron для автоматического подключения общей папки
Перейдите в раздел «Система» - «Кастомизация системных файлов»
Добавьте в конец файла «/var/spool/cron/crontabs/root» следующее правило
*/1 * * * * /storage/usbdisk1/mikopbx/custom_modules/shared-folder-script/mount-shared-folder.sh > /dev/null 2> /dev/null
Протестируйте работу АТС, убедитесь, что записи разговоров сохраняются на сетевой диск.