public ctlDialer(VMuktiAPI.PeerType bindingtype, string uri, ModulePermissions[] MyPermissions, string Role)
        {
            try
            {
                InitializeComponent();
                ClsException.WriteToLogFile("Audio module Constructor has been Started");
                lstGlobalBuddyList = new List<string>();
                System.OperatingSystem osInfo = System.Environment.OSVersion;
                if (osInfo.Version.Major.ToString() == "6")
                {
                    blIsVista = true;
                    p = new System.Diagnostics.Process();
                    p.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory.ToString() + @"\VistaAudio";
                    p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                    p.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory.ToString() + @"\VistaAudio\VMuktiAudio.VistaService.exe";
                    p.Start();
                }
                else
                {
                    blIsVista = false;
                }


                _MyPermissions = MyPermissions;
                //FncPermissionsReview();            
                strMyRole = Role;
                btnTransfer.IsEnabled = false;
                btnDTMF.IsEnabled = false;
                btnHangup.IsEnabled = false;
                btnHold.IsEnabled = false;
                btnAccept.IsEnabled = false;
                btnReject.IsEnabled = false;
                btnCall.IsEnabled = true;
                btnConference.IsEnabled = true;
                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);
                objDelStartconference = new DelStartconference(FncStartConference);
                objDelSetConferenceUsers = new DelSetConferenceUsers(FncSetConferenceUsers);
                objDelStartIntitialConfrence = new DelStartInitialConference(FbcStartInitialConference);
                btnChannels = new Button[6];
                int btnLeft = 5;
                int btnTop = 47;
                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 = true;
                    CnvPhoneProperty.Children.Add(btnChannels[i]);
                    
                }
                t1 = new System.Timers.Timer(1000);
                t1.Elapsed += new System.Timers.ElapsedEventHandler(t1_Elapsed);
                UcPredictiveSoftPhone.AllowDrop = true;
                this.PreviewKeyDown += new System.Windows.Input.KeyEventHandler(ctlDialer_PreviewKeyDown);
                Application.Current.Exit += new ExitEventHandler(Current_Exit);

                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).entsvcSendDTMF += new clsNetTcpRTCVistaService.DelsvcSendDTMF(ctlDialer_entsvcSendDTMF);
                    ((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();
                }

                bwRegisterSIPUser = new System.ComponentModel.BackgroundWorker();
                bwRegisterSIPUser.DoWork += new System.ComponentModel.DoWorkEventHandler(bwRegisterSIPUser_DoWork);
                bwRegisterSIPUser.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(bwRegisterSIPUser_RunWorkerCompleted);

                FncRegister(null, null);
                ClsException.WriteToLogFile("Going to start thread.");
                ThOpenClinet = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(FncOpenClinet));
                System.Collections.Generic.List<object> lstParameters = new System.Collections.Generic.List<object>();
                lstParameters.Add(bindingtype);
                lstParameters.Add(uri);
                ThOpenClinet.Start(lstParameters);

                //VMukti.Global.VMuktiGlobal.strBootStrapIPs[0] = "210.211.254.132";
                //VMukti.Global.VMuktiGlobal.strSuperNodeIP = "210.211.254.132";
                //VMukti.Global.VMuktiGlobal.strUserName = Environment.MachineName;
                
                ClsException.WriteToLogFile("Registering Singout event");
                VMuktiAPI.VMuktiHelper.RegisterEvent("SignOut").VMuktiEvent += new VMuktiEvents.VMuktiEventHandler(ctlDialer_SignOut_VMuktiEvent);                
                objDelAsyncGetMessage = new DelAsyncGetMessage(delAsyncGetMessage);
                this.Loaded += new RoutedEventHandler(ctlDialer_Loaded);

                ///Object Creation to keep call information.
                objCallInfo = new ClsCallInfo();
                dtCallStartDate = new DateTime();
                TenMinTimer = new System.Windows.Threading.DispatcherTimer();
                TenMinTimer.Tick += new EventHandler(TenMinTimer_Tick);
            }
            catch (Exception ex)
            {
                VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "ctlDialer", "Audio\\ctlDialer.xaml.cs");
            }
        }	   
        void GlobalVariable()
        {
            try
            {
                disposed = false;

                objDelGetMsg = new DelGetMessage(delGetMessage);

                objDelPageSpecialMsg = new DelPageSpecialMsg(delPageSpecialMsg);
                objDelPageBuddyRetSetSpecialMsg = new DelPageBuddyRetSetSpecialMsg(delPageBuddyRetSetSpecialMsg);

                objDelRemoveDraggedBuddy = new DelRemoveDraggedBuddy(delRemoveDraggedBuddy);
                objDelAsyncGetMsg = new DelAsyncGetMessage(delAsyncGetMessage);

                #region Monitoring System

                objNetTcpConsole = new ClsNetP2PConsoleDelegates();
                blnISConsole = false;
                arr = new byte[5000];
                dictConsoleLog = new Dictionary<string, Stream>();

                #endregion

                #region Disaster Recovery

                delBandWidthUsage = new DelBandWidthUsage(fncBandWidthUsage);

                #endregion

                #region Download Zip For Nodes

                al = new ArrayList();

                #endregion

                #region Bandwidth

                dblbandwidthdl = 0;
                dblbandwidthul = 0;
                count = 0;

                objDelDownload = new DelDownload(delBandwidthDownload);
                objDelUpload = new DelUpload(delBandwidthUpload);
                objBandwidth = new DelBandwidth(BandwidthUploadSpeed);

                #endregion

                #region Multiple Buddy Selection

                objDelSetSpecialMsg4Buddies = new DelSetSpecialMsg4Buddies(delSetSpecialMsg4Buddies);
                objDelSetSpecialMsgBuddiesClick = new DelSetSpecialMsgBuddiesClick(delSetSpecialMsgBuddiesClick);

                #endregion

                
            }
            catch (Exception ex)
            {
                VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "GlobalVariable()", "pgHome.xaml.cs");
            }
        }
        public FileSearch(VMuktiAPI.PeerType bindingtype, string uri, ModulePermissions[] MyPermissions, string Role)
        {
            try
            {
                InitializeComponent();

                objDelUIStatus = new DelUIStatus(FncDelUIStatus);
                objDelUIFileSearchEntsvcSearchResult = new DelUIFileSearchEntsvcSearchResult(FncDelUIFileSearchEntsvcSearchResult);
                objDelDisplayName = new DelDisplayName(DisplayName);
                DelThread dt = new DelThread(FncMain);
                this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Send, dt);
                this.listViewResults.MouseDoubleClick += new MouseButtonEventHandler(listViewResults_MouseDoubleClick);

                ThrHostFileSearch = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(FncHostFileSearchService));
                List<object> lstParams = new List<object>();
                lstParams.Add(bindingtype);
                lstParams.Add(uri);
                lstParams.Add(MyPermissions);
                ThrHostFileSearch.Start(lstParams);
             
                Rolee = Role;
                //lstBuddyList.Add("ADIANCE-222");
                //lstBuddyList.Add("ADIANCE07");
                //cnvMain.AllowDrop = true;
                //cnvMain.PreviewDrop += new DragEventHandler(cnvMain_PreviewDrop);

                Application.Current.Exit += new ExitEventHandler(Current_Exit);
                VMuktiAPI.VMuktiHelper.RegisterEvent("SignOut").VMuktiEvent += new VMuktiAPI.VMuktiEvents.VMuktiEventHandler(FileSearch_VMuktiEvent);

                ClsException.WriteToLogFile("Loading FileSearch Module");

                objDelAsyncGetMessage = new DelAsyncGetMessage(delAsyncGetMessage);
                objDelAsyncGetMessage4GetFileList = new DelAsyncGetMessage4GetFileList(delAsyncGetMessage4GetFileList);

                this.Loaded += new RoutedEventHandler(FileSearch_Loaded);

            }
            catch (Exception ex)
            {
                VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "FileSearch", "FileSearch.xaml.cs");
            }
        }
        void GlobalVariable()
        {
            try
            {
                arr = new byte[16000];
                lstName = new List<string>();
                disposed = false;

                objDelSetSlide = new DelSetSlide(delSetSlide);
                objDelSetSlideList = new DelSetSlideList(delSetSlideList);
                objDelGetMsg = new DelGetMessage(delGetMessage);
                objDelDisplayName = new DelDisplayName(DisplayName);
                objDelSignOutMsg = new DelSignOutMessage(delSignoutMessage);
                objDelAsyncGetMessage = new DelAsyncGetMessage(delAsyncGetMessage);
            }
            catch(System.Exception ex)
            {
                VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "GlobalVariable()", "UserControl1.xaml.cs");
            }
        }
        void GlobalVariable()
        {
            try
            {
                objNetTcpChat = new clsNetTcpChat();
                objHttpChat = new clsHttpChat();
                temp = 0;
                tempcounter = 0;
                blnTypingStatus = false;
                blnSendTypeMsg = true;
                //arr = new byte[5000];
                lstName = new List<string>();
                lstTypingUsers = new List<string>();
                isChatHistoryFolderCreated = false;
                isChatHistoryEnabled = true;


                objDelDisplayName = new DelDisplayName(DisplayName);

                objDelSendMsg = new DelSendMessage(delSendMessage);
                objDelSignOutMsg = new DelSignOutMessage(delSignoutMessage);

                objDelSendPeerMsg = new DelSendPeerMessage(delSendPeerMessage);
                objDelGetUserList = new DelGetUserList(delGetUserList);
                objDelUserTypeing = new DelShowUserTypeing(delShowUserTypeMessage);
                objDelTextDownEvent = new DelTextDownEvent(delTextDownEvent);
                objDelAsyncGetMessage = new DelAsyncGetMessage(delAsyncGetMessage);
            
            }
            catch (Exception ex)
            {
                MessageBox.Show("GlobalVariable" +  ex.Message);
            }
        }