Skip to content

Releases: Vonage/vonage-dotnet-sdk

v4.4.0

05 Jun 13:16
Compare
Choose a tag to compare

Adding new Automatic Speech Recognition (ASR) action to NCCO Action set. To start an asr input you will construct a MultiInputAction and return it from your answer webhook:

[HttpGet("/webhooks/answer")]
public string Answer([FromQuery]Answer request)
{
        var host = Request.Host.ToString();
        //Uncomment the next line if using ngrok with --host-header option
        //host = Request.Headers["X-Original-Host"];

        var eventUrl = $"{Request.Scheme}://{host}/webhooks/asr";
        var speechSettings = new SpeechSettings {Language="en-US", EndOnSilence=1, Uuid = new[] { request.Uuid } };
        var inputAction = new MultiInputAction { Speech = speechSettings, EventUrl = new[] { eventUrl } };

        var talkAction = new TalkAction { Text = "Please speak now" };

        var ncco = new Ncco(talkAction, inputAction);
        return ncco.ToString();
}

This will allow a user to perform inputs with speech. After the end conditions are met for the voice input you will then get a webhook returned to you containing an ordered list of guesses for what speech your user said on the EventUrl that you passed through the MultiInputAction. That can be handled like so:

[HttpPost("/webhooks/asr")]
public string OnInput()
{
        MultiInput input;
        using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8))
        {
            var result = reader.ReadToEndAsync().Result;
            input = JsonConvert.DeserializeObject<MultiInput>(result);
        }
        var talkAction = new TalkAction();
        talkAction.Text = input.Speech.SpeechResults[0].Text;
        var ncco = new Ncco(talkAction);
        return ncco.ToString();
}

v4.3.2

08 Apr 13:30
Compare
Choose a tag to compare

Fixed

  • Fixed bug where streamUrl in where the StreamAction was set to a string rather than an array of strings
  • Changed websocket endpoints headers type from a string to an object - the string type was injecting escape charecters into the headers object payload.

v4.3.1

24 Feb 14:56
Compare
Choose a tag to compare

Fixes

  • Loop parameter would be truncated if set to 0
  • Fixed bug that would cause certain User Agent's to throw errors on certain Operating Systems

v4.3.0

10 Feb 18:38
dae26d6
Compare
Choose a tag to compare

New

  • Adding ListOwnNumbers API
  • Making basic JWT generation public

v4.2.1

12 Nov 17:37
Compare
Choose a tag to compare
  • Fixing NCCO serialization bug
  • Setting Microsoft.Extensions.Configuration.* to version 1.1.2

V4.2.0

21 Oct 17:26
568b570
Compare
Choose a tag to compare
  • The NCCO component within the CallCommand object can now be a strongly typed Ncco rather than a JArray,
    for the sake of backwards compatibility Ncco is left as a JArray but there is now an option to set a strongly typed Ncco object NccoObj instead
    see https://developer.nexmo.com/voice/voice-api/code-snippets/make-an-outbound-call-with-ncco for a sample
  • Adding type safety for NCCOs and webhook events
  • Adding application_id and has_application to Numbers API

4.1.2 Signing and Validation of SMS

14 Oct 21:04
629e5e7
Compare
Choose a tag to compare

Release 4.1.2 Fixes hash / HMAC signing and validation of signed messages
for an example of how to manage signing / validation of signed messages visit https://developer.nexmo.com/concepts/guides/signing-messages/dotnet

4.1.1

04 Oct 04:25
79b5551
Compare
Choose a tag to compare

Fixed some dependencies in the nuget package

4.1.0

24 Sep 13:37
c961129
Compare
Choose a tag to compare

v4.1 Fixes the structure of the application update API. This changed structure may require some code changes as the previous implementation created an erroneous structure for performing the update and start request. Use something along the lines of the following to create the request for the update / create:

var request = new AppRequest()
            {                
                Name = name,
                Capabilities = new Capabilities()
                {
                    Messages = new MessagesWebhook(
                        new Webhook() { Address = "https://example.com/webhooks/inbound", HttpMethod = "POST" },
                        new Webhook() { Address = "https://example.com/webhooks/status", HttpMethod = "POST" }),
                    Rtc = new RtcWebhook(
                        new Webhook() { Address = "https://example.com/webhooks/event", HttpMethod = "POST" }),
                    Voice = new VoiceWebhook(
                        new Webhook() { Address = "https://example.com/webhooks/answer", HttpMethod = "GET" },
                        new Webhook() { Address = "https://example.com/webhooks/event", HttpMethod = "POST" }),
                    Vbc = new VbcWebhook()
                }
            };

v4.1 Fixes the Redact API, this can be invoked like so:

var result = client.Redact.RedactTransaction(redactRequest: new Redact.RedactRequest(NEXMO_REDACT_ID, NEXMO_REDACT_PRODUCT));

v4.1 Adds support for retrieving voice recordings using the GetRecording API
invoke like so:

var response = client.Call.GetRecording(recordingUrl);

4.0.1

13 Sep 17:07
Compare
Choose a tag to compare

Added workflow_id to verify_request