protected string SendCallEndStatus(CallInstance ci, NameValueCollection nvc, string Reason) { ci.CallStatus = CallStatus.CallbackSent; var a = ""; var v = new LogObj() { LogSymbol = LogSymbol.TwilioToWeb, CallInstance = ci, Caption = "Call End Status to " + ci.CallOptions.StatusCallback + " " + Reason }; try { nvc.Add("CallDuration", (DateTime.Now.ToUniversalTime() - ci.CallForGet.StartTime.Value).TotalSeconds.ToString()); v.AddNode("Request", nvc); a = ci.BrowserClient.DoRequest(ci.CallOptions.StatusCallback, nvc); v.AddNode("Response", a); } catch (Exception ex) { v.Caption = "<- Exception on Call Start Call Back to " + ci.CallOptions.StatusCallback + ex.Message; v.AddException(ex); } SystemController.Instance.Logger.LogObj(v); ci.CallStatus = CallStatus.Ended; return(a); }
public SMSMessage Messages(SMSOptions options) { var a = SystemController.Instance.Office.NewSMSRequest(options); var lg = new LogObj() { Caption = "SMS Request From Application ", LogSymbol = Code.LogSymbol.WebToTwilio, }; lg.AddNode("Request", options).AddNode("Response", a).LogIt(); return(a); }
public Call Modify([FromUri] string id) { var d = SystemController.Instance.Office.GetCallInstanceFromCallSid(id); var lg = new LogObj() { Caption = "Call status request ", LogSymbol = Code.LogSymbol.WebToTwilio, CallInstance = d }; lg.AddNode("Request", d).AddNode("Response", d.CallForGet).LogIt(); return(d.CallForGet); }
public Call Post(CallOptions c) { var cl = SystemController.Instance.Office.NewCallRequest(c); var lg = new LogObj() { Caption = "Call request from application ", LogSymbol = Code.LogSymbol.WebToTwilio, CallInstance = cl }; lg.AddNode("Request", c).AddNode("Response", cl.CallForGet).LogIt(); return(cl.CallForGet); }
public Call Modify([FromUri] string id, HttpRequestMessage request) { var a = request.RequestUri.ParseQueryString(); var d = SystemController.Instance.Office.GetCallInstanceFromCallSid(id); var stat = a.Get("Status"); if (stat != "") { var lg = new LogObj() { Caption = "Calls Hang up request - " + stat, LogSymbol = Code.LogSymbol.WebToTwilio, CallInstance = d }.AddNode("Request", request); SystemController.Instance.Office.MarkCallEnded(d, stat, true); lg.AddNode("Response", d).LogIt(); } return(d.CallForGet); }