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 call_CallErrorOccurred(object sender, Ozeki.VoIP.VoIPEventArgs<CallError> e) { if (e.Item == CallError.NotFound) OnWorkCompleted(WorkState.NotFound); else OnWorkCompleted(WorkState.CallError); }
void recorder_MultiplexFinished(object sender, Ozeki.VoIP.VoIPEventArgs<bool> e) { Log.Write("recorder_MultiplexFinished() started"); var mp4Recorder = sender as MPEG4Recorder; //connector.Disconnect(_camera.AudioChannel, recorder.AudioRecorder); //connector.Disconnect(camera.VideoChannel, recorder.VideoRecorder); mp4Recorder.MultiplexFinished -= recorder_MultiplexFinished; mp4Recorder.Dispose(); //Task.Factory.StartNew(FtpUploadOnNewThread); Log.Write("recorder_MultiplexFinished() ended"); }
static void client_SessionCreated(object sender, Ozeki.VoIP.VoIPEventArgs<ISession> e) { Console.WriteLine("Call created. Source: {0}, caller id: {1}, dialed number: {2}, destination: {3}", e.Item.Source, e.Item.CallerId, e.Item.DialedNumber, e.Item.Destination); CreateCallRecorder(e.Item); }
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); }
public override void OnDataReceived(object sender, Ozeki.Media.VideoData data) { SendData(data); }
/// <summary> /// Creates a phone line and adds it to the collection. /// </summary> public IPhoneLine AddPhoneLine(SIPAccount account, Ozeki.Network.TransportType transportType, NatConfiguration natConfig, SRTPMode srtpMode) { IPhoneLine line = softPhone.CreatePhoneLine(account, natConfig, transportType, srtpMode); SubscribeToLineEvents(line); // add to collection PhoneLines.Add(line); return line; }
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); } })); }
/// <summary> /// Creates a phone line and adds it to the collection. /// </summary> public IPhoneLine AddPhoneLine(SIPAccount account, Ozeki.Network.TransportType transportType, NatConfiguration natConfig, SRTPMode srtpMode) { var config = new PhoneLineConfiguration(account); config.TransportType = transportType; config.NatConfig = natConfig; config.SRTPMode = srtpMode; return AddPhoneLine(config); }
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"); }); }
void Softphone_IncomingCall(object sender, Ozeki.VoIP.VoIPEventArgs<Ozeki.VoIP.IPhoneCall> e) { if (_currentModel == null) return; SoftPhone.SetModel(_currentModel.AudioSender, _currentModel.VideoSender); }
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); }
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); }