didww-v3 1.2.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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