Zufällige Auswahl der Endgeräte in einer Warteschleife

AndreasKo

Neuer User
Mitglied seit
7 Dez 2007
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hallo alle zusammen,

ich habe folgendes Problem:
Ein externer Anrufer ruft an, landet in einer Warteschleife. Die Endgeräte in der Warteschleife sollen nacheinander angerufen werden. Soweit auch kein Problem.
Es soll nun allerdings so sein, dass nicht immer das erste Endgerät in der Schleife beim nächsten Anrufer wieder das erste Gerät ist, sondern ein anderes.

Code:
exten => 11,1,Answer()
exten => 11,2,Dial(SIP/1,3,m)
exten => 11,3,Set(Nummer=${EXTEN})
exten => 11,4,GoToIf($[${EXTEN}=${Nummer}]?ja:nein)
exten => 11,5(ja),GoTo(6)
exten => 11,6,Dial(SIP/2,3,m)
exten => 11,7(nein),GoTo(1)

Das obige Beispiel ist nun erstmal nur für 2 Endgeräte gedacht. Wenn das erste zuvor nicht angerufen wurde, soll es wieder das erste in der Schleife sein, wenn dem jedoch so ist, soll das zweite Gerät als erstes angerufen werden.

Ich bin mir auch nicht sicher, ob die Reihenfolge dort so richtig gewählt ist.

Ich hoffe, dass hier jemand durch mein gewurschtel durchsteigt und mir evtl. helfen kann.

MfG

Andreas
 
Zuletzt bearbeitet von einem Moderator:
ja gehts denn auch noch umständlicher? - äh - ist denn schon wieder Weihnachten?

Warum willst Du das Rad neu erfinden, wenn Asterisk das was Du willst, ohnehin schon von Haus aus kann?

http://voip-info.org/wiki/view/Asterisk+call+queues

Strategies
Calls are distributed among the members handling a queue with one of several strategies, defined in queues.conf

* ringall: ring all available channels until one answers (default)
* roundrobin: take turns ringing each available interface (depreciated in 1.4, use rrmemory)
* leastrecent: ring interface which was least recently called by this queue
* fewestcalls: ring the one with fewest completed calls from this queue
* random: ring random interface
* rrmemory: round robin with memory, remember where we left off last ring pass
 
Hi Betateilchen,

danke für den Hinweis, den muss ich irgendwie überlesen haben.

Da frage ich mich doch nun aber, WAS mache ich dann in der extensions.conf, wenn ich in der queues.conf schon alles regeln kann?
Weil Reihenfolgen werden dort ja mit der Priorität geregelt. Fängt Asterisk nun mit der entsprechenden Stelle selber an? Oder durchläuft es immer noch die Prioritäten?

Folglich müsste ich in der extensions.conf immer noch folgendes angeben:

Code:
exten => 11,1,Answer()
exten => 11,2,Dial(SIP/1,3,m)
exten => 11,3,Dial(SIP/2,3,m)
... und so weiter...

Oder bin ich nun komplett auf dem falschen Dampfer?
 
Zuletzt bearbeitet von einem Moderator:
Doku lesen.

Und wenn Du grade beim Lesen bist, dann lies doch gleich mal nach, wie man das CODE Tag beim Beitrag schreiben verwendet. Ich hab jetzt schon zweimal hinter Dir hergeräumt :motz:
 
Kostenlos!

Statistik des Forums

Themen
248,892
Beiträge
2,304,338
Mitglieder
378,586
Neuestes Mitglied
robome