public async Task SendFabricTransportChange(int delay, string relayType, List <IceCandidate> localIceCandidates, List <IceCandidate> remoteIceCandidates, IceCandidatePair currIceCandidatePairObj, IceCandidatePair prevIceCandidatePairObj, string newIceConnectionState, string prevIceConnectionState) { FabricTransportChangeData ftcd = new FabricTransportChangeData(); ftcd.localID = localID; ftcd.originID = originID; ftcd.deviceID = deviceID; ftcd.timestamp = DateTime.UtcNow.ToUnixTimeStampMiliseconds(); ftcd.remoteID = remoteID; ftcd.connectionID = connectionID; ftcd.localIceCandidates = localIceCandidates; ftcd.remoteIceCandidates = remoteIceCandidates; ftcd.currIceCandidatePair = currIceCandidatePairObj; ftcd.prevIceCandidatePair = prevIceCandidatePairObj; ftcd.currIceConnectionState = newIceConnectionState; ftcd.prevIceConnectionState = prevIceConnectionState; ftcd.delay = delay; ftcd.relayType = relayType; Debug.WriteLine("FabricTransportChange: "); await callstats.FabricTransportChange(ftcd); }
public IceCandidatePair GetIceCandidatePairData() { IceCandidatePair icp = new IceCandidatePair(); icp.id = Instance.currIceCandidatePair.Id; icp.localCandidateId = Instance.currIceCandidatePair.LocalCandidateId; icp.remoteCandidateId = Instance.currIceCandidatePair.RemoteCandidateId; icp.state = Instance.currIceCandidatePair.State.ToString().ToLower(); icp.priority = 1; icp.nominated = Instance.currIceCandidatePair.Nominated; return(icp); }
public void AddToIceCandidatePairsList() { for (int i = 0; i < Instance.iceCandidatePairStatsList.Count; i++) { IceCandidatePairStats icps = Instance.iceCandidatePairStatsList[i]; IceCandidatePair iceCandidatePair = new IceCandidatePair(); iceCandidatePair.id = icps.id; iceCandidatePair.localCandidateId = icps.localCandidateId; iceCandidatePair.remoteCandidateId = icps.remoteCandidateId; iceCandidatePair.state = icps.state; iceCandidatePair.priority = 1; iceCandidatePair.nominated = icps.nominated; Instance.iceCandidatePairList.Add(iceCandidatePair); } }
public async Task SendIceTerminated(IceCandidatePair prevIceCandidatePairObj, string newIceConnectionState, string prevIceConnectionState) { IceTerminatedData itd = new IceTerminatedData(); itd.eventType = "iceTerminated"; itd.localID = localID; itd.originID = originID; itd.deviceID = deviceID; itd.timestamp = DateTime.UtcNow.ToUnixTimeStampMiliseconds(); itd.remoteID = remoteID; itd.connectionID = connectionID; itd.prevIceCandidatePair = prevIceCandidatePairObj; itd.currIceConnectionState = newIceConnectionState; itd.prevIceConnectionState = prevIceConnectionState; Debug.WriteLine("IceTerminated: "); await callstats.IceTerminated(itd); }
public async Task SendIceDisruptionStart(IceCandidatePair currIceCandidatePairObj, string newIceConnectionState, string prevIceConnectionState) { IceDisruptionStartData ids = new IceDisruptionStartData(); ids.eventType = "iceDisruptionStart"; ids.localID = localID; ids.originID = originID; ids.deviceID = deviceID; ids.timestamp = DateTime.UtcNow.ToUnixTimeStampMiliseconds(); ids.remoteID = remoteID; ids.connectionID = connectionID; ids.currIceCandidatePair = currIceCandidatePairObj; ids.currIceConnectionState = newIceConnectionState; ids.prevIceConnectionState = prevIceConnectionState; Debug.WriteLine("IceDisruptionStart: "); await callstats.IceDisruptionStart(ids); }
public void SendFabricDropped(int delay, IceCandidatePair currIceCandidatePair, string newIceConnectionState, string prevIceConnectionState) { FabricDroppedData fdd = new FabricDroppedData(); fdd.localID = localID; fdd.originID = originID; fdd.deviceID = deviceID; fdd.timestamp = DateTime.UtcNow.ToUnixTimeStampMiliseconds(); fdd.remoteID = remoteID; fdd.connectionID = connectionID; fdd.currIceCandidatePair = currIceCandidatePair; fdd.currIceConnectionState = newIceConnectionState; fdd.prevIceConnectionState = prevIceConnectionState; fdd.delay = delay; Debug.WriteLine("FabricDropped: "); var task = callstats.FabricDropped(fdd); }
public void FabricSetupRemoteCandidate(string candidate) { string[] separatingChars = { " " }; string[] words = candidate.Split(separatingChars, StringSplitOptions.None); string[] candidateStr = words[0].Split(":", StringSplitOptions.None); var candidateID = candidateStr[1]; var candidateTransport = words[2]; var localCandidateID = words[3]; var candidateIp = words[4]; var candidatePort = words[5]; var candidateType = words[7]; Debug.WriteLine($"!!!candidateID: {candidateID}, " + $"candidateTransport: {candidateTransport}, " + $"localCandidateID: {localCandidateID}, " + $"candidateIp: {candidateIp}, " + $"candidatePort: {candidatePort}, " + $"candidateType: {candidateType}"); IceCandidate remoteIceCandidateObj = new IceCandidate(); remoteIceCandidateObj.id = candidateID; remoteIceCandidateObj.type = "remotecandidate"; remoteIceCandidateObj.ip = candidateIp; remoteIceCandidateObj.port = int.Parse(candidatePort); remoteIceCandidateObj.candidateType = candidateType; remoteIceCandidateObj.transport = candidateTransport; remoteIceCandidatesList.Add(remoteIceCandidateObj); IceCandidatePair iceCandidatePairObj = new IceCandidatePair(); iceCandidatePairObj.id = candidateID; iceCandidatePairObj.localCandidateId = localCandidateID; iceCandidatePairObj.remoteCandidateId = candidateID; iceCandidatePairObj.state = IceCandidateState.succeeded.ToString(); iceCandidatePairObj.priority = 1; iceCandidatePairObj.nominated = true; iceCandidatePairsList.Add(iceCandidatePairObj); }