diff --git a/Bandwidth.Standard.sln b/Bandwidth.Standard.sln index fd270c0..b1ed807 100644 --- a/Bandwidth.Standard.sln +++ b/Bandwidth.Standard.sln @@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard", "src\Bandwidth.Standard\Bandwidth.Standard.csproj", "{FCEE569B-02A9-4CA9-97FD-2DF8A3F03322}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard", "src\Bandwidth.Standard\Bandwidth.Standard.csproj", "{49495A5C-D661-4E5D-9DA3-5FDEE4C0383F}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard.Test", "src\Bandwidth.Standard.Test\Bandwidth.Standard.Test.csproj", "{19F1DEBC-DE5E-4517-8062-F000CD499087}" EndProject @@ -12,10 +12,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {FCEE569B-02A9-4CA9-97FD-2DF8A3F03322}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FCEE569B-02A9-4CA9-97FD-2DF8A3F03322}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FCEE569B-02A9-4CA9-97FD-2DF8A3F03322}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FCEE569B-02A9-4CA9-97FD-2DF8A3F03322}.Release|Any CPU.Build.0 = Release|Any CPU + {49495A5C-D661-4E5D-9DA3-5FDEE4C0383F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {49495A5C-D661-4E5D-9DA3-5FDEE4C0383F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {49495A5C-D661-4E5D-9DA3-5FDEE4C0383F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {49495A5C-D661-4E5D-9DA3-5FDEE4C0383F}.Release|Any CPU.Build.0 = Release|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/api/openapi.yaml b/api/openapi.yaml index 9092b13..f300f7d 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -12242,6 +12242,13 @@ components: type: string machineDetectionResult: $ref: '#/components/schemas/machineDetectionResult' + sipCallId: + description: "(optional) The SIP Call-ID of the call's current SIP dialog\ + \ with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present\ + \ on any call, inbound or outbound, once that dialog has been established;\ + \ may be absent very early in a call before the dialog exists." + example: c95ac8d6e1a31c52eb38f419893c151633ec68f8d@sbc.bandwidth.com + type: string type: object bridgeCompleteCallback: description: "If the target call leaves the , then this callback is\ @@ -12821,6 +12828,19 @@ components: example: exampleTag nullable: true type: string + sipCallId: + description: "(optional) The SIP Call-ID of the call's current SIP dialog\ + \ with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present\ + \ on any call, inbound or outbound, once that dialog has been established;\ + \ may be absent very early in a call before the dialog exists." + example: c95ac8d6e1a31c52eb38f419893c151633ec68f8d@sbc.bandwidth.com + type: string + sipResponseCode: + description: "(optional) The SIP status code returned by Bandwidth's SBC\ + \ when it rejected an outbound call's INVITE (e.g. 486 for busy, 603 for\ + \ decline). Present only when an outbound call was rejected by the SBC." + example: 486 + type: integer type: object dtmfCallback: description: The DTMF event is sent for every digit detected after a @@ -13085,6 +13105,27 @@ components: example: bXktdXVp maxLength: 256 type: string + sipCallId: + description: "(optional) The SIP Call-ID of the call's current SIP dialog\ + \ with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present\ + \ on any call, inbound or outbound, once that dialog has been established;\ + \ may be absent very early in a call before the dialog exists." + example: c95ac8d6e1a31c52eb38f419893c151633ec68f8d@sbc.bandwidth.com + type: string + sipHeaders: + additionalProperties: + type: string + description: "(optional) Map of customer-supplied X-* headers from the original\ + \ INVITE. Keys are lowercase (SIP headers are case-insensitive). Present\ + \ only for inbound SIP URI calls with custom headers. Note - keys preserve\ + \ the original SIP header name in lowercase rather than Bandwidth's usual\ + \ camelCase JSON convention, since these are passthrough values from the\ + \ caller's SIP INVITE, not Bandwidth-defined fields. If the same header\ + \ name is sent more than once in the INVITE, only the last value is kept." + example: + x-custom-header: customer-value + x-session-id: sess-12345 + type: object type: object machineDetectionCompleteCallback: description: "This event is sent to the url informed when requesting a machine\ @@ -14172,6 +14213,33 @@ components: example: bXktdXVp maxLength: 256 type: string + sipCallId: + description: "(optional) The SIP Call-ID of the call's current SIP dialog with\ + \ Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any\ + \ call, inbound or outbound, once that dialog has been established; may be\ + \ absent very early in a call before the dialog exists." + example: c95ac8d6e1a31c52eb38f419893c151633ec68f8d@sbc.bandwidth.com + type: string + sipHeaders: + additionalProperties: + type: string + description: "(optional) Map of customer-supplied X-* headers from the original\ + \ INVITE. Keys are lowercase (SIP headers are case-insensitive). Present only\ + \ for inbound SIP URI calls with custom headers. Note - keys preserve the\ + \ original SIP header name in lowercase rather than Bandwidth's usual camelCase\ + \ JSON convention, since these are passthrough values from the caller's SIP\ + \ INVITE, not Bandwidth-defined fields. If the same header name is sent more\ + \ than once in the INVITE, only the last value is kept." + example: + x-custom-header: customer-value + x-session-id: sess-12345 + type: object + sipResponseCode: + description: "(optional) The SIP status code returned by Bandwidth's SBC when\ + \ it rejected an outbound call's INVITE (e.g. 486 for busy, 603 for decline).\ + \ Present only when an outbound call was rejected by the SBC." + example: 486 + type: integer codeRequest: properties: to: diff --git a/bandwidth.yml b/bandwidth.yml index 52ceffd..305a40b 100644 --- a/bandwidth.yml +++ b/bandwidth.yml @@ -4568,6 +4568,8 @@ components: $ref: '#/components/schemas/tag1' machineDetectionResult: $ref: '#/components/schemas/machineDetectionResult' + sipCallId: + $ref: '#/components/schemas/sipCallId' bridgeCompleteCallback: type: object description: >- @@ -4832,6 +4834,10 @@ components: $ref: '#/components/schemas/errorId' tag: $ref: '#/components/schemas/tag1' + sipCallId: + $ref: '#/components/schemas/sipCallId' + sipResponseCode: + $ref: '#/components/schemas/sipResponseCode' dtmfCallback: type: object description: >- @@ -4948,6 +4954,10 @@ components: $ref: '#/components/schemas/stirShaken' uui: $ref: '#/components/schemas/uui' + sipCallId: + $ref: '#/components/schemas/sipCallId' + sipHeaders: + $ref: '#/components/schemas/sipHeaders' machineDetectionCompleteCallback: type: object description: >- @@ -5595,6 +5605,36 @@ components: value, including the encoding specifier, may not exceed 256 characters. example: bXktdXVp maxLength: 256 + sipCallId: + type: string + description: >- + (optional) The SIP Call-ID of the call's current SIP dialog with + Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on + any call, inbound or outbound, once that dialog has been established; + may be absent very early in a call before the dialog exists. + example: c95ac8d6e1a31c52eb38f419893c151633ec68f8d@sbc.bandwidth.com + sipHeaders: + type: object + additionalProperties: + type: string + description: >- + (optional) Map of customer-supplied X-* headers from the original + INVITE. Keys are lowercase (SIP headers are case-insensitive). Present + only for inbound SIP URI calls with custom headers. Note - keys preserve + the original SIP header name in lowercase rather than Bandwidth's usual + camelCase JSON convention, since these are passthrough values from the + caller's SIP INVITE, not Bandwidth-defined fields. If the same header + name is sent more than once in the INVITE, only the last value is kept. + example: + x-custom-header: customer-value + x-session-id: sess-12345 + sipResponseCode: + type: integer + description: >- + (optional) The SIP status code returned by Bandwidth's SBC when it + rejected an outbound call's INVITE (e.g. 486 for busy, 603 for decline). + Present only when an outbound call was rejected by the SBC. + example: 486 codeRequest: type: object properties: diff --git a/docs/AnswerCallback.md b/docs/AnswerCallback.md index d0a63c9..c07fc3a 100644 --- a/docs/AnswerCallback.md +++ b/docs/AnswerCallback.md @@ -19,6 +19,7 @@ Name | Type | Description | Notes **AnswerTime** | **DateTime?** | Time the call was answered, in ISO 8601 format. | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] **MachineDetectionResult** | [**MachineDetectionResult**](MachineDetectionResult.md) | | [optional] +**SipCallId** | **string** | (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/DisconnectCallback.md b/docs/DisconnectCallback.md index b924fd6..eba51a9 100644 --- a/docs/DisconnectCallback.md +++ b/docs/DisconnectCallback.md @@ -22,6 +22,8 @@ Name | Type | Description | Notes **ErrorMessage** | **string** | Text explaining the reason that caused the call to fail in case of errors. | [optional] **ErrorId** | **string** | Bandwidth's internal id that references the error event. | [optional] **Tag** | **string** | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. | [optional] +**SipCallId** | **string** | (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists. | [optional] +**SipResponseCode** | **int** | (optional) The SIP status code returned by Bandwidth's SBC when it rejected an outbound call's INVITE (e.g. 486 for busy, 603 for decline). Present only when an outbound call was rejected by the SBC. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/InitiateCallback.md b/docs/InitiateCallback.md index 7796038..34bae87 100644 --- a/docs/InitiateCallback.md +++ b/docs/InitiateCallback.md @@ -18,6 +18,8 @@ Name | Type | Description | Notes **Diversion** | [**Diversion**](Diversion.md) | | [optional] **StirShaken** | [**StirShaken**](StirShaken.md) | | [optional] **Uui** | **string** | The value of the `User-To-User` header to send within the initial `INVITE`. Must include the encoding parameter as specified in RFC 7433. Only `base64`, `jwt` and `hex` encoding are currently allowed. This value, including the encoding specifier, may not exceed 256 characters. | [optional] +**SipCallId** | **string** | (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists. | [optional] +**SipHeaders** | **Dictionary<string, string>** | (optional) Map of customer-supplied X-* headers from the original INVITE. Keys are lowercase (SIP headers are case-insensitive). Present only for inbound SIP URI calls with custom headers. Note - keys preserve the original SIP header name in lowercase rather than Bandwidth's usual camelCase JSON convention, since these are passthrough values from the caller's SIP INVITE, not Bandwidth-defined fields. If the same header name is sent more than once in the INVITE, only the last value is kept. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/src/Bandwidth.Standard.Test/Unit/Model/AnswerCallbackTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/AnswerCallbackTests.cs index 82e7f83..81b768f 100644 --- a/src/Bandwidth.Standard.Test/Unit/Model/AnswerCallbackTests.cs +++ b/src/Bandwidth.Standard.Test/Unit/Model/AnswerCallbackTests.cs @@ -188,6 +188,16 @@ public void MachineDetectionResultTest() instance.MachineDetectionResult = new MachineDetectionResult("human", "test"); Assert.IsType(instance.MachineDetectionResult); } + /// + /// Test the property 'SipCallId' + /// + [Fact] + public void SipCallIdTest() + { + instance.SipCallId = "test"; + Assert.IsType(instance.SipCallId); + Assert.Equal("test", instance.SipCallId); + } } diff --git a/src/Bandwidth.Standard.Test/Unit/Model/DisconnectCallbackTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/DisconnectCallbackTests.cs index 9a5f861..b98934c 100644 --- a/src/Bandwidth.Standard.Test/Unit/Model/DisconnectCallbackTests.cs +++ b/src/Bandwidth.Standard.Test/Unit/Model/DisconnectCallbackTests.cs @@ -219,6 +219,26 @@ public void TagTest() Assert.IsType(instance.Tag); Assert.Equal("test", instance.Tag); } + /// + /// Test the property 'SipCallId' + /// + [Fact] + public void SipCallIdTest() + { + instance.SipCallId = "test"; + Assert.IsType(instance.SipCallId); + Assert.Equal("test", instance.SipCallId); + } + /// + /// Test the property 'SipResponseCode' + /// + [Fact] + public void SipResponseCodeTest() + { + instance.SipResponseCode = 200; + Assert.IsType(instance.SipResponseCode); + Assert.Equal(200, instance.SipResponseCode); + } } diff --git a/src/Bandwidth.Standard.Test/Unit/Model/InitiateCallbackTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/InitiateCallbackTests.cs index 26ca2dc..51d9560 100644 --- a/src/Bandwidth.Standard.Test/Unit/Model/InitiateCallbackTests.cs +++ b/src/Bandwidth.Standard.Test/Unit/Model/InitiateCallbackTests.cs @@ -177,6 +177,25 @@ public void uuiTest() Assert.IsType(instance.Uui); Assert.Equal("test", instance.Uui); } + /// + /// Test the property 'SipCallId' + /// + [Fact] + public void SipCallIdTest() + { + instance.SipCallId = "test"; + Assert.IsType(instance.SipCallId); + Assert.Equal("test", instance.SipCallId); + } + /// + /// Test the property 'SipHeaders' + /// + [Fact] + public void SipHeadersTest() + { + instance.SipHeaders = new Dictionary(); + Assert.IsType>(instance.SipHeaders); + } } diff --git a/src/Bandwidth.Standard/Model/AnswerCallback.cs b/src/Bandwidth.Standard/Model/AnswerCallback.cs index 9eb5cbc..a158f22 100644 --- a/src/Bandwidth.Standard/Model/AnswerCallback.cs +++ b/src/Bandwidth.Standard/Model/AnswerCallback.cs @@ -55,7 +55,8 @@ public partial class AnswerCallback : IValidatableObject /// Time the call was answered, in ISO 8601 format.. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. /// machineDetectionResult. - public AnswerCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string callUrl = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime? answerTime = default(DateTime?), string tag = default(string), MachineDetectionResult machineDetectionResult = default(MachineDetectionResult)) + /// (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists.. + public AnswerCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string callUrl = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime? answerTime = default(DateTime?), string tag = default(string), MachineDetectionResult machineDetectionResult = default(MachineDetectionResult), string sipCallId = default(string)) { this.EventType = eventType; this.EventTime = eventTime; @@ -71,6 +72,7 @@ public partial class AnswerCallback : IValidatableObject this.AnswerTime = answerTime; this.Tag = tag; this.MachineDetectionResult = machineDetectionResult; + this.SipCallId = sipCallId; } /// @@ -175,6 +177,14 @@ public partial class AnswerCallback : IValidatableObject [DataMember(Name = "machineDetectionResult", EmitDefaultValue = true)] public MachineDetectionResult MachineDetectionResult { get; set; } + /// + /// (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists. + /// + /// (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists. + /// c95ac8d6e1a31c52eb38f419893c151633ec68f8d@sbc.bandwidth.com + [DataMember(Name = "sipCallId", EmitDefaultValue = false)] + public string SipCallId { get; set; } + /// /// Returns the string presentation of the object /// @@ -197,6 +207,7 @@ public override string ToString() sb.Append(" AnswerTime: ").Append(AnswerTime).Append("\n"); sb.Append(" Tag: ").Append(Tag).Append("\n"); sb.Append(" MachineDetectionResult: ").Append(MachineDetectionResult).Append("\n"); + sb.Append(" SipCallId: ").Append(SipCallId).Append("\n"); sb.Append("}\n"); return sb.ToString(); } diff --git a/src/Bandwidth.Standard/Model/DisconnectCallback.cs b/src/Bandwidth.Standard/Model/DisconnectCallback.cs index a0f2828..e0e4d20 100644 --- a/src/Bandwidth.Standard/Model/DisconnectCallback.cs +++ b/src/Bandwidth.Standard/Model/DisconnectCallback.cs @@ -58,7 +58,9 @@ public partial class DisconnectCallback : IValidatableObject /// Text explaining the reason that caused the call to fail in case of errors.. /// Bandwidth's internal id that references the error event.. /// (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.. - public DisconnectCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), string callId = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callUrl = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime? answerTime = default(DateTime?), DateTime endTime = default(DateTime), string cause = default(string), string errorMessage = default(string), string errorId = default(string), string tag = default(string)) + /// (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists.. + /// (optional) The SIP status code returned by Bandwidth's SBC when it rejected an outbound call's INVITE (e.g. 486 for busy, 603 for decline). Present only when an outbound call was rejected by the SBC.. + public DisconnectCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), string callId = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callUrl = default(string), DateTime? enqueuedTime = default(DateTime?), DateTime startTime = default(DateTime), DateTime? answerTime = default(DateTime?), DateTime endTime = default(DateTime), string cause = default(string), string errorMessage = default(string), string errorId = default(string), string tag = default(string), string sipCallId = default(string), int sipResponseCode = default(int)) { this.EventType = eventType; this.EventTime = eventTime; @@ -77,6 +79,8 @@ public partial class DisconnectCallback : IValidatableObject this.ErrorMessage = errorMessage; this.ErrorId = errorId; this.Tag = tag; + this.SipCallId = sipCallId; + this.SipResponseCode = sipResponseCode; } /// @@ -207,6 +211,22 @@ public partial class DisconnectCallback : IValidatableObject [DataMember(Name = "tag", EmitDefaultValue = true)] public string Tag { get; set; } + /// + /// (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists. + /// + /// (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists. + /// c95ac8d6e1a31c52eb38f419893c151633ec68f8d@sbc.bandwidth.com + [DataMember(Name = "sipCallId", EmitDefaultValue = false)] + public string SipCallId { get; set; } + + /// + /// (optional) The SIP status code returned by Bandwidth's SBC when it rejected an outbound call's INVITE (e.g. 486 for busy, 603 for decline). Present only when an outbound call was rejected by the SBC. + /// + /// (optional) The SIP status code returned by Bandwidth's SBC when it rejected an outbound call's INVITE (e.g. 486 for busy, 603 for decline). Present only when an outbound call was rejected by the SBC. + /// 486 + [DataMember(Name = "sipResponseCode", EmitDefaultValue = false)] + public int SipResponseCode { get; set; } + /// /// Returns the string presentation of the object /// @@ -232,6 +252,8 @@ public override string ToString() sb.Append(" ErrorMessage: ").Append(ErrorMessage).Append("\n"); sb.Append(" ErrorId: ").Append(ErrorId).Append("\n"); sb.Append(" Tag: ").Append(Tag).Append("\n"); + sb.Append(" SipCallId: ").Append(SipCallId).Append("\n"); + sb.Append(" SipResponseCode: ").Append(SipResponseCode).Append("\n"); sb.Append("}\n"); return sb.ToString(); } diff --git a/src/Bandwidth.Standard/Model/InitiateCallback.cs b/src/Bandwidth.Standard/Model/InitiateCallback.cs index 73db2f3..a5de085 100644 --- a/src/Bandwidth.Standard/Model/InitiateCallback.cs +++ b/src/Bandwidth.Standard/Model/InitiateCallback.cs @@ -54,7 +54,9 @@ public partial class InitiateCallback : IValidatableObject /// diversion. /// stirShaken. /// The value of the `User-To-User` header to send within the initial `INVITE`. Must include the encoding parameter as specified in RFC 7433. Only `base64`, `jwt` and `hex` encoding are currently allowed. This value, including the encoding specifier, may not exceed 256 characters.. - public InitiateCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string callUrl = default(string), DateTime startTime = default(DateTime), Diversion diversion = default(Diversion), StirShaken stirShaken = default(StirShaken), string uui = default(string)) + /// (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists.. + /// (optional) Map of customer-supplied X-* headers from the original INVITE. Keys are lowercase (SIP headers are case-insensitive). Present only for inbound SIP URI calls with custom headers. Note - keys preserve the original SIP header name in lowercase rather than Bandwidth's usual camelCase JSON convention, since these are passthrough values from the caller's SIP INVITE, not Bandwidth-defined fields. If the same header name is sent more than once in the INVITE, only the last value is kept.. + public InitiateCallback(string eventType = default(string), DateTime eventTime = default(DateTime), string accountId = default(string), string applicationId = default(string), string from = default(string), string to = default(string), CallDirectionEnum? direction = default(CallDirectionEnum?), string callId = default(string), string callUrl = default(string), DateTime startTime = default(DateTime), Diversion diversion = default(Diversion), StirShaken stirShaken = default(StirShaken), string uui = default(string), string sipCallId = default(string), Dictionary sipHeaders = default(Dictionary)) { this.EventType = eventType; this.EventTime = eventTime; @@ -69,6 +71,8 @@ public partial class InitiateCallback : IValidatableObject this.Diversion = diversion; this.StirShaken = stirShaken; this.Uui = uui; + this.SipCallId = sipCallId; + this.SipHeaders = sipHeaders; } /// @@ -163,6 +167,22 @@ public partial class InitiateCallback : IValidatableObject [DataMember(Name = "uui", EmitDefaultValue = false)] public string Uui { get; set; } + /// + /// (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists. + /// + /// (optional) The SIP Call-ID of the call's current SIP dialog with Bandwidth's SBC. Used to correlate dialogs and trace calls. Present on any call, inbound or outbound, once that dialog has been established; may be absent very early in a call before the dialog exists. + /// c95ac8d6e1a31c52eb38f419893c151633ec68f8d@sbc.bandwidth.com + [DataMember(Name = "sipCallId", EmitDefaultValue = false)] + public string SipCallId { get; set; } + + /// + /// (optional) Map of customer-supplied X-* headers from the original INVITE. Keys are lowercase (SIP headers are case-insensitive). Present only for inbound SIP URI calls with custom headers. Note - keys preserve the original SIP header name in lowercase rather than Bandwidth's usual camelCase JSON convention, since these are passthrough values from the caller's SIP INVITE, not Bandwidth-defined fields. If the same header name is sent more than once in the INVITE, only the last value is kept. + /// + /// (optional) Map of customer-supplied X-* headers from the original INVITE. Keys are lowercase (SIP headers are case-insensitive). Present only for inbound SIP URI calls with custom headers. Note - keys preserve the original SIP header name in lowercase rather than Bandwidth's usual camelCase JSON convention, since these are passthrough values from the caller's SIP INVITE, not Bandwidth-defined fields. If the same header name is sent more than once in the INVITE, only the last value is kept. + /// {"x-custom-header":"customer-value","x-session-id":"sess-12345"} + [DataMember(Name = "sipHeaders", EmitDefaultValue = false)] + public Dictionary SipHeaders { get; set; } + /// /// Returns the string presentation of the object /// @@ -184,6 +204,8 @@ public override string ToString() sb.Append(" Diversion: ").Append(Diversion).Append("\n"); sb.Append(" StirShaken: ").Append(StirShaken).Append("\n"); sb.Append(" Uui: ").Append(Uui).Append("\n"); + sb.Append(" SipCallId: ").Append(SipCallId).Append("\n"); + sb.Append(" SipHeaders: ").Append(SipHeaders).Append("\n"); sb.Append("}\n"); return sb.ToString(); } diff --git a/src/Bandwidth.Standard/Model/RbmActionBase.cs b/src/Bandwidth.Standard/Model/RbmActionBase.cs index e1c2586..8030477 100644 --- a/src/Bandwidth.Standard/Model/RbmActionBase.cs +++ b/src/Bandwidth.Standard/Model/RbmActionBase.cs @@ -78,7 +78,7 @@ protected RbmActionBase() { } /// Base64 payload the customer receives when the reply is clicked. /// /// Base64 payload the customer receives when the reply is clicked. - /// [B@50841932 + /// [B@5c04ec8 [DataMember(Name = "postbackData", IsRequired = true, EmitDefaultValue = true)] public byte[] PostbackData { get; set; } diff --git a/src/Bandwidth.Standard/Model/RbmSuggestionResponse.cs b/src/Bandwidth.Standard/Model/RbmSuggestionResponse.cs index 8b7047a..3f385f4 100644 --- a/src/Bandwidth.Standard/Model/RbmSuggestionResponse.cs +++ b/src/Bandwidth.Standard/Model/RbmSuggestionResponse.cs @@ -57,7 +57,7 @@ public partial class RbmSuggestionResponse : IValidatableObject /// Base64 payload the customer receives when the reply is clicked. /// /// Base64 payload the customer receives when the reply is clicked. - /// [B@50841932 + /// [B@5c04ec8 [DataMember(Name = "postbackData", EmitDefaultValue = false)] public byte[] PostbackData { get; set; }