увеличение скорости работы интерфейса elastix и issabel
чтобы увеличить скорость работы интерфейса предлагаю включить сжатие на уровне web сервера, делается это очень просто:
добавить строчку в ssl.conf перед “sslengine on”
AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript
20.12.2018sox asterisk wav mp3
Хорошая статья по теме конвертации в mp3 для centos7.
у меня лично возникла проблема со входящими файлами wav почему-то – sox не видел данных в них, пришлось явно указывать.
скрипт для конвертации всех файлов в каталоге в mp3
#!/usr/bin/perl
use strict;
use Proc::PID::File;
if (Proc::PID::File->running()) {
print "Already running, exiting now\n";
exit(0);
}
my @monitor_dirs=("/var/spool/asterisk/monitor");
foreach my $monitor_dir (@monitor_dirs) {
opendir(my $dh,$monitor_dir) or die ("Cannot open dir $monitor_dir");
print "Processing dir $monitor_dir\n";
while (my $file=readdir($dh)) {
next if $file !~m/\.wav$/;
print "Processing file $file\n";
my $newfile=$file;
$newfile=~s/\.wav$/\.mp3/;
system ("/usr/local/bin/sox -t raw -r 8000 -b 16 -e signed-integer $monitor_dir/$file -t mp3 -C32 $monitor_dir/$newfile");
sleep(0.01);
if (-e "$monitor_dir/$newfile") {
print "Coneverted sucessfully $file\n";
unlink "$monitor_dir/$file";
}
}
closedir($dh);
}
10.12.2018 migrate freepbx inaflash to issabel 2.11
update: После действий необходимо проверить IVR и какие outbound_trunk включены или выключены.
автоматический перенос не возможен, но вполне возможно перенести основные данные через таблицы, для этого нужно:
- развернуть дам базы данных freepbx в новую базу данных на машине, где расположен issabel, например в test_aster
- дополнить удалить колонки в старой базе данных:
alter table test_aster.fax_users add column faxattachformat varchar(10);
alter table test_aster.incoming drop column faxexten;
alter table test_aster.incoming drop column faxemail;
alter table test_aster.incoming drop column answer;
alter table test_aster.incoming drop column wait;
alter table test_aster.queues_config add column destcontinue varchar(50);
alter table test_aster.queues_config add column callback_id varchar(8);
alter table test_aster.ivr_details add column timeout_ivr_ret tinyint(1);
alter table test_aster.ivr_details add column invalid_ivr_ret tinyint(1);
alter table test_aster.ivr_details drop column timeout_enabled;
alter table test_aster.timeconditions add column timeconditions varchar(50);
Теперь можно копировать данные из этих таблиц простым запросом:
insert into asterisk.ivr_entries select * from test_aster.ivr_entries;
Список таблиц которые надо скопировать, все таблицы копировать я полагаю нельзя, т.к. в них содержится конфигурация всей системы – это может привести к неисправимым поломкам в GUI.
insert into asterisk.announcement select * from test_aster.announcement;
insert into asterisk.cidlookup select * from test_aster.cidlookup;
insert into asterisk.cidlookup_incoming select * from test_aster.cidlookup_incoming;
insert into asterisk.daynight select * from test_aster.daynight;
insert into asterisk.devices select * from test_aster.devices;
//directory tables not found in issabelPBX maybe we have to install directory module;
insert into asterisk.fax_users select * from test_aster.fax_users;
//featurecodes table is present and seems we don’t need to update it
//freepbx_users not in issabel maybe we have to install it
//hotelwakeup_calls not in issabelPBX
insert into asterisk.incoming select * from test_aster.incoming;
insert into asterisk.ivr_details select * from test_aster.ivr_details;
//outbound_route_patterns linked with route_id so it maybe differend between systems
insert into asterisk.outbound_route_patterns select * from test_aster.outbound_route_patterns;
insert into asterisk.outbound_routes select * from test_aster.outbound_routes;
insert into asterisk.paging_groups select * from test_aster.paging_groups;
insert into asterisk.queues_config select * from test_aster.queues_config;
insert into asterisk.queues_details select * from test_aster.queues_details;
insert into asterisk.recordings select * from test_aster.recordings;
insert into asterisk.ringgroups select * from test_aster.ringgroups;
insert into asterisk.sip select * from test_aster.sip;
//superfectaconfig tables not present maybe we have to install module superfecta
insert into asterisk.timeconditions select * from test_aster.timeconditions;
insert into asterisk.timegroups_details select * from test_aster.timegroups_details;
insert into asterisk.timegroups_groups select * from test_aster.timegroups_groups;
insert into asterisk.trunks select * from test_aster.trunks;
insert into asterisk.users select * from test_aster.users;
firewalld asterisk fail2ban
На centos 7 по умолчанию используется firewalld и возникла проблема с тем что fail2ban не банит после неуспешных попыток авторизации и звонков
проблемы тут 2:
Первая это сами правила которыми пользуется fail2ban чтобы банить, я их заменил на
actionban = firewall-cmd –direct –add-rule ipv4 raw PREROUTING 0 -s -j DROP && firewall-cmd –change-source= –zone=block && firewall-cmd –change-source= –zone=block –permanent
actionunban = firewall-cmd –direct –remove-rule ipv4 raw PREROUTING 0 -s -j DROP && firewall-cmd –change-source= –zone=block && firewall-cmd –change-source= –zone=block –permanent && firewall-cmd –remove-source= –zone=block && firewall-cmd –remove-source= –zone=block –permanent
Вторая это то, что firewalld разрешает все соединения которые были установлены и остались в таблицах, посмотреть их можно командой iptstate
решается первым правилом
firewall-cmd –direct –add-rule ipv4 raw PREROUTING 0 -s -j DROP
Которое добавляет блокировку пакетов до проверки ESTABLESHED,RELATED
А третья проблема была в фильтре fail2ban который смотрит для регистраций accountID, и по мнению fail2ban он может быть только числовым или <unknown>
решается изменением регулярного выражения accountID = “(.+)” в фильтрах fail2ban.
| Posted in Asterisk, Готовые решения, Проблемы при настройке | No Comments »
opensips 1.11 uac_regstrant timer error 100% cpu load
При большом количестве записей от 150, начинаются проблемы с регистрацией, причина в моём случае в SRV lookup – это когда для домена сначала определяется SRV запись и если её нет, то тогда отдаётся обычная.
В моём случае помогла смена dns серверов на 8.8.8.8 и на 4.4.4.4.
18.09.2018asterisk freepbx wss webrtc issue
Команда для проверки установления TLS соединения, показывает информацию о сертификате и ошибки.
openssl s_client -connect xxx.xxx.xxx.xxx:8089 -bugs
ошибка на астериске выдавала:
TLS non-recoverable I/O error occurred: error:00000005:lib(0):func(0):DH lib, System call EOF
Также в
Оказалось, просто истёк сертификат:
verify error:num=10:certificate has expired
но в через ssldump Этого не увидеть, там будет просто “S>C Alert” хотя абсолютно точно можно было посмотреть информацию о сертификате и понять это:
openssl x509 -in certificate.crt -text -noout
| Posted in Asterisk, ssl\tls, Безопасность, Проблемы при настройке | No Comments »
перенаправление TCP\UDP портов в windows
Наткнулся на прекрасную утилиту для перенаправления портов в windows, чорт его знает надо это еще кому-то или нет, но вот мне пришлось столкнуться.
ссылка на все утилиты
ссылка на прокcи для портов UDP
ссылка на прокси для портов TCP
пример работы очень простой:
11.09.2018load data local infile не работает
При попытке добавить данные из файла в Mysql 5.5 выдаёт следующее: ERROR 1148 (42000): The used command is not allowed with this MySQL version
Чтобы не вносить изменения в конфигурацию mysql достаточно выполнить команду:
set global local_infile = ‘ON’;
Детали можно почитать в статье.
| Posted in SQL запросы, Проблемы при настройке | No Comments »
Как Астериск распределяет входящие звонки:
Incoming SIP Connections When Asterisk receives an incoming SIP call, the SIP Channel Module
- first tries to find a [user] section matching the caller name (From: username),
- then tries to find a [peer] section matching the caller’s IP address.
If no matching user or peer is found, the call is sent to the context defined in the [general] section of sip.conf.sip.conf.
| Posted in Asterisk, Готовые решения, Проблемы при настройке | No Comments »
Обзор платных SIP клиентов для Android
Столкнулись с тем что zoiper к примеру на android не может использовать чужие сертификаты, только свои самоподписанные, да и то в моём случае не показывал даже их. такие дела.
zoiper for android not support custom certificates.
answer from android@zoiper.com
Currently Zoiper mobile does not support importation of custom certificates. It is in our to-do list. However I am unable to provide a release-time frame.
We apologize for the inconvenience.
| Posted in Asterisk, Готовые решения | No Comments »