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

Away Status anzeigen

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von Junialter, 27 Nov. 2008.

  1. Junialter

    Junialter Mitglied

    Registriert seit:
    19 Juni 2005
    Beiträge:
    214
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hey,

    Arbeitsplätze sind verteilt auf verschiedene Standorte, ein zentraler asterisk server bristuff 1.2.25.

    Ich hätte jetzt gerne an den Apparaten eine Anzeige, ob der anderer Teilnehmer "am Arbeitsplatz sitzt". Natürlich muss dieser andere Teilnhemer das schon über einen Knopf signalisieren (away-Taste).

    Die Busy-Lamp-Fields zeigen mir ja nur an, wenn es klingelt, oder wenn ein Gespräch läuft. Ich will aber sehen, ob man "auf der Arbeit" quasi "Anruf-Annahme-Bereit" ist.

    Danke sehr!
     
  2. Junialter

    Junialter Mitglied

    Registriert seit:
    19 Juni 2005
    Beiträge:
    214
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hat niemand eine Idee? Ich bräuchte das ziemlich dringend...
     
  3. schogge

    schogge Mitglied

    Registriert seit:
    11 Aug. 2005
    Beiträge:
    211
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wir lösen das außerhalb von Asterisk mit einem Instant Messaging Server/Client (Openfire). Funktioniert wie ICQ & Co. Die Anzeige ist nicht am Telefon und geht natürlich nur, wenn es sich um PC-Arbeitsplätze handelt.
     
  4. foschi

    foschi Guest

    Presence kommt erst mit Asterisk 1.6., alternativ nen MS OCS dazu nehmen und die Telefonie von Asterisk machen lassen.

    Schau mal nach chan_jabber.
     
  5. laureen

    laureen Mitglied

    Registriert seit:
    17 Okt. 2004
    Beiträge:
    369
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #5 laureen, 7 Dez. 2008
    Zuletzt bearbeitet: 7 Dez. 2008
    Hallo,

    du kannst ein BLF (Busy Lamp Field) auch auf einen Dailplan-Hint setzen, der nicht einem Telefon entspricht, in den BriStuff-gepatchten Asterisken gibt's dafür einen eigenen Channel-Treiber, den DeviceState. Im Dialplan (extensions.conf) legt man einfach zusätzlich zum Telefon Hint einen DeviceState Hint an, den man mit dem Dialplan-Command "Devstate" setzen kann:

    extensions.conf:
    Code:
    ...
    [intern]
    exten = 10,hint,SIP/tel10     ; das ist der hint für das Telefon mit DW 10
    exten = pres10,hint,DS/pres10   ; das ist der presence-hint für DW 10
    ...
    exten = _presXX,1,Macro(toggle-presence)
    
    [macro-toggle-presence]
    exten = s,1,NoOp(Macro toggle-diversion called for ${CALLERID(num)})
    exten = s,n,GotoIf($["${MACRO_EXTEN:4}"!="${CALLERID(num)}"]?hangup) ; wichtig, damit nur das telefon mit der zugehörigen callerid das flag umsetzen kann
    exten = s,n,GotoIf($["${DB(DEVSTATES/${MACRO_EXTEN})}"=""]?setAvailable)
    exten = s,n,GotoIf($["${DB(DEVSTATES/${MACRO_EXTEN})}"="1"]?setAvailable)
    exten = s,n,GotoIf($["${DB(DEVSTATES/${MACRO_EXTEN})}"="2"]?setUnavailable)
    exten = s,n,Goto(hangup)
    
    exten = s,n(setUnavailable),Devstate(${MACRO_EXTEN},1)
    exten = s,n,Goto(end)
    
    exten = s,n(setAvailable),Devstate(${MACRO_EXTEN},2)
    exten = s,n,Goto(end)
    
    exten = s,n(end),Answer()
    exten = s,n,Wait(0.5)
    exten = s,n(hangup),Hangup()
    ...
    jetzt nur noch eine Taste am Telefon 10 auf "pres10@<ip des asterisk>" setzen (zu ein- bzw ausschalten der presence) und auf den anderen Telefonen das selbe machen, also z.b. auf dem Telefon mit DW 11 eine Taste auf "pres10@<ip des asterisk>" setzen, dann sieht das Telefon mit DW 11 anhand des BLF, ob Telefon 10 bereit ist.

    WICHTIG: die CallerID der Telefone muss zum Setzen des Devstate im Macro richtig gesetzt sein!

    Das würde dann so aussehen, dass das Lämpchen auf dem Telefon 11 leuchtet, wenn der Teilnehmer bereit ist und ausgeht, wenn der Teilnehmer nicht bereit ist.

    Zusätzlich sollte man dann im Dialplan bevor das Telefon 10 angewählt wird ("Dial(SIP/tel10)") den DevState der presence auf "1" umsetzen, damit das Lämpchen der Presence auf den anderen Telefonen ausgeht, wenn Telefon 10 spricht. Im hangup dann wieder auf "2" setzen.

    Devstate-Parameter:
    1 ... Idle (Lämpchen aus)
    2 ... Busy (Lämpchen an)

    [EDIT]
    ev. musst Du den DeviceState das erste mal von der Asterisk CLI aus auf "2" setzen:
    Code:
    asterisk*CLI> devstate pres10 2
    [/EDIT]



    Hilft Dir das weiter?

    Grüße,
    Laureen