Talant Blogs about VOIP
30.07.2021
Front End.
Для создания телефонных проектов частно нужен веб интерфейс, скажем сейчас я даже не знаю ни одного проекта без предоставления веб-интерфейса. Все знают что есть фреймворки, и простые вещи такие как показать таблички из одной базы, что-то загрузить что-то отфильтровать – просто. Сложности начинаются когда надо действительно внедрить что-то что вы не знаете как делать силами фреймворка, а знать фреймворк хорошо это быть полноценным веб разработчиком. На этом этапе нам не нужно быть веб-разработчиками, но мы должны давать клиента хорошего качества вебстраницу на которой он сможет управлять своими телефонными сервисами.
Итак, я остановился, на том, что в проектах буду использовать:
- PHP 7.3+
- SMARTY 3+
- BOOTSTRAP 4 + готовый шаблон (для админки например)
- JS
- JQUERY + МОДУЛИ
- CHARTS.JS
Это простые системы, хорошо задокументированные. При помощи них легко создавать страницы для управления таблицами, загрузками или выгрузкой файлов и даже рисовать графики.
А шаблонизатор smarty позволяет разделить код и дизайн, чтобы фрон-энд разработчик в дальнейшем смог, делать любой дизайн.
Примеры:
| Posted in Готовые решения | No Comments »
Черный список ip адресов для voip
sh скрипт который
!/bin/bash20.12.2018
BADIPSFILE="badips.list"
BADIPSFILETEMP="$BADIPSFILE".temp
ADDLISTFILE="$BADIPSFILE".load
# get new list
wget https://www.badips.com/get/list/voip/0 -O $BADIPSFILETEMP
# sort new list
sort $BADIPSFILETEMP -o $BADIPSFILETEMP
# touch to be sure that file exist
touch $BADIPSFILE
# diff old ans new file
diff $BADIPSFILE $BADIPSFILETEMP | grep -Po '\d+.\d+.\d+.\d+' > $ADDLISTFILE
# copy new file to old for next ips going fast
cp -f $BADIPSFILETEMP $BADIPSFILE
cp -f drop_temp.xml drop_temp_.xml
BLOCKED_IP=$ADDLISTFILE
IPTABLES="iptables"
if [ -f $BLOCKED_IP ]; then
while read BLOCKED; do
$IPTABLES -A INPUT_direct -i ens192 -s $BLOCKED -p udp -j DROP
done < $BLOCKED_IP
fi
sox 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);
}
| Posted in Asterisk, kamailio, rtpengine, Эксперт | No Comments »