24.12.2020

asterisk 16. webrtc. sipml5

Основная статья по настройке на официальном сайте:

у меня не завелось сразу по причине:

подгружался модуль chan_sip , нужно добавить noload = chan_sip.so в modules.conf

И не стартовал внутренний https сервер астериска с сертификатами которые сгенерил астериск, решением может быть генерация через letsencrypt

короткая инструкция по установке:

for centos 7 only:
install asterisk 16 , apache and git use asterisk configuration files inside repository
repository with example and configuration files are in : 
cd /root git clone 
https://erewin@bitbucket.org/yooxy/webrtc-asterisk-example.git
download sipml5 into /var/www/html directory 
cd /var/www/html 
git clone https://github.com/DoubangoTelecom/sipml5.git
you have to add ssl for apache yum install mod_ssl
change ssl.conf to useing your certificates or use ssl.conf from repository
tune your codecs at asterisk side
remember that certificates are allowed for 3 months only then it have to be renewed
firewall setting you may check with 
firewall-cmd --info-zone=public

Tags: , , ,
| Posted in Asterisk | No Comments »
23.12.2020

esxi useful command. vmware.

оригинальная статья тут: https://www.nakivo.com/blog/most-useful-esxcli-esxi-shell-commands-vmware-environment/

из тех команд которые пригодились мне

esxtop (n - network, d- disks, c - cpu, e - extend process) 
esxcli vm process list - запущенные виртуальные машины
esxcli vm process kill -t (soft,hard,force) -w World_ID - позволяет завершить машину если этого не получается сделать через интерфейс.
dcui - запускает интерфейс ESXI. 

Tags: , ,
| Posted in vmware | No Comments »
22.12.2020

opensips as SBC

Example of opensips SBC with 2 interfaces with full RTP proxy and g729 transcoding.

Software: opensips 3.1, rtpengine, bcg729.

example settings for rtpengine:

OPTIONS="-i external/172.18.254.50!EXTERNAL_IP -i internal/172.25.150.242 -n 127.0.0.1:2223 -m 35000 -M 65000 -L 4 --log-facility=local1 --table=0 --delete-delay=0 --timeout=60 --silent-timeout=600 --final-timeout=7200 –offer-timeout=60 --num-threads=4 --tos=184 –no-fallback"

example opensips config: git clone https://bitbucket.org/yooxy/opensips-sbc-local-external-transcode.git

9.12.2020

sipdump per day. compressed. heplify.

Ниже представлен скрипт для установки сервиса systemd сбора sip пакетов в папку /var/log/sipdump по дням. в дальнейшем можно распаковать файлы и и пробежаться по ним sngrep.

!/usr/bin/sh
echo "Instaiiling sipdump have started: \n"
yum install wget git -y
apt install wget git -y
cd /usr/src/
mkdir sipdump
cd sipdump
wget https://github.com/sipcapture/heplify/releases/download/1.62/heplify
chmod 760 heplify
cp heplify /usr/bin
rm heplify
mkdir /var/log/sipdump
echo "
[Unit]
Description=Yooxy sipdump
After=network.target
ConditionPathExists=/var/log/sipdump
[Service]
WorkingDirectory=/var/log/sipdump
ExecStart=/usr/bin/heplify -dim OPTIONS,NOTIFY -wf /var/log/sipdump -rt 1440 -zf -sl
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
Alias=sipdump.service" > sipdump.service
chmod 664 sipdump.service
cp sipdump.service /etc/systemd/system/sipdump.service
rm sipdump.service
systemctl daemon-reload
systemctl start sipdump
echo "Script ending \n"

8.12.2020

kamailio. siremis. xmlrpc. jsonrpc.

xmlrpc работает через порты, которые используются и для SIP. Файлы настройки протоколов для siremis

siremis/modules/sipadmin/service/

jsonrpc может работать через разные транспорты, по умолчанию работается через Unixsock.нужные параметры в конфиге kamailio:

<UnixSockLocal name="unixsocklocal" address="/var/run/siremis/siremis_rpc.sock" timeout="3.0"/>
<!-- kamailio.cfg: modparam("jsonrpcs", "dgram_socket", "/var/run/kamailio/kamailio_rpc.sock") -->
<!-- kamailio.cfg: modparam("jsonrpcs", "dgram_mode", 0666) --> <UnixSockRemote name="unixsockremote" address="/var/run/kamailio/kamailio_rpc.sock" timeout="3.0"/>

TIPs: Возможны проблемы с разрешениями поправляется выставлением разрешения на каталог /var/run/kamailio 701 (добавить поиск для остальных пользователей) ну и сам файл sock должен быть доступен для чтения\записи