Astmanproxy config
Inhaltsverzeichnis
Allgemein
Das Manager Interface vom Asterisk ist nicht unbedingt für hohe Last ausgelegt. Über diese Schnittstelle werden jedoch Informationen für z.B. TAPI Treiber zur Verfügung gestellt. Um die Last zu minimieren kann der Astmanproxy als Proxy Server genommen werden und zwischen Client und Asterisk geschaltet werden.
Der Vorteil vom Astmanproxy ist auch der , dass dieser u.A. Verbindungen über SSL unterstützt, wo hingegen der Manager ein plaintext Protokoll ist wie z.B. Telnet oder POP!!!
Installation
Die benötigen Dateien von http://dl.metasec.de/zphone/astmanproxy.tar.bz2 herunterladen. Danch enptacken
tar xvjf astmanproxy.tar.bz2 -C /
Danach die Konfigurationsdatei einrichten. Das Beispiel kann ohne Probleme so übernommen werden.
/etc/init.d/astmanproxy.conf minimalconfig
; auf welchen host soll verbunden werden ; i.d.r. ist es der localhost, es können jedoch ; weitere hosts hiinzugefüg werden host = 127.0.0.1, 5038, z_proxy, z_proxy, on, off ; wie oft soll versucht werden den host zu kontaktieren ; nach n versuchen verwirft der astmanproxy diese verbindung!!! maxretries = 10 ; ; in welchem Intervall soll versucht werden eine Verbindung aufzubauen retryinterval = 2 ; auf welchen Interface / IP soll gelauscht werden listenaddress = * ; auf welchen Port soll gelauscht werden listenport = 5039 ; Authentifizierung erforderlich ; diese werden aus der Datei astmanproxy.users gelesen ; die ZPhoen unser werden automatisch angelegt! authrequired = yes ; unter welchen user und gruppe soll der prozess laufen ; wichtig: wenn user oder gruppe nicht vorhanden sind, kommt der dienst nicht hoch!!! proc_user = asterisk proc_group = asterisk ; logging logfile = /var/log/astmanproxy.log ; ; sonstige angabent... :-> ; sslclienthellotimeout = 200 acceptencryptedconnection = no acceptunencryptedconnection = yes asteriskwritetimeout=100 clientwritetimeout=200 inputformat = standard outputformat = standard autofilter = on
Dienst starten
Der Dienst wir einfach auf der Konsole gestartet. Nach dem Start wechselt dieser automatisch in den Hintergrund.
/usr/local/metasec/bin/astmanproxy
Wenn man jedoch zu Testzwecken den Dienst im Vordergrund laufen lassen will, dann muss der Debuglevel angegeben werden
/usr/local/metasec/bin/astmanproxy -d /usr/local/metasec/bin/astmanproxy -dd /usr/local/metasec/bin/astmanproxy -ddd
Je mehr -d Schalter, desto mehr Debuginfo! Auf der Asterisk CLI kann man den eingeloggten Proxy mit
manager show connected
sich anzeigen lassen. Es sollte ein User z_proxy von localhost eingeloggt sein!
Multi Server Setup
Als erstes muss in der Datei /etc/asterisk/manager-custom.conf ein zusätzlicher User angelegt werden.
Dieser ist für die jeweilige Gegenseite.
In unserem Beispiel gehen wir davon aus dass wir zwei Server haben:
zphone1 192.168.1.1 zphone2 192.168.2.1
/etc/asterisk/manager-custom.conf auf zphone1
[zphone2] secret = ultra_secret_password deny=0.0.0.0/0.0.0.0 permit=192.168.2.1/255.255.255.255 read = call,log,verbose,command,agent,user,system,all write = call,log,verbose,command,agent,user
/etc/asterisk/manager-custom.conf auf zphone2
[zphone1] secret = ultra_secret_password deny=0.0.0.0/0.0.0.0 permit=192.168.1.1/255.255.255.255 read = call,log,verbose,command,agent,user,system,all write = call,log,verbose,command,agent,user
In der Datei /etc/asterisk/astmanproxy.conf muss noch der jeweils andere Server hinzugefügt werden.
( zuzüglich zum "host = 127.0.0.1, 5038, z_proxy, z_proxy, on, off" Eintrag!!! )
Zphone1
host = 192.168.2.1, 5038, zphone1, ultra_secret_password, on, off
Zphone2
host = 192.168.1.1, 5038, zphone2, ultra_secret_password, on, off
Danach müssen noch beide Astmanproxys mit der neuen Konfiguration neu gestartet werden.
killall -HUP astmanproxy
das wars....