didww-v3 1.2.0 → 3.0.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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +27 -0
  3. data/.rubocop.yml +22 -19
  4. data/CHANGELOG.md +75 -0
  5. data/Gemfile +20 -0
  6. data/README.md +8 -1
  7. data/Rakefile +6 -1
  8. data/bin/console +1 -0
  9. data/didww-v3.gemspec +3 -18
  10. data/lib/didww/{middleware.rb → base_middleware.rb} +5 -4
  11. data/lib/didww/callback/const.rb +14 -0
  12. data/lib/didww/callback/request_validator.rb +77 -0
  13. data/lib/didww/client.rb +101 -26
  14. data/lib/didww/complex_objects/base.rb +6 -4
  15. data/lib/didww/complex_objects/capacity_order_item.rb +17 -0
  16. data/lib/didww/complex_objects/configurations/base.rb +143 -2
  17. data/lib/didww/complex_objects/configurations/h323_configuration.rb +1 -0
  18. data/lib/didww/complex_objects/configurations/iax2_configuration.rb +1 -0
  19. data/lib/didww/complex_objects/configurations/pstn_configuration.rb +1 -0
  20. data/lib/didww/complex_objects/configurations/sip_configuration.rb +34 -3
  21. data/lib/didww/complex_objects/configurations.rb +1 -0
  22. data/lib/didww/complex_objects/did_order_item.rb +14 -7
  23. data/lib/didww/complex_objects/export_filters.rb +26 -0
  24. data/lib/didww/encrypt.rb +101 -0
  25. data/lib/didww/jsonapi_middleware.rb +21 -0
  26. data/lib/didww/resource/address.rb +37 -0
  27. data/lib/didww/resource/address_verification.rb +56 -0
  28. data/lib/didww/resource/area.rb +12 -0
  29. data/lib/didww/{resources → resource}/available_did.rb +1 -0
  30. data/lib/didww/{resources → resource}/balance.rb +1 -0
  31. data/lib/didww/{resources → resource}/base.rb +2 -2
  32. data/lib/didww/resource/capacity_pool.rb +47 -0
  33. data/lib/didww/resource/city.rb +14 -0
  34. data/lib/didww/{resources → resource}/country.rb +1 -0
  35. data/lib/didww/{resources → resource}/did.rb +11 -3
  36. data/lib/didww/{resources → resource}/did_group.rb +13 -21
  37. data/lib/didww/{resources → resource}/did_group_type.rb +1 -0
  38. data/lib/didww/{resources → resource}/did_reservation.rb +1 -0
  39. data/lib/didww/resource/encrypted_file.rb +58 -0
  40. data/lib/didww/{resources/cdr_export.rb → resource/export.rb} +24 -5
  41. data/lib/didww/resource/identity.rb +78 -0
  42. data/lib/didww/{resources → resource}/order.rb +21 -12
  43. data/lib/didww/resource/permanent_supporting_document.rb +15 -0
  44. data/lib/didww/{resources → resource}/pop.rb +1 -0
  45. data/lib/didww/resource/proof.rb +19 -0
  46. data/lib/didww/resource/proof_type.rb +14 -0
  47. data/lib/didww/resource/public_key.rb +12 -0
  48. data/lib/didww/resource/qty_based_pricing.rb +20 -0
  49. data/lib/didww/{resources → resource}/region.rb +1 -0
  50. data/lib/didww/resource/requirement.rb +61 -0
  51. data/lib/didww/resource/requirement_validation.rb +10 -0
  52. data/lib/didww/resource/shared_capacity_group.rb +27 -0
  53. data/lib/didww/{resources → resource}/stock_keeping_unit.rb +1 -0
  54. data/lib/didww/resource/supporting_document_template.rb +14 -0
  55. data/lib/didww/{resources/trunk.rb → resource/voice_in_trunk.rb} +40 -4
  56. data/lib/didww/{resources/trunk_group.rb → resource/voice_in_trunk_group.rb} +3 -2
  57. data/lib/didww/resource/voice_out_trunk.rb +75 -0
  58. data/lib/didww/resource/voice_out_trunk_regenerate_credential.rb +11 -0
  59. data/lib/didww/types/ip_addresses.rb +23 -0
  60. data/lib/didww/types/strings.rb +21 -0
  61. data/lib/didww/types.rb +12 -0
  62. data/lib/didww/version.rb +2 -1
  63. data/lib/didww.rb +6 -1
  64. metadata +59 -176
  65. data/.travis.yml +0 -5
  66. data/lib/didww/complex_objects/cdr_export_filter.rb +0 -23
  67. data/lib/didww/complex_objects/configurations/const.rb +0 -149
  68. data/lib/didww/resources/city.rb +0 -9
  69. data/lib/didww/resources/trunk/const.rb +0 -46
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'didww/callback/const'
4
+
5
+ module DIDWW
6
+ module Resource
7
+ class VoiceOutTrunk < Base
8
+ include DIDWW::Callback::CONST
9
+
10
+ ON_CLI_MISMATCH_ACTION_REJECT_CALL = 'Reject call'
11
+ ON_CLI_MISMATCH_ACTION_REPLACE_CLI = 'Replace CLI'
12
+ ON_CLI_MISMATCH_ACTION_SEND_ORIGINAL_CLI = 'Send Original CLI'
13
+
14
+ ON_CLI_MISMATCH_ACTIONS = [
15
+ ON_CLI_MISMATCH_ACTION_REJECT_CALL,
16
+ ON_CLI_MISMATCH_ACTION_REPLACE_CLI,
17
+ ON_CLI_MISMATCH_ACTION_SEND_ORIGINAL_CLI
18
+ ].freeze
19
+
20
+ DEFAULT_DST_ACTION_ALLOW_CALLS = 'Allow Calls'
21
+ DEFAULT_DST_ACTION_REJECT_CALLS = 'Reject Calls'
22
+
23
+ DEFAULT_DST_ACTIONS = [
24
+ DEFAULT_DST_ACTION_ALLOW_CALLS,
25
+ DEFAULT_DST_ACTION_REJECT_CALLS
26
+ ].freeze
27
+
28
+ STATUS_ACTIVE = 'Active'
29
+ STATUS_BLOCKED = 'Blocked'
30
+
31
+ STATUSES = [
32
+ STATUS_ACTIVE,
33
+ STATUS_BLOCKED
34
+ ].freeze
35
+
36
+ MEDIA_ENCRYPTION_MODE_DISABLE = 'Disable'
37
+ MEDIA_ENCRYPTION_MODE_SRTP_SDES = 'SRTP SDES'
38
+ MEDIA_ENCRYPTION_MODE_SRTP_DTLS = 'SRTP DTLS'
39
+ MEDIA_ENCRYPTION_MODE_ZRTP = 'ZRTP'
40
+
41
+ MEDIA_ENCRYPTION_MODES = [
42
+ MEDIA_ENCRYPTION_MODE_DISABLE,
43
+ MEDIA_ENCRYPTION_MODE_SRTP_SDES,
44
+ MEDIA_ENCRYPTION_MODE_SRTP_DTLS,
45
+ MEDIA_ENCRYPTION_MODE_ZRTP
46
+ ].freeze
47
+
48
+ property :name, type: :string
49
+ property :allowed_sip_ips, type: :ip_addresses
50
+ property :on_cli_mismatch_action, type: :string
51
+ property :capacity_limit, type: :integer
52
+ property :username, type: :string
53
+ property :password, type: :string
54
+ property :created_at, type: :time
55
+ property :allow_any_did_as_cli, type: :boolean
56
+ property :status, type: :string
57
+ property :threshold_reached, type: :boolean
58
+ property :threshold_amount, type: :decimal
59
+ property :default_dst_action, type: :string
60
+ property :dst_prefixes, type: :strings
61
+ property :media_encryption_mode, type: :string
62
+ property :callback_url, type: :string
63
+ property :force_symmetric_rtp, type: :boolean
64
+ property :allowed_rtp_ips, type: :ip_addresses
65
+
66
+ has_many :dids
67
+
68
+ def regenerate_credentials
69
+ resource = DIDWW::Resource::VoiceOutTrunkRegenerateCredential.new
70
+ resource.relationships[:voice_out_trunk] = self
71
+ resource.save
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'didww/callback/const'
4
+
5
+ module DIDWW
6
+ module Resource
7
+ class VoiceOutTrunkRegenerateCredential < Base
8
+ has_one :voice_out_trunk
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DIDWW
4
+ module Types
5
+ module IpAddresses
6
+ module_function
7
+
8
+ def cast(values, default)
9
+ return default unless values.is_a?(Array)
10
+
11
+ values.map do |value|
12
+ cast_item(value)
13
+ end
14
+ rescue IPAddr::Error
15
+ default
16
+ end
17
+
18
+ def cast_item(value)
19
+ value.is_a?(IPAddr) ? value : IPAddr.new(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DIDWW
4
+ module Types
5
+ module Strings
6
+ module_function
7
+
8
+ def cast(values, default)
9
+ return default unless values.is_a?(Array)
10
+
11
+ values.map do |value|
12
+ cast_item(value)
13
+ end
14
+ end
15
+
16
+ def cast_item(value)
17
+ value.to_s
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json_api_client/schema'
4
+ require 'didww/types/ip_addresses'
5
+ require 'didww/types/strings'
6
+ require 'didww/complex_objects/base'
7
+ require 'didww/complex_objects/export_filters'
8
+
9
+ JsonApiClient::Schema.register ip_addresses: DIDWW::Types::IpAddresses,
10
+ strings: DIDWW::Types::Strings,
11
+ complex_object: DIDWW::ComplexObject::Base,
12
+ export_filters: DIDWW::ComplexObject::ExportFilters
data/lib/didww/version.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DIDWW
2
- VERSION = '1.2.0'.freeze
3
+ VERSION = '3.0.0'.freeze
3
4
  end
data/lib/didww.rb CHANGED
@@ -1,3 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  require 'didww/version'
2
3
  require 'didww/client'
3
- require 'didww/middleware'
4
+ require 'didww/types'
5
+ require 'didww/base_middleware'
6
+ require 'didww/jsonapi_middleware'
7
+ require 'didww/callback/request_validator'
8
+ require 'didww/encrypt'
metadata CHANGED
@@ -1,163 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: didww-v3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Korobeinikov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-25 00:00:00.000000000 Z
11
+ date: 2022-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.16'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.16'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '10.0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.0'
55
- - !ruby/object:Gem::Dependency
56
- name: pry
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: byebug
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: awesome_print
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: http_logger
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rubocop
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: simplecov
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: smart_rspec
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: webmock
14
+ name: activesupport
155
15
  requirement: !ruby/object:Gem::Requirement
156
16
  requirements:
157
17
  - - ">="
158
18
  - !ruby/object:Gem::Version
159
19
  version: '0'
160
- type: :development
20
+ type: :runtime
161
21
  prerelease: false
162
22
  version_requirements: !ruby/object:Gem::Requirement
163
23
  requirements:
@@ -165,7 +25,7 @@ dependencies:
165
25
  - !ruby/object:Gem::Version
166
26
  version: '0'
167
27
  - !ruby/object:Gem::Dependency
168
- name: activesupport
28
+ name: faraday
169
29
  requirement: !ruby/object:Gem::Requirement
170
30
  requirements:
171
31
  - - ">="
@@ -179,21 +39,21 @@ dependencies:
179
39
  - !ruby/object:Gem::Version
180
40
  version: '0'
181
41
  - !ruby/object:Gem::Dependency
182
- name: faraday
42
+ name: json_api_client
183
43
  requirement: !ruby/object:Gem::Requirement
184
44
  requirements:
185
- - - ">="
45
+ - - '='
186
46
  - !ruby/object:Gem::Version
187
- version: '0'
47
+ version: 1.18.0
188
48
  type: :runtime
189
49
  prerelease: false
190
50
  version_requirements: !ruby/object:Gem::Requirement
191
51
  requirements:
192
- - - ">="
52
+ - - '='
193
53
  - !ruby/object:Gem::Version
194
- version: '0'
54
+ version: 1.18.0
195
55
  - !ruby/object:Gem::Dependency
196
- name: json_api_client
56
+ name: http
197
57
  requirement: !ruby/object:Gem::Requirement
198
58
  requirements:
199
59
  - - ">="
@@ -207,7 +67,7 @@ dependencies:
207
67
  - !ruby/object:Gem::Version
208
68
  version: '0'
209
69
  - !ruby/object:Gem::Dependency
210
- name: http
70
+ name: down
211
71
  requirement: !ruby/object:Gem::Requirement
212
72
  requirements:
213
73
  - - ">="
@@ -221,7 +81,7 @@ dependencies:
221
81
  - !ruby/object:Gem::Version
222
82
  version: '0'
223
83
  - !ruby/object:Gem::Dependency
224
- name: down
84
+ name: openssl-oaep
225
85
  requirement: !ruby/object:Gem::Requirement
226
86
  requirements:
227
87
  - - ">="
@@ -241,10 +101,11 @@ executables: []
241
101
  extensions: []
242
102
  extra_rdoc_files: []
243
103
  files:
104
+ - ".github/workflows/tests.yml"
244
105
  - ".gitignore"
245
106
  - ".rspec"
246
107
  - ".rubocop.yml"
247
- - ".travis.yml"
108
+ - CHANGELOG.md
248
109
  - Gemfile
249
110
  - LICENSE.txt
250
111
  - README.md
@@ -253,35 +114,58 @@ files:
253
114
  - bin/setup
254
115
  - didww-v3.gemspec
255
116
  - lib/didww.rb
117
+ - lib/didww/base_middleware.rb
118
+ - lib/didww/callback/const.rb
119
+ - lib/didww/callback/request_validator.rb
256
120
  - lib/didww/client.rb
257
121
  - lib/didww/complex_objects/base.rb
258
- - lib/didww/complex_objects/cdr_export_filter.rb
122
+ - lib/didww/complex_objects/capacity_order_item.rb
259
123
  - lib/didww/complex_objects/configurations.rb
260
124
  - lib/didww/complex_objects/configurations/base.rb
261
- - lib/didww/complex_objects/configurations/const.rb
262
125
  - lib/didww/complex_objects/configurations/h323_configuration.rb
263
126
  - lib/didww/complex_objects/configurations/iax2_configuration.rb
264
127
  - lib/didww/complex_objects/configurations/pstn_configuration.rb
265
128
  - lib/didww/complex_objects/configurations/sip_configuration.rb
266
129
  - lib/didww/complex_objects/did_order_item.rb
267
- - lib/didww/middleware.rb
268
- - lib/didww/resources/available_did.rb
269
- - lib/didww/resources/balance.rb
270
- - lib/didww/resources/base.rb
271
- - lib/didww/resources/cdr_export.rb
272
- - lib/didww/resources/city.rb
273
- - lib/didww/resources/country.rb
274
- - lib/didww/resources/did.rb
275
- - lib/didww/resources/did_group.rb
276
- - lib/didww/resources/did_group_type.rb
277
- - lib/didww/resources/did_reservation.rb
278
- - lib/didww/resources/order.rb
279
- - lib/didww/resources/pop.rb
280
- - lib/didww/resources/region.rb
281
- - lib/didww/resources/stock_keeping_unit.rb
282
- - lib/didww/resources/trunk.rb
283
- - lib/didww/resources/trunk/const.rb
284
- - lib/didww/resources/trunk_group.rb
130
+ - lib/didww/complex_objects/export_filters.rb
131
+ - lib/didww/encrypt.rb
132
+ - lib/didww/jsonapi_middleware.rb
133
+ - lib/didww/resource/address.rb
134
+ - lib/didww/resource/address_verification.rb
135
+ - lib/didww/resource/area.rb
136
+ - lib/didww/resource/available_did.rb
137
+ - lib/didww/resource/balance.rb
138
+ - lib/didww/resource/base.rb
139
+ - lib/didww/resource/capacity_pool.rb
140
+ - lib/didww/resource/city.rb
141
+ - lib/didww/resource/country.rb
142
+ - lib/didww/resource/did.rb
143
+ - lib/didww/resource/did_group.rb
144
+ - lib/didww/resource/did_group_type.rb
145
+ - lib/didww/resource/did_reservation.rb
146
+ - lib/didww/resource/encrypted_file.rb
147
+ - lib/didww/resource/export.rb
148
+ - lib/didww/resource/identity.rb
149
+ - lib/didww/resource/order.rb
150
+ - lib/didww/resource/permanent_supporting_document.rb
151
+ - lib/didww/resource/pop.rb
152
+ - lib/didww/resource/proof.rb
153
+ - lib/didww/resource/proof_type.rb
154
+ - lib/didww/resource/public_key.rb
155
+ - lib/didww/resource/qty_based_pricing.rb
156
+ - lib/didww/resource/region.rb
157
+ - lib/didww/resource/requirement.rb
158
+ - lib/didww/resource/requirement_validation.rb
159
+ - lib/didww/resource/shared_capacity_group.rb
160
+ - lib/didww/resource/stock_keeping_unit.rb
161
+ - lib/didww/resource/supporting_document_template.rb
162
+ - lib/didww/resource/voice_in_trunk.rb
163
+ - lib/didww/resource/voice_in_trunk_group.rb
164
+ - lib/didww/resource/voice_out_trunk.rb
165
+ - lib/didww/resource/voice_out_trunk_regenerate_credential.rb
166
+ - lib/didww/types.rb
167
+ - lib/didww/types/ip_addresses.rb
168
+ - lib/didww/types/strings.rb
285
169
  - lib/didww/version.rb
286
170
  homepage: https://github.com/didww/didww-v3-ruby
287
171
  licenses:
@@ -302,8 +186,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
302
186
  - !ruby/object:Gem::Version
303
187
  version: '0'
304
188
  requirements: []
305
- rubyforge_project:
306
- rubygems_version: 2.7.6
189
+ rubygems_version: 3.1.4
307
190
  signing_key:
308
191
  specification_version: 4
309
192
  summary: Ruby client for DIDWW API v3
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.4.2
5
- before_install: gem install bundler -v 1.16.0
@@ -1,23 +0,0 @@
1
- require 'json_api_client/schema'
2
-
3
- module DIDWW
4
- module ComplexObject
5
- class CdrExportFilter < Base
6
- # Type casting for JsonApiClient parser/setters
7
- def self.cast_single_object(hash)
8
- new(hash)
9
- end
10
-
11
- property :year, type: :integer
12
- property :month, type: :integer
13
- property :did_number, type: :string
14
-
15
- def as_json(*)
16
- super[:attributes]
17
- end
18
-
19
- end
20
- end
21
- end
22
-
23
- JsonApiClient::Schema.register cdr_export_filter: DIDWW::ComplexObject::CdrExportFilter
@@ -1,149 +0,0 @@
1
- module DIDWW
2
- module ComplexObject
3
- module Configuration
4
- module CONST
5
- RX_DTMF_FORMATS = {
6
- 1 => 'RFC 2833' .freeze,
7
- 2 => 'SIP INFO application/dtmf-relay OR application/dtmf'.freeze,
8
- 3 => 'RFC 2833 OR SIP INFO' .freeze
9
- }.freeze
10
-
11
- TX_DTMF_FORMATS = {
12
- 0 => 'Disable sending' .freeze,
13
- 1 => 'RFC 2833' .freeze,
14
- 2 => 'SIP INFO application/dtmf-relay' .freeze,
15
- 4 => 'SIP INFO application/dtmf' .freeze
16
- }.freeze
17
-
18
- SST_REFRESH_METHODS = {
19
- 1 => 'Invite' .freeze,
20
- 2 => 'Update' .freeze,
21
- 3 => 'Update fallback Invite' .freeze
22
- }.freeze
23
-
24
- TRANSPORT_PROTOCOLS = {
25
- 1 => 'UDP' .freeze,
26
- 2 => 'TCP' .freeze
27
- }.freeze
28
-
29
- REROUTING_DISCONNECT_CODES = {
30
- 56 => '400 | Bad Request' .freeze,
31
- 57 => '401 | Unauthorized' .freeze,
32
- 58 => '402 | Payment Required' .freeze,
33
- 59 => '403 | Forbidden' .freeze,
34
- 60 => '404 | Not Found' .freeze,
35
- 64 => '408 | Request Timeout' .freeze,
36
- 65 => '409 | Conflict' .freeze,
37
- 66 => '410 | Gone' .freeze,
38
- 67 => '412 | Conditional Request Failed' .freeze,
39
- 68 => '413 | Request Entity Too Large' .freeze,
40
- 69 => '414 | Request-URI Too Long' .freeze,
41
- 70 => '415 | Unsupported Media Type' .freeze,
42
- 71 => '416 | Unsupported URI Scheme' .freeze,
43
- 72 => '417 | Unknown Resource-Priority' .freeze,
44
- 73 => '420 | Bad Extension' .freeze,
45
- 74 => '421 | Extension Required' .freeze,
46
- 75 => '422 | Session Interval Too Small' .freeze,
47
- 76 => '423 | Interval Too Brief' .freeze,
48
- 77 => '424 | Bad Location Information' .freeze,
49
- 78 => '428 | Use Identity Header' .freeze,
50
- 79 => '429 | Provide Referrer Identity' .freeze,
51
- 80 => '433 | Anonymity Disallowed' .freeze,
52
- 81 => '436 | Bad Identity-Info' .freeze,
53
- 82 => '437 | Unsupported Certificate' .freeze,
54
- 83 => '438 | Invalid Identity Header' .freeze,
55
- 84 => '480 | Temporarily Unavailable' .freeze,
56
- 86 => '482 | Loop Detected' .freeze,
57
- 87 => '483 | Too Many Hops' .freeze,
58
- 88 => '484 | Address Incomplete' .freeze,
59
- 89 => '485 | Ambiguous' .freeze,
60
- 90 => '486 | Busy Here' .freeze,
61
- 91 => '487 | Request Terminated' .freeze,
62
- 92 => '488 | Not Acceptable Here' .freeze,
63
- 96 => '494 | Security Agreement Required' .freeze,
64
- 97 => '500 | Server Internal Error' .freeze,
65
- 98 => '501 | Not Implemented' .freeze,
66
- 99 => '502 | Bad Gateway' .freeze,
67
- 100 => '503 | Service Unavailable' .freeze,
68
- 101 => '504 | Server Time-out' .freeze,
69
- 102 => '505 | Version Not Supported' .freeze,
70
- 103 => '513 | Message Too Large' .freeze,
71
- 104 => '580 | Precondition Failure' .freeze,
72
- 105 => '600 | Busy Everywhere' .freeze,
73
- 106 => '603 | Decline' .freeze,
74
- 107 => '604 | Does Not Exist Anywhere' .freeze,
75
- 108 => '606 | Not Acceptable' .freeze,
76
- 1505 => 'Ringing timeout' .freeze
77
- }.freeze
78
-
79
- CODECS = {
80
- 6 => 'telephone-event' .freeze,
81
- 7 => 'G723' .freeze,
82
- 8 => 'G729' .freeze,
83
- 9 => 'PCMU' .freeze,
84
- 10 => 'PCMA' .freeze,
85
- 12 => 'speex' .freeze,
86
- 13 => 'GSM' .freeze,
87
- 14 => 'G726-32' .freeze,
88
- 15 => 'G721' .freeze,
89
- 16 => 'G726-24' .freeze,
90
- 17 => 'G726-40' .freeze,
91
- 18 => 'G726-16' .freeze,
92
- 19 => 'L16' .freeze
93
- }.freeze
94
-
95
- DEFAULT_REROUTING_DISCONNECT_CODE_IDS = [
96
- 56,
97
- 58,
98
- 59,
99
- 60,
100
- 64,
101
- 65,
102
- 66,
103
- 67,
104
- 68,
105
- 69,
106
- 70,
107
- 71,
108
- 72,
109
- 73,
110
- 74,
111
- 75,
112
- 76,
113
- 77,
114
- 78,
115
- 79,
116
- 80,
117
- 81,
118
- 82,
119
- 83,
120
- 84,
121
- 86,
122
- 87,
123
- 88,
124
- 89,
125
- 90,
126
- 91,
127
- 92,
128
- 96,
129
- 97,
130
- 98,
131
- 99,
132
- 101,
133
- 102,
134
- 103,
135
- 104,
136
- 105,
137
- 106,
138
- 107,
139
- 108,
140
- 1505
141
- ].freeze
142
-
143
- DEFAULT_CODEC_IDS = [ 9, 10, 8, 7, 6 ].freeze
144
-
145
- DID_PLACEHOLDER = '{DID}'.freeze
146
- end
147
- end
148
- end
149
- end
@@ -1,9 +0,0 @@
1
- module DIDWW
2
- module Resource
3
- class City < Base
4
- property :name, type: :string
5
- # Type: String
6
- # Description: City name
7
- end
8
- end
9
- end