[jitsi-dev] [jitsi/jitsi-videobridge] Initiator in channel tag is ignored? (#279)


#1

Hi, i noticed that regardless of initiator in create channel tag is true or false, bridge always respond with setup="actpass". Also, there is consistent IsControling: false in log messages, which is also don't change if i change initiator to true or false. Is it by design?

···

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/issues/279


#2

Now I get more light to the situation. Don't pay attention to what I wrote previously. But it seems like something is wrong over here... Let me explain situation a little bit: I am doing almost transparent module for muc rooms, this means that any room member may send jingle session-initiate to the room, and start a group call (yes, skypish call flow for groups), the simplified scenario is:

1) Room member sends jingle initiate to the muc room.
2) I catch this on the server side and transform this jingle to colibri, instantly creating channel with media and transport description and with initiator = "false"
3) Caching answer, and send ringing to initiator
4) Iterate over other available room members, creating channels for them and sending jingle session-initiate for each of them.
5) Once any of them answers(session-accept), i am taking the cached response and sending it to the initiator, and then update channels from session-accept stanzas.

Now this works in 100% of cases for any callee in the room, and 90% for call initiator. But over here there are two cases:

1) The answer to session-initiate contains setup:passive:
In such case approximately 1 of 10 calls will fail, in log file i don't see Received check from blabla, but in Wireshark i see that browser sends STUN binding requests and JVB answers with 487 (Role Conflict). This leads to ICE failure. approximately 9 of 10 is absolutely fine.

2) The answer to session-initiate contains setup:active:
In such case, all calls will fail, but during Wireshark investigation, I see the same situation (sometimes JVB think it is controlling despite initiator for the channel was set to false) except i never receive DTLS client hello from server.

I would be very grateful for any hints, or advises over as i have already done whole path, and this is the only problem that i am not able to solve.

···

--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/issues/279#issuecomment-245774265


#3

https://github.com/jitsi/jitsi-videobridge/blob/04684e18e33cf4aad3a187dfd275a3237f72b447/src/main/java/org/jitsi/videobridge/Conference.java#L1305 FIXME :slight_smile: Well this really needs to be fixed, as this is the root of all the above. And such buggy behaviour is contrary to xep-0340. Unfortunately, I don't know Java enough to create a patch, but it is very easy to follow logical chain why this is leading to what i have posted before, especially if you will check places in code where is the mid-session change of the initiator is handled. Also funny this that changing this to false, fixes my issue, and things start working as per xep, but this is also logical. I believe you guys will have no problem to pass actual parameter from stanza, and such fix will take up to 5-10 minutes.

···

--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/issues/279#issuecomment-245787042


#4

Closed #279.

···

--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/issues/279#event-791527917