Unterstützung für ein selbstgebautes Modul benötigt

  • Guten Tag zusammen,

    wir haben ein kleines Modul entwickelt, das teilweise funktioniert, wie wir es uns wünschen und benötigen. Daher benötigen wir eure Unterstützung und Tipps, um herauszufinden, worin das Problem besteht.

    Zum Modul:

    Wenn die bei uns als Gruppe eingetragene Rufnummer angerufen wird, prüft das Modul den Call und vergleicht diesen mit einem Eintrag im Adressbuch. Ist im Adressbuch des angelegten externen Users die interne Nummer des Starface-Users hinterlegt, erhält der User den Anruf direkt, obwohl es sich um einen Gruppenanruf handelt. Diesen Prozess konnten wir bereits erfolgreich implementieren.

    Jedoch tritt ein Problem auf, wenn der jeweilige Nutzer, der den Anruf entgegennimmt, diesen weiterleiten möchte: Der Anruf wird bei beiden Parteien automatisch beendet. Dies sollte nicht der Fall sein, da der Mitarbeiter in der Lage sein sollte, eine Weiterleitung durchzuführen.

    Unsere Vermutung war, dass der Anruf bei der Weiterleitung sich erneut einwählen möchte, da er im Adressbuch verzeichnet ist. Allerdings wird im Modul-Log nur einmal verzeichnet, wenn der User den Anruf erhalten hat und nicht erneut bei der Weiterleitung.

    Im Starface-Log wurde jedoch angegeben, dass der Call trotzdem weiterhin durch das Modul beeinflusst wird.

    Wir wären für jede Hilfe und Unterstützung dankbar. Vielen Dank im Voraus :)

  • Hallo Alisan

    Wird der Anruf ins Halten gelegt, bevor er Transferiert wird, oder ist es ein Blind-Transfer?

    Wird das ganze an einem Tischtelefon oder mit dem Softphone ausgeführt?

    Es gibt im Modul Editor unter Call (Expert Mode oben aktiviert) einen Baustein "AllowRecallingThisModule", eventuell musst du diesen Baustein an 1. Stelle in deinem Modul ziehen.

    Je nach STARFACE Version könnte es sich um diesen Bug handeln: [7.3.1.3] CallSuccess = false wenn Anruf gehalten wird, Modul enthält kontrolle über Anruf zurück

    Falls das der Fall ist, musst du ggf. mit meinem Workaround aus dem anderen Thema arbeiten.

    MfG

    Fabian

  • Könntest du das Modul hier mal reinladen (ohne Kennwortschutz)? Ich denke dann ließe sich das fix testen und ggf. beheben.

    Bitte schreib uns noch dabei, welche Version eure Anlage hat.

    Viele Grüße,

    Andreas Stein
    IT Fabrik Systemhaus GmbH & Co. KG

    STARFACE Excellence PLUS Partner

  • Zunächst einmal vielen Dank für die Antworten. :)

    Leider hat der vorgeschlagene Ansatz nicht funktioniert. Mit „AllowRecallingThisModule“ funktioniert es nicht immer, oder der Benutzer ruft die Person selbst an, anstatt einen Anruf weiterzuleiten. Zudem wird der Anruf als Blind Transfer durchgeführt, ohne den Anruf zu halten.

    In Bezug auf die Starface-Versionen: Die TK-Anlage ist Version 8.0.0.12 und der UCC Client wurde sowohl in der neuen als auch in den alten Client getestet, beide auf dem neuesten Stand.

    Das Vorgehen ist wie folgt: Eine Gruppe wird von extern angerufen. Ein Softphone Client an einem PC erhält den Anruf. Da die externe Nummer, für diesen Benutzer eingetragen wurde, den Anruf an einen anderen Benutzer, der ein Tischtelefon hat, weiterzuleiten. Dies funktioniert jedoch nicht.

    In den Tests konnte ich feststellen, dass, wenn ich den Anruf zuerst an den Benutzer mit dem Tischtelefon über das Modul leite und diesen dann an den Softphone Client weiterleite, dies funktioniert.

    Ich kann euch gerne das Modul zuschicken, vielleicht fehlen dort noch einige Einträge.

  • Quasi wie eine im Standard verfügbare "Zeitgesteuerte Umleitung" nur mit Filter auf "Angerufene Nummer" der externen Nummer der Gruppe, "Nummer des Anrufers" ist die Nummer des Kunden und "Ziel" dann der interne User? Dummerweise kann man dem Standard-Modul nicht so schön "unter die Haube" gucken und ich hab auch sowas ähnliches gebastelt, aber "AllowRecallingThisModule" brauchte ich dabei nicht. Ich hab aus dem Modul der Zeitgesteuerten Umleitung nur rausgelesen, dass vor der Verarbeitung/Weiterleitung des Calls ein "GetCurrentChannel()" aufgerufen wird und dessen Rückgabe beim "CallPhoneNumber()"-Aufruf für den "Cancel Channel" und den "Caller Channel" benutzt wird und danach ein "Hangup()" gemacht wird. Ich kann nur sagen, ja, das funktioniert problemlos.

    Nochmal Grob der Ablauf:

    Code
    GetCaller() (für die Daten des Anrufers)
    GetCalledNumber() (für die Angerufene Nummer)
    <Prüfung ob Nummer einen Adressbucheintrag zurückliefert>
    Answer('1') (macht Zeitgesteuerte Umleitung so)
    GetCurrentChannel() (macht Zeitgesteuerte Umleitung so)
    CallPhoneNumber() (mit interner Nummer als "Phone number" etc. und "Cancel Channel" und den "Caller Channel" auf den _currentChannel - macht Zeitgesteuerte Umleitung so)
    Hangup() (macht Zeitgesteuerte Umleitung so)
  • skleye

    Wir haben deine Methode ausprobiert und sie funktioniert ohne Probleme. Die Gespräche können nun auch im Softphone weitergeleitet werden. :thumbup:

    Dafür möchte ich mich bei dir bedanken. Dies gilt natürlich auch für die anderen.

    Ich wünsche euch noch einen schönen Tag.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!