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 должен быть доступен для чтения\записи

30.11.2020

kamailio. Rtpproxy not apply on re-invite.

При реинвайте не применяется rtpproxy, использовал rtpproxy_manage. Проблема была в том, что при реинвайте провайдер отправлял ответ с уже включенным a=nortpproxy в sdp. соответственно kamilio просто игнорил этот ответ. полечилось добавлением в конфиг такой строчки:

modparam("rtpproxy", "nortpproxy_str", "")

30.10.2020

Asterisk. hints. States.

Получить данные о состоянии пиров можно так:

Подключаемся по AMI: telnet 127.0.0.1 5038

Action: Login
ActionID: 1
Username: manager
Secret: password

получаем данные:

Action: Getvar
ActionID: 1
Variable: DEVICE_STATE(SIP/1000)

ответ:

ActionID: 1 
Variable: DEVICE_STATE(SIP/1003) 
Value: INUSE

18.10.2020

Protected: Pavel Eremin

This content is password protected. To view it please enter your password below:

| Posted in Без рубрики | Enter your password to view comments.
1.10.2020

opensips 3.1 centos 7

Установка Opensips 3.1\opensips-cli\database на centos 7

устанавливаем репозиторий для centos 7:

yum install epel-release
yum install https://yum.opensips.org/3.1/releases/el/7/x86_64/opensips-yum-releases-3.1-6.el7.noarch.rpm

устанавливаем все пакеты в репозитории opensips (если нужно конечно все модули opensips поставить)
yum repo-pkgs opensips install

opensips-cli можно поставить из репозитория:

yum install opensips-cli -y

А можно из github:

yum install git -y
git clone https://github.com/OpenSIPS/opensips-cli.git
yum install python36 python36-pip python36-devel gcc mysql-devel python36-mysql python36-sqlalchemy python36-pyOpenSSL
cd opensips-cli
python3 setup.py install

Далее обновим и поставим mysql: mariadb и установим рутовый пароль:

cat > /etc/yum.repos.d/mariadb.repo <<EOF
# MariaDB 10.5 CentOS repository list - created 2020-10-09 07:01 UTC 
# http://downloads.mariadb.org/mariadb/repositories/ 
[mariadb] 
name = MariaDB 
baseurl = http://yum.mariadb.org/10.5/centos7-amd64 
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 
gpgcheck=1
EOF

yum install mariadb-server -y
systemctl start mariadb
mysql_secure_installation

сделаем так чтобы всё запускалось при перезапуске:

systemctl enable opensips
systemctl enable mariadb
vi /etc/systemd/system/multi-user.target.wants/opensips.service

вместо mysqld.service в строчке After, запишем mariadb.service

systemctl daemon-reload

29.09.2020

rtpengine-installation-configuration

установка rtpengine На debian 10. проходит на ура, вместе с g729 кодеком, т.е. можно использовать transonding.

исходная статья.
репозиторий со скриптами: https://bitbucket.org/yooxy/rtpengine-debian-10-install/src/master/

скрипт для debian 10 buster:

#!/usr/bin/sh

apt update
apt install devscripts python3-debian equivs git -y
#for some reason my debian take old version libsystemd-dev by default
apt install libsystemd-dev=247.3-6~bpo10+1 -y

git clone https://github.com/sipwise/rtpengine.git

#there are some steps to make fix for buster OS
cd rtpengine/pkg/deb
bash ./generator.sh
bash ./backports/buster
cp -r buster/* ../../debian
cd ../../

#install dependencies in automatically way
mk-build-deps --install

#compile rtpengine
dpkg-buildpackage -b -us -uc

cd ../

dpkg -i rtpengine-daemon_11.4.0.0+0~mr11.4.0.0_amd64.deb rtpengine-iptables_11.4.0.0+0~mr11.4.0.0_amd64.deb rtpengine-kernel-dkms_11.4.0.0+0~mr11.4.0.0_all.deb rtpengine-utils_11.4.0.0+0~mr11.4.0.0_all.deb rtpengine_11.4.0.0+0~mr11.4.0.0_all.deb

apt --fix-broken install