public void Execute() { var VONAGE_APPLICATION_ID = Environment.GetEnvironmentVariable("VONAGE_APPLICATION_ID") ?? "VONAGE_APPLICATION_ID"; var VONAGE_PRIVATE_KEY_PATH = Environment.GetEnvironmentVariable("VONAGE_PRIVATE_KEY_PATH") ?? "VONAGE_PRIVATE_KEY_PATH"; var TO_NUMBER = Environment.GetEnvironmentVariable("TO_NUMBER") ?? "TO_NUMBER"; var VONAGE_NUMBER = Environment.GetEnvironmentVariable("VONAGE_NUMBER") ?? "VONAGE_NUMBER"; var ANSWER_URL = Environment.GetEnvironmentVariable("ANSWER_URL") ?? "ANSWER_URL"; var toEndpoint = new PhoneEndpoint() { Number = TO_NUMBER }; var fromEndpoint = new PhoneEndpoint() { Number = VONAGE_NUMBER }; var creds = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH); var client = new VonageClient(creds); var command = new CallCommand() { To = new Endpoint[] { toEndpoint }, From = fromEndpoint, AnswerUrl = new[] { ANSWER_URL } }; var response = client.VoiceClient.CreateCall(command); Console.WriteLine($"Call Created with call uuid: {response.Uuid}"); }
public IActionResult MakePhoneCall(string toNumber, string fromNumber) { var appId = _config["APPLICATION_ID"]; var privateKeyPath = _config["PRIVATE_KEY_PATH"]; var streamAction = new StreamAction { StreamUrl = new string[] { STREAM_URL } }; var ncco = new Ncco(streamAction); var toEndpoint = new PhoneEndpoint { Number = toNumber }; var fromEndpoint = new PhoneEndpoint { Number = fromNumber }; var credentials = Credentials.FromAppIdAndPrivateKeyPath(appId, privateKeyPath); var client = new VoiceClient(credentials); var callRequest = new CallCommand { To = new [] { toEndpoint }, From = fromEndpoint, Ncco = ncco }; var call = client.CreateCall(callRequest); ViewBag.Uuid = call.Uuid; return(View("Index")); }
private Response OnAnswerRecordingSplitAudio() { string TO_NUMBER = "TO_NUMBER"; string NEXMO_NUMBER = "NEXMO_NUMBER"; var recordAction = new RecordAction() { Split = "conversation", Channels = 2, EventUrl = new [] { $"{SiteBase}/webhook/record" } }; var phoneEndpoint = new PhoneEndpoint() { Number = TO_NUMBER }; var connectAction = new ConnectAction() { From = NEXMO_NUMBER, Endpoint = new [] { phoneEndpoint } }; var ncco = new Ncco(recordAction, connectAction); return(ncco.ToString()); }
public void CreateCallWithEndpointAndNcco() { var expectedUri = $"{ApiUrl}/v1/calls/"; var expectedResponse = @"{ ""uuid"": ""63f61863-4a51-4f6b-86e1-46edebcf9356"", ""status"": ""started"", ""direction"": ""outbound"", ""conversation_uuid"": ""CON-f972836a-550f-45fa-956c-12a2ab5b7d22"" }"; var expectedRequesetContent = @"{""to"":[{""number"":""14155550100"",""type"":""phone""}],""from"":{""number"":""14155550100"",""type"":""phone""},""ncco"":[{""text"":""Hello World"",""action"":""talk""}]}"; Setup(expectedUri, expectedResponse, expectedRequesetContent); var creds = Request.Credentials.FromAppIdAndPrivateKey(AppId, PrivateKey); var client = new VonageClient(creds); Task <CallResponse> response; var toEndpoint = new PhoneEndpoint() { Number = "14155550100" }; response = client.VoiceClient.CreateCallAsync( toEndpoint, "14155550100", new Voice.Nccos.Ncco(new Voice.Nccos.TalkAction { Text = "Hello World" })); Assert.Equal("63f61863-4a51-4f6b-86e1-46edebcf9356", response.GetAwaiter().GetResult().Uuid); Assert.Equal("CON-f972836a-550f-45fa-956c-12a2ab5b7d22", response.GetAwaiter().GetResult().ConversationUuid); Assert.Equal("outbound", response.GetAwaiter().GetResult().Direction); Assert.Equal("started", response.GetAwaiter().GetResult().Status); }
private Response OnAnswerConnect() { var talkAction = new TalkAction() { Text = "Thank you for calling", VoiceName = "Kimberly" }; var phoneEndpoint = new PhoneEndpoint() { Number = "TO_NUMBER" }; var connectAction = new ConnectAction() { From = Request.Query.from.Value, Endpoint = new[] { phoneEndpoint } }; var ncco = new Ncco(talkAction, connectAction); return(ncco.ToString()); }
public void Execute() { var VONAGE_APPLICATION_ID = Environment.GetEnvironmentVariable("VONAGE_APPLICATION_ID") ?? "VONAGE_APPLICATION_ID"; var VONAGE_PRIVATE_KEY_PATH = Environment.GetEnvironmentVariable("VONAGE_PRIVATE_KEY_PATH") ?? "VONAGE_PRIVATE_KEY_PATH"; var TO_NUMBER = Environment.GetEnvironmentVariable("TO_NUMBER") ?? "TO_NUMBER"; var VONAGE_NUMBER = Environment.GetEnvironmentVariable("VONAGE_NUMBER") ?? "VONAGE_NUMBER"; var EVENT_URL = new[] { Environment.GetEnvironmentVariable("EVENT_URL") ?? "https://example.com" }; var creds = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH); var client = new VonageClient(creds); var toEndpoint = new PhoneEndpoint() { Number = TO_NUMBER }; var fromEndpoint = new PhoneEndpoint() { Number = VONAGE_NUMBER }; var extraText = ""; for (var i = 0; i < 50; i++) { extraText += $"{i} "; } var talkAction = new TalkAction() { Text = "This is a text to speech call from Vonage " + extraText }; var ncco = new Ncco(talkAction); var command = new CallCommand() { To = new Endpoint[] { toEndpoint }, From = fromEndpoint, Ncco = ncco, EventUrl = EVENT_URL }; var response = client.VoiceClient.CreateCall(command); Console.WriteLine($"Call Created with call uuid: {response.Uuid}"); }
public string Answer() { var YOUR_SECOND_NUMBER = Environment.GetEnvironmentVariable("YOUR_SECOND_NUMBER") ?? "YOUR_SECOND_NUMBER"; var VONAGE_NUMBER = Environment.GetEnvironmentVariable("VONAGE_NUMBER") ?? "VONAGE_NUMBER"; var talkAction = new TalkAction() { Text = "Thank you for calling", VoiceName = "Kimberly" }; var secondNumberEndpoint = new PhoneEndpoint() { Number = YOUR_SECOND_NUMBER }; var connectAction = new ConnectAction() { From = VONAGE_NUMBER, Endpoint = new[] { secondNumberEndpoint } }; var ncco = new Ncco(talkAction, connectAction); return(ncco.ToString()); }