Alexey Kazantsev Blog Igor Olhovsky
Category: kamailio
opensips 3.1 TLS
Чтобы поднять рабочий сервер TLS-SIP На базе opensips 3.1 нужно учесть несколько моментов: Установить certbot (https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-debian-10) Установить базу данных: apt install mariadb-server apache Установить opensips И opensips control panel https://apt.opensips.org/packages.php?v=3.1 apt install opensips opensips-cli apt install opensips* (для ленивых конечно) установить сертификаты для своего домена Установить opensips control panel поправить файлик /var/www/html/opensips-cp/config/tools/system/tls_mgm/local.inc.php закомментировав validation для […]
RTPENGINE DTMF transcoding
Kamailio: route[rtpengine_invite] { if (has_body(“application/sdp”)) rtpengine_manage(“codec-mask=telephone-event transcode=PCMA always-transcode”); } route[rtpengine_answer] { if (has_body(“application/sdp”)) rtpengine_manage(“always-transcode”); } Demo for transcoding from telephone-event – to in-band and vice versa Full kamailio.cfg #!KAMAILIO # # Kamailio (OpenSER) SIP Server v5.2 – default configuration script # – web: https://www.kamailio.org # – git: https://github.com/kamailio/kamailio # # Direct your questions about this […]
kamailio rtpengine media timeout TIPs
timeout will be raised only if both sides of rtp is silent you have to enable tcp at kamailio config (disable_tcp=no) you must have in kamailio cfg: listen=tcp:127.0.0.1:8090, loadmodule “xmlrpc.so”, and additional params: loadmodule “xmlrpc.so” modparam(“xmlrpc”, “route”, “XMLRPCS”) modparam(“xmlrpc”, “url_skip”, “^/sip”) modparam(“xmlrpc”, “url_match”, “^/RPC2”) 4. you have to add route XMLRPC: route[XMLRPCS] { xlog(“L_ALERT”,”RPC recieved”); […]
RTPENGINE + G729 DEBIAN 10.10 and Debian 11
apt update apt upgrade -y apt install -y linux-headers-$(uname -r) linux-image-$(uname -r) ##reboot mkdir /opt/rtpengine cd /opt/rtpengine apt install -qqy git curl mariadb-server libmosquitto-dev libwebsockets-dev python3-websockets apt-utils devscripts dpkg-dev debhelper iptables iptables-dev libcurl4-openssl-dev libglib2.0-dev libavcodec-extra libhiredis-dev libpcre3-dev libssl-dev libxmlrpc-core-c3-dev markdown zlib1g-dev module-assistant dkms gettext default-libmysqlclient-dev gperf libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libbencode-perl libcrypt-openssl-rsa-perl libcrypt-rijndael-perl libdigest-crc-perl libdigest-hmac-perl […]
Kamailio TLS-UDP with dispatcher and used old openssl 1.0.2 (sslv2\3 support)
This project is how to convert TLS-UDP with kamailio. Problem is that modern Unix (Ubuntu and debian have only modern openssl library so it’s not support ssv2\3 protocol). To make it works you have to do this steps at vanilla system. get source of kamailio for compiling using /make include_modules=”tls”/ rtpengine should be installed as […]
Kamailio and Opensips
This is the list of completed solutions based on Kamailio\opensips. KAMAILIO: WEBRTC2SIP server – using kamailio + rtpengine, makes possible to use webphone based on webrtc to using common SIP servers transfer between SIP and WEBRTC protocols and vice versa. transconding g729 to g711 LoadBalancer – using only kamailio without DBs, makes loadbalancing between asterisks […]
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 […]
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: Возможны проблемы с разрешениями […]
kamailio. Rtpproxy not apply on re-invite.
При реинвайте не применяется rtpproxy, использовал rtpproxy_manage. Проблема была в том, что при реинвайте провайдер отправлял ответ с уже включенным a=nortpproxy в sdp. соответственно kamilio просто игнорил этот ответ. полечилось добавлением в конфиг такой строчки: modparam(“rtpproxy”, “nortpproxy_str”, “”)