[teilweise gelöst] Group_Count Problem/Verständnis Frage

baschdieh

Mitglied
Mitglied seit
15 Sep 2005
Beiträge
416
Punkte für Reaktionen
0
Punkte
0
Hallo,

habe eine kleine Funktion konfiguriert, in der ich eine Group_Count Funktion nutze. Diese Group_Count Funktion setze ich wie folgt ein:

Code:
[nachtschaltung]
exten => 1,1,Set(__TRANSFER_CONTEXT=transfercontext)        
exten => 1,2,Set(GROUP()=dect) ; Sprachkanal auf 1 Setzen
exten => 1,3,Set(besetzt=${DB(empfang/besetzt)}) ; Datenbank nachschauen ob Nachtschaltung gesetzt ist
exten => 1,4,Noop(${besetzt})
exten => 1,5,GotoIf($["${besetzt}" > "0"]?300:6) ; Wenn besetzt, dann auf Prio "300", falls nicht auf "6"
exten => 1,6,Wait(1)
exten => 1,7,Noop(${GROUP_COUNT(dect)})
exten => 1,8,GotoIf($[${GROUP_COUNT(dect)} > 1]?200) ; Ist der Wert groesse als 1 dann auf Prio "200"
exten => 1,9,Dial(SIP/empfang&SIP/111)
exten => 1,10,HangUp() 

exten => 1,200,GoTo(nachtcallqueuedect,1,1) ; Es wird bereits gesprochen
exten => 1,300,GoTo(nachtcallqueuedect,1,1) ; Nachtschaltung aktiv

Problem: Sobald der Empfang ein Anruf entgegennimmt, wird der Wert von 0 auf 1 gesetzt - das ist soweit richtig, sobald allerdings das Gespräch weitergeleitet wird, wird der Wert leider nicht wie gewünscht auf 0 gesetzt, sondern bleibt so lange auf 1 bis die Person, die den Anruf weitergeleitet bekommen hat, auflegt.

Gibts dafuer nen Workaround?

Danke sehr
basty
 
Zuletzt bearbeitet:
Gibts dafuer nen Workaround?

Da die "Werterhöhung" dem Anruf gehört, bleibt nur die Variable manuell zurückzusetzen. Die wird dann aber uU nochmal zurückgezählt, wenn der Anruf beendet wird.
 
Hi,

vielen Dank für Deine Antwort. Wie sollte ich denn am besten den Wert manuell auf 0 setzen? Das würde ja ggf. bedeuten, dass ich für jede Nebenstelle einen Eintrag zum clearen des Group_Counts einrichten müsste, oder ?

Ist es denn ein Bug oder ein Feature? Ich mein, wenn ich ganz simpel z.B. an einer Nebenstelle mit zwei Telefonen denke (Dect und Hardphone). Wird die Nebenstelle gerufen, sollen beiden Telefone klingeln. Sobald abgenommen wird, egal ob Dect oder Snom, soll ja sinnvoller Weise bei einem weiteren, eingehenden Anruf die Nebenstelle besetzt sein. Das funktioniert ja auch mit dem Group_Count einwandfrei..nur sobald der Mitarbeiter auf die Idee kommt, das Gespräch weiterzuleiten, ist er so lange an seinen beiden Telefonen nicht erreichbar (da besetzt) bis das Weiterleitungsziel auflegt.
Das kann doch auch nicht Sinn und Zweck sein, oder ? ;-)
 
So - hab es nun wie folgt gelöst:

Code:
[nachtcallqueue]
exten => 1,1,Set(__TRANSFER_CONTEXT=transfercontext)
exten => 1,2,Set(besetzt=${DB(empfang/besetzt)}) ; Datenbank nachschauen ob Nachtschaltung gesetzt ist
exten => 1,3,GotoIf($["${besetzt}" > "0"]?300:4) ; Wenn Nachtschaltung, dann auf Prio "300", falls nicht auf "6"
exten => 1,4,Set(belegt=${DB(empfang/belegt)}) ; Dantenbank nachschauen ob Kanal belegt
exten => 1,5,GotoIf($["${belegt}" > "0"]?300:6) ; Wenn Belegt, dann auf Prio "300", falls nicht auf "6"
exten => 1,6,Set(DB(empfang/belegt)=1) ; Datenbank auf Belegt setzen
exten => 1,7,Wait(1) ; 1 Sekunde warten
exten => 1,8,Dial(SIP/empfang&SIP/111) ; Empfang und Dect anrufen

exten => h,1,Set(DB(empfang/belegt)=0) ; Nach auflegen Belegt auf "0" setzen

exten => 1,300,GoTo(nachtcallqueuedect,1,1) ; Nachtschaltung aktiv

empfang/belegt wird auf 1 gesetzt, sobald ein Gespraech eingeht, beim auflegen wird er via h extension wieder auf 0 gesetzt - somit ist der Empfang wieder frei - in dem moment, wo "empfang/belegt" auf "1" steht, wandern die Telefonate in die "Nachtschaltung" - es wird also eine andere Funktion aufgerufen.
In diesem Beispiel hat der Empfang mittels Funktionstaste die Möglichkeit manuell einen Wert "0" bzw "1" für "empfang/besetzt" zu wählen. D.h. der Empfang kann manuell die Nachtschaltung aktivieren.

Habs getestet - funktioniert prima. Einziges Problem ist, wenn der Empfang ein externes Telefonat fuehrt - da muss wohl ein noch ein eigner dialout context mit dem Datenbank wert gebaut werden.
 
Okay,

ist doch nur "halb" gelöst. Bei einem Transfer mit Rücksprache funktioniert es. Sobald ein Blind-Transfer genutzt wird, greift die "h" extension nicht mehr.

Hat jemand dazu eine Lösung?

Danke! ;-)

P.s.: Gibt es ggf. die Möglichkeit einen Dialstatus auf zwei Endgeräte zu fahren? D.h. ich wähle zwei Telefone an, sobald EIN Gerät Besetzt ist, wird ein Busy gemeldet? - Dann hätte ich ggf. noch einen Workaround.. ;-) DANKE!
 
Zuletzt bearbeitet:
GROUP_COUNT attended transfer - group_update on masquerade

Ich habe genau das gleich Problem wie hier in der Mailingliste (lists.digium.com) von Karsten beschrieben.
(außer das ich asterisk-1.4.21.2 bristuff-0.4.0-RC3c teste.)

Ich denke es ist ein Bug beim Attended Transfer & beim Pickup :mad:
(Wobei ich den ersteren vermutlich gefunden hab...)

Wie lösst man dieses Problem sonst?
2 SIP-Telefone. Beide sollten bei einer Extension klingeln.
Aber insgesamt max. nur ein Gepräch (wenigstens eingehend).

Hier im Forum gibt es auch einen ähnlichen Beitrag.

Mfg antiben
 
Zuletzt bearbeitet:
Hehe, interessanter Weise stehe ich seit ein paar Tagen vor dem gleichen Problem.

Also auch hier ist eine Lösung willkommen, bzw. sollte es zu keiner kommen, werde ich mich in den nächsten Wochen mit diesem Problem intensiv auseinander setzten müssen.

Gruß
NetRacer
 
Schon mal "call-limit=1" in sip.conf und ChanIsAvail in die Überlegung mit einbezogen?
 
Am besten auf die Gruppen verzichten und über das Manager-Interface selber verwalten.
 
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.