Инструменты пользователя

Инструменты сайта


mp_doc:imain_install_ubuntu_work

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
mp_doc:imain_install_ubuntu_work [2020/11/17 13:14] zismp_doc:imain_install_ubuntu_work [2024/04/11 11:03] (текущий) zis
Строка 1: Строка 1:
 ====== Установка рабочего узла (Ubuntu Server 18.04) ====== ====== Установка рабочего узла (Ubuntu Server 18.04) ======
 +==== Установка ====
 1. Берем свеже установленный Ubuntu Server 18.04 обновляем его: 1. Берем свеже установленный Ubuntu Server 18.04 обновляем его:
 <code>$ apt update && apt upgrade</code> <code>$ apt update && apt upgrade</code>
Строка 9: Строка 10:
 $ touch /etc/resolv.conf $ touch /etc/resolv.conf
 $ cat > /etc/resolv.conf <<EOF $ cat > /etc/resolv.conf <<EOF
-nameserver 192.168.50.66+nameserver 8.8.8.8
 EOF</code> EOF</code>
 3. Изменить имя на minipbx-nodeX 3. Изменить имя на minipbx-nodeX
Строка 17: Строка 18:
 $ apt install gnupg $ apt install gnupg
  
-$ wget -O - http://rep.ds.local:81/keyFile | sudo apt-key add +$ wget -O - https://deb.minipbx.ru/keyFile | sudo apt-key add 
-$ echo 'deb [arch=amd64] http://rep.ds.local:81/ bionic contrib' > /etc/apt/sources.list.d/mpbx-repo.list +$ echo 'deb [arch=amd64] https://deb.minipbx.ru/ bionic contrib' > /etc/apt/sources.list.d/mpbx-repo.list
-$ apt update +
- +
-$ wget -O - http://deb.minipbx.ru:81/keyFile | sudo apt-key add +
-$ echo 'deb [arch=amd64] http://deb.minipbx.ru:81/ bionic contrib' > /etc/apt/sources.list.d/mpbx-repo.list+
 $ apt update $ apt update
 </code> </code>
Строка 47: Строка 44:
 noload => res_snmp.so noload => res_snmp.so
 </code> </code>
-8. Настройка SNMP. Создать файл /etc/snmp/snmpd.conf+8. Настройка SNMP
 + 
 +8.1. Создать файл /etc/snmp/snmpd.conf
 <code> <code>
-gentAddress  udp:0.0.0.0:161+agentAddress  udp:0.0.0.0:161
  
 view asterisk included .1.3.6.1.2.1.1.1 view asterisk included .1.3.6.1.2.1.1.1
Строка 58: Строка 57:
 view asterisk included .1.3.6.1.4.1.22736 view asterisk included .1.3.6.1.4.1.22736
  
-rocommunity dialog <ip> -V asterisk+rocommunity public <ip> -V asterisk
 syslocation <location> syslocation <location>
 sysContact admin <admin@some.com> sysContact admin <admin@some.com>
Строка 65: Строка 64:
 agentXPerms 0660 0775 asterisk asterisk agentXPerms 0660 0775 asterisk asterisk
 </code> </code>
-Для отключения поднятия каких то лишних, причем случайных портов, в /etc/snmp/snmpd.conf закомментировать **trapsink** и **trap2sink**.+8.2. В случае добавления к существующему файлу:  
 +<code>Для отключения поднятия каких то лишних, причем случайных портов, в /etc/snmp/snmpd.conf закомментировать **trapsink** и **trap2sink**.</code> 
 +8.3. Добавим права на чтение для каталога /var/agentx: 
 +<code>chmod 755 /var/agentx/</code> 
 +8.4. Проверка: 
 +<code>snmpwalk -v2c -c public <ip> enterprises.22736.1.2.5.0</code> 
 +8.5. Каждый раз когда SNMP клиент подключается snmpd пишет об этом в лог. Чтобы это изменить нужно исправить в файле /lib/systemd/system/snmpd.service, параметр ExecStart: 
 +<code>ExecStart=/usr/sbin/snmpd -Lsd -Lf /dev/null ... 
 +ExecStart=/usr/sbin/snmpd -LSwd -Lf /dev/null ...</code> 
 +после этого выполнить: 
 +<code>systemctl daemon-reload 
 +systemctl restart snmpd 
 +ps -ax|grep snmpd</code> 
 +Последняя команда дает возможность проверить, изменились ли опции запуска.\\ 
 +НО! вообще то этот параметр должен браться из файла /etc/default/snmpd - похоже ошибка в ubuntu 18.04.
  
 9. Настройка отправки электронной почты:\\ 9. Настройка отправки электронной почты:\\
Строка 83: Строка 96:
 Добавим в /etc/crontab Добавим в /etc/crontab
 <code>*/30 * * * * root /usr/sbin/ntpdate 192.168.50.94 >/dev/null 2>&1</code> <code>*/30 * * * * root /usr/sbin/ntpdate 192.168.50.94 >/dev/null 2>&1</code>
-12. Проверить наличие стандартных звуковых файлов: +12. Установка звуковых файлов: 
 +<code>$ apt install minipbx-snd-en 
 +$ apt install minipbx-snd-ru</code> 
 +Проверить наличие стандартных звуковых файлов: 
 <code>$ ls -l /var/lib/asterisk/sounds</code> <code>$ ls -l /var/lib/asterisk/sounds</code>
 Отсутствие файлов приведет к проблемам! Например, **без файлов pbx-transfer и beep не будет работать перевод вызовов**!\\ Отсутствие файлов приведет к проблемам! Например, **без файлов pbx-transfer и beep не будет работать перевод вызовов**!\\
Строка 170: Строка 186:
   * media_address = это внешний адрес вашего сервера, который будет использован для приема RTP (голосового) трафика;   * media_address = это внешний адрес вашего сервера, который будет использован для приема RTP (голосового) трафика;
 Этот пример работает без дополнительной настройки в случае One-to-One NAT (один внешний адрес, жестко соответствует одному внутреннему). Для других видов NAT потребуется проброс портов (SIP и RTP).  Этот пример работает без дополнительной настройки в случае One-to-One NAT (один внешний адрес, жестко соответствует одному внутреннему). Для других видов NAT потребуется проброс портов (SIP и RTP). 
 +
 +5. Настройка очистки службы журнала:
 +
 +Для удаления записей журнала старше одной недели, добавить в **crontab**:
 +<code>0 4 * * 0 root journalctl --vacuum-time=1weeks</code>
 +
 +6. Если, по каким то причинам, мы не хотим чтобы при обновлении обновлялось ядро системы (например потому что требуется перезапуск), то выполним:
 +<code>apt-mark hold linux-generic linux-image-generic linux-headers-generic</code>
 +Включение обновлений:
 +<code>apt-mark unhold linux-generic linux-image-generic linux-headers-generic</code>
 +
 +==== Включение событий о готовности записи разговора ====
 +Многие CRM системы могут хранить у себя запись разговора. К сожалению, из за архитектурных особенностей Asterisk, выполнение каких либо операций с записью происходит асинхронно. Поэтому, если существует необходимость интеграции с CRM, необходимо включить отправку сообщений о готовности записи разговоров: 
 +<code>mpbxd -record_events enable</code>
 +Также вы можете отключить эту, уже включенную возможность, выполнив команду:
 +<code>mpbxd -record_events disable</code>
 +При включении этой возможности, создается файл с именем **record_events**, обычно располагаемый в каталоге **/etc/mpbxd**. Внутри этого файла содержится 3 строки:
 +  * идентификатор узла;
 +  * параметры подключения к БД;
 +  * базовый путь хранения записей разговоров (должен заканчиваться символом разделителя пути, например **"/"**).
 +
 +==== Увеличение максимального количества открытых файлов ====
 +При хорошей загрузке (более 10 каналов), может возникнуть ситуация с нехваткой файловых дескрипторов. Часто такая ситуация может произойти при использовании asterisk из стандартных deb пакетов. Лимит файлов там по умолчанию равен 1024. Проблема выражается в сообщениях вида:
 +<code>ast_alertpipe_init: Failed to create alert pipe with eventfd(), falling back to pipe(): Too many open files</code>
 +Для решения ситуации выполните:
 +  - Определим PID процесса asterisk (**ps ax**, **top**)
 +  - Кол-во открытых файлов в текущий момент: **lsof -p <ASTERISK_PID>|wc -l**
 +  - Максимальное кол-во: **cat /proc/<ASTERISK_PID>/limits |grep files**
 +Расширить можно в 3х местах (в зависимости от системы):
 +  - Если система с init.d, то смотрим файл **/etc/init.d/asterisk** ищем параметр **MAXFILES**
 +  - Если используется safe_asterisk, то **whereis safe_asterisk** и также ищем параметр **MAXFILES**
 +  - Если система с systemd, то смотрим файл **/etc/systemd/system/asterisk.service** или **/lib/systemd/system/asterisk.service** ищем параметр **LimitNOFILE**
 +Какое значение выбрать? Тут определяйте со своей нагрузкой, к примеру, если проблемы возникли при нагрузке 100 каналов, то разумно заложить четырех кратный запас и установить значение в 4096
 +
 +=== sngrep - утилита захвата звонков (типа tcpdump) ====
 +  * Установим пакет:
 +<code>apt install sngrep</code>
 +  * В /etc/bashrc или (/etc/bash.bashrc) добавим (в самый конец):
 +<code>alias sngrep="sudo NCURSES_NO_UTF8_ACS=1 /usr/bin/sngrep $@"</code>
 +  * В /etc/sudoers добавим право для выполнения нужным пользователям или группам, например так
 +<code>%support         ALL=(ALL)  NOPASSWD:SETENV: /usr/bin/sngrep</code>
 +
mp_doc/imain_install_ubuntu_work.1605593656.txt.gz · Последнее изменение: 2024/03/31 22:04 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki