Jump to content
  • 0

iOS SDK Conference Mode Issue


Yury Grinenko
 Share

Question

Hi guys!

I'm developing conference mode based on current version of AntMedia SDK for iOS. I've implemented the flow from this article, it's pretty straightforward. 
As I understand, each participant should start publishing his own stream, and at the same time play remote streams of other participants in the room.
I'm currently performing tests with two participants in the room. It works well if only one participant publishes his stream - the second participant can see and hear stream data. If the second participant also starts publishing his stream, the first participant receives "streamJoined" message, RTCPeerConnectionDelegate's function
`func peerConnection(_ peerConnection: RTCPeerConnection, didAdd stream: RTCMediaStream)
is called as well, and after that the webrtc connection disconnects on his side without any error.
I have attached server logs of such call. It contains "i.a.e.adaptive.WebRTCEncoderAdaptor - onIceConnectionChange DISCONNECTED for streamId ..." on line 91. 
We are using "Enterprise Edition 1.9.1" on the server side. On the client side, I've just added commands to join/leave room, publish/play streams, and the `takeCandidate`/`takeConfiguration` part right now is the same as for p2p calls.
Could you please help me to figure out what is the problem here?

Thanks!


failed_call_server.log

Link to comment
Share on other sites

  • Answers 3
  • Created
  • Last Reply

Top Posters For This Question

Popular Days

Top Posters For This Question

3 answers to this question

Recommended Posts

  • 0
It's because iOS SDK does not support multiple streams out of the box. When new one joins it rewrites the old WebRTCClient closing connection. You need to use multiple WebRTCClient (one per each stream in the room) 



On Wednesday, 29 April 2020 10:48:20 UTC-4, Yury Grinenko wrote:
Hi guys!

I'm developing conference mode based on current version of AntMedia SDK for iOS. I've implemented the flow from this article, it's pretty straightforward. 
As I understand, each participant should start publishing his own stream, and at the same time play remote streams of other participants in the room.
I'm currently performing tests with two participants in the room. It works well if only one participant publishes his stream - the second participant can see and hear stream data. If the second participant also starts publishing his stream, the first participant receives "streamJoined" message, RTCPeerConnectionDelegate's function
`func peerConnection(_ peerConnection: RTCPeerConnection, didAdd stream: RTCMediaStream)
is called as well, and after that the webrtc connection disconnects on his side without any error.
I have attached server logs of such call. It contains "i.a.e.adaptive.WebRTCEncoderAdaptor - onIceConnectionChange DISCONNECTED for streamId ..." on line 91. 
We are using "Enterprise Edition 1.9.1" on the server side. On the client side, I've just added commands to join/leave room, publish/play streams, and the `takeCandidate`/`takeConfiguration` part right now is the same as for p2p calls.
Could you please help me to figure out what is the problem here?

Thanks!
Link to comment
Share on other sites

  • 0
Hello, Mark!
Thanks for quick response. I'll rewrite code with multiple `WebRTCClient` instances, hope it will solve the problem.

среда, 29 апреля 2020 г., 17:58:00 UTC+3 пользователь Mark Sergienko написал:
It's because iOS SDK does not support multiple streams out of the box. When new one joins it rewrites the old WebRTCClient closing connection. You need to use multiple WebRTCClient (one per each stream in the room) 



On Wednesday, 29 April 2020 10:48:20 UTC-4, Yury Grinenko wrote:
Hi guys!

I'm developing conference mode based on current version of AntMedia SDK for iOS. I've implemented the flow from this article, it's pretty straightforward. 
As I understand, each participant should start publishing his own stream, and at the same time play remote streams of other participants in the room.
I'm currently performing tests with two participants in the room. It works well if only one participant publishes his stream - the second participant can see and hear stream data. If the second participant also starts publishing his stream, the first participant receives "streamJoined" message, RTCPeerConnectionDelegate's function
`func peerConnection(_ peerConnection: RTCPeerConnection, didAdd stream: RTCMediaStream)
is called as well, and after that the webrtc connection disconnects on his side without any error.
I have attached server logs of such call. It contains "i.a.e.adaptive.WebRTCEncoderAdaptor - onIceConnectionChange DISCONNECTED for streamId ..." on line 91. 
We are using "Enterprise Edition 1.9.1" on the server side. On the client side, I've just added commands to join/leave room, publish/play streams, and the `takeCandidate`/`takeConfiguration` part right now is the same as for p2p calls.
Could you please help me to figure out what is the problem here?

Thanks!
Link to comment
Share on other sites

  • 0
You're welcome! You can take clues from javascript's code for WebRTCAdaptor and code in conference.html.


On Wednesday, 29 April 2020 11:17:23 UTC-4, Yury Grinenko wrote:
Hello, Mark!
Thanks for quick response. I'll rewrite code with multiple `WebRTCClient` instances, hope it will solve the problem.

среда, 29 апреля 2020 г., 17:58:00 UTC+3 пользователь Mark Sergienko написал:
It's because iOS SDK does not support multiple streams out of the box. When new one joins it rewrites the old WebRTCClient closing connection. You need to use multiple WebRTCClient (one per each stream in the room) 



On Wednesday, 29 April 2020 10:48:20 UTC-4, Yury Grinenko wrote:
Hi guys!

I'm developing conference mode based on current version of AntMedia SDK for iOS. I've implemented the flow from this article, it's pretty straightforward. 
As I understand, each participant should start publishing his own stream, and at the same time play remote streams of other participants in the room.
I'm currently performing tests with two participants in the room. It works well if only one participant publishes his stream - the second participant can see and hear stream data. If the second participant also starts publishing his stream, the first participant receives "streamJoined" message, RTCPeerConnectionDelegate's function
`func peerConnection(_ peerConnection: RTCPeerConnection, didAdd stream: RTCMediaStream)
is called as well, and after that the webrtc connection disconnects on his side without any error.
I have attached server logs of such call. It contains "i.a.e.adaptive.WebRTCEncoderAdaptor - onIceConnectionChange DISCONNECTED for streamId ..." on line 91. 
We are using "Enterprise Edition 1.9.1" on the server side. On the client side, I've just added commands to join/leave room, publish/play streams, and the `takeCandidate`/`takeConfiguration` part right now is the same as for p2p calls.
Could you please help me to figure out what is the problem here?

Thanks!
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...