描述
在我的系统中,我从 Web 发起呼叫过程,并使用 XMPP 消息向客户端发送连接信息。一旦客户收到消息,它就会加入网络创建的房间并建立呼叫,这一切都适用于我的 iphone 7 和 iPad Mini iPod 第 5 代第一代。
但几秒钟后,我的 iPad Mini (iOS 9.1.3) 或 iPod (IOS 9.1.1) 通话会自动断开。
当前行为
活动几秒钟后呼叫自动断开。检查以下日志以获取更多详细信息
2019-03-07 12:01:43.695 GoSession[255:124762] GSChatManager: xmppStream:didReceiveMessage: message = <message xmlns="jabber:client" from="5c480cfbcdf3060cb68d67c6@xmpp.my.domain.path/7v37be3o1f" to="5c480d7ecdf3060cb68d67cc@xmpp.my.domain.path" type="chat"><body>[{"messageText":"ROOM_NAME","messageType":"call","senderID":"5c480cfbcdf3060cb68d67c6","receiverID":"5c480d7ecdf3060cb68d67cc"}]</body></message>
2019-03-07 12:01:43.696 GoSession[255:124762] Recieved Call Action Notifiation: NSConcreteNotification 0x17f41740 {name = kNotificationCallUpdates; object = <Message: 0x17dc20c0>}
2019-03-07 12:01:46.586 GoSession[255:124762] -[JitsiCallViewViewController conferenceWillJoin:]
Data:{
url = "https://video.my.domain.path/ROOM_NAME?jwt=SECRET_KEY#config.startWithVideoMuted=1&config.startWithAudioMuted=0";
}
2019-03-07 12:02:06.239 GoSession[255:124762] -[JitsiCallViewViewController conferenceJoined:]
Data:{
url = "https://video.my.domain.path/ROOM_NAME?jwt=SECRET_KEY#config.startWithVideoMuted=1&config.startWithAudioMuted=0";
user = "{\"_jid\":\"ROOM_NAME@conference.video.my.domain.path/7c010afb\",\"_id\":\"7c010afb\",\"isSelf\":false,\"myID\":\"6bb2321b\"}";
}
2019-03-07 12:02:06.476 GoSession[255:124762] -[JitsiCallViewViewController conferenceJoined:]
Data:{
url = "https://video.my.domain.path/ROOM_NAME?jwt=SECRET_KEY#config.startWithVideoMuted=1&config.startWithAudioMuted=0";
}
2019-03-07 12:02:09.145 GoSession[255:124982] [VideoTrackAdapter] Adapter created for track mixedlabelvideo0
2019-03-07 12:02:09.842 GoSession[255:127535] candidate:2131708102 1 udp 2122260223 192.168.0.100 58595 typ host generation 0 <- candidate
2019-03-07 12:02:09.846 GoSession[255:127535] addICECandidateresult: RTCIceCandidate:
0
candidate:2131708102 1 udp 2122260223 192.168.0.100 58595 typ host generation 0
(null)
2019-03-07 12:02:09.849 GoSession[255:127535] candidate:2131708102 1 udp 2122260223 192.168.0.100 64917 typ host generation 0 <- candidate
2019-03-07 12:02:09.865 GoSession[255:127535] addICECandidateresult: RTCIceCandidate:
0
candidate:2131708102 1 udp 2122260223 192.168.0.100 64917 typ host generation 0
(null)
2019-03-07 12:02:09.866 GoSession[255:127535] candidate:831304758 1 tcp 1518280447 192.168.0.100 9 typ host tcptype active generation 0 <- candidate
2019-03-07 12:02:09.873 GoSession[255:127535] addICECandidateresult: RTCIceCandidate:
0
candidate:831304758 1 tcp 1518280447 192.168.0.100 9 typ host tcptype active generation 0
(null)
2019-03-07 12:02:09.873 GoSession[255:127535] candidate:831304758 1 tcp 1518280447 192.168.0.100 9 typ host tcptype active generation 0 <- candidate
2019-03-07 12:02:09.876 GoSession[255:127535] addICECandidateresult: RTCIceCandidate:
0
candidate:831304758 1 tcp 1518280447 192.168.0.100 9 typ host tcptype active generation 0
(null)
2019-03-07 12:02:09.877 GoSession[255:127535] candidate:4266086002 1 udp 1686052607 103.121.115.140 58595 typ srflx raddr 192.168.0.100 rport 58595 generation 0 <- candidate
2019-03-07 12:02:09.882 GoSession[255:127535] addICECandidateresult: RTCIceCandidate:
0
candidate:4266086002 1 udp 1686052607 103.121.115.140 58595 typ srflx raddr 192.168.0.100 rport 58595 generation 0
(null)
2019-03-07 12:02:09.884 GoSession[255:127535] candidate:4266086002 1 udp 1686052607 103.121.115.140 64917 typ srflx raddr 192.168.0.100 rport 64917 generation 0 <- candidate
2019-03-07 12:02:09.886 GoSession[255:127535] addICECandidateresult: RTCIceCandidate:
0
candidate:4266086002 1 udp 1686052607 103.121.115.140 64917 typ srflx raddr 192.168.0.100 rport 64917 generation 0
(null)
2019-03-07 12:02:12.146 GoSession[255:124762] [VideoTrackAdapter] Mute event for 8 7560A823-DAD3-4760-9369-F7726AB351DC mixedlabelvideo0
2019-03-07 12:02:12.474 [error][tid:com.facebook.react.JavaScript] '[JitsiConference.js]', '<n>: ', 'Failed to accept incoming Jingle session', { code: '',
reason: 'item-not-found',
msg: 'No participant found for: ROOM_NAME@conference.video.my.domain.path/6bb2321b',
session: 'JingleSessionPC[p2p=false,initiator=false,sid=du2th86f1h07d]' }
2019-03-07 12:02:13.472 GoSession[255:124982] [VideoTrackAdapter] Adapter created for track ae4ac347-45f9-4ceb-a89e-9ac66f1bd10b-1
2019-03-07 12:02:16.508 GoSession[255:124762] [VideoTrackAdapter] Mute event for 9 210366F3-B228-4739-B813-A05096F0F92A ae4ac347-45f9-4ceb-a89e-9ac66f1bd10b-1
2019-03-07 12:02:50:685 GoSession[255:124762] GSChatManager: xmppStream:didReceiveIQ: iq = <iq xmlns="jabber:client" type="get" id="723-4451" from="xmpp.my.domain.path" to="5c480d7ecdf3060cb68d67cc@xmpp.my.domain.path/ag9bbenlq0"><ping xmlns="urn:xmpp:ping"></ping></iq>
2019-03-07 12:02:50:688 GoSession[255:124762] GSChatManager: xmppStream:didSendIQ:, IQ = <iq type="error" to="xmpp.my.domain.path" id="723-4451"><ping xmlns="urn:xmpp:ping"></ping><error type="cancel" code="501"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></feature-not-implemented></error></iq>
REJECTION LOG
2019-03-07 12:03:25.492 GoSession[255:124762] -[JitsiCallViewViewController conferenceFailed:]
Data:{
error = "conference.setup_failed";
url = "https://video.my.domain.path/ROOM_NAME?jwt=SECRET_KEY#config.startWithVideoMuted=1&config.startWithAudioMuted=0";
user = self;
}
2019-03-07 12:03:25.665 GoSession[255:127887] [VideoTrackAdapter] Adapter removed for track mixedlabelvideo0
2019-03-07 12:03:25.743 GoSession[255:127887] [VideoTrackAdapter] Adapter removed for track ae4ac347-45f9-4ceb-a89e-9ac66f1bd10b-1
2019-03-07 12:03:26.003 [error][tid:com.facebook.react.JavaScript] '[__filename]', '<l>: ', '_REMOVE_AUDIO_ELEMENT: no sound for id: PARTICIPANT_JOINED_SOUND'
2019-03-07 12:03:26.030 [error][tid:com.facebook.react.JavaScript] '[__filename]', '<l>: ', '_REMOVE_AUDIO_ELEMENT: no sound for id: PARTICIPANT_LEFT_SOUND'
2019-03-07 12:03:26.054 [error][tid:com.facebook.react.JavaScript] '[__filename]', '<l>: ', '_REMOVE_AUDIO_ELEMENT: no sound for id: RECORDING_OFF_SOUND'
2019-03-07 12:03:26.086 [error][tid:com.facebook.react.JavaScript] '[__filename]', '<l>: ', '_REMOVE_AUDIO_ELEMENT: no sound for id: RECORDING_ON_SOUND'
2019-03-07 12:03:26.117 [error][tid:com.facebook.react.JavaScript] '[__filename]', '<l>: ', '_REMOVE_AUDIO_ELEMENT: no sound for id: OUTGOING_CALL_EXPIRED_SOUND_ID'
2019-03-07 12:03:26.142 [error][tid:com.facebook.react.JavaScript] '[__filename]', '<l>: ', '_REMOVE_AUDIO_ELEMENT: no sound for id: OUTGOING_CALL_REJECTED_SOUND_ID'
2019-03-07 12:03:26.189 [error][tid:com.facebook.react.JavaScript] '[__filename]', '<l>: ', '_REMOVE_AUDIO_ELEMENT: no sound for id: OUTGOING_CALL_RINGING_SOUND_ID'
2019-03-07 12:03:26.215 [error][tid:com.facebook.react.JavaScript] '[__filename]', '<l>: ', '_REMOVE_AUDIO_ELEMENT: no sound for id: OUTGOING_CALL_START_SOUND_ID'
2019-03-07 12:03:27.314 GoSession[255:124981] 12:03:27.314 ERROR: [worker_thread 0x0x17ed8b80] AVAudioSession.mm:692: -[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session.
2019-03-07 12:03:32.243 GoSession[255:124762] GSChatManager: xmppStream:didReceiveMessage: message = <message xmlns="jabber:client" from="5c480cfbcdf3060cb68d67c6@xmpp.my.domain.path/7v37be3o1f" to="5c480d7ecdf3060cb68d67cc@xmpp.my.domain.path" type="chat"><body>[{"messageText":"ROOM_NAME","messageType":"cut","senderID":"5c480cfbcdf3060cb68d67c6","receiverID":"5c480d7ecdf3060cb68d67cc"}]</body></message>
2019-03-07 12:03:32.244 GoSession[255:124762] Recieved Call Action Notifiation: NSConcreteNotification 0x17ff76d0 {name = kNotificationCallUpdates; object = <Message: 0x17d20860>}
预期行为
呼叫应保持活动状态,除非呼叫方中的任何一方断开连接。
可能的解决方案
我认为这与设备功能有关,因此更好的资源管理会有所帮助。
重现步骤
- 在 iPad mini 第一代或 ipod 5th gen 上启动应用程序
- 接听电话
- 让它打开大约 60-12 秒
这将自动断开呼叫。
环境细节
设备:iPod 第 5 代、iPad Mini iOS:9.1.1、9.1.3 互联网:40 Mbps Wifi 连接 一个呼叫端是 Web。