[Gelöst] Warteschleife mit Umleitung

  • Hallo zusammen


    Ich versuche gerade das Modul "Ansage vor Melden" so anzupassen, dass der Anrufer nach X Sekunden (Einstellbar via GUI) ohne Antwort auf die Nummer Y (ebenfalls einstellbar via GUI) umgeleitet wird.
    Dazu habe ich am Ende der Funktion "Ansage" einen fork auf die von mir erstellte Funktion "checkWaitingTime" erstellt.
    Dort habe ich eine While-Schleife mit der Abbruchbedingung (_waitingTime < GUI_TIMEOUT). _waitingTime wird in der Funktion "Duration()" nach einem Sleep von einer Sekunde in der While-Schleife hochgezählt.
    Nach der While-Schleife leite ich mit "CallPhoneNumber" weiter.


    Ich habe einige Log-Meldungen eingebaut und sehe, dass meine Funktion wie erwartet ausgeführt wird und die Weiterleiungsfunktion aufruft, welche als result "true" zurückgibt.
    Das Problem ist jetzt aber, dass die geforkte Funktion offenbar keine Weiterleitung auslösen kann... Vermutlich weiss dieser Prozess gar nichts mehr über den ursprünglichen Anruf?


    Ich habe gesehen, dass ich via GetCallUUID an eine Unique-ID des Calls komme. Diese könnte ich an meine geforkte Funktion übergeben... Allerdings weiss ich nicht, wie ich diese dort dann verwerten kann.


    Wie kann ich dieses Problem beheben?


    Gruss und schönes Wochenende,
    gartoffel

  • Hi,
    wenn der Anruf einmal aus dem Modul rausgelaufen ist, kommst Du nicht mehr so einfach dran, das hast Du richtig erkannt.
    Du kannst im Modul selbst einen Anruf auslösen - via CallPhonenumber() - dort gibst Du die ursprünglich angerufene Nummer an, und eben einen Timeout.
    Wichtig ist, dass Du am Ende des Moduls ein Hangup() ausführst, da ansonsten der bisher Unterbrochene Anruf weitergehen könnte.

    Yours sincerely / Gruß,
    OH

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!