Anrufer aus der Warteschlange holen ?

rschaefer

Neuer User
Mitglied seit
13 Sep 2007
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Guten Tag!

Wir steigen nun in unserer Firma gerade auf eine Asterisk Telefonanlage um. Ebenso habe ich im Auftrag meines Chefs eine Warteschleife eingerichtet. Nun lasse ich die Benutzer sich mit der Funktion AgentCallbackLogin dauerhaft auf einem Telefon einloggen, damit unsere Frauen im Verkauf sich nicht aufregen können.
Jedoch habe ich nun das Problem, dass wenn ein Anruf auf alle 3 Telefonen im Verkauf aufgrund eines Timeouts verpasst wurden, dann hängt der Anrufer dennoch in der Warteschleife.

Nun meine Frage: Gibt es die Möglichkeit, dass jener Anrufer dann wieder aus der Warteschleife geholt werden kann? Am Besten währe es, wenn es eine Funktion gäbe like GetMember, welche man dann auf eine bestimmte Nummer legen kann.

Im Anhang noch meine queues.conf und extensions.conf.

[Edit foschi: bitte code-Tags anstelle von quote verwenden!]

Code:
extensions.conf
[sonstige]
[s.mile_DIREKT_AG-telefone]
exten => 2000,1,Dial(SIP/2000,25)
exten => 2000,2,VoiceMail(2000) 

exten => 2001,1,Dial(SIP/2001,25)
exten => 2001,2,VoiceMail(2001)

exten => 2002,1,Dial(SIP/2002,25)
exten => 2002,2,VoiceMail(2002)


exten => 10,1,Wait(2)
exten => 10,n,Answer()
exten => 10,n,Set(MUSICCLASS()=de)
exten => 10,n,Queue(de,t)
exten => 10,n,Goto(q-${QUEUESTATUS},1)

exten => q-JOINEMPTY,1,Wait(1)
exten => q-JOINEMPTY,n,Playback(vm-nobodyavail,noanswer)
exten => q-JOINEMPTY,n,Playback(vm-goodbye,noanswer)
exten => q-JOINEMPTY,n,Hangup()

exten => q-JOINUNAVAIL,1,Goto(q-JOINEMPTY,1)
exten => q-LEAVEEMPTY,1,Goto(q-JOINEMPTY,1)
exten => q-LEAVEUNAVAIL,1,Goto(q-JOINEMPTY,1)
exten => q-TIMEOUT,1,Goto(q-JOINEMPTY,1)
exten => q-FULL,1,Busy(5)
exten => q-FULL,n,Hangup()

exten => 1000,1,AgentCallbackLogin(||${CALLERID(num)}@s.mile_DIREKT_AG-telefone)
exten => 2999,1,VoiceMailMain(${CALLERID(num)},s)

Code:
[queues.conf];;
;;; Einstellungen für die Warteschlangen
;;

[general]
persistentmembers = yes


;
; Warteschlange de
;
[de]
musiconhold = de
;announce = de 				;Legt eine Audiodatei fest, die einem Agenten vor dem Beantworten eines Anrufs vorgespielt wird.
strategy = ringall
timeout = 15
retry = 5
weight = 0
wrapuptime = 10
maxlen = 0
announce-frequency = 0
announce-holdtime = no
announce-round-seconds = 0
periodic-announce-frequency = 60
joinempty = no
leavewhenempty = strict
eventwhencalled = no
eventmemberstatus = no
reportholdtime = no
memberdelay = 1
timeoutrestart = yes
ringinuse = no

member => Agent/11
member => Agent/13
member => Agent/14
member => Agent/17

Code:
[agents.conf];;
;;; Agentdefinitionen
;;

[general]
persistentmembers = yes

[agents]
autologoff = 30
endcall = yes
wrapuptime = 10000
musiconhold = de
updatecdr = yes
recordagentcalls = no
recordformat = gsm

agent => 11,1234,Paul Panzer
agent => 13,1234,Heinrich Horstmann
agent => 14,1234,Max Mustermann
agent => 17,1234,Zusatzplatz 1

Ich hoffe, dass mir da einer weiterhelfen kann, sont hat sich die Sache mit der VoIP-Telefonanlage in unserer Firma schon erledigt.

So long!

Rico
 
Ich verstehe Deine Frage nicht ganz.

Der Anrufer bleibt so lange in der queue bis der timeout erreicht ist.
Queue(queuename[|options[|URL][|announceoverride][|timeout]]):

Solange wird versucht den Anrufer bei den Agenten abzuladen.

Wieso willst Du den Anrufer manuell aus der queue holen?



siehe auch
New for upcoming Asterisk v1.4.0 release: (July 2006) Due to various issues with AgentCallbackLogin this feature is likely to be deprecated by Digium (according to Kevin P. Fleming). Similar functionality can be achieved through existing dialplan functionatliy using dynamic members.
 
und ebend genau da liegt das problem: der anrufer bleibt stundenlang in der warteschleife, wenn keiner der agenten abgenommen hat und ich kann mir das problem nicht erklären ...
 
Dann ist es ein bug.

Stell doch mal auf statische Agenten um, einfach in der queues.conf
mit
SIP/XXX

die Agenten eintragen. Die agents.conf brauchst Du dazu nicht.

Für die queue kanntst Du einen timeout setzen, dann kommen die nicht bedienten Anrufer automatisch aus der queue raus.
 
Deine Auswertung des Queue-Status scheint nicht zu passen, daher solltest Du das q-TIMEOUT evtl. mal anders behandeln.
 
Kostenlos!

Zurzeit aktive Besucher

Statistik des Forums

Themen
247,239
Beiträge
2,264,244
Mitglieder
375,748
Neuestes Mitglied
Gibs45