private void FncOpenClinet(object lstParameters) { try { System.Collections.Generic.List<object> lstTempObj = (System.Collections.Generic.List<object>)lstParameters; strUri = lstTempObj[1].ToString(); if ((VMuktiAPI.PeerType)lstTempObj[0] == VMuktiAPI.PeerType.NodeWithNetP2P || (VMuktiAPI.PeerType)lstTempObj[0] == VMuktiAPI.PeerType.BootStrap || (VMuktiAPI.PeerType)lstTempObj[0] == VMuktiAPI.PeerType.SuperNode) { VMuktiService.NetPeerClient ncpAudio = new VMuktiService.NetPeerClient(); ((clsNetTcpAudio)objNetTcpAudio).EntsvcP2PJoin += new AutoProgressivePhone.Business.Service.NetP2P.clsNetTcpAudio.DelsvcP2PJoin(ctlDialer_EntsvcP2PJoin); ((clsNetTcpAudio)objNetTcpAudio).EntsvcP2PStartConference += new AutoProgressivePhone.Business.Service.NetP2P.clsNetTcpAudio.DelsvcP2PStartConference(ctlDialer_EntsvcP2PStartConference); ((clsNetTcpAudio)objNetTcpAudio).EntsvcP2PUnJoin += new AutoProgressivePhone.Business.Service.NetP2P.clsNetTcpAudio.DelsvcP2PUnJoin(ctlDialer_EntsvcP2PUnJoin); NetP2PChannel = (INetTcpAudioChannel)ncpAudio.OpenClient<INetTcpAudioChannel>(strUri, strUri.ToString().Split(':')[2].Split('/')[2], ref objNetTcpAudio); while (temp < 20) { try { NetP2PChannel.svcP2PJoin(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName); temp = 20; } catch { temp++; System.Threading.Thread.Sleep(1000); } } } else { VMuktiService.BasicHttpClient bhcAudio = new VMuktiService.BasicHttpClient(); Httpchannel = (IHttpAudio)bhcAudio.OpenClient<IHttpAudio>(strUri); while (tempcounter < 20) { try { Httpchannel.svcJoin(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName); tempcounter = 20; } catch { tempcounter++; System.Threading.Thread.Sleep(1000); } } dtGetConference.Interval = TimeSpan.FromSeconds(2); dtGetConference.Tick += new EventHandler(dtGetConference_Tick); dtGetConference.Start(); } } catch (Exception ex) { VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "fncOpenClient()", "ctlDialer.xaml.cs"); } }
public ctlDialer(VMuktiAPI.PeerType objLocalPeerType, string uri, ModulePermissions[] MyPermissions,string Role) { InitializeComponent(); System.OperatingSystem osInfo = System.Environment.OSVersion; if (osInfo.Version.Major.ToString() == "6") { blIsVista = true; ProcStartAudioVistaExe = new System.Diagnostics.Process(); ProcStartAudioVistaExe.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory.ToString() + @"\VistaAudio"; ProcStartAudioVistaExe.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; ProcStartAudioVistaExe.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory.ToString() + @"\VistaAudio\VMuktiAudio.VistaService.exe"; ProcStartAudioVistaExe.Start(); } else { blIsVista = false; } objPeerType = objLocalPeerType; _MyPermissions = MyPermissions; FncPermissionsReview(); try { btnPad.Click += new RoutedEventHandler(btnPad_Click); btnReject.Click += new RoutedEventHandler(btnReject_Click); btnAccept.Click += new RoutedEventHandler(btnAccept_Click); btnCancel.Click += new RoutedEventHandler(btnCancel_Click); btnTransfer.Click += new RoutedEventHandler(btnTransfer_Click); btnDTMF.Click += new RoutedEventHandler(btnDTMF_Click); btnCall.Click += new RoutedEventHandler(btnCall_Click); btnHangup.Click += new RoutedEventHandler(btnHangup_Click); btnHold.Click += new RoutedEventHandler(btnHold_Click); btnConference.Click += new RoutedEventHandler(btnConference_Click); btnChannels = new Button[6]; int btnLeft = 10; int btnTop = 60; for (int i = 0; i < 6; i++) { (btnChannels[i]) = new Button(); btnChannels[i].Height = 20; btnChannels[i].Width = 34; btnChannels[i].Content = (i + 1).ToString(); btnChannels[i].Name = "btnCh" + (i + 1).ToString(); btnChannels[i].FontSize = 11; btnChannels[i].BorderThickness = new Thickness(0, 0, 0, 0); btnChannels[i].Margin = new Thickness(btnLeft, btnTop, 0, 0); btnLeft = btnLeft + 39; btnChannels[i].Click += new RoutedEventHandler(ChClick); btnChannels[i].Tag = "Free"; btnChannels[i].IsEnabled = false; CnvPhoneProperty.Children.Add(btnChannels[i]); TimeCounterCollection.Add(i, "0:00:00"); } VMuktiHelper.RegisterEvent("RegisterAgent").VMuktiEvent += new VMuktiEvents.VMuktiEventHandler(FncRegister); VMuktiHelper.RegisterEvent("Dial").VMuktiEvent += new VMuktiEvents.VMuktiEventHandler(ctlDialer_VMuktiEventDial); VMuktiHelper.RegisterEvent("HangUp").VMuktiEvent += new VMuktiEvents.VMuktiEventHandler(ctlDialer_VMuktiEventHangUp); VMuktiHelper.RegisterEvent("StartManualDialing").VMuktiEvent += new VMuktiEvents.VMuktiEventHandler(ctlDialer_VMuktiEventStartManualDialing); VMuktiHelper.RegisterEvent("SetSoftPhoneEnable").VMuktiEvent += new VMuktiEvents.VMuktiEventHandler(ctlDialer_VMuktiEvent_SetSoftPhoneEnable); VMuktiHelper.RegisterEvent("CallHangUPFromRender").VMuktiEvent += new VMuktiEvents.VMuktiEventHandler(ctlDialer_VMuktiEvent); VMuktiAPI.VMuktiHelper.RegisterEvent("SignOut").VMuktiEvent += new VMuktiEvents.VMuktiEventHandler(ctlDialer_VMuktiEventSignOut); t1 = new System.Timers.Timer(1000); t1.Elapsed += new System.Timers.ElapsedEventHandler(t1_Elapsed); btnHold.IsEnabled = false; btnTransfer.IsEnabled = false; objDelDisplayName = new DelDisplayName(DisplayName); objHangupAdmin = new DelHangupAdmin(HangupAdmin); objBargeRequest = new DelBargeReqest(BargeRequest); Application.Current.Exit += new ExitEventHandler(Current_Exit); //FncRegister(null, null); if (blIsVista) { System.Threading.Thread.Sleep(30000); npcRTCVistaClient = new VMuktiService.NetPeerClient(); objNetP2PRTCVista = new clsNetTcpRTCVistaService(); ((clsNetTcpRTCVistaService)objNetP2PRTCVista).entsvcJoin += new clsNetTcpRTCVistaService.DelsvcJoin(ctlDialer_entsvcJoin); ((clsNetTcpRTCVistaService)objNetP2PRTCVista).entsvcCreateRTCClient += new clsNetTcpRTCVistaService.DelsvcCreateRTCClient(ctlDialer_entsvcCreateRTCClient); ((clsNetTcpRTCVistaService)objNetP2PRTCVista).entsvcRegisterSIPPhone += new clsNetTcpRTCVistaService.DelsvcRegisterSIPPhone(ctlDialer_entsvcRegisterSIPPhone); ((clsNetTcpRTCVistaService)objNetP2PRTCVista).entsvcAnswer += new clsNetTcpRTCVistaService.DelsvcAnswer(ctlDialer_entsvcAnswer); ((clsNetTcpRTCVistaService)objNetP2PRTCVista).entsvcDial += new clsNetTcpRTCVistaService.DelsvcDial(ctlDialer_entsvcDial); ((clsNetTcpRTCVistaService)objNetP2PRTCVista).entsvcHangup += new clsNetTcpRTCVistaService.DelsvcHangup(ctlDialer_entsvcHangup); ((clsNetTcpRTCVistaService)objNetP2PRTCVista).entsvcHold += new clsNetTcpRTCVistaService.DelsvcHold(ctlDialer_entsvcHold); ((clsNetTcpRTCVistaService)objNetP2PRTCVista).entsvcTransfer += new clsNetTcpRTCVistaService.DelsvcTransfer(ctlDialer_entsvcTransfer); ((clsNetTcpRTCVistaService)objNetP2PRTCVista).entsvcRTCEvent += new clsNetTcpRTCVistaService.DelsvcRTCEvent(ctlDialer_entsvcRTCEvent); ((clsNetTcpRTCVistaService)objNetP2PRTCVista).entsvcUnJoin += new clsNetTcpRTCVistaService.DelsvcUnJoin(ctlDialer_entsvcUnJoin); ClientNetP2PRTCVistaChannel = (INetTcpRTCVistaServiceChannel)npcRTCVistaClient.OpenClient<INetTcpRTCVistaServiceChannel>("net.tcp://localhost:6060/NetP2PRTCVista", "NetP2PRTCVistaMesh", ref objNetP2PRTCVista); ClientNetP2PRTCVistaChannel.svcJoin(); } ThOpenClinet = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(FncOpenClinet)); System.Collections.Generic.List<object> lstParameters = new System.Collections.Generic.List<object>(); lstParameters.Add(objLocalPeerType); lstParameters.Add(uri); ThOpenClinet.Start(lstParameters); thostActiveAgent = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(hostActiveAgentService)); List<object> lstParams = new List<object>(); lstParams.Add("net.tcp://" + VMuktiInfo.BootStrapIPs[0] + ":6000/NetP2PBootStrapActiveAgentReport"); lstParams.Add("P2PActiveAgentMesh"); thostActiveAgent.Start(lstParams); } catch (Exception ex) { VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "ctlDialer()", "ctlDialer.xaml.cs"); } }