Anrufeskalation führt zu BUSY und nicht zu einem Anruf

Hallo,

einer unserer Kunden wollte für die Zentrale ein Rufgruppe haben, deren Telefone 10 Sekunden klingeln, danach sollte es einen Abwurf auf eine zweite Rufgruppe geben, die aus den beiden ersten Telefonen plus zwei weiteren Telefonen besteht. In der Praxis zeigte sich dann, dass nach dem Abwurf nur die beiden zusätzlichen Telefone klingelten, für die beiden zuvor aktiven Telefone wurde BUSY ausgegeben.

Im Prinzip wollen wir folgendes erreichen:

exten => 100,1,DIAL(SIP/10&SIP/20,10,tr)
exten => 100,n,DIAL(SIP/10&SIP/20&SIP/30&SIP/40,10,tr)

Dummerweise klingeln nur SIP/30 und SIP/40.

Ich habe dies auf einem Testsystem mit nur einem Telefon nachgestellt. Die erste Rufgruppe hat die Durchwahl 900, die zweite Rufgruppe die 901:

– SIP/Sg1d5RWbL4b1006-00000294 is ringing
– Local/team-115@mdc_localdevice-19-00000469;1 is ringing
– Nobody picked up in 15000 ms
– Executing [ext@sub_main-900:9] Return(“SIP/mdc_trunk_conf-5-00000293”, “”) in new stack
– Executing [900-dial@mdc_team-14:4] Gosub(“SIP/mdc_trunk_conf-5-00000293”, “sub_suffix-900,ext,1”) in new stack
– Executing [ext@sub_suffix-900:1] Verbose(“SIP/mdc_trunk_conf-5-00000293”, “1,dialstatus: queuestatus: TIMEOUT”) in new stack
dialstatus: queuestatus: TIMEOUT
– Executing [ext@sub_suffix-900:2] GotoIf(“SIP/mdc_trunk_conf-5-00000293”, “0?full”) in new stack
– Executing [ext@sub_suffix-900:3] Set(“SIP/mdc_trunk_conf-5-00000293”, “DIALSTATUS=NOANSWER”) in new stack
– Executing [ext@sub_suffix-900:4] Goto(“SIP/mdc_trunk_conf-5-00000293”, “forward”) in new stack
– Goto (sub_suffix-900,ext,9)
– Executing [ext@sub_suffix-900:9] Goto(“SIP/mdc_trunk_conf-5-00000293”, “sub_suffix-action-900,ext,1”) in new stack
– Goto (sub_suffix-action-900,ext,1)
– Executing [ext@sub_suffix-action-900:1] Goto(“SIP/mdc_trunk_conf-5-00000293”, “mdc_team,901,1”) in new stack
– Goto (mdc_team,901,1)
– Executing [901@mdc_team:1] Gosub(“SIP/mdc_trunk_conf-5-00000293”, “sub_team,s,1(15,TestTeam2,TestTeam2,901)”) in new stack
– Executing [s@sub_team:1] Verbose(“SIP/mdc_trunk_conf-5-00000293”, “1,team id: 15 team name: TestTeam2 team realname: TestTeam2 own vm: 901”) in new stack
team id: 15 team name: TestTeam2 team realname: TestTeam2 own vm: 901
– Executing [s@sub_team:2] Set(“SIP/mdc_trunk_conf-5-00000293”, “_MDC_CALLEE_TM_ID=15”) in new stack
– Executing [s@sub_team:3] Set(“SIP/mdc_trunk_conf-5-00000293”, “_MDC_CALLEE_TM_NAME=TestTeam2”) in new stack
– Executing [s@sub_team:4] Set(“SIP/mdc_trunk_conf-5-00000293”, “_MDC_CALLEE_TM_REALNAME=TestTeam2”) in new stack
– Executing [s@sub_team:5] Set(“SIP/mdc_trunk_conf-5-00000293”, “_MDC_CALLEE_VM_OWN=901”) in new stack
– Executing [s@sub_team:6] Return(“SIP/mdc_trunk_conf-5-00000293”, “”) in new stack
– Executing [901@mdc_team:2] Goto(“SIP/mdc_trunk_conf-5-00000293”, “mdc_team-15,901,1”) in new stack
– Goto (mdc_team-15,901,1)
– Executing [901@mdc_team-15:1] GotoIf(“SIP/mdc_trunk_conf-5-00000293”, “0?mdc_loop,s,1”) in new stack
– Executing [901@mdc_team-15:2] Set(“SIP/mdc_trunk_conf-5-00000293”, “MDC_MAIN_HOP=3”) in new stack
– Executing [901@mdc_team-15:3] NoOp(“SIP/mdc_trunk_conf-5-00000293”, “alias-check:: call forwarding from 901 - 0”) in new stack
– Executing [901@mdc_team-15:4] GotoIf(“SIP/mdc_trunk_conf-5-00000293”, “0?901-uml,1:901-dial,1”) in new stack
– Goto (mdc_team-15,901-dial,1)
– Executing [901-dial@mdc_team-15:1] Set(“SIP/mdc_trunk_conf-5-00000293”, “__MDC_EXTEN=901”) in new stack
– Executing [901-dial@mdc_team-15:2] Gosub(“SIP/mdc_trunk_conf-5-00000293”, “sub_prefix-901,ext,1”) in new stack
– Executing [ext@sub_prefix-901:1] Verbose(“SIP/mdc_trunk_conf-5-00000293”, “1,no action”) in new stack
no action
– Executing [ext@sub_prefix-901:2] Return(“SIP/mdc_trunk_conf-5-00000293”, “”) in new stack
– Executing [901-dial@mdc_team-15:3] Gosub(“SIP/mdc_trunk_conf-5-00000293”, “sub_main-901,ext,1”) in new stack
– Executing [ext@sub_main-901:1] Set(“SIP/mdc_trunk_conf-5-00000293”, “CALLERID(name)=TestTeam2”) in new stack
– Executing [ext@sub_main-901:2] Gosub(“SIP/mdc_trunk_conf-5-00000293”, “sub_queue-free,s,1(MDC_QUEUE_FREE,TestTeam2)”) in new stack
– Executing [s@sub_queue-free:1] Verbose(“SIP/mdc_trunk_conf-5-00000293”, “1,sub_queue-free:: variable: MDC_QUEUE_FREE queue: TestTeam2”) in new stack
sub_queue-free:: variable: MDC_QUEUE_FREE queue: TestTeam2
– Executing [s@sub_queue-free:2] Verbose(“SIP/mdc_trunk_conf-5-00000293”, "1,member(logged): 1 - member(free): 0 - member(ready): 0 - member(count): 1 - ") in new stack
member(logged): 1 - member(free): 0 - member(ready): 0 - member(count): 1 -
– Executing [s@sub_queue-free:3] GotoIf(“SIP/mdc_trunk_conf-5-00000293”, “1?notfree”) in new stack
– Goto (sub_queue-free,s,7)
– Executing [s@sub_queue-free:7] Set(“SIP/mdc_trunk_conf-5-00000293”, “MDC_QUEUE_FREE=0”) in new stack
– Executing [s@sub_queue-free:8] Return(“SIP/mdc_trunk_conf-5-00000293”, “”) in new stack
– Executing [ext@sub_main-901:3] GotoIf(“SIP/mdc_trunk_conf-5-00000293”, “0?free”) in new stack
– Executing [ext@sub_main-901:4] Set(“SIP/mdc_trunk_conf-5-00000293”, “DIALSTATUS=BUSY”) in new stack
– Executing [ext@sub_main-901:5] Set(“SIP/mdc_trunk_conf-5-00000293”, “QUEUESTATUS=FULL”) in new stack
– Executing [ext@sub_main-901:6] Return(“SIP/mdc_trunk_conf-5-00000293”, “”) in new stack
– Executing [901-dial@mdc_team-15:4] Gosub(“SIP/mdc_trunk_conf-5-00000293”, “sub_suffix-901,ext,1”) in new stack
– Executing [ext@sub_suffix-901:1] Verbose(“SIP/mdc_trunk_conf-5-00000293”, “1,dialstatus: BUSY queuestatus: FULL”) in new stack
dialstatus: BUSY queuestatus: FULL
– Executing [ext@sub_suffix-901:2] GotoIf(“SIP/mdc_trunk_conf-5-00000293”, “1?full”) in new stack
– Goto (sub_suffix-901,ext,5)
– Executing [ext@sub_suffix-901:5] GotoIf(“SIP/mdc_trunk_conf-5-00000293”, “0?unavail”) in new stack
– Executing [ext@sub_suffix-901:6] Set(“SIP/mdc_trunk_conf-5-00000293”, “DIALSTATUS=BUSY”) in new stack
– Executing [ext@sub_suffix-901:7] Goto(“SIP/mdc_trunk_conf-5-00000293”, “forward”) in new stack
– Goto (sub_suffix-901,ext,9)
– Executing [ext@sub_suffix-901:9] Goto(“SIP/mdc_trunk_conf-5-00000293”, “sub_suffix-action-901,ext,1”) in new stack
– Goto (sub_suffix-action-901,ext,1)
– Executing [ext@sub_suffix-action-901:1] Verbose(“SIP/mdc_trunk_conf-5-00000293”, “1,no action”) in new stack
no action
– Executing [ext@sub_suffix-action-901:2] Return(“SIP/mdc_trunk_conf-5-00000293”, “”) in new stack
– Executing [901-dial@mdc_team-15:5] ExecIf(“SIP/mdc_trunk_conf-5-00000293”, “0?HangUp(21)”) in new stack
– Executing [901-dial@mdc_team-15:6] ExecIf(“SIP/mdc_trunk_conf-5-00000293”, “0?HangUp(19)”) in new stack
– Executing [901-dial@mdc_team-15:7] ExecIf(“SIP/mdc_trunk_conf-5-00000293”, “1?HangUp(17):HangUp(20)”) in new stack
== Spawn extension (mdc_team-15, 901-dial, 7) exited non-zero on ‘SIP/mdc_trunk_conf-5-00000293’
== Spawn extension (mdc_multidial-42, 42, 8) exited non-zero on ‘Local/42@mdc_multidial-42-00000465;2’
== Spawn extension (mdc_diallocation, static, 1) exited non-zero on ‘Local/42@mdc_diallocation-00000466;2’
== Spawn extension (mdc_locallocation-19, team, 3) exited non-zero on ‘Local/team@mdc_locallocation-19-00000467;2’
== Spawn extension (mdc_localdevice-19, team-115, 7) exited non-zero on ‘Local/team-115@mdc_localdevice-19-00000469;2’

Das ganze funktioniert auch dann nicht, wenn man im ersten Schritt nur ein einzelnes Telefon anruft, das aber Mitglied der Rufgruppe ist, an die der Anruf weitergeleitet wird.

Wie können wir den Wunsch des Kunden umsetzen, so ungewöhnlich ist die Anforderung ja nicht?
Und warum ist das Telefon besetzt, während die Lösung mit den beiden Dial-Kommandos funktioniert?

Danke für jeden Tipp & Hinweis,

Stefan

Hallo Stefan,

das Problem ist hier, das beim Betreten der 2. Queue der Hint Status der ersten Benutzer noch nicht auf idle bzw frei gesetzt wird. Ich bin mir nicht sicher ob es mittlerweile eine schöntere Lösung gibt (wenn die Leute nur diese eine Queue nutzen, kann man mit den agent warten/läuten Einstellungen arbeiten), aber ein Inline-Skript vorher in der 2. Queue mit Wait(1) (eine Sekunde warten) hilft. Natürlich warten hier die Anrufer eine Sekunde länger ohne das es irgendwo klingelt.

Grüße,
Steve