private Div GenerateOuputForTotalStats(CallStats totalStats) { Div statsDiv = new Div() .SetKeepTogether(true) .SetMarginTop(DIV_MARGIN); Table statsTable = new Table(new float[2]) .SetBorder(Border.NO_BORDER) .UseAllAvailableWidth() .SetFontColor(HEADING_COLOR) .SetFont(REGULAR_FONT) .SetFontSize(REGULAR_FONT_SIZE); Cell statsCell = new Cell() .SetBorder(Border.NO_BORDER) .Add(new Paragraph($"Total Calls: {totalStats.TotalCalls} - " + $"Total Time: {totalStats.Duration}")); Cell timeCell = new Cell() .SetBorder(Border.NO_BORDER) .SetTextAlignment(TextAlignment.RIGHT) .Add(new Paragraph($"Report generated on: {DateTime.Now.ToString()}")); statsTable.AddCell(statsCell).AddCell(timeCell); statsDiv.Add(statsTable); return(statsDiv); }
private void OnStats(Core lc, Call call, CallStats stats) { #if WINDOWS_UWP Debug.WriteLine("Call stats: " + stats.DownloadBandwidth + " kbits/s / " + stats.UploadBandwidth + " kbits/s"); #else Console.WriteLine("Call stats: " + stats.DownloadBandwidth + " kbits/s / " + stats.UploadBandwidth + " kbits/s"); #endif call_stats.Text = "Call stats: " + stats.DownloadBandwidth + " kbits/s / " + stats.UploadBandwidth + " kbits/s"; }
private CallStats GetStats() { var fromStats = CallStats.GetStats(CallsFrom); var toStats = CallStats.GetStats(CallsTo); return(new CallStats() { Duration = toStats.Duration + fromStats.Duration, TotalCalls = toStats.TotalCalls + fromStats.TotalCalls }); }
public Dictionary <string, CallStats> GetTotalStats(List <string> employees) { var filteredCalls = _calls; if (employees.Any()) { filteredCalls = _calls .Where(c => employees.Contains(c.ToName, StringComparer.OrdinalIgnoreCase) || employees.Contains(c.FromName, StringComparer.OrdinalIgnoreCase)); } var queues = filteredCalls .Where(c => c.CallQueue != string.Empty) .GroupBy(c => c.CallQueue) .ToDictionary(q => q.Key, q => CallStats.GetStats(q)); var result = queues; var totalStats = CallStats.GetStats(filteredCalls); result.Add("Total", totalStats); return(result); }
void CallStatsUpdated(Core lc, Call call, CallStats stats) { //System.Diagnostics.Debug.WriteLine("CallStatsUpdated"); }
private void OnStats(Core lc, Call call, CallStats stats) { Log("Call stats: " + stats.DownloadBandwidth + " kbits/s / " + stats.UploadBandwidth + " kbits/s"); }
/*private void cm_ContactFound(object sender, ContactFoundEventArgs e) * { * if (e.ContactFound != null) * { * Contact.Text = e.ContactFound.DisplayName; * if (e.PhoneLabel != null) * { * Number.Text = e.PhoneLabel + " : " + e.PhoneNumber; * } * else * { * Number.Text = e.PhoneNumber; * } * } * }*/ private void timerTick(Object sender, Object e) { Call call = ((InCallModel)this.DataContext).GetCurrentCall(); if (call == null) { return; } //startTime = (DateTimeOffset)call.CallStartTimeFromContext; TimeSpan callDuration = new TimeSpan(call.Duration * TimeSpan.TicksPerSecond); var hh = callDuration.Hours; var ss = callDuration.Seconds; var mm = callDuration.Minutes; Status.Text = hh.ToString("00") + ":" + mm.ToString("00") + ":" + ss.ToString("00"); string audioPayloadType = ""; string audioDownloadBandwidth = ""; string audioUploadBandwidth = ""; string videoPayloadType = ""; string videoDownloadBandwidth = ""; string videoUploadBandwidth = ""; CallParams param = call.CurrentParams; ((InCallModel)this.DataContext).MediaEncryption = param.MediaEncryption.ToString(); CallStats audioStats = null; try { audioStats = call.GetStats(StreamType.Audio); } catch { } if (audioStats != null) { audioDownloadBandwidth = String.Format("{0:0.00}", audioStats.DownloadBandwidth); audioUploadBandwidth = String.Format("{0:0.00}", audioStats.UploadBandwidth); ((InCallModel)this.DataContext).ICE = audioStats.IceState.ToString(); } PayloadType audiopt = param.UsedAudioPayloadType; if (audiopt != null) { audioPayloadType = audiopt.MimeType + "/" + audiopt.ClockRate; } if (param.VideoEnabled) { CallStats videoStats = call.GetStats(StreamType.Video); if (videoStats != null) { videoDownloadBandwidth = String.Format("{0:0.00}", videoStats.DownloadBandwidth); videoUploadBandwidth = String.Format("{0:0.00}", videoStats.UploadBandwidth); } PayloadType videopt = param.UsedVideoPayloadType; if (videopt != null) { videoPayloadType = videopt.MimeType; } VideoDefinition receivedVideoSize = param.ReceivedVideoDefinition; String NewReceivedVideoSize = String.Format("{0}x{1}", receivedVideoSize.Width, receivedVideoSize.Height); String OldReceivedVideoSize = ((InCallModel)this.DataContext).ReceivedVideoSize; if (OldReceivedVideoSize != NewReceivedVideoSize) { ((InCallModel)this.DataContext).ReceivedVideoSize = String.Format("{0}x{1}", receivedVideoSize.Width, receivedVideoSize.Height); ((InCallModel)this.DataContext).IsVideoActive = false; if (NewReceivedVideoSize != "0x0") { ((InCallModel)this.DataContext).IsVideoActive = true; } } VideoDefinition sentVideoSize = param.SentVideoDefinition; ((InCallModel)this.DataContext).SentVideoSize = String.Format("{0}x{1}", sentVideoSize.Width, sentVideoSize.Height); ((InCallModel)this.DataContext).VideoStatsVisibility = Visibility.Visible; } else { ((InCallModel)this.DataContext).VideoStatsVisibility = Visibility.Collapsed; } string downloadBandwidth = audioDownloadBandwidth; if ((downloadBandwidth != "") && (videoDownloadBandwidth != "")) { downloadBandwidth += " - "; } if (videoDownloadBandwidth != "") { downloadBandwidth += videoDownloadBandwidth; } ((InCallModel)this.DataContext).DownBandwidth = String.Format("{0} kb/s", downloadBandwidth); string uploadBandwidth = audioUploadBandwidth; if ((uploadBandwidth != "") && (videoUploadBandwidth != "")) { uploadBandwidth += " - "; } if (videoUploadBandwidth != "") { uploadBandwidth += videoUploadBandwidth; } ((InCallModel)this.DataContext).UpBandwidth = String.Format("{0} kb/s", uploadBandwidth); string payloadType = audioPayloadType; if ((payloadType != "") && (videoPayloadType != "")) { payloadType += " - "; } if (videoPayloadType != "") { payloadType += videoPayloadType; } ((InCallModel)this.DataContext).PayloadType = payloadType; }
private void OnStats(Core lc, Call call, CallStats stats) { Debug.WriteLine("Call stats: " + stats.DownloadBandwidth + " kbits/s / " + stats.UploadBandwidth + " kbits/s"); call_stats.Text = "Call stats: " + stats.DownloadBandwidth + " kbits/s / " + stats.UploadBandwidth + " kbits/s"; }
public async Task InitializeCallStats() { callstats = new CallStats(_localID, _appID, _keyID, _confID, GenerateJWT()); fabricSetupData.localID = _localID; fabricSetupData.originID = _originID; fabricSetupData.deviceID = _deviceID; fabricSetupData.timestamp = DateTime.UtcNow.ToUnixTimeStampMiliseconds(); fabricSetupData.connectionID = _connectionID; fabricSetupData.remoteID = _remoteID; fabricSetupData.delay = 5; fabricSetupData.iceGatheringDelay = 3; fabricSetupData.iceConnectivityDelay = 2; fabricSetupData.fabricTransmissionDirection = FabricTransmissionDirection.sendrecv.ToString(); fabricSetupData.remoteEndpointType = RemoteEndpointType.peer.ToString(); fabricSetupData.localIceCandidates = localIceCandidatesList; fabricSetupData.remoteIceCandidates = remoteIceCandidatesList; fabricSetupData.iceCandidatePairs = iceCandidatePairsList; ssrcMapData.localID = _localID; ssrcMapData.originID = _originID; ssrcMapData.deviceID = _deviceID; ssrcMapData.timestamp = DateTime.UtcNow.ToUnixTimeStampMiliseconds(); ssrcMapData.connectionID = _connectionID; ssrcMapData.remoteID = _remoteID; ssrcMapData.ssrcData = ssrcDataList; Stats confSubmissionStats = new Stats(); confSubmissionStats.tracks = "tracks"; confSubmissionStats.candidatePairs = "3"; confSubmissionStats.timestamp = DateTime.UtcNow.ToUnixTimeStampMiliseconds(); confSubmissionStatsList.Add(confSubmissionStats); conferenceStatsSubmissionData.localID = _localID; conferenceStatsSubmissionData.originID = _originID; conferenceStatsSubmissionData.deviceID = _deviceID; conferenceStatsSubmissionData.timestamp = DateTime.UtcNow.ToUnixTimeStampMiliseconds(); conferenceStatsSubmissionData.connectionID = _connectionID; conferenceStatsSubmissionData.remoteID = _remoteID; conferenceStatsSubmissionData.stats = confSubmissionStatsList; await callstats.StepsToIntegrate( CreateConference(), UserAlive(), fabricSetupData, FabricSetupFailed(), ssrcMapData, conferenceStatsSubmissionData, FabricTerminated(), UserLeft()); //Debug.WriteLine("FabricStateChange: "); //await callstats.FabricStateChange(FabricStateChange()); //Debug.WriteLine("FabricTransportChange: "); //await callstats.FabricTransportChange(FabricTransportChange()); //Debug.WriteLine("FabricDropped: "); //await callstats.FabricDropped(FabricDropped()); //Debug.WriteLine("FabricAction: "); //await callstats.FabricAction(FabricAction()); //Debug.WriteLine("SystemStatusStatsSubmission: "); //await callstats.SystemStatusStatsSubmission(SystemStatusStatsSubmission()); //Debug.WriteLine("IceDisruptionStart: "); //await callstats.IceDisruptionStart(IceDisruptionStart()); //Debug.WriteLine("IceDisruptionEnd: "); //await callstats.IceDisruptionEnd(IceDisruptionEnd()); //Debug.WriteLine("IceRestart: "); //await callstats.IceRestart(IceRestart()); //Debug.WriteLine("IceFailed: "); //await callstats.IceFailed(IceFailed()); //Debug.WriteLine("IceAborted: "); //await callstats.IceAborted(IceAborted()); //Debug.WriteLine("IceTerminated: "); //await callstats.IceTerminated(IceTerminated()); //Debug.WriteLine("IceConnectionDisruptionStart: "); //await callstats.IceConnectionDisruptionStart(IceConnectionDisruptionStart()); //Debug.WriteLine("IceConnectionDisruptionEnd: "); //await callstats.IceConnectionDisruptionEnd(IceConnectionDisruptionEnd()); //Debug.WriteLine("MediaAction: "); //await callstats.MediaAction(MediaAction()); //Debug.WriteLine("MediaPlayback: "); //await callstats.MediaPlayback(MediaPlayback()); //Debug.WriteLine("ConnectedOrActiveDevices: "); //await callstats.ConnectedOrActiveDevices(ConnectedOrActiveDevices()); //Debug.WriteLine("ApplicationErrorLogs: "); //await callstats.ApplicationErrorLogs(ApplicationErrorLogs()); //Debug.WriteLine("ConferenceUserFeedback: "); //await callstats.ConferenceUserFeedback(ConferenceUserFeedback()); //Debug.WriteLine("DominantSpeaker: "); //await callstats.DominantSpeaker(DominantSpeaker()); //Debug.WriteLine("SDPEvent: "); //await callstats.SDPEvent(SDPEvent()); //Debug.WriteLine("BridgeStatistics: "); //await callstats.BridgeStatistics(BridgeStatistics()); //Debug.WriteLine("BridgeAlive: "); //await callstats.BridgeAlive(BridgeAlive()); //System.Timers.Timer timer = new System.Timers.Timer(30000); //timer.Elapsed += async (sender, e) => //{ // Debug.WriteLine("BridgeAlive: "); // await callstats.BridgeAlive(BridgeAliveData()); //}; //timer.Start(); }
void CoreListener.CallStatsUpdated(Call call, CallStats stats) { System.Diagnostics.Debug.WriteLine("CallStatsUpdated"); }
void CoreListener.CallStatsUpdated(Call call, CallStats stats) { System.Diagnostics.Debug.WriteLine("CallStatsUpdated"); }