Я написал программу с Qt для работы с IP-телефонами cisco. Я использую QNetworkAccessManager для отправки объектов XML на телефоны и сокета QTcpServer с QTextStream для ответа на запросы аутентификации (просто пишу заголовки http с «AUTHORIZED» в текстовый поток).
QString cTime = currTime.currentDateTimeUtc().toString("ddd, dd MMM yyyy hh:mm:ss");
QTextStream os(socket); os << "HTTP/1.1 200 OK\r\n""Content-Type: text/plain\r\n""Date: " + cTime + " GMT\r\n""Connection: close\r\n""\r\n""AUTHORIZED";
Проблема в том, что телефоны не принимают этот ответ и возвращают <CiscoIPPhoneError Number="4" />
,
Я использовал для этого файл node.js и просто написал «AUTHORIZED» в объект http.serverResponse, но теперь я запутался, почему он не работает с Qt
Решил это.
Проблема заключалась в том, что поле «URL-адрес безопасной аутентификации» было установлено вместе с «URL-адресом аутентификации». И то, что я считал GET с телефона, было «Client hello» …
Очистил «URL-адрес безопасной аутентификации» в CUCM, и теперь он работает