telnyx 5.164.0 → 5.165.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +1 -1
- data/lib/telnyx/client.rb +4 -5
- data/lib/telnyx/lib/webhook_verification.rb +54 -155
- data/lib/telnyx/lib.rb +3 -1
- data/lib/telnyx/models/ai/assistant_tool.rb +14 -1
- data/lib/telnyx/models/ai/transcription_settings.rb +20 -15
- data/lib/telnyx/models/ai/transcription_settings_config.rb +35 -10
- data/lib/telnyx/models/call_dial_params.rb +13 -1
- data/lib/telnyx/models/calls/action_transfer_params.rb +13 -1
- data/lib/telnyx/models/connection_rtcp_settings.rb +3 -3
- data/lib/telnyx/models/credential_connections/action_check_registration_status_response.rb +12 -12
- data/lib/telnyx/models/external_requirements/sub_number_order_retrieve_params.rb +28 -0
- data/lib/telnyx/models/external_requirements/sub_number_order_retrieve_response.rb +104 -0
- data/lib/telnyx/models/external_requirements/sub_number_order_update_params.rb +69 -0
- data/lib/telnyx/models/external_requirements/sub_number_order_update_response.rb +66 -0
- data/lib/telnyx/models/outbound_voice_profile.rb +14 -14
- data/lib/telnyx/models/outbound_voice_profile_create_params.rb +14 -14
- data/lib/telnyx/models/outbound_voice_profile_update_params.rb +14 -14
- data/lib/telnyx/models/uac_connections/action_check_registration_status_response.rb +12 -12
- data/lib/telnyx/models.rb +2 -2
- data/lib/telnyx/resources/calls/actions.rb +3 -1
- data/lib/telnyx/resources/calls.rb +3 -1
- data/lib/telnyx/resources/credential_connections/actions.rb +3 -3
- data/lib/telnyx/resources/external_requirements/sub_number_orders.rb +99 -0
- data/lib/telnyx/resources/external_requirements.rb +19 -0
- data/lib/telnyx/resources/outbound_voice_profiles.rb +2 -2
- data/lib/telnyx/resources/uac_connections/actions.rb +3 -3
- data/lib/telnyx/resources/webhooks.rb +1 -1
- data/lib/telnyx/version.rb +1 -1
- data/lib/telnyx.rb +6 -4
- data/rbi/telnyx/client.rbi +3 -4
- data/rbi/telnyx/models/ai/assistant_tool.rbi +21 -0
- data/rbi/telnyx/models/ai/transcription_settings.rbi +40 -28
- data/rbi/telnyx/models/ai/transcription_settings_config.rbi +52 -12
- data/rbi/telnyx/models/call_dial_params.rbi +19 -0
- data/rbi/telnyx/models/calls/action_transfer_params.rbi +19 -0
- data/rbi/telnyx/models/connection_rtcp_settings.rbi +4 -4
- data/rbi/telnyx/models/credential_connections/action_check_registration_status_response.rbi +18 -36
- data/rbi/telnyx/models/external_requirements/sub_number_order_retrieve_params.rbi +52 -0
- data/rbi/telnyx/models/external_requirements/sub_number_order_retrieve_response.rbi +248 -0
- data/rbi/telnyx/models/external_requirements/sub_number_order_update_params.rbi +119 -0
- data/rbi/telnyx/models/external_requirements/sub_number_order_update_response.rbi +159 -0
- data/rbi/telnyx/models/outbound_voice_profile.rbi +18 -18
- data/rbi/telnyx/models/outbound_voice_profile_create_params.rbi +18 -18
- data/rbi/telnyx/models/outbound_voice_profile_update_params.rbi +18 -18
- data/rbi/telnyx/models/uac_connections/action_check_registration_status_response.rbi +18 -36
- data/rbi/telnyx/models.rbi +2 -3
- data/rbi/telnyx/resources/calls/actions.rbi +7 -0
- data/rbi/telnyx/resources/calls.rbi +7 -0
- data/rbi/telnyx/resources/credential_connections/actions.rbi +3 -3
- data/rbi/telnyx/resources/external_requirements/sub_number_orders.rbi +71 -0
- data/rbi/telnyx/resources/external_requirements.rbi +16 -0
- data/rbi/telnyx/resources/outbound_voice_profiles.rbi +4 -4
- data/rbi/telnyx/resources/uac_connections/actions.rbi +3 -3
- data/sig/telnyx/client.rbs +2 -2
- data/sig/telnyx/models/ai/assistant_tool.rbs +7 -0
- data/sig/telnyx/models/ai/transcription_settings.rbs +2 -0
- data/sig/telnyx/models/ai/transcription_settings_config.rbs +14 -0
- data/sig/telnyx/models/call_dial_params.rbs +7 -0
- data/sig/telnyx/models/calls/action_transfer_params.rbs +7 -0
- data/sig/telnyx/models/credential_connections/action_check_registration_status_response.rbs +24 -36
- data/sig/telnyx/models/external_requirements/sub_number_order_retrieve_params.rbs +30 -0
- data/sig/telnyx/models/external_requirements/sub_number_order_retrieve_response.rbs +110 -0
- data/sig/telnyx/models/external_requirements/sub_number_order_update_params.rbs +50 -0
- data/sig/telnyx/models/external_requirements/sub_number_order_update_response.rbs +75 -0
- data/sig/telnyx/models/uac_connections/action_check_registration_status_response.rbs +24 -36
- data/sig/telnyx/models.rbs +2 -2
- data/sig/telnyx/resources/calls/actions.rbs +1 -0
- data/sig/telnyx/resources/calls.rbs +1 -0
- data/sig/telnyx/resources/external_requirements/sub_number_orders.rbs +22 -0
- data/sig/telnyx/resources/external_requirements.rbs +9 -0
- metadata +20 -12
- data/lib/telnyx/lib/webhooks_ed25519.rb +0 -63
- data/lib/telnyx/models/sip_registration_status_retrieve_params.rb +0 -59
- data/lib/telnyx/models/sip_registration_status_retrieve_response.rb +0 -214
- data/lib/telnyx/resources/sip_registration_status.rb +0 -59
- data/rbi/telnyx/models/sip_registration_status_retrieve_params.rbi +0 -124
- data/rbi/telnyx/models/sip_registration_status_retrieve_response.rbi +0 -416
- data/rbi/telnyx/resources/sip_registration_status.rbi +0 -52
- data/sig/telnyx/models/sip_registration_status_retrieve_params.rbs +0 -55
- data/sig/telnyx/models/sip_registration_status_retrieve_response.rbs +0 -195
- data/sig/telnyx/resources/sip_registration_status.rbs +0 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '0599a5281ad206a21c41f29f139876ab91b6596c4403c2c1fd265a98b0b26c10'
|
|
4
|
+
data.tar.gz: 1d2a0cf55be8f93d2f638e8a1140316b3c052cdaf805740669efbf459e45da9e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 881615fb8ac4ba023d747d946aea0de2ad2f8aabe41bce223c6908fa2f389b961800bfdab0b4f8c3cb219cdbb1f90a99d65c10ef47b68cb8fd87a68fef870ee0
|
|
7
|
+
data.tar.gz: 6c943fc02c098ebfde7ac90194979745ba78c62ed6e901a2a1e57df06983dda31a51891aea5c87679b17fd21e89d9a27931ef86a00bd7612cfdd89b5b70e9733
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [5.165.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.164.0...v5.165.0) (2026-09-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* promote from staging 9d1efe7 ([d16fd9d](https://github.com/team-telnyx/telnyx-ruby/commit/d16fd9d7cff7b0205653440a32023153b7710b1f))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **ci:** retry transient Steep API errors ([#355](https://github.com/team-telnyx/telnyx-ruby/issues/355)) ([25ec469](https://github.com/team-telnyx/telnyx-ruby/commit/25ec4693e5110cdc0bf7849c8cdcfab7ac1d46ce))
|
|
14
|
+
* **ci:** skip post-merge release readiness ([#352](https://github.com/team-telnyx/telnyx-ruby/issues/352)) ([bed03fd](https://github.com/team-telnyx/telnyx-ruby/commit/bed03fd1c162112e4a1f254687d0c5ca9d42cef8))
|
|
15
|
+
|
|
3
16
|
## [5.164.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.163.0...v5.164.0) (2026-08-31)
|
|
4
17
|
|
|
5
18
|
|
data/README.md
CHANGED
data/lib/telnyx/client.rb
CHANGED
|
@@ -672,10 +672,6 @@ module Telnyx
|
|
|
672
672
|
# @return [Telnyx::Resources::VoiceSDKCallReports]
|
|
673
673
|
attr_reader :voice_sdk_call_reports
|
|
674
674
|
|
|
675
|
-
# UAC connection operations
|
|
676
|
-
# @return [Telnyx::Resources::SipRegistrationStatus]
|
|
677
|
-
attr_reader :sip_registration_status
|
|
678
|
-
|
|
679
675
|
# Static reference values the API accepts: call reasons, document types, rejection
|
|
680
676
|
# types.
|
|
681
677
|
# @return [Telnyx::Resources::CallReasons]
|
|
@@ -736,6 +732,9 @@ module Telnyx
|
|
|
736
732
|
# @return [Telnyx::Resources::MeetingSessions]
|
|
737
733
|
attr_reader :meeting_sessions
|
|
738
734
|
|
|
735
|
+
# @return [Telnyx::Resources::ExternalRequirements]
|
|
736
|
+
attr_reader :external_requirements
|
|
737
|
+
|
|
739
738
|
# @api private
|
|
740
739
|
#
|
|
741
740
|
# @return [Hash{String=>String}]
|
|
@@ -1011,7 +1010,6 @@ module Telnyx
|
|
|
1011
1010
|
@pronunciation_dicts = Telnyx::Resources::PronunciationDicts.new(client: self)
|
|
1012
1011
|
@uac_connections = Telnyx::Resources::UacConnections.new(client: self)
|
|
1013
1012
|
@voice_sdk_call_reports = Telnyx::Resources::VoiceSDKCallReports.new(client: self)
|
|
1014
|
-
@sip_registration_status = Telnyx::Resources::SipRegistrationStatus.new(client: self)
|
|
1015
1013
|
@call_reasons = Telnyx::Resources::CallReasons.new(client: self)
|
|
1016
1014
|
@dir = Telnyx::Resources::Dir.new(client: self)
|
|
1017
1015
|
@infringement_claims = Telnyx::Resources::InfringementClaims.new(client: self)
|
|
@@ -1027,6 +1025,7 @@ module Telnyx
|
|
|
1027
1025
|
@pricing = Telnyx::Resources::Pricing.new(client: self)
|
|
1028
1026
|
@web_search = Telnyx::Resources::WebSearch.new(client: self)
|
|
1029
1027
|
@meeting_sessions = Telnyx::Resources::MeetingSessions.new(client: self)
|
|
1028
|
+
@external_requirements = Telnyx::Resources::ExternalRequirements.new(client: self)
|
|
1030
1029
|
end
|
|
1031
1030
|
end
|
|
1032
1031
|
end
|
|
@@ -2,183 +2,82 @@
|
|
|
2
2
|
|
|
3
3
|
require "base64"
|
|
4
4
|
require "openssl"
|
|
5
|
-
require_relative "webhook_verification_error"
|
|
6
5
|
|
|
7
6
|
module Telnyx
|
|
8
7
|
module Lib
|
|
9
|
-
# Telnyx webhook verification
|
|
10
|
-
#
|
|
11
|
-
# This module provides ED25519 signature verification for Telnyx webhooks,
|
|
12
|
-
# matching the implementation pattern used in the Python and Node SDKs.
|
|
13
|
-
#
|
|
14
|
-
# The module is kept separate from generated code to avoid merge conflicts
|
|
15
|
-
# when Stainless updates webhook event types.
|
|
16
|
-
#
|
|
17
|
-
# Example usage:
|
|
18
|
-
#
|
|
19
|
-
# client = Telnyx::Client.new(
|
|
20
|
-
# api_key: ENV["TELNYX_API_KEY"],
|
|
21
|
-
# public_key: ENV["TELNYX_PUBLIC_KEY"] # Base64 from Mission Control
|
|
22
|
-
# )
|
|
23
|
-
#
|
|
24
|
-
# # Verify signature only
|
|
25
|
-
# client.webhooks.verify!(payload, headers)
|
|
26
|
-
#
|
|
27
|
-
# # Verify and parse
|
|
28
|
-
# event = client.webhooks.unwrap(payload, headers)
|
|
29
|
-
#
|
|
8
|
+
# Telnyx Ed25519 webhook verification over the exact raw payload bytes.
|
|
30
9
|
module WebhookVerification
|
|
31
|
-
# Telnyx webhook signature headers (case-insensitive per HTTP spec)
|
|
32
10
|
SIGNATURE_HEADER = "telnyx-signature-ed25519"
|
|
33
11
|
TIMESTAMP_HEADER = "telnyx-timestamp"
|
|
12
|
+
DEFAULT_TOLERANCE = 300
|
|
13
|
+
ED25519_SPKI_PREFIX = ["302a300506032b6570032100"].pack("H*").freeze
|
|
14
|
+
|
|
15
|
+
class << self
|
|
16
|
+
# Verify a Telnyx webhook signature before the caller parses the payload.
|
|
17
|
+
#
|
|
18
|
+
# @param payload [String] exact raw request body
|
|
19
|
+
# @param headers [Hash] request headers (looked up case-insensitively)
|
|
20
|
+
# @param public_key [String] Base64-encoded raw 32-byte Ed25519 public key
|
|
21
|
+
# @return [true]
|
|
22
|
+
# @raise [Telnyx::Errors::WebhookVerificationError] if verification fails
|
|
23
|
+
def verify_signature!(payload, headers, public_key)
|
|
24
|
+
signature_header = get_header(headers, SIGNATURE_HEADER)
|
|
25
|
+
timestamp = get_header(headers, TIMESTAMP_HEADER)
|
|
26
|
+
|
|
27
|
+
fail_verification("Missing required header: telnyx-signature-ed25519") if signature_header.nil? || signature_header.empty?
|
|
28
|
+
fail_verification("Missing required header: telnyx-timestamp") if timestamp.nil? || timestamp.empty?
|
|
29
|
+
fail_verification("Public key is required for webhook verification") if public_key.nil? || public_key.empty?
|
|
30
|
+
|
|
31
|
+
timestamp_int = parse_timestamp(timestamp)
|
|
32
|
+
if (Time.now.to_i - timestamp_int).abs > DEFAULT_TOLERANCE
|
|
33
|
+
fail_verification("Webhook timestamp is too old or too far in the future")
|
|
34
|
+
end
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
# Verify webhook signature without parsing the payload.
|
|
39
|
-
#
|
|
40
|
-
# @param payload [String] The raw webhook payload
|
|
41
|
-
# @param headers [Hash] The webhook headers
|
|
42
|
-
# @param key [String, nil] Optional public key override (base64-encoded)
|
|
43
|
-
#
|
|
44
|
-
# @return [void]
|
|
45
|
-
#
|
|
46
|
-
# @raise [Telnyx::Errors::WebhookVerificationError] If verification fails
|
|
47
|
-
def verify!(payload, headers, key: nil)
|
|
48
|
-
public_key = key || @client.public_key
|
|
49
|
-
|
|
50
|
-
unless public_key && !public_key.empty?
|
|
51
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
52
|
-
message: "No public key configured. Provide key parameter or configure client with public_key."
|
|
53
|
-
)
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
do_verify_signature(payload, headers, public_key)
|
|
57
|
-
end
|
|
36
|
+
key = parse_public_key(public_key)
|
|
37
|
+
signature = Base64.strict_decode64(signature_header)
|
|
38
|
+
signed_payload = "#{timestamp}|#{payload}"
|
|
58
39
|
|
|
59
|
-
|
|
40
|
+
fail_verification("Invalid webhook signature") unless key.verify(nil, signature, signed_payload)
|
|
60
41
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return header_value if header_key.to_s.downcase == key_lower
|
|
42
|
+
true
|
|
43
|
+
rescue Telnyx::Errors::WebhookVerificationError
|
|
44
|
+
raise
|
|
45
|
+
rescue ArgumentError => e
|
|
46
|
+
fail_verification("Invalid webhook signature or public key encoding: #{e.message}")
|
|
47
|
+
rescue OpenSSL::PKey::PKeyError => e
|
|
48
|
+
fail_verification("Invalid Ed25519 public key: #{e.message}")
|
|
49
|
+
rescue OpenSSL::OpenSSLError => e
|
|
50
|
+
fail_verification("Webhook verification failed: #{e.message}")
|
|
71
51
|
end
|
|
72
|
-
nil
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
# Verify the webhook signature using ED25519 cryptography
|
|
76
|
-
#
|
|
77
|
-
# @param payload [String] The raw webhook payload
|
|
78
|
-
# @param headers [Hash] The webhook headers
|
|
79
|
-
# @param public_key [String] The ED25519 public key (base64-encoded)
|
|
80
|
-
#
|
|
81
|
-
# @raise [Telnyx::Errors::WebhookVerificationError] If verification fails
|
|
82
|
-
def do_verify_signature(payload, headers, public_key)
|
|
83
|
-
# Extract required headers (case-insensitive)
|
|
84
|
-
signature_header = get_header(headers, SIGNATURE_HEADER)
|
|
85
|
-
timestamp_header = get_header(headers, TIMESTAMP_HEADER)
|
|
86
52
|
|
|
87
|
-
|
|
88
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
89
|
-
message: "Missing required header: #{SIGNATURE_HEADER}"
|
|
90
|
-
)
|
|
91
|
-
end
|
|
53
|
+
private
|
|
92
54
|
|
|
93
|
-
|
|
94
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
95
|
-
message: "Missing required header: #{TIMESTAMP_HEADER}"
|
|
96
|
-
)
|
|
55
|
+
def fail_verification(message)
|
|
56
|
+
raise Telnyx::Errors::WebhookVerificationError.new(message: message)
|
|
97
57
|
end
|
|
98
58
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
current_time = Time.now.to_i
|
|
103
|
-
time_diff = (current_time - webhook_time).abs
|
|
104
|
-
|
|
105
|
-
if time_diff > TIMESTAMP_TOLERANCE_SECONDS
|
|
106
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
107
|
-
message: "Webhook timestamp is too old or too new (#{time_diff}s difference)"
|
|
108
|
-
)
|
|
59
|
+
def get_header(headers, name)
|
|
60
|
+
headers.each do |key, value|
|
|
61
|
+
return value if key.to_s.downcase == name
|
|
109
62
|
end
|
|
110
|
-
|
|
111
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
112
|
-
message: "Invalid timestamp format: #{timestamp_header}"
|
|
113
|
-
)
|
|
63
|
+
nil
|
|
114
64
|
end
|
|
115
65
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if public_key_bytes.bytesize != 32
|
|
121
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
122
|
-
message: "Invalid public key: expected 32 bytes, got #{public_key_bytes.bytesize} bytes"
|
|
123
|
-
)
|
|
124
|
-
end
|
|
125
|
-
rescue ArgumentError => e
|
|
126
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
127
|
-
message: "Invalid public key format: #{e.message}"
|
|
128
|
-
)
|
|
66
|
+
def parse_timestamp(timestamp)
|
|
67
|
+
Integer(timestamp, 10)
|
|
68
|
+
rescue ArgumentError, TypeError
|
|
69
|
+
fail_verification("Invalid webhook timestamp: #{timestamp.inspect}")
|
|
129
70
|
end
|
|
130
71
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
137
|
-
message: "Invalid signature length: expected 64 bytes, got #{signature_bytes.bytesize} bytes"
|
|
72
|
+
def parse_public_key(public_key)
|
|
73
|
+
decoded_key = Base64.strict_decode64(public_key)
|
|
74
|
+
unless decoded_key.bytesize == 32
|
|
75
|
+
fail_verification(
|
|
76
|
+
"Invalid Ed25519 public key length: expected 32 bytes, got #{decoded_key.bytesize}"
|
|
138
77
|
)
|
|
139
78
|
end
|
|
140
|
-
rescue ArgumentError => e
|
|
141
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
142
|
-
message: "Invalid signature format: #{e.message}"
|
|
143
|
-
)
|
|
144
|
-
end
|
|
145
79
|
|
|
146
|
-
|
|
147
|
-
signed_payload = "#{timestamp_header}|#{payload}"
|
|
148
|
-
|
|
149
|
-
# Build ED25519 public key for verification
|
|
150
|
-
# The raw 32-byte key needs to be wrapped in X.509 SubjectPublicKeyInfo format
|
|
151
|
-
# ED25519 OID: 1.3.101.112 = 06 03 2b 65 70
|
|
152
|
-
# X.509 SPKI header for ED25519: 30 2a 30 05 06 03 2b 65 70 03 21 00
|
|
153
|
-
ed25519_spki_header = [
|
|
154
|
-
0x30,
|
|
155
|
-
0x2a,
|
|
156
|
-
0x30,
|
|
157
|
-
0x05,
|
|
158
|
-
0x06,
|
|
159
|
-
0x03,
|
|
160
|
-
0x2b,
|
|
161
|
-
0x65,
|
|
162
|
-
0x70,
|
|
163
|
-
0x03,
|
|
164
|
-
0x21,
|
|
165
|
-
0x00
|
|
166
|
-
].pack("C*")
|
|
167
|
-
der_key = ed25519_spki_header + public_key_bytes
|
|
168
|
-
|
|
169
|
-
begin
|
|
170
|
-
pkey = OpenSSL::PKey.read(der_key)
|
|
171
|
-
valid = pkey.verify(nil, signature_bytes, signed_payload)
|
|
172
|
-
|
|
173
|
-
unless valid
|
|
174
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
175
|
-
message: "Signature verification failed: signature does not match payload"
|
|
176
|
-
)
|
|
177
|
-
end
|
|
178
|
-
rescue OpenSSL::PKey::PKeyError => e
|
|
179
|
-
raise Telnyx::Errors::WebhookVerificationError.new(
|
|
180
|
-
message: "Signature verification failed: #{e.message}"
|
|
181
|
-
)
|
|
80
|
+
OpenSSL::PKey.read(ED25519_SPKI_PREFIX + decoded_key)
|
|
182
81
|
end
|
|
183
82
|
end
|
|
184
83
|
end
|
data/lib/telnyx/lib.rb
CHANGED
|
@@ -263,6 +263,17 @@ module Telnyx
|
|
|
263
263
|
# @return [String, nil]
|
|
264
264
|
optional :description, String
|
|
265
265
|
|
|
266
|
+
# @!attribute diversion
|
|
267
|
+
# The number the inbound call was received on, forwarded so an unverified
|
|
268
|
+
# non-Telnyx `from` can be used as the caller id -- typically to transfer out as
|
|
269
|
+
# the original caller by pairing `from: "{{telnyx_end_user_target}}"` with
|
|
270
|
+
# `diversion: "{{telnyx_agent_target}}"`. The caller id is only accepted while
|
|
271
|
+
# that number is still on an active inbound call to this `diversion` number, and
|
|
272
|
+
# the `diversion` number must be one you own or have verified.
|
|
273
|
+
#
|
|
274
|
+
# @return [String, nil]
|
|
275
|
+
optional :diversion, String
|
|
276
|
+
|
|
266
277
|
# @!attribute voicemail_detection
|
|
267
278
|
# Configuration for voicemail detection (AMD - Answering Machine Detection) on the
|
|
268
279
|
# transferred call. Allows the assistant to detect when a voicemail system answers
|
|
@@ -304,7 +315,7 @@ module Telnyx
|
|
|
304
315
|
# @return [String, nil]
|
|
305
316
|
optional :warm_transfer_instructions, String
|
|
306
317
|
|
|
307
|
-
# @!method initialize(from:, targets:, custom_headers: nil, description: nil, voicemail_detection: nil, warm_message_delay_ms: nil, warm_transfer_acceptance: nil, warm_transfer_instructions: nil)
|
|
318
|
+
# @!method initialize(from:, targets:, custom_headers: nil, description: nil, diversion: nil, voicemail_detection: nil, warm_message_delay_ms: nil, warm_transfer_acceptance: nil, warm_transfer_instructions: nil)
|
|
308
319
|
# Some parameter documentations has been truncated, see
|
|
309
320
|
# {Telnyx::Models::AI::AssistantTool::Transfer::Transfer} for more details.
|
|
310
321
|
#
|
|
@@ -316,6 +327,8 @@ module Telnyx
|
|
|
316
327
|
#
|
|
317
328
|
# @param description [String] A description of the transfer tool. By default, Telnyx generates this automatica
|
|
318
329
|
#
|
|
330
|
+
# @param diversion [String] The number the inbound call was received on, forwarded so an unverified non-Teln
|
|
331
|
+
#
|
|
319
332
|
# @param voicemail_detection [Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection] Configuration for voicemail detection (AMD - Answering Machine Detection) on the
|
|
320
333
|
#
|
|
321
334
|
# @param warm_message_delay_ms [Integer, nil] Optional delay in milliseconds before playing the warm message audio when the tr
|
|
@@ -16,17 +16,19 @@ module Telnyx
|
|
|
16
16
|
# supported models will automatically detect the language. For `deepgram/flux`,
|
|
17
17
|
# supported values are: `auto` (Telnyx language detection controls the language
|
|
18
18
|
# hint), `multi` (no language hint), and language-specific hints `en`, `es`, `fr`,
|
|
19
|
-
# `de`, `hi`, `ru`, `pt`, `ja`, `it`, and `nl`. For `soniox/stt-rt-v4
|
|
20
|
-
# omits the language hint and lets Soniox auto-detect;
|
|
21
|
-
# `es`) bias detection toward that language
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
# `
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
# `
|
|
29
|
-
#
|
|
19
|
+
# `de`, `hi`, `ru`, `pt`, `ja`, `it`, and `nl`. For `soniox/stt-rt-v4` and
|
|
20
|
+
# `soniox/stt-rt-v5`, `auto` omits the language hint and lets Soniox auto-detect;
|
|
21
|
+
# ISO 639-1 codes (e.g. `en`, `es`) bias detection toward that language;
|
|
22
|
+
# `settings.language_hints` can pin multiple languages at once instead. For
|
|
23
|
+
# `humain/realtime`, supported values are `ar`, `en`, `codeswitch` (Arabic/English
|
|
24
|
+
# code-switching), and `auto` (resolves server-side to code-switching). Unlike
|
|
25
|
+
# other models, `humain/realtime` does not fall back to `auto` when `language` is
|
|
26
|
+
# omitted — omitting it applies `en` instead. For `reson8/turns`, supported values
|
|
27
|
+
# are `auto` (or unset) for automatic language detection, and the language codes
|
|
28
|
+
# `nl`, `en`, `fr`, `fy`, `de`, `it`, `pl`, `pt`, `es`, and `sv` to fix the
|
|
29
|
+
# transcription language. For `cohere/ar-stt`, supported values are `ar` and `en`;
|
|
30
|
+
# unlike other models, this model does not auto-detect and defaults to `ar` when
|
|
31
|
+
# `language` is omitted.
|
|
30
32
|
#
|
|
31
33
|
# @return [String, nil]
|
|
32
34
|
optional :language, String
|
|
@@ -42,8 +44,9 @@ module Telnyx
|
|
|
42
44
|
# - `assemblyai/universal-streaming` is a multilingual streaming model with
|
|
43
45
|
# configurable turn detection.
|
|
44
46
|
# - `xai/grok-stt` is a multilingual Grok STT model.
|
|
45
|
-
# - `soniox/stt-rt-v4`
|
|
46
|
-
# detection
|
|
47
|
+
# - `soniox/stt-rt-v4` and `soniox/stt-rt-v5` are multilingual streaming models
|
|
48
|
+
# with automatic language detection, configurable endpointing, term biasing
|
|
49
|
+
# (`context`), and `language_hints`.
|
|
47
50
|
# - `nvidia/parakeet-v3` is a multilingual transcription model with automatic
|
|
48
51
|
# language detection.
|
|
49
52
|
# - `humain/realtime` is a streaming model with native Arabic and Arabic/English
|
|
@@ -91,8 +94,9 @@ module Telnyx
|
|
|
91
94
|
# - `assemblyai/universal-streaming` is a multilingual streaming model with
|
|
92
95
|
# configurable turn detection.
|
|
93
96
|
# - `xai/grok-stt` is a multilingual Grok STT model.
|
|
94
|
-
# - `soniox/stt-rt-v4`
|
|
95
|
-
# detection
|
|
97
|
+
# - `soniox/stt-rt-v4` and `soniox/stt-rt-v5` are multilingual streaming models
|
|
98
|
+
# with automatic language detection, configurable endpointing, term biasing
|
|
99
|
+
# (`context`), and `language_hints`.
|
|
96
100
|
# - `nvidia/parakeet-v3` is a multilingual transcription model with automatic
|
|
97
101
|
# language detection.
|
|
98
102
|
# - `humain/realtime` is a streaming model with native Arabic and Arabic/English
|
|
@@ -112,6 +116,7 @@ module Telnyx
|
|
|
112
116
|
ASSEMBLYAI_UNIVERSAL_STREAMING = :"assemblyai/universal-streaming"
|
|
113
117
|
XAI_GROK_STT = :"xai/grok-stt"
|
|
114
118
|
SONIOX_STT_RT_V4 = :"soniox/stt-rt-v4"
|
|
119
|
+
SONIOX_STT_RT_V5 = :"soniox/stt-rt-v5"
|
|
115
120
|
NVIDIA_PARAKEET_V3 = :"nvidia/parakeet-v3"
|
|
116
121
|
HUMAIN_REALTIME = :"humain/realtime"
|
|
117
122
|
RESON8_TURNS = :"reson8/turns"
|
|
@@ -4,6 +4,18 @@ module Telnyx
|
|
|
4
4
|
module Models
|
|
5
5
|
module AI
|
|
6
6
|
class TranscriptionSettingsConfig < Telnyx::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute context
|
|
8
|
+
# Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. A comma-separated list
|
|
9
|
+
# of terms to boost for recognition during transcription, for staff names,
|
|
10
|
+
# building names, or other domain-specific vocabulary. This field may be templated
|
|
11
|
+
# with
|
|
12
|
+
# [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
|
|
13
|
+
# using mustache syntax (e.g. `Telnyx,{{customer_name}},VoIP`). Variables are
|
|
14
|
+
# resolved at call time before the value is sent to Soniox.
|
|
15
|
+
#
|
|
16
|
+
# @return [String, nil]
|
|
17
|
+
optional :context, String
|
|
18
|
+
|
|
7
19
|
# @!attribute eager_eot_threshold
|
|
8
20
|
# Available only for deepgram/flux. Confidence threshold for eager end of turn
|
|
9
21
|
# detection. Must be lower than or equal to eot_threshold. Setting this equal to
|
|
@@ -13,8 +25,9 @@ module Telnyx
|
|
|
13
25
|
optional :eager_eot_threshold, Float
|
|
14
26
|
|
|
15
27
|
# @!attribute enable_endpoint_detection
|
|
16
|
-
# Available only for soniox/stt-rt-v4. When true, Soniox
|
|
17
|
-
# events at the cadence configured by
|
|
28
|
+
# Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. When true, Soniox
|
|
29
|
+
# emits end-of-utterance events at the cadence configured by
|
|
30
|
+
# `max_endpoint_delay_ms`.
|
|
18
31
|
#
|
|
19
32
|
# @return [Boolean, nil]
|
|
20
33
|
optional :enable_endpoint_detection, Telnyx::Internal::Type::Boolean
|
|
@@ -42,8 +55,8 @@ module Telnyx
|
|
|
42
55
|
optional :eot_timeout_ms, Integer
|
|
43
56
|
|
|
44
57
|
# @!attribute interim_results
|
|
45
|
-
# Available only for soniox/stt-rt-v4. When true, Soniox
|
|
46
|
-
# (non-final) results in addition to finalized transcripts.
|
|
58
|
+
# Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. When true, Soniox
|
|
59
|
+
# streams interim (non-final) results in addition to finalized transcripts.
|
|
47
60
|
#
|
|
48
61
|
# @return [Boolean, nil]
|
|
49
62
|
optional :interim_results, Telnyx::Internal::Type::Boolean
|
|
@@ -60,9 +73,17 @@ module Telnyx
|
|
|
60
73
|
# @return [String, nil]
|
|
61
74
|
optional :keyterm, String
|
|
62
75
|
|
|
76
|
+
# @!attribute language_hints
|
|
77
|
+
# Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. A list of ISO 639-1
|
|
78
|
+
# language codes (e.g. `["nl", "fr"]`) to pin recognition to multiple languages at
|
|
79
|
+
# once, overriding the single hint derived from `language`.
|
|
80
|
+
#
|
|
81
|
+
# @return [Array<String>, nil]
|
|
82
|
+
optional :language_hints, Telnyx::Internal::Type::ArrayOf[String]
|
|
83
|
+
|
|
63
84
|
# @!attribute max_endpoint_delay_ms
|
|
64
|
-
# Available only for soniox/stt-rt-v4. Maximum silence (in
|
|
65
|
-
# Soniox emits an end-of-utterance event. Only honored when
|
|
85
|
+
# Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. Maximum silence (in
|
|
86
|
+
# milliseconds) before Soniox emits an end-of-utterance event. Only honored when
|
|
66
87
|
# `enable_endpoint_detection` is true.
|
|
67
88
|
#
|
|
68
89
|
# @return [Integer, nil]
|
|
@@ -93,13 +114,15 @@ module Telnyx
|
|
|
93
114
|
# @return [Boolean, nil]
|
|
94
115
|
optional :smart_format, Telnyx::Internal::Type::Boolean
|
|
95
116
|
|
|
96
|
-
# @!method initialize(eager_eot_threshold: nil, enable_endpoint_detection: nil, end_of_turn_confidence_threshold: nil, eot_threshold: nil, eot_timeout_ms: nil, interim_results: nil, keyterm: nil, max_endpoint_delay_ms: nil, max_turn_silence: nil, min_turn_silence: nil, numerals: nil, smart_format: nil)
|
|
117
|
+
# @!method initialize(context: nil, eager_eot_threshold: nil, enable_endpoint_detection: nil, end_of_turn_confidence_threshold: nil, eot_threshold: nil, eot_timeout_ms: nil, interim_results: nil, keyterm: nil, language_hints: nil, max_endpoint_delay_ms: nil, max_turn_silence: nil, min_turn_silence: nil, numerals: nil, smart_format: nil)
|
|
97
118
|
# Some parameter documentations has been truncated, see
|
|
98
119
|
# {Telnyx::Models::AI::TranscriptionSettingsConfig} for more details.
|
|
99
120
|
#
|
|
121
|
+
# @param context [String] Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. A comma-separated list
|
|
122
|
+
#
|
|
100
123
|
# @param eager_eot_threshold [Float] Available only for deepgram/flux. Confidence threshold for eager end of turn det
|
|
101
124
|
#
|
|
102
|
-
# @param enable_endpoint_detection [Boolean] Available only for soniox/stt-rt-v4. When true, Soniox
|
|
125
|
+
# @param enable_endpoint_detection [Boolean] Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. When true, Soniox emit
|
|
103
126
|
#
|
|
104
127
|
# @param end_of_turn_confidence_threshold [Float] Available only for assemblyai/universal-streaming. Confidence level required to
|
|
105
128
|
#
|
|
@@ -107,11 +130,13 @@ module Telnyx
|
|
|
107
130
|
#
|
|
108
131
|
# @param eot_timeout_ms [Integer] Available only for deepgram/flux. Maximum milliseconds of silence before forcing
|
|
109
132
|
#
|
|
110
|
-
# @param interim_results [Boolean] Available only for soniox/stt-rt-v4. When true, Soniox
|
|
133
|
+
# @param interim_results [Boolean] Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. When true, Soniox stre
|
|
111
134
|
#
|
|
112
135
|
# @param keyterm [String] Available only for deepgram/nova-3 and deepgram/flux. A comma-separated list of
|
|
113
136
|
#
|
|
114
|
-
# @param
|
|
137
|
+
# @param language_hints [Array<String>] Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. A list of ISO 639-1 la
|
|
138
|
+
#
|
|
139
|
+
# @param max_endpoint_delay_ms [Integer] Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. Maximum silence (in mi
|
|
115
140
|
#
|
|
116
141
|
# @param max_turn_silence [Integer] Available only for assemblyai/universal-streaming. Maximum duration of silence i
|
|
117
142
|
#
|
|
@@ -158,6 +158,16 @@ module Telnyx
|
|
|
158
158
|
# @return [Telnyx::Models::DialogflowConfig, nil]
|
|
159
159
|
optional :dialogflow_config, -> { Telnyx::DialogflowConfig }
|
|
160
160
|
|
|
161
|
+
# @!attribute diversion
|
|
162
|
+
# The number the inbound call being transferred was originally received on, in
|
|
163
|
+
# +E164 format. Supplying it lets an unverified non-Telnyx `from` be used as the
|
|
164
|
+
# caller id, provided that number is still on an active inbound call to this
|
|
165
|
+
# `diversion` number for your account. The `diversion` number itself must be one
|
|
166
|
+
# you own or have verified.
|
|
167
|
+
#
|
|
168
|
+
# @return [String, nil]
|
|
169
|
+
optional :diversion, String
|
|
170
|
+
|
|
161
171
|
# @!attribute enable_dialogflow
|
|
162
172
|
# Enables Dialogflow for the current call. The default value is false.
|
|
163
173
|
#
|
|
@@ -507,7 +517,7 @@ module Telnyx
|
|
|
507
517
|
# @return [Symbol, Telnyx::Models::CallDialParams::WebhookURLsMethod, nil]
|
|
508
518
|
optional :webhook_urls_method, enum: -> { Telnyx::CallDialParams::WebhookURLsMethod }
|
|
509
519
|
|
|
510
|
-
# @!method initialize(connection_id:, from:, to:, answering_machine_detection: nil, answering_machine_detection_config: nil, assistant: nil, audio_url: nil, billing_group_id: nil, bridge_intent: nil, bridge_on_answer: nil, client_state: nil, command_id: nil, conference_config: nil, conversation_relay_config: nil, custom_headers: nil, deepfake_detection: nil, dialogflow_config: nil, enable_dialogflow: nil, from_display_name: nil, link_to: nil, media_encryption: nil, media_name: nil, park_after_unbridge: nil, preferred_codecs: nil, prevent_double_bridge: nil, privacy: nil, record: nil, record_channels: nil, record_custom_file_name: nil, record_format: nil, record_max_length: nil, record_timeout_secs: nil, record_track: nil, record_trim: nil, retry_on_timeout: nil, route_to_mobile: nil, send_digits_on_answer: nil, send_silence_when_idle: nil, sip_auth_password: nil, sip_auth_username: nil, sip_headers: nil, sip_region: nil, sip_transport_protocol: nil, sound_modifications: nil, stream_auth_token: nil, stream_bidirectional_codec: nil, stream_bidirectional_mode: nil, stream_bidirectional_sampling_rate: nil, stream_bidirectional_target_legs: nil, stream_codec: nil, stream_establish_before_call_originate: nil, stream_track: nil, stream_url: nil, supervise_call_control_id: nil, supervisor_role: nil, time_limit_secs: nil, timeout_secs: nil, transcription: nil, transcription_config: nil, webhook_retries_policies: nil, webhook_url: nil, webhook_url_method: nil, webhook_urls: nil, webhook_urls_method: nil, request_options: {})
|
|
520
|
+
# @!method initialize(connection_id:, from:, to:, answering_machine_detection: nil, answering_machine_detection_config: nil, assistant: nil, audio_url: nil, billing_group_id: nil, bridge_intent: nil, bridge_on_answer: nil, client_state: nil, command_id: nil, conference_config: nil, conversation_relay_config: nil, custom_headers: nil, deepfake_detection: nil, dialogflow_config: nil, diversion: nil, enable_dialogflow: nil, from_display_name: nil, link_to: nil, media_encryption: nil, media_name: nil, park_after_unbridge: nil, preferred_codecs: nil, prevent_double_bridge: nil, privacy: nil, record: nil, record_channels: nil, record_custom_file_name: nil, record_format: nil, record_max_length: nil, record_timeout_secs: nil, record_track: nil, record_trim: nil, retry_on_timeout: nil, route_to_mobile: nil, send_digits_on_answer: nil, send_silence_when_idle: nil, sip_auth_password: nil, sip_auth_username: nil, sip_headers: nil, sip_region: nil, sip_transport_protocol: nil, sound_modifications: nil, stream_auth_token: nil, stream_bidirectional_codec: nil, stream_bidirectional_mode: nil, stream_bidirectional_sampling_rate: nil, stream_bidirectional_target_legs: nil, stream_codec: nil, stream_establish_before_call_originate: nil, stream_track: nil, stream_url: nil, supervise_call_control_id: nil, supervisor_role: nil, time_limit_secs: nil, timeout_secs: nil, transcription: nil, transcription_config: nil, webhook_retries_policies: nil, webhook_url: nil, webhook_url_method: nil, webhook_urls: nil, webhook_urls_method: nil, request_options: {})
|
|
511
521
|
# Some parameter documentations has been truncated, see
|
|
512
522
|
# {Telnyx::Models::CallDialParams} for more details.
|
|
513
523
|
#
|
|
@@ -545,6 +555,8 @@ module Telnyx
|
|
|
545
555
|
#
|
|
546
556
|
# @param dialogflow_config [Telnyx::Models::DialogflowConfig]
|
|
547
557
|
#
|
|
558
|
+
# @param diversion [String] The number the inbound call being transferred was originally received on, in +E1
|
|
559
|
+
#
|
|
548
560
|
# @param enable_dialogflow [Boolean] Enables Dialogflow for the current call. The default value is false.
|
|
549
561
|
#
|
|
550
562
|
# @param from_display_name [String] The `from_display_name` string to be used as the caller id name (SIP From Displa
|
|
@@ -78,6 +78,16 @@ module Telnyx
|
|
|
78
78
|
# @return [Array<Telnyx::Models::CustomSipHeader>, nil]
|
|
79
79
|
optional :custom_headers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::CustomSipHeader] }
|
|
80
80
|
|
|
81
|
+
# @!attribute diversion
|
|
82
|
+
# The number the inbound call being transferred was originally received on, in
|
|
83
|
+
# +E164 format. Supplying it lets an unverified non-Telnyx `from` be used as the
|
|
84
|
+
# caller id, provided that number is still on an active inbound call to this
|
|
85
|
+
# `diversion` number for your account. The `diversion` number itself must be one
|
|
86
|
+
# you own or have verified.
|
|
87
|
+
#
|
|
88
|
+
# @return [String, nil]
|
|
89
|
+
optional :diversion, String
|
|
90
|
+
|
|
81
91
|
# @!attribute early_media
|
|
82
92
|
# If set to false, early media will not be passed to the originating leg.
|
|
83
93
|
#
|
|
@@ -336,7 +346,7 @@ module Telnyx
|
|
|
336
346
|
# @return [Symbol, Telnyx::Models::Calls::ActionTransferParams::WebhookURLsMethod, nil]
|
|
337
347
|
optional :webhook_urls_method, enum: -> { Telnyx::Calls::ActionTransferParams::WebhookURLsMethod }
|
|
338
348
|
|
|
339
|
-
# @!method initialize(call_control_id:, to:, answering_machine_detection: nil, answering_machine_detection_config: nil, audio_url: nil, client_state: nil, command_id: nil, custom_headers: nil, early_media: nil, from: nil, from_display_name: nil, media_encryption: nil, media_name: nil, mute_dtmf: nil, park_after_unbridge: nil, preferred_codecs: nil, privacy: nil, record: nil, record_channels: nil, record_custom_file_name: nil, record_format: nil, record_max_length: nil, record_timeout_secs: nil, record_track: nil, record_trim: nil, route_to_mobile: nil, send_digits_on_answer: nil, sip_auth_password: nil, sip_auth_username: nil, sip_headers: nil, sip_region: nil, sip_transport_protocol: nil, sound_modifications: nil, target_leg_client_state: nil, time_limit_secs: nil, timeout_secs: nil, webhook_retries_policies: nil, webhook_url: nil, webhook_url_method: nil, webhook_urls: nil, webhook_urls_method: nil, request_options: {})
|
|
349
|
+
# @!method initialize(call_control_id:, to:, answering_machine_detection: nil, answering_machine_detection_config: nil, audio_url: nil, client_state: nil, command_id: nil, custom_headers: nil, diversion: nil, early_media: nil, from: nil, from_display_name: nil, media_encryption: nil, media_name: nil, mute_dtmf: nil, park_after_unbridge: nil, preferred_codecs: nil, privacy: nil, record: nil, record_channels: nil, record_custom_file_name: nil, record_format: nil, record_max_length: nil, record_timeout_secs: nil, record_track: nil, record_trim: nil, route_to_mobile: nil, send_digits_on_answer: nil, sip_auth_password: nil, sip_auth_username: nil, sip_headers: nil, sip_region: nil, sip_transport_protocol: nil, sound_modifications: nil, target_leg_client_state: nil, time_limit_secs: nil, timeout_secs: nil, webhook_retries_policies: nil, webhook_url: nil, webhook_url_method: nil, webhook_urls: nil, webhook_urls_method: nil, request_options: {})
|
|
340
350
|
# Some parameter documentations has been truncated, see
|
|
341
351
|
# {Telnyx::Models::Calls::ActionTransferParams} for more details.
|
|
342
352
|
#
|
|
@@ -356,6 +366,8 @@ module Telnyx
|
|
|
356
366
|
#
|
|
357
367
|
# @param custom_headers [Array<Telnyx::Models::CustomSipHeader>] Custom headers to be added to the SIP INVITE.
|
|
358
368
|
#
|
|
369
|
+
# @param diversion [String] The number the inbound call being transferred was originally received on, in +E1
|
|
370
|
+
#
|
|
359
371
|
# @param early_media [Boolean] If set to false, early media will not be passed to the originating leg.
|
|
360
372
|
#
|
|
361
373
|
# @param from [String] The `from` number to be used as the caller id presented to the destination (`to`
|
|
@@ -4,8 +4,8 @@ module Telnyx
|
|
|
4
4
|
module Models
|
|
5
5
|
class ConnectionRtcpSettings < Telnyx::Internal::Type::BaseModel
|
|
6
6
|
# @!attribute capture_enabled
|
|
7
|
-
#
|
|
8
|
-
#
|
|
7
|
+
# Enable the capture and storage of RTCP messages to create QoS reports on the
|
|
8
|
+
# Telnyx Mission Control Portal.
|
|
9
9
|
#
|
|
10
10
|
# @return [Boolean, nil]
|
|
11
11
|
optional :capture_enabled, Telnyx::Internal::Type::Boolean
|
|
@@ -27,7 +27,7 @@ module Telnyx
|
|
|
27
27
|
# Some parameter documentations has been truncated, see
|
|
28
28
|
# {Telnyx::Models::ConnectionRtcpSettings} for more details.
|
|
29
29
|
#
|
|
30
|
-
# @param capture_enabled [Boolean]
|
|
30
|
+
# @param capture_enabled [Boolean] Enable the capture and storage of RTCP messages to create QoS reports on the Tel
|
|
31
31
|
#
|
|
32
32
|
# @param port [Symbol, Telnyx::Models::ConnectionRtcpSettings::Port] RTCP port by default is rtp+1, it can also be set to rtcp-mux
|
|
33
33
|
#
|