diff --git a/Vonage.Test/Data/Webhooks/ShouldDeserializedAnswered_GivenStartTimeIsNull.json b/Vonage.Test/Data/Webhooks/ShouldDeserializedAnswered_GivenStartTimeIsNull.json
new file mode 100644
index 000000000..23e4af22d
--- /dev/null
+++ b/Vonage.Test/Data/Webhooks/ShouldDeserializedAnswered_GivenStartTimeIsNull.json
@@ -0,0 +1,15 @@
+{
+ "start_time": null,
+ "headers": {
+ "[redacted]": "[redacted]"
+ },
+ "rate": null,
+ "from": "[redacted]",
+ "to": "[redacted]",
+ "uuid": "c8061992c89a65e3790bfa0aaca6f069",
+ "conversation_uuid": "CON-5a0cdebb-0f35-45a4-9b38-a99f9d12d6d7",
+ "status": "answered",
+ "direction": "inbound",
+ "network": null,
+ "timestamp": "2024-01-25T12:16:32.319Z"
+}
\ No newline at end of file
diff --git a/Vonage.Test/Vonage.Test.csproj b/Vonage.Test/Vonage.Test.csproj
index f12aec802..b2ead0645 100644
--- a/Vonage.Test/Vonage.Test.csproj
+++ b/Vonage.Test/Vonage.Test.csproj
@@ -1095,6 +1095,9 @@
PreserveNewest
+
+ PreserveNewest
+
diff --git a/Vonage.Test/WebhookStructsTest.cs b/Vonage.Test/WebhookStructsTest.cs
index 03c779874..1f1184033 100644
--- a/Vonage.Test/WebhookStructsTest.cs
+++ b/Vonage.Test/WebhookStructsTest.cs
@@ -1,5 +1,7 @@
using System;
using System.Globalization;
+using System.IO;
+using FluentAssertions;
using Newtonsoft.Json;
using Vonage.Voice.AnswerWebhooks;
using Vonage.Voice.EventWebhooks;
@@ -384,6 +386,15 @@ public void TestTransfer()
Assert.Equal("aaaaaaaa-bbbb-cccc-dddd-0123456789ab", transferWebhook.Uuid);
}
+ [Fact]
+ public void ShouldDeserializedAnswered_GivenStartTimeIsNull()
+ {
+ var deserializedEvent =
+ (Answered) EventBase.ParseEvent(
+ File.ReadAllText("Data/Webhooks/ShouldDeserializedAnswered_GivenStartTimeIsNull.json"));
+ deserializedEvent.StartTime.Should().BeNull();
+ }
+
public class Foo
{
public string bar { get; set; }
diff --git a/Vonage/Voice/EventWebhooks/Answered.cs b/Vonage/Voice/EventWebhooks/Answered.cs
index c9c9ff7c7..6e515c8cb 100644
--- a/Vonage/Voice/EventWebhooks/Answered.cs
+++ b/Vonage/Voice/EventWebhooks/Answered.cs
@@ -1,5 +1,5 @@
-using Newtonsoft.Json;
-using System;
+using System;
+using Newtonsoft.Json;
namespace Vonage.Voice.EventWebhooks;
@@ -9,14 +9,14 @@ public class Answered : CallStatusEvent
/// call start time
///
[JsonProperty("start_time")]
- public DateTime StartTime { get; set; }
+ public DateTime? StartTime { get; set; }
///
/// cost rate for the call
///
[JsonProperty("rate")]
public string Rate { get; set; }
-
+
///
/// Network the call came from
///