winhttp Request - Warten auf Antwort dauert sehr lange (20 Sekunden)

  • Ich habe mir für meine älteren Cisco SIP-Telefone ein eigenes Wählprogramm gebaut. Die Wahl wird ausgelöst indem man dem Telefon einen http-POST Request sendet.

    Hier der Quellcode meiner Funktion:


    Das hat bisher immer gut funktioniert, der Wahlvorgang wird sofort ausgelöst. Aber früher habe ich sofort wenn er anfängt zu wählen den Status 200 zurück bekommen.

    Nun dauert es bestimmt 20 Sekunden bis die Antwort kommt und das Programm ist solange eingefroren.

    Wenn ich die Wahl z.B. per Curl auslöse beträgt die Verzögerung nur 1 bis 2 Sekunden, so war das im AutoIt-Skript früher auch:

    Code
     curl --user name1:pw1 --data "XML=<CiscoIPPhoneExecute><ExecuteItem URL=\"Dial:0123456789\"/></CiscoIPPhoneExecute>" http://192.168.1.232/CGI/Execute
    
    <?xml version="1.0" encoding="utf-8"?>
    <CiscoIPPhoneResponse>
    <ResponseItem URL="Dial:0123456789" Data="Success" Status="0" />
    </CiscoIPPhoneResponse>

    Ich könnte mir vorstellen das es irgendwelchen Windows-Updates zu tun hat bzw. das sich in Windows was geändert hat.

    Gäbe es die Möglichkeit die URL aufzurufen ohne auf die Antwort zu warten? Oder eine andere Idee wie ich es wieder "schnell" bekomme?

  • So, ich habe heute mal einen neuen Anlauf genommen und konnte mein Problem selbst lösen.

    Ich wollte gerade die Anwahl auf cURL umbauen - dabei fiel mir auf das in meinem Beispiel für cURL ich nur

    Code
    XML=<CiscoIPPhoneExecute><ExecuteItem URL=\"Dial:0123456789\"/></CiscoIPPhoneExecute>

    aufrufe während ich in meinem Skript

    AutoIt
    Local $sPD = 'XML=<CiscoIPPhoneExecute><ExecuteItem Priority="1" URL="Play:Beep"/><ExecuteItem Priority="' & $s_CiscoPrio & '" URL="Dial:' & $s_CiscoPrefix & GUICtrlRead($ComboNumber) & '"/></CiscoIPPhoneExecute>'

    also zusätzlich noch en Beep und die Priorität. Und letzteres sogar 2 mal/doppelt (was aber richtig ist weil es 2 verschiedene Befehle sind).

    Kaum habe ich das weggelassen geht es wieder "schnell"