[Problem] Aastra 6731i per Http Post Programmieren funktioniert nicht

dramu

Neuer User
Mitglied seit
20 Jul 2014
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,
ich versuche von meinem Notebook ein Aastra 6731i per http Post zu programieren und habe mich an die XML Api Dokumentation gehalten. Trotzdem bekommen ich als Reaktion vom Telefon das Menü und die Meldung "Daten können nicht in das Telefon geladen werden."

Kann mir jemand bitte einen Rat geben?
 

chrsto

Mitglied
Mitglied seit
8 Sep 2010
Beiträge
777
Punkte für Reaktionen
76
Punkte
28
Ja, halte dich an die Dokumentation oder liefere uns deinen Code/dein Setup nach. Hier hat keiner eine Glaskugel ;)
 

dramu

Neuer User
Mitglied seit
20 Jul 2014
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Hallo,
ich denke das Problem könnte daran liegen, dass ich mir gestern noch keine Gedanken über die Authentifizierung am Telefon gemacht habe, leider klappe es noch immer nicht. Hier meine zwei Ansätze:


Code:
Uri AastraPhoneIP = new Uri ("http://123.122.20.120");

1. Methode mit Anmeldeversuch
  private async void sendToPhone (String Message)
        {
            var userName = "Admin";
            var passwd = "22222";

            HttpClient httpClient = new HttpClient();     
       
            var authToken = Encoding.ASCII.GetBytes($"{userName}:{passwd}");
            httpClient.DefaultRequestHeaders.Authorization = new    AuthenticationHeaderValue("Basic",Convert.ToBase64String(authToken));

            String someXmlString = "xml=" + AAstraTelefonReply(new string[] { "Test" }).Trim();
            var stringContent = new StringContent(someXmlString, Encoding.UTF8, "text/xml");
            var respone = await httpClient.PostAsync(AastraPhoneIP, stringContent);      
            var responseString = await respone.Content.ReadAsStringAsync();

            if (!respone.IsSuccessStatusCode)
            {
                throw new Exception(string.Format("Invalid uri: {0}", AastraPhoneIP));
            }
        }

2. Methode ohne Anmeldeversuch
        void sendToPhone2()
        {
            var request = (HttpWebRequest)WebRequest.Create(AastraPhoneIP);

           // var postData = "xml=" + Uri.EscapeDataString(AAstraTelefonReply(new string[] { "Test" }).Trim());
            var postData = "xml=" + AAstraTelefonReply(new string[] { "Test" }).Trim();
            var data = Encoding.ASCII.GetBytes(postData);

            request.Method = "POST";
            //request.ContentType = "application/x-www-form-urlencoded";
            request.ContentType = "text/xml";
            request.ContentLength = data.Length;
            request.KeepAlive = true;
            request.Host = "10.200.10.122";
            request.Referer = "10.200.10.51";       

            using (var stream = request.GetRequestStream())
            {
                stream.Write(data, 0, data.Length);
            }

            var response = (HttpWebResponse)request.GetResponse();
            var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
        }

        public string AAstraTelefonReply(String[] Message)
        {
            String Return = "";

            // Return += "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>";
            Return += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
            Return += "<AastraIPPhoneFormattedTextScreen dstroyOnExit = \"yes\">";
            Return += "<Scroll Height=\"2\">";
            for (int i = 0; i < Message.Length; i++)
                if (Message[I] != null) Return += "<Line>" + Message[I] + "</Line>";

            //if (Message[2] != null) Return += "<Line Size=\"double\">" + Message[2] + "</Line>";
            //if (Message[3] != null) Return += "<Line Align=\"center\">" + Message[3] + "</Line>";
            Return += "</Scroll>";
            Return += "</AastraIPPhoneFormattedTextScreen>";


            return Return;
        }[/I][/I]

[CODE] TAG [/CODE] gesetzt und Doppelpost gemäß Boardregeln zusammengeführt by stoney

Hallo zusammen,
das Problem war der fehlende Eintrag unter XML Push Server List. Nur IPs die dort eingetragen sind, dürfen das Telefon fernsteuern...

Für Aastra-Telefone muss die IP-Adresse Ihres Rechners in der "XML Push Server List" eingetragen sein, damit die Wahl per CTI vom Telefon ausgeführt wird.
 
Zuletzt bearbeitet von einem Moderator:

Erhalten Sie 3CX für 1 Jahr kostenlos!

Gehostet, in Ihrer privaten Cloud oder on-Premise! Ganz ohne Haken. Geben Sie Ihren Namen und Ihre E-Mail an und los geht´s:

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.
oder via