protected BasicChannel(ChannelEvent eventMessage, EventSocket eventSocket) { Log = LogProvider.GetLogger(GetType()); UUID = eventMessage.UUID; lastEvent = eventMessage; this.eventSocket = eventSocket; Variables = new ChannelVariables(this); Disposables.Add( eventSocket.ChannelEvents .Where(x => x.UUID == UUID) .Subscribe( e => { lastEvent = e; if (e.EventName == EventName.ChannelAnswer) { Log.Info(() => "Channel [{0}] Answered".Fmt(UUID)); } if (e.EventName == EventName.ChannelHangupComplete) { Log.Info(() => "Channel [{0}] Hangup Detected [{1}]".Fmt(UUID, e.HangupCause)); try { HangupCallBack(e); } catch (Exception ex) { Log.ErrorException("Channel [{0}] error calling hangup callback".Fmt(UUID), ex); } Dispose(); } })); }
protected BasicChannel(ChannelEvent eventMessage, EventSocket eventSocket) { Log = Logger.Get<BasicChannel>(); Uuid = eventMessage.UUID; lastEvent = eventMessage; this.eventSocket = eventSocket; Variables = new ChannelVariables(this); Disposables.Add( eventSocket.ChannelEvents .Where(x => x.UUID == Uuid) .Subscribe( e => { lastEvent = e; if (e.EventName == EventName.ChannelAnswer) { Log.LogInformation("Channel [{0}] Answered".Fmt(Uuid)); } if (e.EventName == EventName.ChannelHangupComplete) { Log.LogInformation("Channel [{0}] Hangup Detected [{1}]".Fmt(Uuid, e.HangupCause)); try { HangupCallBack(e); } catch (Exception ex) { Log.LogError(ex, "Channel [{0}] error calling hangup callback".Fmt(Uuid)); } Dispose(); } })); }