Служба OpenFire/XMPP 503 -недоступна ошибка (XEP -0065 с использованием iOS XMPPFramework)

Проблема:Я пытаюсь подключиться TURN (XEP -0065 ), используя XMPPFramework iOS и сервер OpenFire. Я хочу иметь возможность отправлять и получать файлы. Однако я получаю сообщение о недоступности службы 503 -.

Примечание:Основа моего кода взята из следующего руководства:http://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-server-setup/

Ошибка XML:

Я провел отладку с помощью TURNSocket.m. Он входит в processRequestResponse и имеет следующий XML. (Если я не ошибаюсь, мне это прислали из OpenFire, а не наоборот? )...


    
        
    
    
        
    

Почему возникает ошибка?

Обновление:XEP -0065 говорит следующее. Несмотря на то, что эта ошибка немного отличается от моей, актуальна ли она? Если да, то в чем проблема?

Если прокси-сервер не может действовать как StreamHost, он ДОЛЖЕН вернуть ошибка запрашивающему, которая ДОЛЖНА быть .


  
    
  

Обновление:В данный момент я выясняю, является ли проблемой включение или исключение ресурса JID в различных отправленных и полученных битах XML. Или, наоборот, у меня даже нет «от» в следующем xml.документы подразумевают, что мне это нужно. Это проблема? Я не вижу текущего способа в коде сделать "от"...


    

Обновление от 19/04/12 11 :00:00:В ответ на ответ Мэтта Дж. я публикую больше XML. Я не уверен, что Мэтт запросил полный XML-журнал того, что было отправлено и получено, но на всякий случай вот он. Обратите внимание, что эти журналы не все из одного и того же прогона с -по (, потому что, когда я отлаживаю его для получения журналов XML, это вызывает тайм-ауты, поэтому мне приходится начинать снова)

Отправлено:


    

Ответ:


    
        
        
        
        
        
    

Отправлено:


    

Response:


    
        
            
            
    

Sent:


    

Response:


    

плюс мы также получаем streamhost из кода из запроса, подобного этому:NSXMLElement *streamhost = [query elementForName:@"streamhost"];


Sent:


    
        
    

Это не дает ответа, но мне кажется, что все в порядке, когда я сравниваю к примеру 17 документа XEP -0065 . ОДНАКО, если не включить ресурс в jID, переданный в TurnSocket.m (friendsUsername@beta.myCompany.co.uk, а не friendsUsername@beta.myCompany.co.uk/spark ), то этот запрос на отправку изменяется соответствующим образом


     
        
      

, и XML в моем исходном вопросе выше возвращается! (с кодом ошибки 503 ). Кроме того, я заметил, что этот xml содержит «streamhost», но на данном этапе должен ли он на самом деле содержать «streamhost -used»? Почему возникает ошибка? Должен ли я включать ресурс в «кому»?

Незначительное обновление от 19/04/2012 15 :07:Я добавил xmpp.proxy.transfer.required как false в OpenFire. Это связано с этими обсуждениями:здесь и здесь . Я не устанавливал этот сервер (мой коллега ), и я не понимаю, что это значит, но, похоже, это не повлияло на мою проблему.

Обновление от 20/04/2012 10 :00:Моя ошибка 503, я думаю, правильно, когда я не включаю ресурс (согласно этому). Даже если это так, я не уверен, почему я не получаю ответа с полным jID.

5
задан 29 revs, 2 users 100% 24 April 2012 в 11:13
поделиться