AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

FreePBX 13 и System recordings

Asterisk GUI 4 сообщений -
#1

Всем привет, стоит актуальный FreePBX 13 и ни как не хочет через вебку сохранять музыкальные файлы, вливал wav файлы точно в правильном формате, на старый фрикс вливаются и проигрываются.
Вроде директории все которые можно себе представить на месте с доступом на пользователя asterisk

Код:
ls -al /var/lib/asterisk/sounds/
drwxr-xr-x 2 asterisk asterisk 6 ноя 3 18:00 custom
drwxr-xr-x 11 asterisk asterisk 466944 окт 27 13:37 en
drwxr-xr-x 8 asterisk asterisk 73728 окт 27 12:07 ru
ls -al /var/lib/asterisk/sounds/en | grep custom
drwxr-xr-x 2 asterisk asterisk 6 окт 27 13:22 custom
ls -al /var/lib/asterisk/sounds/ru | grep custom
drwxr-xr-x 2 asterisk asterisk 6 ноя 3 18:11 custom


Руками, смог под пользователем asterisk создать файлы в /tmp

Код:
ls -al /tmp/ | grep ivrhello
-rw-r--r-- 1 asterisk asterisk 0 ноя 3 15:51 ivrhello
-rw-r--r-- 1 asterisk asterisk 0 ноя 3 15:51 ivrhello.wav


Пути вроде верные смотрю
Код:
$tmp = sys_get_temp_dir(); -
$this->temp = !empty($tmp) && file_exists($tmp) ? $tmp : "/tmp";
$this->path = $this->FreePBX->Config->get("ASTVARLIBDIR")."/sounds";

Проверил что /tmp

Код:
#cat 123.php

# php 123.php
/tmp


/var/www/html/admin/modules/recordings/install.php
содержит
Код:
$recordings_astsnd_path = isset($amp_conf['ASTVARLIBDIR'])?$amp_conf['ASTVARLIBDIR']:'/var/lib/asterisk';
$recordings_astsnd_path .= "/sounds/";

Путь в файлах FreePBX задан тоже верно
/var/www/html/admin/libraries/BMO/Freepbx_conf.class.php
Код:
'ASTVARLIBDIR' => array(CONF_TYPE_DIR, '/var/lib/asterisk'),


При этом файлик уходит и появляется в браезере после перетаскивания его на закачку или через кнопку Browse, его можно даже послушать в браузере, при нажатии Submit появляется новый Record, но запись там красная, её нет и на винчестере ни где нет, в папке tmp я тоже не замечал, что бы появлялось что-то, но может просто не успеваю увидеть, файлик маленький 360 килобайт, в php.ini
Код:

upload_max_filesize = 20M
max_file_uploads = 20


Куда копать можно, подскажите плиз?
#2

Распихал руками через sftp везде где нужно файлы голосовые. Начинаю прослушивать, начинает утверждать, что нет файла /tmp/temp.1446651623426.wav, который временный для скачивания создаётся, смотрю, а он есть, и каждый раз новое открытие создавало новый файлик и каждый раз ошибка, написало исключение где находится, зашёл посомтрел, что за функция, сделал такую же в отдельном файлике

cat /var/www/html/admin/exixt.php
Код:

Выдавало, что нет файла и "not readable" при этом доступ на дерикторию 777, на файлы тоже, файлы от пользователя asterisk. При этом скрипт находил скажем любой файл в /etc/asterisk/, потом нашёл такое http://serverfault.com/questions/614781/ ... tmp-folder

Цитата:
To deactivate this, simply copy the script inside /etc/systemd/system (to avoid overwriting of your changes after an update) and set PrivateTmp to false.

Нашёл это
cat /etc/systemd/system/multi-user.target.wants/httpd.service

Код:
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
# We want systemd to give httpd some time to finish gracefully, but still want
# it to kill httpd after TimeoutStopSec if something went wrong during the
# graceful stop. Normally, Systemd sends SIGTERM signal right after the
# ExecStop, which would kill httpd. We are sending useless SIGCONT here to give
# httpd time to finish.
KillSignal=SIGCONT
PrivateTmp=false

[Install]
WantedBy=multi-user.target


Поменял c PrivateTmp=true на PrivateTmp=false , ребутнул машину и все проблемы с этим ушли.
#3

selinux выключен ?
_________________
платный суппорт по мере возможностей
#4

да отключен.
При установке
Код:
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config