Скрипт быстрой настройки IPTables

Иногда нужно например удалить все правила IPTables и прописать только нужное, так вот для удобства можно указать их в скрипте, после чего выполнить его.

Читать далее «Скрипт быстрой настройки IPTables»

Маршрутизация звонков по времени в Asterisk

Приведу пример маршрутизации звонков по времени в Asterisk.
Допустим в файле /etc/asterisk/extensions.conf есть настроенный контекст для транка со следующими параметрами:

[Trunk_2]
exten => s,1,DIAL(SIP/6004&SIP/6003,19)
exten => s,2,Hangup()

И чтобы разрулить звонки по времени на разные телефоны укажем для контекста этого транка только вложенные контексты:

[Trunk_2]
include => daytime,8:00-18:00,mon-sat,*,*
include => nighttime,18:00-8:00,mon-sun,*,*
include => sunday,8:00-22:00,sun,*,*

По сути daytime, nighttime, sunday это только названия контекстов, для которых прописано время в контексте [Trunk_2], их можно называть как угодно.

И потом в этих отдельных контекстах уже пропишем нужные екстеншены.
То есть, днем:

[daytime]
exten => s,1,DIAL(SIP/6004&SIP/6003,19)
exten => s,2,Hangup()

Ночью:

[nighttime]
exten => s,1,DIAL(SIP/6002,19)
exten => s,2,Hangup()

И в воскресенье:

[sunday]
exten => s,1,DIAL(SIP/6002,19)
exten => s,2,Hangup()

Можно также например создать контекст holiday с праздничными днями:

include => holiday,*,*,1,jan
include => holiday,*,*,8,mar

и т.д.

Для тех кто хочет расписать подробнее по дням, приведу список дней на английском:
mon — Monday — Понедельник
tue — Tuesday — Вторник
wed — Wednesday — Среда
thu — Thursday — Четверг
fri — Friday — Пятница
sat — Saturday — Суббота
sun — Sunday — Воскресенье

Аналогично сокращаются до трех букв и названия месяцев.

Как установить PHP 5.6 в Ubuntu 16

В Ubuntu 16 при установке PHP командой apt-get install php устанавливается PHP версии 7, по этому чтобы установить PHP 5.6, можно добавить сторонний репозиторий.

Если в системе установлен PHP 7, то удалить все его компоненты можно например так:

sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`

Теперь добавим сторонний источник:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

И установим из него PHP 5.6:

sudo apt-get update
sudo apt-get install php5.6

Аналогично можно установить модули, например:

sudo apt-get install php5.6-mysql php5.6-mcrypt php5.6-mbstring php5.6-xml

Для проверки установленной версии PHP выполним:

sudo php -v

Смотрите также мою статью:
Повышение версии PHP в Ubuntu 14.04

Создание RAID при установке Ubuntu

На тесте при установке Ubuntu Server 14.04 LTS создам программный RAID1.
Замечу что, при создании RAID будет автоматически использоваться mdadm.
Подключу к серверу два одинаковых диска (аналогично можно попробовать создать RAID на виртуальной машине например созданной в VirtualBox).

Читать далее «Создание RAID при установке Ubuntu»

mdadm — утилита управления программными RAID массивами

Рекомендую прочитать мою статью Описание типов RAID.

Установить mdadm в Ubuntu можно командой:

Читать далее «mdadm — утилита управления программными RAID массивами»

Описание типов RAID

Массивы RAID необходимы для повышения надежности хранения данных и для увеличения скорости работы с дисками путем объединения нескольких дисков в один большой. RAID массивы могут быть как аппаратные, аппаратно-программные так и программные.

Читать далее «Описание типов RAID»

Решение ошибки при компиляции Asterisk «‘pjsip_tcp_transport_cfg’ has no member named ‘sockopt_params’»

Компилировал однажды Asterisk версии 13.13.1 и при выполнении make заметил следующую ошибку:

‘pjsip_tcp_transport_cfg’ has no member named ‘sockopt_params’

pjproject-2.2.1 уже был скомпилирован.

Решил проблему собрав поновее версию pjproject-2.4.5

cd /usr/src
wget http://www.pjsip.org/release/2.4.5/pjproject-2.4.5.tar.bz2
tar -xjvf pjproject-2.4.5.tar.bz2
cd pjproject-2.4.5
CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr
make dep
make
make install

После этого, ошибка исчезла.

Полный сброс настроек на Samsung Galaxy J5

На примере выполню полный сброс настроек Samsung Galaxy J5

1) Сначала необходимо выключить телефон.

2) Нажать одновременно клавишу добавления громкости, домой (овальная внизу) и клавишу включения, держать их все три необходимо до появления логотипа Samsung, потом отпустить.

3) Клавишами громкости выделить в списке «wipe data / factory reset«, а клавишей включения выбрать (возможно также клавишей домой), в следующем окне аналогично выбрать «Yes«. И на последок выбрать «reboot system now»

Все, телефон запустится с полностью сброшенными настройками и удаленными пользовательскими данными, такими как приложения, контакты и т.д.

Настройка TDM410P c asterisk

На тесте подключил китайскую плату TDM410P с четырьмя FXO-портами (красными) в PCI слот выключенного Ubuntu сервера.
Для удобства сразу переключимся на root пользователя:

Читать далее «Настройка TDM410P c asterisk»

Решение проблемы Asterisk — нет звука при звонке через NAT

Заметил недавно что нет звука при звонке с IP-телефона на другой IP-телефон которые оба находились за одним и тем же NAT (роутером).

Читать далее «Решение проблемы Asterisk — нет звука при звонке через NAT»