Иногда нужно например удалить все правила IPTables и прописать только нужное, так вот для удобства можно указать их в скрипте, после чего выполнить его.
Читать далее «Скрипт быстрой настройки IPTables»Архивы рубрик:Linux
Маршрутизация звонков по времени в 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 — Воскресенье
Аналогично сокращаются до трех букв и названия месяцев.
Создание RAID при установке Ubuntu
На тесте при установке Ubuntu Server 14.04 LTS создам программный RAID1.
Замечу что, при создании RAID будет автоматически использоваться mdadm.
Подключу к серверу два одинаковых диска (аналогично можно попробовать создать RAID на виртуальной машине например созданной в VirtualBox).
mdadm — утилита управления программными RAID массивами
Рекомендую прочитать мою статью Описание типов RAID.
Установить mdadm в Ubuntu можно командой:
Читать далее «mdadm — утилита управления программными 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
После этого, ошибка исчезла.
Настройка TDM410P c asterisk
На тесте подключил китайскую плату TDM410P с четырьмя FXO-портами (красными) в PCI слот выключенного Ubuntu сервера.
Для удобства сразу переключимся на root пользователя:
Решение проблемы Asterisk — нет звука при звонке через NAT
Заметил недавно что нет звука при звонке с IP-телефона на другой IP-телефон которые оба находились за одним и тем же NAT (роутером).
Читать далее «Решение проблемы Asterisk — нет звука при звонке через NAT»Установка эхоподавителя Oslec и DAHDI
Устанавливал однажды китайскую плату TDM410P для подключения аналоговых телефонных линий и связку Asterisk + Dahdi.
Так как плата не имеет аппаратного шумоподавления, пришлось ставить Oslec.
При звонках, со стороны аналогового телефона эха не было, а вот кто говорил в IP телефон — слышал сам себя.
Решение ошибки Asterisk «Context ‘local’ tries to include nonexistent context ‘parkedcalls'»
Прикручивал как-то DAHDI плату и заметил следующую ошибку при входящем вызове с аналоговой линии:
WARNING[7238]: pbx.c:12314 ast_context_verify_includes: Context ‘local’ tries to include nonexistent context ‘parkedcalls’
Ошибка возникала из-за того что не загружен модуль res_parking, чтобы его загрузить, откроем консоль asterisk и выполним команду:
sudo asterisk -vvr module load res_parking
Чтобы он автоматически загружался при запуске Asterisk, в файле /etc/asterisk/modules.conf, в блоке [modules] добавим строку:
load => res_parking.so
Мониторинг Asterisk в Zabbix
Наблюдать за Asterisk будем через Zabbix агент, для этого установим его на той же машине что и Asterisk.
Читать далее «Мониторинг Asterisk в Zabbix»