2009-07-10 14 views
1

Ich muss eingehende Anrufe auf Asterisk Lastenausgleich. Dazu habe ich den Openser-Server davor eingerichtet und die Dispatcher-Module dazu geladen und konfiguriert. Was ich machen möchte ist, dass der Openser-Server die Anrufe empfängt und sie an den am wenigsten "beschäftigten" Asterisk-Server weiterleitet, der sich um den Rest kümmern wird (ich habe ein IVR-Menü in jedem der Server eingerichtet). Ich verwende X-Lite Softphone zum Testen. Die gleichen Benutzer sind in Asterisk und Openser registriert. Wenn ich den Anruf einleite geht es nur über den Openser-Server, es wird nicht zu einem der Asterisk-Boxen weitergeleitet. Ich frage mich, ob ich irgendwelche Konfiguration oder Schritt in meiner Einrichtung vermisse.asterisk load balancing mit openser/opensips

Vielen Dank im Voraus

Antwort

0

Die Dispatcher-Modul jede Art von Lastenausgleich nicht tun kann. Es ist ein "zustandsloses" Modul, das heißt, es verfolgt nicht, wie viele Anrufe an jede Box gesendet werden.

Sie können verschiedene Arten von Routing-Logik wählen können, sind die verfügbaren Typen:

“0” - hash over callid 
“1” - hash over from uri. 
“2” - hash over to uri. 
“3” - hash over request-uri. 
“4” - round-robin (next destination). 
“5” - hash over authorization-username 
“6” - random (using rand()). 
“7” - hash over the content of PVs string. 
“X” - if the algorithm is not implemented, the first entry in set is chosen. 

Die am ehesten die Last ziemlich ist Round-Robin (Option 5) zu verteilen.

es nutzen zu können, rufen Sie die folgende Funktion in dem Streckenabschnitt Ihres openser.cnf:

ds_select_dst("1", "5"); 

Der erste Parameter Ihre GW-Gruppe ist, der zweite ist die Verlegeart.

Für weitere Informationen überprüfen this page

this helps