Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }