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: INUSE18.10.2020
Protected: Pavel Eremin
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-reload29.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 install24.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
- открываем консоль в веб
- создаем нового пользователя “adduser new_user”
- создаем файл /home/new_user/.ssh/authorized_keys
- Добавляем публичный ключ нового пользователя.
его можно легко создать при помощи 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.2020run cron every N seconds
Для современных систем есть systemd который прекрасно решает эту задачу оригинальная статься здесь
Цитата:
Here is a simple example that logs "Hello World" every 10 seconds:24.12.2019/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 runningsystemctl enable helloworld.timer
. If you want to start the timer immediately (instead of waiting for it to start after a reboot), also runsystemctl start helloworld.timer
.
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. сейчас видимо не баг.
| Posted in kamailio, Проблемы в коде, Проблемы при настройке | No Comments »
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 всё уже в порядке.
| Posted in Asterisk, kamailio, Готовые решения | No Comments »
| Posted in Asterisk | No Comments »