GROUP_COUNT Frage

himpierre

Mitglied
Mitglied seit
18 Apr 2007
Beiträge
316
Punkte für Reaktionen
0
Punkte
0
Hallo.

Ich fürchte, ich habe die Group_Count Funktion noch nicht so recht verstanden. Ich will damit eigentlich die Anzahl der eingehenden Anrufe beschränken. Unten stehender Dialplan Schnipsel funktioniert aber nicht. Ich kann die 509 mehrmals anrufen. Ich hatte jetzt eigentlich erwartet, das nach einem Gespräch Schluss ist. Ich vermute mal, da Group Count ja eine Channel Variable ist, das bei jedem Anruf ein neuer Channel geschaffen wird. Stimmt das? Kann mich jemand erleuchten?

cheers
t.

Code:
exten => _509,1,Answer
exten => 509,n,Set(GROUP()=${EXTEN})
exten => 509,n,NoOp(-- Now prepare Group Count --)
exten => 509,n,GotoIf($[${GROUP_COUNT (${EXTEN})}>1]?busy)
exten => 509,n,Set(GROUP()=${CALLERID(num)})
exten => 509,n,Set(OUTBOUND_GROUP=${EXTEN})
exten => 509,n,Dial(SIP/${EXTEN},30,tTk)
exten => 509,n(busy),Hangup
 
Hallo,

nimm mal das Leerzeichen zwischen GROUP_COUNT und (${EXTEN}) raus, vielleicht stört das.

So siehst Du ggf. den Unterschied:
Code:
exten => 509,n,Noop(${GROUP_COUNT (${EXTEN})})
exten => 509,n,Noop(${GROUP_COUNT(${EXTEN})})

Für was soll das Answer eigentlich gut sein?

[Edit:] Grad noch gesehen, Du setzt mitten drin die GROUP für den Channel auf die CallerID. Damit wird GROUP_COUNT für 590 wieder 0. Wenn Du beides brauchst, musst Du Kategorien verwenden.
 
Zuletzt bearbeitet von einem Moderator:
Das _509,1,Answer ist Murks, richtig. Cut&Paste Fehler. Leerzeichen nehme ich mal raus und teste das nacher. Danke.
 
[Edit:] Grad noch gesehen, Du setzt mitten drin die GROUP für den Channel auf die CallerID. Damit wird GROUP_COUNT für 590 wieder 0. Wenn Du beides brauchst, musst Du Kategorien verwenden.

Das hast Du gesehen, oder? Weil das bricht Dir auf jeden Fall das Genick, selbst wenn das Leerzeichen nichts ausmacht.
 
Grad noch gesehen, Du setzt mitten drin die GROUP für den Channel auf die CallerID. Damit wird GROUP_COUNT für 590 wieder 0. Wenn Du beides brauchst, musst Du Kategorien verwenden.

Verflucht. Danke sehr. Wie Du siehst habe ich das noch nicht kapiert. Hast Du auch noch einen Tip in puncto Kategorien für mich? Sonst schmeiss ich einfach mal ne Suchmaschine an.

cheers
t.
 
Code:
exten => _XXX,1,GotoIf($[${GROUP_COUNT(${EXTEN})@ziel}>0]?zielbesetzt)
exten => _XXX,n,GotoIf($[${GROUP_COUNT(${EXTEN})@nst}>0]?zielbesetzt)
exten => _XXX,n,Set(GROUP(ziel)=${EXTEN})
exten => _XXX,n,Set(GROUP(nst)=${CALLERID(number)})
exten => _XXX,n,Dial(SIP/${EXTEN},,tT)
exten => _XXX,n,HangUp
exten => _XXX,n(zielbesetzt),Busy
exten => _XXX,n,HangUp

Das Prinzip ist eigentlich einfach. Mit Set(GROUP) odnest Du diesen Channel einer bestimmten Gruppe zu. Mit GROUP_COUNT ermittelst Du, wie viele Channels es in dieser Gruppe gibt. Jedes Mal wenn Du GROUP setzt, überschreibst Du den vorherigen Eintrag.

Wenn Du zusätzlich Kategorien verwendest, kannst Du einen Channel mehreren Gruppen zuordnen. Wenn im obigen Beispiel die Nebenstelle 101 bei 102 anruft, wird der Channel in die Gruppe 101@ziel und 102@nst gelegt. Wenn jetzt noch jemand bei 101 anruft, ist 101@ziel bereits >0 und damit ist besetzt.
Genau so funktioniert das, wenn jemand die 102 anrufen würde. In der Priorität 2 wird dann 102@nst geprüft, was durch das erste Gespräch schon >0 ist.

Klar soweit?
 
Wenn Du zusätzlich Kategorien verwendest, kannst Du einen Channel mehreren Gruppen zuordnen. Wenn im obigen Beispiel die Nebenstelle 101 bei 102 anruft, wird der Channel in die Gruppe 101@ziel und 102@nst gelegt. Wenn jetzt noch jemand bei 101 anruft, ist 101@ziel bereits >0 und damit ist besetzt.
Genau so funktioniert das, wenn jemand die 102 anrufen würde. In der Priorität 2 wird dann 102@nst geprüft, was durch das erste Gespräch schon >0 ist.

Verstanden. Das heisst aber auch, das das nicht greift, wenn ich mit dem Peer 509 ein externes Gespräch führe, oder? Dann müsste ich also in der extension die Outgoing definiert auch diese Kategorien setzen?

cheers
t.
 
Ja, dazu brauchst Du im agbegehden Context auch
Code:
exten => _XXX.,n,Set(GROUP(nst)=${CALLERID(number)})
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.