void Session_SessionStateChanged(object sender, Ozeki.VoIP.VoIPEventArgs <OPSSDKCommon.Model.Session.SessionState> e) { Dispatcher.BeginInvoke(new Action(() => { try { Logger.Log("Call state changed: " + e.Item); var action = new Action(() => { Logger.Log("Js notify call state changed: " + e.Item); WebView.ExecuteJavascript("(function(){try{callStateChanged('" + e.Item.ToString() + "');}catch(err){}})()"); }); if (documentReady) { action(); } else { Logger.Log("Js cannot be executed while document is not ready."); AddPendingAction(action); } } catch (Exception ex) { Logger.Log(ex.Message); Logger.Log(ex.StackTrace); } })); }
void call_CallStateChanged(object sender, Ozeki.VoIP.VoIPEventArgs <CallState> e) { if (e.Item.IsInCall()) { if (firstInCall) { try { entry.State = WorkState.InProgress; firstInCall = false; ringingTimer.Elapsed -= ringingTimer_Elapsed; waveStreamPlayback = new WaveStreamPlayback(entry.SoundPath); call.ConnectAudioSender(waveStreamPlayback); waveStreamPlayback.Stopped += waveStreamPlayback_Stopped; waveStreamPlayback.StartStreaming(); progressTimer.Start(); } catch (Exception ex) { OnWorkCompleted(WorkState.FileError); } } } else if (e.Item.IsCallEnded()) { OnWorkCompleted(WorkState.HungUpByRemote); } }
void Softphone_IncomingCall(object sender, Ozeki.VoIP.VoIPEventArgs <Ozeki.VoIP.IPhoneCall> e) { if (_currentModel == null) { return; } SoftPhone.SetModel(_currentModel.AudioSender, _currentModel.VideoSender); }
void call_CallErrorOccurred(object sender, Ozeki.VoIP.VoIPEventArgs <CallError> e) { if (e.Item == CallError.NotFound) { OnWorkCompleted(WorkState.NotFound); } else { OnWorkCompleted(WorkState.CallError); } }
static void client_SessionCreated(object sender, Ozeki.VoIP.VoIPEventArgs <ISession> e) { Console.WriteLine("SessionCreated.CallDirection: {0}", e.Item.CallDirection); Console.WriteLine("SessionCreated.CallerId: {0}", e.Item.CallerId); Console.WriteLine("SessionCreated.Destination: {0}", e.Item.Destination); Console.WriteLine("SessionCreated.DialedNumber: {0}", e.Item.DialedNumber); Console.WriteLine("SessionCreated.RingDuration: {0}", e.Item.RingDuration); Console.WriteLine("SessionCreated.SessionID: {0}", e.Item.SessionID); Console.WriteLine("SessionCreated.Source: {0}", e.Item.Source); Console.WriteLine("SessionCreated.StartTime: {0}", e.Item.StartTime); Console.WriteLine("SessionCreated.State: {0}", e.Item.State); Console.WriteLine("SessionCreated.StateDuration: {0}", e.Item.StateDuration); Console.WriteLine("SessionCreated.TalkDuration: {0}", e.Item.TalkDuration); }
static void opsClient_SessionCreated(object sender, Ozeki.VoIP.VoIPEventArgs <OPSSDK.ISession> e) { Console.Clear(); Console.WriteLine("Source: " + e.Item.Source); Console.WriteLine("SessionID: " + e.Item.SessionID); Console.WriteLine("Call direction: " + e.Item.CallDirection); Console.WriteLine("Caller: " + e.Item.CallerId); Console.WriteLine("Callee: " + e.Item.DialedNumber); Console.WriteLine("Ring duration: " + e.Item.RingDuration); Console.WriteLine("State: " + e.Item.State); Console.WriteLine("State duration: " + e.Item.StateDuration); Console.WriteLine("Start time: " + e.Item.StartTime); Console.WriteLine("Talk duration: " + e.Item.TalkDuration); Console.WriteLine("Destination: " + e.Item.Destination); }
void Model_GetFilePath(object sender, Ozeki.VoIP.VoIPEventArgs <string> e) { InvokeGuiThread(() => { if (SendCapturedFileEmailCheckBox.IsChecked != null && (bool)SendCapturedFileEmailCheckBox.IsChecked) { Task.Factory.StartNew(SendEmailThread(e.Item)); } if (UploadCapturedFileFtpCheckBox.IsChecked != null && (bool)UploadCapturedFileFtpCheckBox.IsChecked) { Task.Factory.StartNew(UploadFtpThread(e.Item)); } MessageBox.Show("Snapshot saved to " + e.Item, "Snapshot"); }); }
private void Mpeg4Recorder_MultiplexFinished(object sender, Ozeki.VoIP.VoIPEventArgs <bool> e) { _connector.Disconnect(_camera.AudioChannel, _mpeg4Recorder.AudioRecorder); _connector.Disconnect(_camera.VideoChannel, _mpeg4Recorder.VideoRecorder); _mpeg4Recorder.Dispose(); }
static void client_SessionCompleted(object sender, Ozeki.VoIP.VoIPEventArgs <ISession> e) { Console.WriteLine("Call completed. Source: {0}, caller id: {1}, dialed number: {2}, destination: {3}", e.Item.Source, e.Item.CallerId, e.Item.DialedNumber, e.Item.Destination); Console.WriteLine(); DisposeCallRecorder(e.Item); }
void _recorder_MultiplexFinished(object sender, Ozeki.VoIP.VoIPEventArgs <bool> e) { _recorder.MultiplexFinished -= _recorder_MultiplexFinished; _recorder.Dispose(); }
void call_DtmfStarted(object sender, Ozeki.VoIP.VoIPEventArgs <DtmfSignal> e) { string target = null; if (config.IVRSettings == null) { return; } var ivr = config.IVRSettings; switch (e.Item.Signal) { case DtmfNamedEvents.Dtmf0: target = ivr.ZeroRedirection; break; case DtmfNamedEvents.Dtmf1: target = ivr.OneRedirection; break; case DtmfNamedEvents.Dtmf2: target = ivr.TwoRedirection; break; case DtmfNamedEvents.Dtmf3: target = ivr.ThreeRedirection; break; case DtmfNamedEvents.Dtmf4: target = ivr.FourRedirection; break; case DtmfNamedEvents.Dtmf5: target = ivr.FiveRedirection; break; case DtmfNamedEvents.Dtmf6: target = ivr.SixRedirection; break; case DtmfNamedEvents.Dtmf7: target = ivr.SevenRedirection; break; case DtmfNamedEvents.Dtmf8: target = ivr.EightRedirection; break; case DtmfNamedEvents.Dtmf9: target = ivr.NineRedirection; break; } entry.PressedNumber = (int)e.Item.Signal; if (!string.IsNullOrEmpty(target)) { call.BlindTransfer(target); } }
void streamer_ClientDisconnected(object sender, Ozeki.VoIP.VoIPEventArgs <IMJPEGStreamClient> e) { e.Item.StopStreaming(); }
void server_IncomingCall(object sender, Ozeki.VoIP.VoIPEventArgs <ICall> e) { Console.WriteLine("Server Incoming call: {0}", e); }
void pgnotebook_IncomingCall(object sender, Ozeki.VoIP.VoIPEventArgs <ICall> e) { Console.WriteLine("pg notebook Incoming call: {0}", e); }