.titleBar { margin-bottom: 5px!important; }

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

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von baschdieh, 17 Sep. 2008.

  1. baschdieh

    baschdieh Mitglied

    Registriert seit:
    15 Sep. 2005
    Beiträge:
    416
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 baschdieh, 17 Sep. 2008
    Zuletzt bearbeitet: 22 Sep. 2008
    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
     
  2. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    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.
     
  3. baschdieh

    baschdieh Mitglied

    Registriert seit:
    15 Sep. 2005
    Beiträge:
    416
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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 ? ;-)
     
  4. baschdieh

    baschdieh Mitglied

    Registriert seit:
    15 Sep. 2005
    Beiträge:
    416
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  5. baschdieh

    baschdieh Mitglied

    Registriert seit:
    15 Sep. 2005
    Beiträge:
    416
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #5 baschdieh, 22 Sep. 2008
    Zuletzt bearbeitet: 22 Sep. 2008
    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!
     
  6. antiben

    antiben Neuer User

    Registriert seit:
    12 Sep. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #6 antiben, 25 Okt. 2008
    Zuletzt bearbeitet: 27 Okt. 2008
    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
     
  7. NetRacer

    NetRacer Neuer User

    Registriert seit:
    10 Juli 2006
    Beiträge:
    59
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  8. Burmann

    Burmann Mitglied

    Registriert seit:
    16 Feb. 2005
    Beiträge:
    372
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Schon mal "call-limit=1" in sip.conf und ChanIsAvail in die Überlegung mit einbezogen?
     
  9. Heldenhaft

    Heldenhaft Neuer User

    Registriert seit:
    24 Nov. 2004
    Beiträge:
    104
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Am besten auf die Gruppen verzichten und über das Manager-Interface selber verwalten.