kamailio
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
kamailio [20.07.2023 09:13] – [Kamailio SIP Server] thooge | kamailio [18.12.2023 16:23] (aktuell) – [Kamailio SIP Server] thooge | ||
---|---|---|---|
Zeile 12: | Zeile 12: | ||
#!define WITH_TLS | #!define WITH_TLS | ||
#!define WITH_PRESENCE | #!define WITH_PRESENCE | ||
+ | #!define WITH_USRLOCDB | ||
alias=" | alias=" | ||
listen=udp: | listen=udp: | ||
listen=tcp: | listen=tcp: | ||
+ | </ | ||
+ | |||
+ | <file conf / | ||
+ | SIP_DOMAIN=mydomain.com | ||
+ | DBENGINE=MYSQL | ||
+ | DBHOST=localhost | ||
+ | DBNAME=kamailio | ||
+ | DBRWUSER=" | ||
+ | DBRWPW=" | ||
+ | DBROUSER=" | ||
+ | DBROPW=" | ||
+ | </ | ||
+ | |||
+ | Für den Fall daß der RPTProxy verwendet werden soll, noch folgendes ergänzen: | ||
+ | < | ||
+ | #!define WITH_NAT | ||
+ | </ | ||
+ | |||
+ | Datenbank erstellen mit | ||
+ | kamdbctl create | ||
+ | |||
+ | ===== Logging ===== | ||
+ | |||
+ | Ergänzung in '' | ||
+ | < | ||
+ | # Kamailio | ||
+ | local0.* -/ | ||
+ | </ | ||
+ | |||
+ | <file conf / | ||
+ | / | ||
+ | daily | ||
+ | missingok | ||
+ | rotate 14 | ||
+ | compress | ||
+ | delaycompress | ||
+ | create 0644 root adm | ||
+ | postrotate | ||
+ | / | ||
+ | endscript | ||
+ | } | ||
</ | </ | ||
===== TLS ===== | ===== TLS ===== | ||
Zeile 28: | Zeile 70: | ||
certificate = / | certificate = / | ||
</ | </ | ||
+ | |||
+ | ===== Datenbank ===== | ||
+ | |||
+ | Zugangsdaten in '' | ||
+ | |||
+ | ===== RTP-Proxy ===== | ||
+ | |||
+ | Es existiert kein Debian-Paket mehr. | ||
+ | Erstellen aus den Quellen: | ||
+ | < | ||
+ | apt-get install libssl-dev libsrtp2-dev | ||
+ | cd / | ||
+ | git clone -b master https:// | ||
+ | git -C rtpproxy submodule update --init --recursive | ||
+ | cd rtpproxy | ||
+ | git checkout v3.0.1 | ||
+ | ./configure | ||
+ | make clean all | ||
+ | make install | ||
+ | </ | ||
+ | |||
+ | ++++ Init-Script | | ||
+ | <file bash / | ||
+ | #! /bin/sh | ||
+ | ### BEGIN INIT INFO | ||
+ | # Provides: | ||
+ | # Required-Start: | ||
+ | # Required-Stop: | ||
+ | # Default-Start: | ||
+ | # Default-Stop: | ||
+ | # Short-Description: | ||
+ | # Description: | ||
+ | ### END INIT INFO | ||
+ | |||
+ | PATH=/ | ||
+ | NAME=rtpproxy | ||
+ | DESC=" | ||
+ | DAEMON=/ | ||
+ | USER=$NAME | ||
+ | GROUP=$USER | ||
+ | PIDFILE="/ | ||
+ | PIDFILE_DIR=`dirname $PIDFILE` | ||
+ | CONTROL_SOCK=" | ||
+ | |||
+ | test -x $DAEMON || exit 0 | ||
+ | umask 002 | ||
+ | |||
+ | . / | ||
+ | |||
+ | # Include defaults if available | ||
+ | if [ -f / | ||
+ | . / | ||
+ | fi | ||
+ | |||
+ | DAEMON_OPTS=" | ||
+ | |||
+ | if [ ! -d " | ||
+ | mkdir " | ||
+ | chown $USER: | ||
+ | fi | ||
+ | |||
+ | set -e | ||
+ | |||
+ | case " | ||
+ | start) | ||
+ | echo -n " | ||
+ | start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS | ||
+ | echo " | ||
+ | ;; | ||
+ | stop) | ||
+ | echo -n " | ||
+ | start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON | ||
+ | echo " | ||
+ | ;; | ||
+ | status) | ||
+ | echo -n " | ||
+ | if [ ! -e " | ||
+ | echo "$NAME is NOT running. No PID-File." | ||
+ | exit 7 | ||
+ | fi | ||
+ | PID=$(cat $PIDFILE) | ||
+ | kill -0 $PID | ||
+ | rc=$? | ||
+ | # Check exit code | ||
+ | if [ " | ||
+ | then | ||
+ | echo "$NAME is NOT running." | ||
+ | exit 7 | ||
+ | else | ||
+ | echo "$NAME is running with PID: $PID" | ||
+ | fi | ||
+ | ;; | ||
+ | restart|force-reload) | ||
+ | echo -n " | ||
+ | start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON | ||
+ | sleep 1 | ||
+ | start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS | ||
+ | echo " | ||
+ | ;; | ||
+ | *) | ||
+ | N=/ | ||
+ | echo " | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | Einstellungen für das Init-Skript | ||
+ | <file conf / | ||
+ | USER=kamailio | ||
+ | GROUP=kamailio | ||
+ | CONTROL_SOCK=" | ||
+ | EXTRA_OPTS=" | ||
+ | </ | ||
+ | |||
+ | 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: | ||
+ | <file conf / | ||
+ | #!define WITH_NAT | ||
+ | |||
+ | [...] | ||
+ | modparam(" | ||
+ | </ | ||
+ | |||
+ | ===== Befehle ===== | ||
+ | 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 wieder entfernen | ||
+ | kamctl | ||
+ | |||
+ | ===== VoIP-Clients ===== | ||
+ | |||
+ | Selbstverständliche kann jedes IP-Telefon verwendet werden. | ||
+ | Hersteller sind z.B. Grandstream und Snom. | ||
+ | |||
+ | Softphones auf dem PC: | ||
+ | * Twikle | ||
+ | * Linphone, anscheinend kein vernänftiges Logging | ||
+ | |||
+ | Apps auf dem Smartphone: | ||
+ | * ??? | ||
+ | |||
kamailio.1689844383.txt.gz · Zuletzt geändert: 20.07.2023 09:13 von thooge