static void Main(string[] args) { NetFirewall nfw = new NetFirewall(); ColorConsole cc = new ColorConsole(); try { if (nfw.IsFirewallEnabled) { nfw.AuthorizeApplication("NetworkMonitor", Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "NetworkMonitor.App.exe")); } else { cc.TextColor(Color.Blue); Console.WriteLine("未检测到Windows防火墙在运行。如果安装有其它的防火墙,请将该程序加入例外列表中"); } cc.TextColor(Color.Green); Console.WriteLine("输入要监控的IP地址:"); string bindingip = Console.ReadLine(); string[] bindingAddress; if (bindingip.Contains(":")) { bindingAddress = bindingip.Split(new char[] { ':' }); } else { bindingAddress = new string[] { bindingip }; } NetProvider m_provider; RawSocket m_socket; m_provider = new NetProvider(bindingAddress[0]); if (1 == bindingAddress.Length) { m_socket = new RawSocket(AddressFamily.InterNetwork, m_provider); } else { m_socket = new RawSocket(AddressFamily.InterNetwork, m_provider, Convert.ToInt32(bindingAddress[1])); } m_socket.Start(bindingAddress[0]); } catch (Exception eX) { Console.WriteLine(eX.Message); } Console.ReadLine(); }
protected override void PostRestart(Exception reason) { ColorConsole.WriteLineBlue("Cordinator{0}'s PostRestart called because: {1} ", Self.Path.Name, reason.Message); base.PostRestart(reason); }
protected override void PreRestart(Exception reason, object message) { ColorConsole.WriteLineWhite("Cordinator{0}'s PreRestart called because: {1} ", Self.Path.Name, reason.Message); base.PreRestart(reason, message); }
protected override void PostRestart(Exception reason) { ColorConsole.WriteLineYellow($"{ ActorClassName } PostRestart because: { reason }"); base.PostRestart(reason); }
protected override void PostStop() { ColorConsole.WriteLineYellow($"{ ActorClassName } PostStop"); }
private static void ShellOnWritePrompt(object sender, EventArgs eventArgs) { ColorConsole.Write("[ ".Green(), DateTime.Now.ToLongTimeString(), " ]-> ".Green()); }
public void Demo() { ColorConsole.WriteInfo("Inside method DEMO. Thread ID : " + Thread.CurrentThread.ManagedThreadId); Thread.Sleep(1000); Console.WriteLine("Thread execution completed."); }
protected override void PostStop() { ColorConsole.WriteWhite("PlaybackStatisticsActor PostStop"); }
protected override void PreRestart(Exception reason, object message) { ColorConsole.WriteLineCyan("UserCoordinatorActor PreRestart because: " + reason); }
protected override void PostStop() { ColorConsole.WriteLineCyan("UserCoordinatorActor PostStop"); }
protected override void PreStart() { ColorConsole.WriteLineCyan("UserCoordinatorActor PreStart"); }
public void TestGetColor(ColorStyle style, ConsoleColor expected) { Assert.That(ColorConsole.GetColor(style), Is.EqualTo(expected)); }
protected override void PostRestart(Exception reason) { ColorConsole.WriteColorLine("PlaybackStatisticsActor PostRestart because: " + reason, ConsoleColor.White); base.PostRestart(reason); }
protected override void PreRestart(Exception reason, object message) { ColorConsole.WriteColorLine("PlaybackStatisticsActor PreRestart because: " + reason, ConsoleColor.White); base.PreRestart(reason, message); }
protected override void PostRestart(Exception reason) { ColorConsole.WriteLineCyan("UserCoordinatorActor PostRestart because: " + reason); base.PostRestart(reason); }
protected override void PostStop() { ColorConsole.WriteColorLine("PlaybackStatisticsActor PostStop", ConsoleColor.White); }
private void HandleLogEntryMessage(LogEntryMessage msg) { File.AppendAllText(_logFileName, $"{ msg }\r\n"); ColorConsole.WriteLineYellow($"Message logged for LoggerActor '{ msg.AppId }'."); }
protected override void PostRestart(Exception reason) { ColorConsole.WriteWhite($"PlaybackStatisticsActor PostRestart because: {reason.Message}"); base.PostRestart(reason); }
protected override void PreStart() { ColorConsole.WriteLineYellow($"{ ActorClassName }: Log file = { _logFileName }."); }
private static void ShellOnShellCommandNotFound(object sender, CommandNotFoundEventArgs e) { ColorConsole.WriteLine($"Command not found: ".Red(), e.Input.White()); }
protected override void PreRestart(Exception reason, object message) { ColorConsole.WriteLineWhite("WorkerActor for Coordinator {0} called PreReStart because: {1}", Context.Parent.Path.Name, reason.Message); Self.Tell(_myJob); base.PreRestart(reason, message); }
protected override void PreStart() { ColorConsole.WriteLineYellow($"{ ActorClassName } PreStart on { Environment.MachineName }"); }
protected override void PostRestart(Exception reason) { ColorConsole.WriteLineWhite("WorkerActor for Coordinator {0} called PostRestart because: {1}", Context.Parent.Path.Name, reason.Message); base.PostRestart(reason); }
protected override void PreRestart(Exception reason, object message) { ColorConsole.WriteLineYellow($"{ ActorClassName } PreRestart because: { reason }"); base.PreRestart(reason, message); }
protected override void PostStop() { ColorConsole.WriteLineRed("WorkerActor for Coordinator {0} stopped.", Context.Parent.Path.Name); }
public Task Run(CancellationToken cancellationToken) { const string MusicOnHold = "local_stream://moh"; const string AgentEndPoint = "user/1003"; const string RingTone = "tone_stream://%(400,200,400,450);%(400,2000,400,450);loops=-1"; // uk ring const string DialTone = "tone_stream://%(10000,0,350,440)"; const string RecordingPath = "/var/tmp/"; listener = new OutboundListener(8084); listener.Channels.Subscribe( async channel => { try { channel.BridgedChannels.Subscribe( async bridgedChannel => { ColorConsole.WriteLine("New Bridged Channel [{0}]".Fmt(bridgedChannel.UUID).DarkGreen()); bridgedChannel.HangupCallBack = (e) => ColorConsole.WriteLine( "Hangup Detected on B-Leg {0} {1}".Fmt( e.Headers[HeaderNames.CallerUniqueId], e.Headers[HeaderNames.HangupCause]).Red()); ColorConsole.WriteLine("Enabling feature codes on the B-Leg: ".DarkGreen()); ColorConsole.WriteLine("Press ".DarkGreen(), "#1".Yellow(), " to Play to both Legs".DarkGreen()); ColorConsole.WriteLine("Press ".DarkGreen(), "#2".Yellow(), " to Play to A Leg".DarkGreen()); ColorConsole.WriteLine("Press ".DarkGreen(), "#3".Yellow(), " to Play to B Leg".DarkGreen()); ColorConsole.WriteLine("Press ".DarkGreen(), "#7".Yellow(), " to Start Recording".DarkGreen()); ColorConsole.WriteLine("Press ".DarkGreen(), "#8".Yellow(), " to Stop Recording".DarkGreen()); ColorConsole.WriteLine("Press ".DarkGreen(), "#4".Yellow(), " to Pause Recording".DarkGreen()); ColorConsole.WriteLine("Press ".DarkGreen(), "#5".Yellow(), " to Resume Recording".DarkGreen()); ColorConsole.WriteLine("Press ".DarkGreen(), "#9".Yellow(), " for attended transfer".DarkGreen()); await channel.SetChannelVariable("RECORD_STEREO", "true"); var recordingPath = RecordingPath + channel.UUID + ".wav"; bridgedChannel.FeatureCodes("#").Subscribe( async x => { try { ColorConsole.WriteLine("Detected Feature Code: ".DarkYellow(), x); switch (x) { case "#1": await channel.Play("ivr/ivr-welcome_to_freeswitch.wav", Leg.Both); break; case "#2": await channel.Play("ivr/ivr-welcome_to_freeswitch.wav", Leg.ALeg); break; case "#3": await channel.Play("ivr/ivr-welcome_to_freeswitch.wav", Leg.BLeg); break; case "#4": ColorConsole.WriteLine("Mask recording".Yellow()); await channel.MaskRecording(); await channel.Play("ivr/ivr-recording_paused.wav", Leg.BLeg); break; case "#5": ColorConsole.WriteLine("Unmask recording".Yellow()); await channel.UnmaskRecording(); await channel.Play("ivr/ivr-begin_recording.wav", Leg.BLeg); break; case "#8": ColorConsole.WriteLine("Stop recording".Yellow()); await channel.StopRecording(); await channel.Play("ivr/ivr-recording_stopped.wav", Leg.Both); break; case "#7": ColorConsole.WriteLine("Start recording".Yellow()); await channel.StartRecording(recordingPath); await channel.Play("ivr/ivr-begin_recording.wav", Leg.Both); break; case "#9": ColorConsole.WriteLine("Attended x-fer".Yellow()); await Task.WhenAll( channel.Play("ivr/ivr-call_being_transferred.wav"), bridgedChannel.Play("misc/transfer1.wav")); var holdMusic = await channel.PlayUntilCancelled(MusicOnHold); var digits = await bridgedChannel.Read( new ReadOptions { MinDigits = 3, MaxDigits = 4, Prompt = DialTone, TimeoutMs = 30000, Terminators = "#" }); if (digits.Result != ReadResultStatus.Success || digits.Digits.Length != 4) { holdMusic.Dispose(); } else { await bridgedChannel.SetChannelVariable("recording_follow_attxfer", "true"); await bridgedChannel.SetChannelVariable("origination_cancel_key", "#"); await bridgedChannel.SetChannelVariable("transfer_ringback", RingTone); var xfer = await bridgedChannel.AttendedTransfer("user/{0}".Fmt(digits)); holdMusic.Dispose(); ColorConsole.WriteLine( "Xfer ".Yellow(), xfer.Status.ToString().DarkYellow(), " ", xfer.HangupCause.GetValueOrDefault().ToString()); if (xfer.Status != AttendedTransferResultStatus.Failed) { await channel.Play("misc/transfer2.wav", Leg.Both); } else { if (xfer.HangupCause == HangupCause.CallRejected) { await bridgedChannel.Play("ivr/ivr-call_rejected.wav"); } else if (xfer.HangupCause == HangupCause.NoUserResponse || xfer.HangupCause == HangupCause.NoAnswer) { await bridgedChannel.Play("ivr/ivr-no_user_response.wav"); } else if (xfer.HangupCause == HangupCause.UserBusy) { await bridgedChannel.Play("ivr/ivr-user_busy.wav"); } else { await bridgedChannel.Play( "ivr/ivr-call_cannot_be_completed_as_dialed.wav"); } } } break; } } catch (OperationCanceledException ex) { ColorConsole.WriteLine("TaskCancelled - shutting down\r\n{0}".Fmt(ex.ToString()).OnRed()); ColorConsole.WriteLine("Channel {0} is {1}".Fmt(channel.UUID, channel.Answered).OnRed()); } }); }); channel.HangupCallBack = (e) => { ColorConsole.WriteLine("Hangup Detected on A-Leg {0} {1}".Fmt(e.Headers[HeaderNames.CallerUniqueId], e.Headers[HeaderNames.HangupCause]).Red()); ColorConsole.WriteLine("Aleg bridge {0}".Fmt(channel.GetVariable("last_bridge_hangup_cause")).OnRed()); }; await channel.Answer(); var queueHoldMusic = await channel.PlayUntilCancelled(MusicOnHold); await Task.Delay(5000); await channel.Play(new[] { "ivr/ivr-you_are_number.wav", 123456.ToFileString(), "ivr/ivr-in_line.wav" }); await Task.Delay(5000); queueHoldMusic.Dispose(); var bridgeOptions = new BridgeOptions() { UUID = Guid.NewGuid().ToString(), IgnoreEarlyMedia = true, RingBack = RingTone, ContinueOnFail = true, HangupAfterBridge = true, TimeoutSeconds = 10, CallerIdName = channel.GetVariable("effective_caller_id_name"), CallerIdNumber = channel.GetVariable("effective_caller_id_number"), }; await channel.SetChannelVariable( "transfer_ringback", "tone_stream://%(400,200,400,450);%(400,2000,400,450);loops=-1"); await channel.BridgeTo(AgentEndPoint, bridgeOptions, (e) => ColorConsole.WriteLine("Bridge Progress Ringing...".DarkGreen())); if (!channel.IsBridged) { ColorConsole.WriteLine("Bridge Failed - {0}".Fmt(channel.GetVariable("last_bridge_hangup_cause")).Red()); await channel.Play("ivr/ivr-call_rejected.wav"); await channel.Hangup(HangupCause.NormalTemporaryFailure); } } catch (OperationCanceledException ex) { ColorConsole.WriteLine("TaskCancelled - shutting down\r\n{0}".Fmt(ex.ToString()).OnRed()); ColorConsole.WriteLine("Channel {0} is {1}".Fmt(channel.UUID, channel.Answered).OnRed()); } }); listener.Start(); Console.WriteLine("Listener started. Press [Enter] to stop"); Console.ReadLine(); return(Task.FromResult(0)); }
public UserActor() { Console.WriteLine("Creating a UserActor"); ColorConsole.WriteLineCyan("Setting initial behavior to stopped"); _behavior = new Behavior(Stopped); }
protected override void PostStop() { ColorConsole.WriteLineRed("Cordinator{0}'s stopped.", Self.Path.Name); }
private void CompileCU(bool console, string resourceFile, CodeCompileUnit cu) { CSharpCodeProvider p = new CSharpCodeProvider(); ICodeCompiler cc = p.CreateCompiler(); CompilerParameters options = new CompilerParameters(); options.ReferencedAssemblies.Add(genData.ZipDllName); // required options.ReferencedAssemblies.Add("System.dll"); if (genData.IsService) { //options.ReferencedAssemblies.Add("System.Configuration.dll"); options.ReferencedAssemblies.Add("System.Configuration.Install.dll"); options.ReferencedAssemblies.Add("System.ServiceProcess.dll"); } if (!console) { options.ReferencedAssemblies.Add("System.Windows.Forms.dll"); } options.GenerateExecutable = true; options.OutputAssembly = OutDirMan.MakeOutFileName(genData.ExeFileName); options.CompilerOptions += "/res:\"" + resourceFile + "\""; if (!console) { options.CompilerOptions += " /target:winexe"; } if (genData.XPlatform != null) { options.CompilerOptions += " /platform:" + genData.XPlatform; //"x86"; } if (genData.IconFile != null) { options.CompilerOptions += MakeIconArg(true); } if (genData.LicenseResourceFile != null) { options.CompilerOptions += MakeLicArg(true); } if ((genData.OtherCompOptions != null) && (genData.OtherCompOptions.Length > 0)) { options.CompilerOptions += " " + genData.OtherCompOptions; } CompilerResults cr = cc.CompileAssemblyFromDom(options, cu); if (cr.Errors.Count > 0) { StringBuilder sb = new StringBuilder(); Logger.Log("\r\n# NetzStarter compilation errors:\r\n"); foreach (CompilerError err in cr.Errors) { string t = err.ErrorNumber + " " + err.ErrorText + " " + err.FileName + " L:" + err.Line + " C:" + err.Column; sb.Append(t).Append(Environment.NewLine); Logger.Log(" " + t); } sb.Append(Environment.NewLine); sb.Append(((CodeSnippetCompileUnit)cu).Value); if (sb.Length > 0) { try { string errFile = "error.txt"; sb.Append(Environment.NewLine).Append(".NETZ Version: ").Append(System.Reflection.Assembly.GetExecutingAssembly().FullName); sb.Append(Environment.NewLine).Append(".NET Version: ").Append(Environment.Version.ToString()); sb.Append(Environment.NewLine).Append(netz.InputParser.GetInnerTemplatesFingerPrint(this.genData.CompressProviderDLL)); sb.Append(Environment.NewLine).Append(Environment.StackTrace); sb.Append(Environment.NewLine).Append(DateTime.Now.ToString()); sb.Append(Environment.NewLine); Utils.WriteTextFile(errFile, sb.ToString()); Logger.Log(string.Empty); errFile = OutDirMan.MakeOutFileName("error.txt"); ColorConsole c = null; try { c = new ColorConsole(); c.SetColor(ColorConsole.FOREGROUND_RED | ColorConsole.FOREGROUND_INTENSITY); } catch {} Logger.Log("! Please email the error file: " + errFile); Logger.Log("! To: " + Help.EMAIL); Logger.Log(string.Empty); Logger.Log("! To help locate better the errors add the -v option to"); Logger.Log("! your current netz command-line and email also the screen output!"); Logger.Log("! No support is provided for custom startup and compress templates!"); Logger.Log("! Check http://madebits.com/netz/ for more help on how to report a bug!"); try { if (c != null) { c.Reset(); } } catch {} } catch {} } } }
private void CompileCU(bool console, string resourceFile, CodeCompileUnit cu) { CSharpCodeProvider p = new CSharpCodeProvider(); ICodeCompiler cc = p.CreateCompiler(); CompilerParameters options = new CompilerParameters(); options.ReferencedAssemblies.Add(genData.ZipDllName); // required options.ReferencedAssemblies.Add("System.dll"); if(genData.IsService) { //options.ReferencedAssemblies.Add("System.Configuration.dll"); options.ReferencedAssemblies.Add("System.Configuration.Install.dll"); options.ReferencedAssemblies.Add("System.ServiceProcess.dll"); } if(!console) { options.ReferencedAssemblies.Add("System.Windows.Forms.dll"); } options.GenerateExecutable = true; options.OutputAssembly = OutDirMan.MakeOutFileName(genData.ExeFileName); options.CompilerOptions += "/res:\"" + resourceFile + "\""; if(!console) { options.CompilerOptions += " /target:winexe"; } if(genData.XPlatform != null) { options.CompilerOptions += " /platform:" + genData.XPlatform; //"x86"; } if(genData.IconFile != null) { options.CompilerOptions += MakeIconArg(true); } if(genData.LicenseResourceFile != null) { options.CompilerOptions += MakeLicArg(true); } if((genData.OtherCompOptions != null) && (genData.OtherCompOptions.Length > 0)) { options.CompilerOptions += " " + genData.OtherCompOptions; } CompilerResults cr = cc.CompileAssemblyFromDom(options, cu); if(cr.Errors.Count > 0) { StringBuilder sb = new StringBuilder(); Logger.Log("\r\n# NetzStarter compilation errors:\r\n"); foreach(CompilerError err in cr.Errors) { string t = err.ErrorNumber + " " + err.ErrorText + " " + err.FileName + " L:" + err.Line + " C:" + err.Column; sb.Append(t).Append(Environment.NewLine); Logger.Log(" " + t); } sb.Append(Environment.NewLine); sb.Append(((CodeSnippetCompileUnit)cu).Value); if(sb.Length > 0) { try { string errFile = "error.txt"; sb.Append(Environment.NewLine).Append(".NETZ Version: ").Append(System.Reflection.Assembly.GetExecutingAssembly().FullName); sb.Append(Environment.NewLine).Append(".NET Version: ").Append(Environment.Version.ToString()); sb.Append(Environment.NewLine).Append(netz.InputParser.GetInnerTemplatesFingerPrint(this.genData.CompressProviderDLL)); sb.Append(Environment.NewLine).Append(Environment.StackTrace); sb.Append(Environment.NewLine).Append(DateTime.Now.ToString()); sb.Append(Environment.NewLine); Utils.WriteTextFile(errFile, sb.ToString()); Logger.Log(string.Empty); errFile = OutDirMan.MakeOutFileName("error.txt"); ColorConsole c = null; try { c = new ColorConsole(); c.SetColor(ColorConsole.FOREGROUND_RED | ColorConsole.FOREGROUND_INTENSITY); } catch{} Logger.Log("! Please email the error file: " + errFile); Logger.Log("! To: " + Help.EMAIL); Logger.Log(string.Empty); Logger.Log("! To help locate better the errors add the -v option to"); Logger.Log("! your current netz command-line and email also the screen output!"); Logger.Log("! No support is provided for custom startup and compress templates!"); Logger.Log("! Check http://madebits.com/netz/ for more help on how to report a bug!"); try { if(c != null) c.Reset(); } catch{} //TODO send email } catch{} } } }
protected override void PreStart() { ColorConsole.WriteWhite("PlaybackStatisticsActor PreStart"); }
public NetProvider(string bindingip) : base(bindingip) { m_ColorConsole = new ColorConsole(); }
protected override void PreStart() { ColorConsole.WriteColorLine("PlaybackStatisticsActor PreStart", ConsoleColor.White); }