2013-09-11 3 views
0

Я разрабатываю приложение для видеочата с помощью quickblox. И у меня есть проблемы с выполнением видеозвонка. Есть журналы двух экземпляров приложения началось в одно время:QuickBlox Чат: невозможно выполнить видеовызов

Sep 11 16:43:40 iPod-touch DimChat[3823] <Warning>: QBChat/didConnect 
Sep 11 16:43:40 iPod-touch DimChat[3823] <Warning>: -[QBChat xmppStreamDidAuthenticate:] -> user: 290427, supportsStartTLS: 1, isSecure: 0 
Sep 11 16:43:40 iPod-touch DimChat[3823] <Warning>: -[QBChat xmppStream:didSendPresence:] -> Presence: <presence/> 
Sep 11 16:43:40 iPod-touch DimChat[3823] <Warning>: -[QBChat xmppStream:didSendIQ:] -> IQ: <iq type="get" id="561006823"><query xmlns="jabber:iq:roster"/></iq> 
Sep 11 16:43:41 iPod-touch DimChat[3823] <Warning>: -[QBChat xmppStream:didReceiveIQ:] -> <iq xmlns="jabber:client" id="561006823" type="result" to="[email protected]/tigase-3171"><query xmlns="jabber:iq:roster"/></iq> 
Sep 11 16:44:00 iPod-touch DimChat[3823] <Warning>: -[QBChat xmppStream:didSendPresence:] -> Presence: <presence/> 
Sep 11 16:44:18 iPod-touch wifid[14] <Error>: WiFi:[400596258.779212]: Disable WoW requested by "UserEventAgent" 
Sep 11 16:44:18 iPod-touch DimChat[3823] <Warning>: QBChat/didDisconnect, error: Error Domain=GCDAsyncSocketErrorDomain Code=7 "Socket closed by remote peer" UserInfo=0x1ed273e0 {NSLocalizedDescription=Socket closed by remote peer} 
Sep 11 16:44:20 iPod-touch DimChat[3823] <Warning>: -[QBChat sendPresence] -> return. You have to be logged in in order to use Chat API 

Второй экземпляр, который вызывает первый один:

2013-09-11 16:43:46.408 DimChat[55216:b10f] QBChat/didConnect 
2013-09-11 16:43:47.053 DimChat[55216:a207] -[QBChat xmppStreamDidAuthenticate:] -> user: 503867, supportsStartTLS: 1, isSecure: 0 
2013-09-11 16:43:47.053 DimChat[55216:a207] -[QBChat xmppStream:didSendIQ:] -> IQ: <iq type="get" id="561006823"><query xmlns="jabber:iq:roster"/></iq> 
2013-09-11 16:43:47.053 DimChat[55216:a207] -[QBChat xmppStream:didSendPresence:] -> Presence: <presence/> 
2013-09-11 16:43:47.215 DimChat[55216:b10f] -[QBChat xmppStream:didReceiveIQ:] -> <iq xmlns="jabber:client" id="561006823" type="result" to="[email protected]/tigase-3170"><query xmlns="jabber:iq:roster"/></iq> 
2013-09-11 16:43:56.295 DimChat[55216:b10f] -[QBVideoChat init] -> 
2013-09-11 16:43:56.295 DimChat[55216:b10f] -[QBVideoChat orientatioDidChange:] -> LandscapeLeft 
2013-09-11 16:43:56.296 DimChat[55216:b10f] -[QBVideoChat callUser:conferenceType:customParameters:] -> VideoChat configuration: { 
    kQBVideoChatBadConnectionTimeout = 5; 
    kQBVideoChatCallTimeout = 15; 
    kQBVideoChatFrameQualityPreset = AVCaptureSessionPresetLow; 
    kQBVideoChatP2PTimeout = "1.5"; 
    kQBVideoChatTURNServerEndPoint = "turnserver.quickblox.com"; 
    kQBVideoChatVideoFramesPerSecond = 10; 
    kQBVideoChatWriteQueueMaxAudioOperationsThreshold = 25; 
    kQBVideoChatWriteQueueMaxVideoOperationsThreshold = 25; 
} 
2013-09-11 16:43:56.296 DimChat[55216:b10f] -[QBChat xmppStream:didSendMessage:] -> Message: <message id="282475249" type="qbvideochat_call" to="[email protected]" from="[email protected]"><body>1</body></message> 
2013-09-11 16:43:58.297 DimChat[55216:b10f] -[QBChat xmppStream:didSendMessage:] -> Message: <message id="1622650073" type="qbvideochat_call" to="[email protected]" from="[email protected]"><body>1</body></message> 
2013-09-11 16:44:00.298 DimChat[55216:b10f] -[QBChat xmppStream:didSendMessage:] -> Message: <message id="984943658" type="qbvideochat_call" to="[email protected]" from="[email protected]"><body>1</body></message> 
2013-09-11 16:44:02.300 DimChat[55216:b10f] -[QBChat xmppStream:didSendMessage:] -> Message: <message id="1144108930" type="qbvideochat_call" to="[email protected]" from="[email protected]"><body>1</body></message> 
2013-09-11 16:44:04.300 DimChat[55216:b10f] -[QBChat xmppStream:didSendMessage:] -> Message: <message id="470211272" type="qbvideochat_call" to="[email protected]" from="[email protected]"><body>1</body></message> 
2013-09-11 16:44:06.302 DimChat[55216:b10f] -[QBChat xmppStream:didSendMessage:] -> Message: <message id="101027544" type="qbvideochat_call" to="[email protected]" from="[email protected]"><body>1</body></message> 
2013-09-11 16:44:07.065 DimChat[55216:b10f] -[QBChat xmppStream:didSendPresence:] -> Presence: <presence/> 
2013-09-11 16:44:08.303 DimChat[55216:b10f] -[QBChat xmppStream:didSendMessage:] -> Message: <message id="1457850878" type="qbvideochat_call" to="[email protected]" from="[email protected]"><body>1</body></message> 
2013-09-11 16:44:10.303 DimChat[55216:b10f] -[QBChat xmppStream:didSendMessage:] -> Message: <message id="1458777923" type="qbvideochat_call" to="[email protected]" from="[email protected]"><body>1</body></message> 
2013-09-11 16:44:11.304 DimChat[55216:b10f] -[QBVideoChat finishCallWithStatus:customParameters:] -> kStopVideoChatCallStatus_OpponentDidNotAnswer 
2013-09-11 16:44:11.305 DimChat[55216:b10f] -[QBVideoChat deinitialization] -> 
2013-09-11 16:44:11.305 DimChat[55216:b10f] -[QBVideoChat releaseVideoCapture] -> 
2013-09-11 16:44:11.306 DimChat[55216:b10f] -[QBVideoChat releaseAudioCapture] -> 
2013-09-11 16:44:11.306 DimChat[55216:b10f] -[QBVideoChat releaseSocketConnection] -> 
2013-09-11 16:44:11.306 DimChat[55216:b10f] -[QBChat xmppStream:didSendMessage:] -> Message: <message id="2007237709" type="qbvideochat_stopCall" to="[email protected]" from="[email protected]"><body>kStopVideoChatCallStatus_OpponentDidNotAnswer</body></message> 
2013-09-11 16:44:25.264 DimChat[55216:b10f] QBChat/didDisconnect, error: Error Domain=GCDAsyncSocketErrorDomain Code=7 "Socket closed by remote peer" UserInfo=0x9ca1260 {NSLocalizedDescription=Socket closed by remote peer} 
2013-09-11 16:44:27.074 DimChat[55216:b10f] -[QBChat sendPresence] -> return. You have to be logged in in order to use Chat API 

На самом деле проблема заключается в том, что первый экземпляр не получил входящий вызов , Я проверил пример видеочата из github quickblox. Он работает с моими пользователями/паролями, поэтому я ошибаюсь в своем коде, но я действительно не знаю, где его искать.

Как вы можете видеть, оба экземпляра имеют одинаковую проблему: «Сокет закрыт удаленным одноранговым узлом». Но эта проблема возникает после таймаута вызова, поэтому это не является основной причиной.

ответ

1

Наконец-то я нашел решение. Проблема была в объекте QBVideoChat. Я думал, что QBChat отправит мне сигнал, когда меня вызовет другой пользователь, а затем я создам объект QBVideoChat и представляю его на экране.

Печальная правда заключается в том, что QBC не посылает никаких сигналов видеосвязи до того, как я создаю QBVideoChat. Поэтому я должен создать его при запуске программы, чтобы получить сигнал chatDidReceiveCallRequestFromUser.

+0

ok.then как вы решили? я получаю такую ​​же проблему. Проверка на 2 дня –

+1

Я создаю объект QBVideoChat при запуске программы. _videoChat = [[экземпляр QBChat] createAndRegisterVideoChatInstance]; – DrMoriarty