twilio / video-quickstart-ios

Twilio Video Quickstart for iOS
https://www.twilio.com/docs/api/video
MIT License
457 stars 177 forks source link

How can we get unique id of every call #596

Closed Balasnest closed 2 years ago

Balasnest commented 3 years ago

Description

I would like to know the unique id for every video call made and will that be the same for both callee and the caller? I need to map the metrics for all the calls. Room Sid is coming same if the caller calls the same callee next time.

Expected Behavior

Expecting unique id for every call.

Actual Behavior

This is the actual data of the room object when the caller connects the room. It's the same when the caller called again. I can't differentiate the journey of multiple calls.

"participants":[],"roomSid":"RMe948ec73e4b399e71017739068f77b00","roomName":"6061a32b69855f69b43434bd",

sometimes with participants data: participants":[{"sid":"PAc08643358ad83185f82b6559fdff9510","identity":"5f995ac37545d72f7fe1f38c"}],"roomSid":"RM03ef1920d71a49fcd66bbddb237c3ab5","roomName":"6024dd8c9b887ba4466d31de"

Versions

All relevant version information for the issue.

Video iOS SDK

All platforms are up-to-date versions.

paynerc commented 3 years ago

@Balasnest

The RoomSid is the unique identifier for a room. A room created via the API will exist for 5 minutes waiting for the first participant to connect and will remain for another 5 minutes after the last participant disconnects. I think the issue you are seeing here is that you are not completing the room after the participants leave the room.

I have looked at the logs for the Room Sid you provided and I see that you are creating the room via the REST API. Then both participants connect and then disconnect. A few seconds later the participants rejoin the same room name. Since it was only a few seconds after both participants left the room, and the room was not completed via the REST API, both participants joined the already existing room instance.

Take a look at room completion after one of both parties disconnect from the room to end the room so no other participants can connect. Let me know if you have any further questions.

Ryan

Balasnest commented 3 years ago

@paynerc Thanks for briefing it out. I have few doubts.

  1. what is the difference between keeping the room instance exist for 5 minutes vs creating new instance in this span of 5 mins? I mean, is the unique SID only difference here, or creating a new effect on the connection timing and cost?

    A room created via the API will exist for 5 minutes

  2. We send roomName via notification when a call initiated. What if the participant tries to connect (this participant doesn't have access to create / request for a call) room with the roomName which is in completed status? will there be an impact?

  3. Can we update the room status in-progress, failed, or completed. via iOS and Android SDK while disconnecting? Which is the right way to do this?