Redirect.choice

Hallo,

ich habe die Rolle redirect.choice konfiguriert und einigen Benutzer und einem Team zugewiesen, Funktioniert,

jetzt habe ich aber die Anforderung bekomme das ich diese Funktionalität doch mit einer Taste belegen sollte,
damit jeder Mitarbeiter die Möglichkeit hat die Interne Rufumleitung de/aktivieren kann.

Ich habe ja jetzt schon gelernt das man per AktionULs als auch per Direktwahl einiges realisieren kann, jetzt müsste man noch
rollen de/aktivieren können.

Danke für einen kleinen Tipp

Olaf

Guten Morgen Olaf,

kannst du dein zugrunde liegendes Szenario einmal beschreiben.
Danke

Gruß
Markus

Hallo Markus,

wenn die Rufumleitung in der Anlage aktiviert ist werden alle Calls (intern/extern) weitergeleitet,

um die internen Calls aber nicht umzuleiten habe ich bei einigen Benutzer bzw. Teams die Rolle redirect.choice zugewiesen. So wie ich das gelesen habe müssen immer beide
Teilnehmer die rolle bekommen damit dieses Funktioniert. Das Team Support hat die Nummer wo alle Gespräche ankommen, dann kann es auch mal passieren
das wir diese Gespräch weiterleiten müssen, das geht dann nicht weil im Normalfall bei der Rufumleitung alles Gespräche umgeleitet werden (Team Support).
Wenn jetzt der Benutzer entscheiden möchte extern werde ich Umleiten, aber Intern lasse ich alle die diese Rolle haben zu, dann drücke ich die Taste XY

(Tastenfunktion = die Rolle redirect.choice des Benutzer/Gerät/usw. herausnehmen bzw. deaktivieren und wieder zurück)

Es sei den es gibt eine Funktion in der man die Umleitung nur für extern (in der Anlage) erstellen kann.

Gruß

Olaf

Re Olaf,

ich kenne jetzt nicht den ganzen Zusammenhang, aber wäre es evtl. eine alternative mit dynamischen Agenten zu arbeiten.
Die Benutzer haben hier die Möglichkeit sich per Taste oder Client in eine Warteschlange einzubuchen/zu pausieren/auszubuchen, d.h. auf diese Weise kann der Benutzer selbst steuern, ob er einen Anruf aus der Warteschlange erhalten möchte oder nicht. Ein anlagenbasierte Rufumleitung aktiv/inaktiv wird hier von nicht betroffen.

Das Team Support hat die Nummer wo alle Gespräche ankommen, dann kann es auch mal passieren
das wir diese Gespräch weiterleiten müssen, das geht dann nicht weil im Normalfall bei der Rufumleitung alles Gespräche umgeleitet werden (Team Support).

Meinst du hier, dass ein Agent einen angenommen Anruf an eine andere Person weiterleiten möchte und die andere Person gerade eine Rufumleitung aktiv hat?

Gruß
Markus

Hallo Markus,

mit der Warteschlange macht es in diesem Fall kein Sinn. Es bezieht sich nur auf die Weiterleitung der einzelnen Mitarbeiter (Anforderung GF).

Das Team Support hat die Nummer wo alle Gespräche ankommen, dann kann es auch mal passieren
das wir diese Gespräch weiterleiten müssen, das geht dann nicht weil im Normalfall bei der Rufumleitung alles Gespräche umgeleitet werden (Team Support).

Meinst du hier, dass ein Agent einen angenommen Anruf an eine andere Person weiterleiten möchte und die andere Person gerade eine Rufumleitung aktiv hat?

ja genau, diese Funktion stammt aus unsere alten Telefonanlage, (nur externe Gespräche weiterleiten, Intern abschalten oder einschalten).

Olaf

Guten Morgen Olaf,

du könntest dafür auch ein Skript schreiben. So dass du ein Skript hast, welches die Rufumleitungen ähnlich unserem Standard-Skript setzt und ändert, nur dass du eine andere DB-Family verwendest. Siehe hierzu als Einstiegspunkt das Skript “def_alias”. Bei den Benutzern könntest du dann ein kleines Skript per Aktions-Verhalten vorschalten, welches bei externen Anrufen auf eine Umleitung prüft und entsprechend weiterleitet. Die Variable MDC_DIALDESCENT sagt aus, ob der Anruf von intern oder extern kommt.

Gruß
Markus

Hallo,

ich habe hier seit einige Zeit hier eine Lösung erstellt:

  1. Ich habe eine Aktionsbedingung erstellt z.B. Durchwahl 333 Bezeichnung “Nur ext. Rufum. per Taste 333 an NXXXX”
  2. Diese den Benutzern zugewiesen unter Extern/Vorher
    Type Abwurf
    Bedingung “Nur ext. Rufum. per Taste 333 an NXXXX”
    Einstieg main,133,1
  3. Zusätzlich muss eine Rolle definiert werden

  4. Jetzt muss ich nur noch die Durchwahl mit einer Taster am Telefon belegen.

Funktioniert !!

Soweit so Gut

Jetzt möchte ich aber eine Ausnahme für ein bestimmte Nummer erstellen,

da habe ich folgendes Lösung

unter Erweitert > Skripte habe ich ein Skript erstellt:

Bezeichnung sub_pre-main
Kontext sub_pre-main
Einbinde NEIN

exten => s,1,NoOp(sub_pre-main)
exten => s,n,Gosubif($ “${CALLERID(num)}” = “01726804289”]?chef-int,1)
exten => s,n,return()

exten => chef-int,1,NoOp(chef-intern)
exten => chef-int,n,Set(MDC_DIALDECENT = “int”)
exten => chef-int,n,return()

Dann habe ich es dem Benutzer zugeordnet der Umleitung wie Oben beschrieben hinzugefügt.


leider funktioniert es nicht.

Hat vielleicht noch einer eine ID ??

Besten Dank

Olaf

Ich habe den Fehler gefunden das Script funktioniert.

exten => s,1,NoOp(sub_pre-main)
exten => s,n,Gosubif($ “${CALLERID(num)}” = “001726804389” ]?chef-int,1)
exten => s,n,return()

exten => chef-int,1,NoOp(chef-intern)
exten => chef-int,n,Set(__MDC_DIALDESCENT=int)
exten => chef-int,n,return()

da die ein Globales Script ist habe ich es versucht nicht als Globales Script mit der Bezeichnung zu erstellen:

z.B. Bezeichnung sub_ffm1

und habe dies dann auch einem Benutzer zugewiesen, dann funktioniert es leider nicht.

Kann man keine Scripte erstellen die Benutzer zu gewiesen werden ??

Danke

Hi,

freut mich, wenn es nun für dich klappt.
Du kannst natürlich Skripte speziell für den Benutzer erstellen, d.h. du bindest das Skript beim Benutzer als Aktion vorher/nachher ein.
Es kommt halt darauf an, zu welchem Zeitpunkt im Rufablauf das Skript zur Ausführung kommen soll/muss.

Wenn du vom Rufablauf schon beim Benutzer angelangt bist, dann machst du das über eine Aktion beim Benutzer.
Wenn du die Anrufverteilung beeinflussen möchtest (also wenn noch nicht klar ist, zu welchen Benutzer der Anruf gehen soll), dann machst du das über einen Anrufverteiler.
Für Spezialfälle kannst du dann noch ein Skript als sub_pre-main einbinden, was noch vor einen Anrufverteiler zur Ausführung kommt.

Gruß
Markus

Hallo Markus,

ich finden den Fehler nicht dabei müsste es funktionieren:






dies ist die Konfiguration des Script.

jetzt der user:


jetzt noch der log Auszug:



    -- Executing [ext@sub_initcall:1] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCALLERNUMINIT=01726804389") in new stack
    -- Executing [ext@sub_initcall:2] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCALLEENUMINIT=2811808134") in new stack
    -- Executing [ext@sub_initcall:3] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCALLEENUMMAP=134") in new stack
    -- Executing [ext@sub_initcall:4] Return("SIP/MAC00a0ba090d96ID7-00000e3c", "") in new stack
    -- Executing [134@mdc_external:3] Goto("SIP/MAC00a0ba090d96ID7-00000e3c", "main,134,1") in new stack
    -- Goto (main,134,1)
    -- Executing [134@main:1] Gosub("SIP/MAC00a0ba090d96ID7-00000e3c", "sub_defcall,s,1(134)") in new stack
    -- Executing [s@sub_defcall:1] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_ALIAS_HOP=1") in new stack
    -- Executing [s@sub_defcall:2] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCALLEENUM=134") in new stack
    -- Executing [s@sub_defcall:3] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCALLERNUM=001726804389") in new stack
    -- Executing [s@sub_defcall:4] GotoIf("SIP/MAC00a0ba090d96ID7-00000e3c", "1?nozap") in new stack
    -- Goto (sub_defcall,s,8)
    -- Executing [s@sub_defcall:8] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCALLERNAME=") in new stack
    -- Executing [s@sub_defcall:9] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCHANNELNAME=MAC00a0ba090d96ID7") in new stack
    -- Executing [s@sub_defcall:10] Return("SIP/MAC00a0ba090d96ID7-00000e3c", "") in new stack
    -- Executing [134@main:2] Goto("SIP/MAC00a0ba090d96ID7-00000e3c", "mdc_distribute,134,1") in new stack
    -- Goto (mdc_distribute,134,1)
    -- Executing [134@mdc_distribute:1] Gosub("SIP/MAC00a0ba090d96ID7-00000e3c", "sub_user,s,1(callee,38,student-1,Student-1 Niklas Mallee,134,134)") in new stack
    -- Executing [s@sub_user:1] Verbose("SIP/MAC00a0ba090d96ID7-00000e3c", "1,sub_user mode callee") in new stack
 sub_user mode callee
    -- Executing [s@sub_user:2] Goto("SIP/MAC00a0ba090d96ID7-00000e3c", "s-callee,1") in new stack
    -- Goto (sub_user,s-callee,1)
    -- Executing [s-callee@sub_user:1] Verbose("SIP/MAC00a0ba090d96ID7-00000e3c", "1,sub_user user id: 38 - user: student-1 - realname: Student-1 Niklas Mallee - own mailbox: 134 - watched mailbox: 134") in new stack
 sub_user user id: 38 - user: student-1 - realname: Student-1 Niklas Mallee - own mailbox: 134 - watched mailbox: 134
    -- Executing [s-callee@sub_user:2] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "_MDC_CALLEE_USER_ID=38") in new stack
    -- Executing [s-callee@sub_user:3] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "_MDC_CALLEE_ACC_NAME=student-1") in new stack
    -- Executing [s-callee@sub_user:4] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "_MDC_CALLEE_ACC_REALNAME=Student-1 Niklas Mallee") in new stack
    -- Executing [s-callee@sub_user:5] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "_MDC_CALLEE_VM_OWN=134") in new stack
    -- Executing [s-callee@sub_user:6] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "_MDC_CALLEE_VM_WATCHED=134") in new stack
    -- Executing [s-callee@sub_user:7] Return("SIP/MAC00a0ba090d96ID7-00000e3c", "") in new stack
    -- Executing [134@mdc_distribute:2] Goto("SIP/MAC00a0ba090d96ID7-00000e3c", "mdc_ident-38,134,1") in new stack
    -- Goto (mdc_ident-38,134,1)
    -- Executing [134@mdc_ident-38:1] NoOp("SIP/MAC00a0ba090d96ID7-00000e3c", "alias-check:: call forwarding from 134 - 0") in new stack
    -- Executing [134@mdc_ident-38:2] GotoIf("SIP/MAC00a0ba090d96ID7-00000e3c", "0?134-uml,1:134-dial,1") in new stack
    -- Goto (mdc_ident-38,134-dial,1)
    -- Executing [134-dial@mdc_ident-38:1] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_EXTEN=134") in new stack
    -- Executing [134-dial@mdc_ident-38:2] Gosub("SIP/MAC00a0ba090d96ID7-00000e3c", "sub_prefix-134,ext,1") in new stack
    -- Executing [ext@sub_prefix-134:1] GotoIf("SIP/MAC00a0ba090d96ID7-00000e3c", "0?next_107") in new stack
    -- Executing [ext@sub_prefix-134:2] Gosub("SIP/MAC00a0ba090d96ID7-00000e3c", "ma_ffm1,s,1") in new stack
    -- Executing [s@ma_ffm1:1] NoOp("SIP/MAC00a0ba090d96ID7-00000e3c", "ma_ffm1") in new stack
    -- Executing [s@ma_ffm1:2] GosubIf("SIP/MAC00a0ba090d96ID7-00000e3c", "1?chef-int1,1") in new stack
    -- Executing [chef-int1@ma_ffm1:1] NoOp("SIP/MAC00a0ba090d96ID7-00000e3c", "chef-ffm1") in new stack
    -- Executing [chef-int1@ma_ffm1:2] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALDESCENT=int") in new stack
    -- Executing [chef-int1@ma_ffm1:3] Return("SIP/MAC00a0ba090d96ID7-00000e3c", "") in new stack
    -- Executing [s@ma_ffm1:3] GosubIf("SIP/MAC00a0ba090d96ID7-00000e3c", "0?chef-int1,1") in new stack
    -- Executing [s@ma_ffm1:4] Return("SIP/MAC00a0ba090d96ID7-00000e3c", "") in new stack
    -- Executing [ext@sub_prefix-134:3] GotoIf("SIP/MAC00a0ba090d96ID7-00000e3c", "0?next_102") in new stack
    -- Executing [ext@sub_prefix-134:4] Goto("SIP/MAC00a0ba090d96ID7-00000e3c", "main,124,1") in new stack
    -- Goto (main,124,1)
    -- Executing [124@main:1] Gosub("SIP/MAC00a0ba090d96ID7-00000e3c", "sub_defcall,s,1(124)") in new stack
    -- Executing [s@sub_defcall:1] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_ALIAS_HOP=2") in new stack
    -- Executing [s@sub_defcall:2] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCALLEENUM=124") in new stack
    -- Executing [s@sub_defcall:3] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCALLERNUM=001726804389") in new stack
    -- Executing [s@sub_defcall:4] GotoIf("SIP/MAC00a0ba090d96ID7-00000e3c", "1?nozap") in new stack
    -- Goto (sub_defcall,s,8)
    -- Executing [s@sub_defcall:8] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCALLERNAME=") in new stack
    -- Executing [s@sub_defcall:9] Set("SIP/MAC00a0ba090d96ID7-00000e3c", "__MDC_DIALCHANNELNAME=MAC00a0ba090d96ID7") in new stack
    -- Executing [s@sub_defcall:10] Return("SIP/MAC00a0ba090d96ID7-00000e3c", "") in new stack
    -- Executing [124@main:2] Goto("SIP/MAC00a0ba090d96ID7-00000e3c", "mdc_distribute,124,1") in new stack
    -- Goto (mdc_distribute,124,1)


Besten Dank für eine kleine TIP

Re,

damit ich dich recht verstehe,
du möchtest dass die Durchwahl deines Chefs nicht von extern direkt erreichbar ist. Alle externen Anrufe sollen auf die Nebenstelle 124 weitergeleitet werden außer die Handynummer 01726804289. Diese soll auch von extern zum Chef weitergeleitet werden?

Gruß
Markus

Hallo Markus,

ja genau,

wobei die Handynummer eventuell auch eine Nummer von unserer Anlage in Frankfurt ist.
(die beiden Analgen sind per VPN und gekoppelt und deshalb autonom (ebenfalls extern) (Chef in Frankfurt > Chef in Münster)).

Das Prinzip ist das Gleiche.

Gruß
Olaf

Hall Olaf,

also weiß nicht aber ist das nicht einfacher das in den eingehenden Regeln zu erledigen. So mache ich das immer.

Gruß Markus

Hallo MarkusSachs,

ich wüste jetzt nicht wie ich das über eine eingehende Regel realisieren könnte (ohne Script),

hast du eventuell ein Beispiel oder Tipp oder ID?

Gruß Olaf

Hi,

der Ansatz mit den eingehenden Regeln ist eine gute Idee und hält es einfach.
Du solltest dann eine eingehende Regel erstellen, in der du alle Anrufe erstmal, welche auf die Durchwahl des Chefs gehen auf die 124 weiterleiten, d.h. bei Ziel trägst die externe Rufnummer deines Chefs ein und bei Durchwahl die 124.
Dann erstellst du eine zweite Regel mit der wir der Handynummer erlauben den Chef direkt anzurufen. Hier bei Quelle die Handynummer, bei Ziel wieder die externe Rufnummer deines Chefs und bei Durchwahl nun die Durchwahl des Chefs.

Gruß
Markus