Mit dem Asterisk Server ist es nicht nur möglich SIP über UDP zur Verfügung zustellen. Es ist auch möglich dies über TCP zu tun.
Dafür muss die Konfiguration nur um wenige Zeilen erweitert werden. Zunächst muss TCP grundsätzlich aktiviert werden hierfür wird in der Datei sip.conf der "[gernaeral]"-Abschnitt um folgende Zeilen erweitert.
tcpenable=yes
tcpbindaddr=0.0.0.0
Anschließend muss die Kommunikation für jeden Nutzer noch einzeln freigeschaltet werden. Hierfür muss der entsprechende Nutzer-Abschnitt um die Zeile "transport=tcp" erweitert werden. Dies könnte dann wie folgt aussehen.
[200]
transport=tcp
type=peer
host=dynamic
secret=200
context=users
mailbox=200@mailbox.voip
Wurde alles eingerichtet kann die Konfiguration über die Asterisk Konsole neu geladen werden.
*CLI> sip reload
Jetzt sollte der Asterisk Server an zwei Ports auf eingehende Verbindungen warten.
$ sudo netstat -atupn | grep 5060
tcp 0 0 0.0.0.0:5060 0.0.0.0:* LISTEN 1051/asterisk
udp 0 0 0.0.0.0:5060 0.0.0.0:* 1051/asterisk
Achtung: Wenn TCP für einen Nutzer eingestellt wurde, dann ist für ihn keine Verbindung über UDP mehr möglich.
Links
- Asterisk (englisch)