среда, 10 сентября 2014 г.

FreePBX + Asternic CDR Reports + Recordings

FreePBX, Asternic CDR Reports и записи звонков

ВВЕДЕНИЕ
Классический CDR Reports, "идущий в комплекте" с FreePBX умеет делать отчёты с проигрыванием аудиозаписи, если она велась, но не умеет разграничивать доступы по Extension`ам (Extension Range, который задаётся при создании новой учётной записи админа).
Модуль Asternic CDR Reports учитывает это, но не выводит аудиофайл.
Исправим это.

среда, 2 июля 2014 г.

openSUSE 13.1 NetworkManager-l2tp

Исходники https://github.com/seriyps/NetworkManager-l2tp

git clone https://github.com/seriyps/NetworkManager-l2tp.git
cd NetworkManager-l2tp
./autogen.sh

Обязательно сконфигурить под openSUSE, иначе файлы окажутся не в тех местах и l2tp в NM виден не будет

./configure --prefix=/usr --localstatedir=/etc --sysconfdir=/etc --sharedstatedir=/var/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-pppd-plugin-dir=/usr/lib64/pppd/2.4.5

* Если pppd не 64-битный, меняем lib64 на lib

make
sudo make install

среда, 9 апреля 2014 г.

Nine Eagles 181 TOY NE RC 510A/512A

Этот пост написан, потому что по этой модели квадрокоптера в рунете ну очень мало информации, а мне пришлось столкнуться с мелким ремонтом и настройкой данного аппарата. Так что пускай изыскания не пропадут даром и помогут какому-нибудь "гуглящему" человеку

Получил в подарок такой квадрокоптер:

Nine Eagles 181 TOY NE RC 512A

Не буду вдаваться в подробности его описания и характеристик, скажу лишь только, что по корпусу и начинке это точная копия WLToys V222, причём, судя по всему, фирма Nine Eagles к этому коптеру не имеет вообще никакого отношения (не найдено ни одного доказательства в инете).

Итак, к проблемам...

пятница, 31 января 2014 г.

Synology NAS

Эта заметка по Synology NAS. Обновляемая

Модель: RS812+

Изначально ОС не установлена, она ставится после установки хотя бы одного HDD. Называется ОС DiskStation Manager (DSM). Представляет собой linux, соответственно можно включить ssh или telnet из веб-морды и зайти в консоль, где будут привычные команды.

При установке на каждом диске создаётся раздел (/dev/sda1, /dev/sdb1, etc) примерно по 2,5 ГБ (DSM v4.3), из которых собирается RAID 1 (/dev/md0), который в свою очередь становится корневым разделом.

суббота, 25 января 2014 г.

Неправильный размер папок owncloud в freebsd x86

Так случилось, что появилась необходимость бэкапить накопленные архивы фотографий, поэтому поставил себе в jail на фряхе owncloud 6.0.0a. Ничего сложного в этом нет, кроме как необходимость собирать nginx, php и mysql с нужными модулями из исходников, т.к. в пакетах нет необходимого. Может как-нибудь в будущем накатаю пост об этом.

Итак, в установленном и работающем ownCloud размеры синхронизированных папок отображаются неправильно: максимально показывается 2ГБ на папку, а общие занятое и свободное пространства неверные.

Проблема кроется в том, что в 32-битной версии php целое число integer может иметь максимальное значение ~ 2 млрд (2 147 483 647 Байт = 2ГБ), а именно приведение к целому числу и используется в owncloud при постройке кэша, например:
$data['size'] = (int)$data['size'];
Нам же необходим тип float или long, поэтому пользователь MiguelDomingues с форума owncloud предлагает вместо приведения к int заставить php самому конвертировать число в нужный тип при помощи сложения с нулем. Для этого надо подредактировать некоторые файлы:


1. Редактируем /path/to/owncloud/lib/private/files/cache/cache.php
Меняем в строке 145:
CODE: SELECT ALL
$data['size'] = (int)$data['size'];

на:
CODE: SELECT ALL
$data['size'] = 0+$data['size'];


Меняем в строке 149:
CODE: SELECT ALL
$data['unencrypted_size'] = (int)$data['unencrypted_size'];

на
CODE: SELECT ALL
$data['unencrypted_size'] = 0+$data['unencrypted_size'];


Меняем в строке 425:
CODE: SELECT ALL
if ((int)$row['size'] === -1) {

на:
CODE: SELECT ALL
if (0+$row['size'] === -1) {


Меняем в строках 519-520:
CODE: SELECT ALL
$sum = (int)$sum;
$min = (int)$min;

на:
CODE: SELECT ALL
$sum = 0+$sum;
$min = 0+$min;


2. Редактируем /path/to/owncloud/lib/private/files/cache/homecache.php
Меняем в строке 32:
CODE: SELECT ALL
$totalSize = (int)$sum;

на:
CODE: SELECT ALL
$totalSize = 0+$sum;


3. Редактируем /path/to/owncloud/apps/files_sharing/lib/cache.php
Меняем в строке 100:
CODE: SELECT ALL
$data['size'] = (int)$data['size'];

на:
CODE: SELECT ALL
$data['size'] = 0+$data['size'];


Чтобы работала загрузка больших файлов:
3. Редактируем /path/to/owncloud/lib/private/connector/sabre/server.php
Меняем в строке 172:
CODE: SELECT ALL
$newProperties[200][$prop] = (int)$node->getSize();

на:
CODE: SELECT ALL
$newProperties[200][$prop] = 0+$node->getSize();

Кстати, можно заменить (int) на (float) вместо операции сложения. Размера в 3.4e38 на 32-битной платформе будет вполне достаточно.
ссылка на оригинал