public IHttpActionResult SetUnitOnTest(string digits)
        {
            var response = new VoiceResponse();

            if (!string.IsNullOrEmpty(digits))
            {
                //search the phone number
                CellDeviceSearchModel model = new CellDeviceSearchModel();
                model.PhoneNumber = digits;
                var result = CellDeviceService.Instance.SearchCellDevice(model);
                if (result.Count > 0)
                {
                    var unit = result[0];
                    SetUnitTestMode(unit);
                }
                else
                {
                    response.Append(new Say(string.Format("No device found for {0}", digits)));
                }
                //string newString = "";
                //char[] cArray = digits.ToCharArray();
                //foreach (char c in cArray)
                //{
                //    newString = newString + c + " ";
                //}
                //response.Say("You inputted: " + newString);
            }
            else
            {
                response.Append(new Gather(numDigits: 10).Say("Enter phone number"));
            }

            return((IHttpActionResult)TwiML(response));
        }
        public async Task <ActionResult> AuthenticateUser(string digits, string from)
        {
            var values = new Dictionary <string, string>
            {
                { "mobileNumber", from },
                { "secretKey", digits }
            };
            HttpResponseMessage httpResponse = await _webAPIRequest.PostAsAJson("http://localhost:3000/v1/customers/authorize", values);

            var isAuthenticated = JToken.Parse(httpResponse.Content.ReadAsStringAsync().Result);
            var response        = new VoiceResponse();

            if (string.Equals("true", Convert.ToString(isAuthenticated["status"]), StringComparison.OrdinalIgnoreCase))
            {
                var gather = new Gather(action: Url.ActionUri("WalletOptions", "Menu"), numDigits: 10, maxSpeechTime: 120);
                gather.Say("Your number is" + from + " Press 1 to Check your Balance. Press 2 to transfer your wallet money");
                response.Append(gather);
            }
            else
            {
                var gather = new Gather(action: Url.ActionUri("AuthenticateUser", "Menu"), numDigits: 6, maxSpeechTime: 120);
                gather.Say("Oops, incorrect secret key. Please enter your secret key to begin the transaction");
                response.Append(gather);
            }
            return(TwiML(response));
        }
        public TwiMLResult Post()
        {
            var digits   = Request.Form["Digits"];
            var response = new VoiceResponse();

            if (digits == "1")
            {
                response.Say("Connecting you to sales");
                var dial = new Dial();
                dial.Number("+15554433222");
                response.Append(dial);
            }
            else if (digits == "2")
            {
                response.Say("Connecting you to support");
                var dial = new Dial();
                dial.Number("+15559988777");
                response.Append(dial);
            }
            else
            {
                response.Say("Sorry, that choice is invalid.");
                response.Redirect(method: Twilio.Http.HttpMethod.Get, url: new Uri("/api/voice"));
            }

            return(TwiML(response));
        }
Beispiel #4
0
        private static VoiceResponse CreateVoiceResponsePolly(BotReponse botResponse)
        {
            var voiceResponse = new VoiceResponse();

            if (botResponse.endCall)
            {
                var text = "https://feedbackbotjp.azurewebsites.net/api/Polly" + "?text=" + System.Web.HttpUtility.UrlEncode(botResponse.ResponseText);
                voiceResponse.Append(new Play(new Uri(text)));
                voiceResponse.Hangup();

                // at this point we could persist our result in a db or put on a queue
            }
            else
            {
                var input = new List <InputEnum> {
                    InputEnum.Speech
                };
                var gather = new Gather(input: input, timeout: 30, numDigits: 1, language: "en-GB", speechTimeout: "1");

                var text = "https://feedbackbotjp.azurewebsites.net/api/Polly" + "?text=" + System.Web.HttpUtility.UrlEncode(botResponse.ResponseText);
                gather.Play(new Uri(text));

                //gather.Say(botResponse.ResponseText, Say.VoiceEnum.Man, language: Say.LanguageEnum.EnGb);
                voiceResponse.Append(gather);
            }

            return(voiceResponse);
        }
Beispiel #5
0
        public IActionResult Index(CallParams call)
        {
            var response = new VoiceResponse();


            response.Append(
                new Gather(numDigits: 3,
                           action: new Uri("/answer/gather/extension/en", UriKind.Relative),
                           timeout: 1));

            LogCall(call).Wait();

            response.Append(
                new Gather(numDigits: 1, action: new Uri("/answer/gather/language", UriKind.Relative))
                .Play(new Uri("/AudioFiles/intromerci.wav", UriKind.Relative))
                .Play(new Uri("/AudioFiles/engfr.wav", UriKind.Relative)));
            //.Say("Thanks for calling Silico, if you know your parties extension, enter it now. If you'd like to leave a voice message, press 0 and your call will be returned shortly."));

            //// If the user doesn't enter input, loop

            response.Redirect(new Uri("/answer", UriKind.Relative));



            return(Content(response.ToString(), "text/xml"));
        }
Beispiel #6
0
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();
        var sip      = new Sip(new Uri("example.com?mycustomheader=foo&myotherheader=bar", "kate", ));

        response.Append(sip);
        response.Append(dial);

        Console.WriteLine(response.ToString());;
    }
Beispiel #7
0
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();
        var sip      = new Sip(new Uri("http://example.com;transport=tcp"), "jack");

        response.Append(sip);
        response.Append(dial);

        Console.WriteLine(response.ToString());;
    }
Beispiel #8
0
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();
        var sip      = new Sip(new Uri("http://example.com"), "admin", "1234");

        response.Append(sip);
        response.Append(dial);

        Console.WriteLine(response.ToString());;
    }
Beispiel #9
0
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();
        var sip      = new Sip(
            new Uri("http://example.com?x-mycustomheader=foo&x-myotherheader=bar"),
            "jack");

        response.Append(sip);
        response.Append(dial);

        Console.WriteLine(response.ToString());;
    }
Beispiel #10
0
        public IActionResult Index()
        {
            var voiceResponse = new VoiceResponse();

            voiceResponse.Say("您好這邊是裕融企業", VoiceEnum.Alice, null, Say.LanguageEnum.ZhTw);

            var message = $"請問您是溫家宏先生嗎 請回答是或否謝謝";

            voiceResponse.Say(message, VoiceEnum.Alice, null, Say.LanguageEnum.ZhTw);

            Gather gather = new Gather(
                numDigits: 1,
                input: new List <InputEnum> {
                InputEnum.Speech
            },
                language: Twilio.TwiML.Voice.Gather.LanguageEnum.CmnHantTw,
                hints: "是,否",
                speechTimeout: "1",
                partialResultCallback: new Uri("https://conversationtemplate.azurewebsites.net/STT"),
                partialResultCallbackMethod: HttpMethod.Post,
                action: new Uri("https://conversationtemplate.azurewebsites.net/VoiceTest/Speechmessage"),
                method: HttpMethod.Post);

            voiceResponse.Append(gather);

            voiceResponse
            .Say("這是Gather的句子", VoiceEnum.Alice, null, Say.LanguageEnum.ZhTw);

            return(TwiML(voiceResponse));
        }
Beispiel #11
0
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();

        dial.Number("+14155555555",
                    statusCallbackEvent: new List <Number.EventEnum> (
                        new Number.EventEnum[] {
            Number.EventEnum.Initiated,
            Number.EventEnum.Ringing,
            Number.EventEnum.Answered,
            Number.EventEnum.Completed
        }),
                    statusCallback: new Uri("https://myapp.com/calls/events"),
                    statusCallbackMethod: HttpMethod.Post);

        dial.Number("+14153333333",
                    statusCallbackEvent: new List <Number.EventEnum> (
                        new Number.EventEnum[] {
            Number.EventEnum.Initiated,
            Number.EventEnum.Ringing,
            Number.EventEnum.Answered,
            Number.EventEnum.Completed
        }),
                    statusCallback: new Uri("https://example.com/events"),
                    statusCallbackMethod: HttpMethod.Post);

        response.Append(dial);

        Console.WriteLine(response.ToString());;
    }
Beispiel #12
0
        public IActionResult GatherExtensionFR(string digits)
        {
            var response = new VoiceResponse();

            // If the user entered digits, process their request
            if (!string.IsNullOrEmpty(digits))
            {
                var agent = _context.Agents
                            .Where(a => a.Extension.ToString() == digits)
                            .FirstOrDefault();

                if (agent != null)
                {
                    response.Say($"You will be connected to {agent.Name} shortly.").Pause();
                    var dial = new Dial(action: new Uri($"/answer/connect/{agent.ID}", UriKind.Relative));
                    dial.Number(agent.PhoneNumber, url: new Uri("/answer/screenCall", UriKind.Relative));

                    response.Append(dial);

                    //response.Play(new Uri("/AudioFiles/Goodbye.mp3", UriKind.Relative));
                    //response.Hangup();
                }
                else
                {
                    response.Say("Sorry, I don't understand that choice.").Pause();
                }
            }
            else
            {
                // If no input was sent, redirect to the /voice route
                response.Redirect(new Uri("/answer", UriKind.Relative));
            }

            return(TwiML(response));
        }
        public IActionResult Index()
        {
            var    parameters = ToDictionary(this.Request.Form);
            var    response   = new VoiceResponse();
            string CallSid    = "";

            parameters.TryGetValue("CallSid", out CallSid);

            if (!String.IsNullOrWhiteSpace(CallSid))
            {
                Call call = null;
                memoryCache.TryGetValue(CallSid, out call);
                // bool isExist = memoryCache.TryGetValue(AccountSid, out call);
                if (call != null)
                {
                    var gather = new Gather(action: new Uri(Auth.UrlPath + "/api/connect/"));
                    gather.Say("Spinga un numero per accettare la chiamata da GIupiter.com", voice: "alice", language: "it-IT");
                    response.Append(gather);
                    response.Say("Grazie Arrivederci!", voice: "alice", language: "it-IT");
                    response.Hangup();
                }
                else
                {
                    response.Say("Mi spiace c'è stato un errore!", voice: "alice", language: "it-IT");
                    response.Hangup();
                }
            }
            else
            {
                response.Say("Mi spiace c'è stato un errore cache!", voice: "alice", language: "it-IT");
                response.Hangup();
            }
            return(Content(response.ToString(), "application/xml"));
        }
Beispiel #14
0
        public ActionResult JoinConfrenceCallback()
        {
            var response = new VoiceResponse();
            var play     = new Play(url: new Uri("https://prankapibucket.s3.ap-south-1.amazonaws.com/Audio/d88e5d94-d8f8-478d-a92f-8cf4e21d5572.mp3"));

            response.Append(play);
            return(Content(response.ToString()));
        }
        public TwiMLResult Get()
        {
            var response = new VoiceResponse();
            var gather   = new Gather(action: new Uri("/api/voice"), numDigits: 1, timeout: 5);

            gather.Say("Please press 1 for sales or 2 for support.");
            response.Append(gather);
            return(TwiML(response));
        }
Beispiel #16
0
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();

        dial.Sip(new Uri("sip:[email protected];transport=tls"));
        response.Append(dial);

        Console.WriteLine(response.ToString());
    }
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();

        dial.Number("415-123-4567", sendDigits: "wwww1928");
        response.Append(dial);

        Console.WriteLine(response.ToString());
    }
Beispiel #18
0
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial(callerId: "+15551112222");

        dial.Number("+15558675309");
        response.Append(dial);

        Console.WriteLine(response.ToString());;
    }
Beispiel #19
0
    static void Main()
    {
        var response = new VoiceResponse();
        var gather   = new Gather(input: "speech", action: new Uri("/completed"));

        gather.Say("Welcome to Twilio, please tell us why you're calling");
        response.Append(gather);

        Console.WriteLine(response.ToString());;
    }
Beispiel #20
0
    static void Main()
    {
        var response = new VoiceResponse();
        var refer    = new Refer();

        refer.ReferSip("sip:[email protected]");
        response.Append(refer);

        Console.WriteLine(response.ToString());
    }
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();

        dial.Conference("Room 1234");
        response.Append(dial);

        Console.WriteLine(response.ToString());
    }
Beispiel #22
0
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();

        dial.Sim("DE8caa2afb9d5279926619c458dc7098a8");
        response.Append(dial);

        Console.WriteLine(response.ToString());;
    }
Beispiel #23
0
    static void Main()
    {
        var response = new VoiceResponse();
        var refer    = new Refer();

        refer.ReferSip("sip:[email protected]?X-AcctNumber=123456&X-ReasonForCalling=billing-question");
        response.Append(refer);

        Console.WriteLine(response.ToString());
    }
Beispiel #24
0
    static void Main()
    {
        var response = new VoiceResponse();
        var refer    = new Refer(action: new Uri("/handleRefer"), method: Twilio.Http.HttpMethod.Post);

        refer.Sip(new Uri("sip:[email protected]"));
        response.Append(refer);

        Console.WriteLine(response.ToString());
    }
        public TwiMLResult Welcome()
        {
            var response = new VoiceResponse();
            var gather   = new Gather(action: Url.ActionUri("AuthenticateUser", "Menu"), numDigits: 6, maxSpeechTime: 120);

            gather.Say("Please enter your secret key to begin the transaction");
            response.Append(gather);

            return(TwiML(response));
        }
    static void Main()
    {
        var response = new VoiceResponse();
        var connect  = new Connect();

        connect.Stream(url: "wss://mystream.ngrok.io/audiostream");
        response.Append(connect);

        Console.WriteLine(response.ToString());
    }
Beispiel #27
0
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();

        dial.Conference("SimpleRoom", muted: true);
        response.Append(dial);

        Console.WriteLine(response.ToString());;
    }
Beispiel #28
0
    static void Main()
    {
        var response = new VoiceResponse();
        var connect  = new Connect();

        connect.Room("DailyStandup");
        response.Append(connect);

        System.Console.WriteLine(response.ToString());
    }
Beispiel #29
0
    static void Main()
    {
        var response = new VoiceResponse();
        var connect  = new Connect(action: new Uri("https://myactionurl.com/twiml"));

        connect.VirtualAgent(connectorName: "project", statusCallback: "https://mycallbackurl.com");
        response.Append(connect);

        Console.WriteLine(response.ToString());
    }
Beispiel #30
0
    static void Main()
    {
        var response = new VoiceResponse();
        var dial     = new Dial();

        dial.Client("jenny");
        response.Append(dial);

        Console.WriteLine(response.ToString());;
    }