Installation mit MariaDB-Datenbank
apt-get install kamailio kamailio-tls-modules kamailio-mysql-modules kamailio-presence-modules
#!define WITH_MYSQL #!define WITH_AUTH #!define WITH_TLS #!define WITH_PRESENCE #!define WITH_USRLOCDB alias="sip.mydomain.com" listen=udp:192.168.0.2:5060 listen=tcp:192.168.0.2:5061
SIP_DOMAIN=mydomain.com DBENGINE=MYSQL DBHOST=localhost DBNAME=kamailio DBRWUSER="kamailio" DBRWPW="********" DBROUSER="kamailioro" DBROPW="******"
Für den Fall daß der RPTProxy verwendet werden soll, noch folgendes ergänzen:
#!define WITH_NAT
Datenbank erstellen mit
kamdbctl create
Ergänzung in rsyslog.conf
# Kamailio local0.* -/var/log/kamailio.log
/var/log/kamailio*.log { daily missingok rotate 14 compress delaycompress create 0644 root adm postrotate /usr/lib/rsyslog/rsyslog-rotate endscript }
Zertifikat normal mit Let's Encrypt anlegen. Anschließend in die Konfiguration eintragen:
method = TLSv1.2+ verify_certificate = yes require_certificate = yes private_key = /etc/ssl/private/sip.key certificate = /etc/ssl/certs/sip.crt
Zugangsdaten in kamctlrc
eintragen.
Es existiert kein Debian-Paket mehr. Erstellen aus den Quellen:
apt-get install libssl-dev libsrtp2-dev cd /usr/local/src git clone -b master https://github.com/sippy/rtpproxy.git git -C rtpproxy submodule update --init --recursive cd rtpproxy git checkout v3.0.1 ./configure make clean all make install
Einstellungen für das Init-Skript
USER=kamailio GROUP=kamailio CONTROL_SOCK="unix:/var/run/rtpproxy/rtpproxy.sock" EXTRA_OPTS="-l <external ip address> -d INFO"
Die Kommunikation lassen wir über einen Unix-Socket stattfinden und nicht wie im Standard über UDP. Dafür ist noch eine Anpassung in Kamailio erforderlich:
#!define WITH_NAT [...] modparam("rtpproxy", "rtpproxy_sock", "unix:/var/run/rtpproxy/rtpproxy.sock")
Anzeige der angelegten Geräte
kamctl db show subscriber
Anzeige der angemeldeten Geräte (kamailio muß laufen)
kamctl ul show kamctl online
Nummern (Subscriber) anlegen
kamctl add <nummer> <kennwort>
Nummer wieder entfernen
kamctl rm <nummer>
Selbstverständliche kann jedes IP-Telefon verwendet werden. Hersteller sind z.B. Grandstream und Snom.
Softphones auf dem PC:
Apps auf dem Smartphone: