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 

24.09.2020

TCP\TLS NAT Zoiper

Столкнулся с проблемой, когда через sip прокси (opensips) не проходили пакеты (OPTIONS, NOTIFY, INVITE) в сторону uac при использовании TCP и TLS протоколов. при TLS opensips ругался 477/Send Error, при использовании TCP – 408 timeout. И действительно пакеты с opensips уходили, но не доходили до UAC.

Причина была в использовании STUN, если его отключить на Zoiper то связь работает хорошо в обе стороны.

18.09.2020

Добавить пользователя к google серверу на Google cloud

  1. открываем консоль в веб
  2. создаем нового пользователя “adduser new_user”
  3. создаем файл /home/new_user/.ssh/authorized_keys
  4. Добавляем публичный ключ нового пользователя.
    его можно легко создать при помощи Puttyget как показано ниже.

5. далее нужно сохранить private key и передать его пользователю, естественно, что пункты 4 и 5 могут быть сделаны самим пользователем.
6. systemctl restart sshd
7. Далее можно создать пароль для нового пользователя “passwd new_user”
8. добавляем нового пользователя в /etc/sudoers чтобы он не вводил пароль при команде sudo su. в файле нужно добавить строчку: “new_user ALL=(ALL) NOPASSWD: ALL”

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

14.02.2020

сервера со скидками и промокадами.

digitalocean.com: Если вам нужно, проверить что-то в течении 60 дней, то можно воспользоваться ссылкой на digital-ocean. дают 100$ на тестирование их услуг.

firstvds.ru: скидка 25% на первый месяц по ссылке либо используйте промокод: 648139326

9.01.2020

run cron every N seconds

Для современных систем есть systemd который прекрасно решает эту задачу оригинальная статься здесь

Цитата:

Here is a simple example that logs "Hello World" every 10 seconds:
/etc/systemd/system/helloworld.service:

[Unit]
Description=Say Hello
[Service]
ExecStart=/usr/bin/logger -i Hello World

/etc/systemd/system/helloworld.timer:
[Unit]
Description=Say Hello every 10 seconds
[Timer]
OnBootSec=10
OnUnitActiveSec=10
AccuracySec=1ms
[Install]
WantedBy=timers.target

After setting up these units (in /etc/systemd/system, as described above, for a system-wide setting, or at ~/.config/systemd/user for a user-specific setup), you need to enable the timer (not the service though) by running systemctl enable helloworld.timer. If you want to start the timer immediately (instead of waiting for it to start after a reboot), also run systemctl start helloworld.timer.

24.12.2019

Kamailio. uac_auth. cseq. t_relay fail.

чтобы увеличивать cseq нужно использовать модуль диалог.

modparam(“dialog”, “track_cseq_updates”, 1)

если вы используете в failure_route uac_auth, то учите что при несовпадении realm в запросе на авторизацию и в функции uac_auth вы получите ошибку

ERROR: {1 62503 INVITE } tm [t_fwd.c:1717]: t_forward_nonack(): no branches for forwarding
ERROR: {1 62503 INVITE } tm [tm.c:1679]: _w_t_relay_to(): t_forward_noack failed

А в 2016 был баг на эту тему в kamailio. сейчас видимо не баг.

19.12.2019

WEBRTC2SIP. KAMAILIO. RTPENGINE. CENTOS 7.

Полная статья по инсталляции webrtc2sip на centos 7 здесь. А тут видео.

В качестве основы эту статью и компиляцию вручную. В целом компиляция особых проблем не вызвала. Пакеты все которые надо ставятся.

Проблема возникла при инсталляции в качестве сервиса.

а) не стал разбираться с правами и запускаю от root,
б) необходимо убрать из rtpengine.services параметры из окружения,

Было:

ExecStart=/usr/sbin/rtpengine --config-file=${CFGFILE} --interface=${INTERFACE} --listen-ng=${LISTEN_UDP} --log-facility=${LOG_FACILITY} --log-level=${LOG_LEVEL}

Стало:

ExecStart=/usr/sbin/rtpengine --pidfile /run/rtpengine.pid --config-file /etc/rtpengine/rtpengine.conf --table 0

в) учесть имена pid файла, он должен совпадать в /etc/rtpengine/rtpengine.conf , /etc/sysconfig/rtpengine , rtpengine.service – последний файл можно найти командой systemctl status rtpengine.service.

Помощь с ошибками:

webrtc console:  Called with SDP without DTLS fingerprint. - для моей версии rtpengine, необходимо было использовать ICE=force, без этого флага rtpengine не добавлял fingerprint в SDP. возможно в новых версиях rtpengine всё уже в порядке. 

15.12.2019

FreePBX AMI Events duplicate. queue. agents.

По умолчанию, freepbx создают агентов в очереди в качестве локальных каналов local/1000-ext/n , где /n означает отключение автоматизации внутренних каналов, по этому создается по два канала в каждой очереди и видимо с обоих приходит уведомление. В общем если заполнять агентов с префиксом S например S1001,0, уведомления приходят ровно по одному на очередь как и должно быть. Всем спасибо. Я кстати не могу зарегаться на основном сайте, не показывает капчу… Тематика Астериска последнее время близка. кто знает может чем смогу помочь.