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: