didww-v3 1.0.0 → 1.1.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 +5 -5
- data/lib/didww/client.rb +11 -6
- data/lib/didww/complex_objects/base.rb +4 -5
- data/lib/didww/complex_objects/configurations/sip_configuration.rb +10 -0
- data/lib/didww/middleware.rb +1 -0
- data/lib/didww/resources/pop.rb +9 -0
- data/lib/didww/resources/trunk.rb +1 -4
- data/lib/didww/resources/trunk/const.rb +0 -15
- data/lib/didww/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 43a4e5a0894af4c05f6f8978c5fdd42408120d8ea1bdc18e7cb1c34db6da0fee
|
4
|
+
data.tar.gz: 8b9b921c0f5681a01b2ec5f3e1e418098f472fbc043d46d35a72ce6f2d37902b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6b6e91a29e36efc401ce726270c523b5b09e5c88686db3f268033ae411ede30fc22e151617cb40638824092e4c81c763967efd4482e8d0de32a506ec19b2170
|
7
|
+
data.tar.gz: 1561b27a4ee5bdc930a2b1580d32da56d73abe622ae549e64a18f64246d06d8e14237151c1a82284b09070363050c50cabe2627ff97a726effd20f01848fea8c
|
data/lib/didww/client.rb
CHANGED
@@ -37,6 +37,10 @@ module DIDWW
|
|
37
37
|
Resource::Balance.all.first
|
38
38
|
end
|
39
39
|
|
40
|
+
def cdr_exports
|
41
|
+
Resource::CdrExport
|
42
|
+
end
|
43
|
+
|
40
44
|
def cities
|
41
45
|
Resource::City
|
42
46
|
end
|
@@ -61,6 +65,10 @@ module DIDWW
|
|
61
65
|
Resource::Order
|
62
66
|
end
|
63
67
|
|
68
|
+
def pops
|
69
|
+
Resource::Pop
|
70
|
+
end
|
71
|
+
|
64
72
|
def regions
|
65
73
|
Resource::Region
|
66
74
|
end
|
@@ -73,10 +81,6 @@ module DIDWW
|
|
73
81
|
Resource::Trunk
|
74
82
|
end
|
75
83
|
|
76
|
-
def cdr_exports
|
77
|
-
Resource::CdrExport
|
78
|
-
end
|
79
|
-
|
80
84
|
def api_mode=(arg)
|
81
85
|
unless BASE_URLS.keys.include?(arg)
|
82
86
|
raise ArgumentError.new("Mode should be in #{BASE_URLS.keys} (given '#{arg}').")
|
@@ -102,17 +106,18 @@ module DIDWW
|
|
102
106
|
|
103
107
|
def require_didww_resources
|
104
108
|
require 'didww/resources/balance'
|
109
|
+
require 'didww/resources/cdr_export'
|
105
110
|
require 'didww/resources/city'
|
106
111
|
require 'didww/resources/country'
|
107
112
|
require 'didww/resources/did_group_type'
|
108
113
|
require 'didww/resources/did_group'
|
109
114
|
require 'didww/resources/did'
|
110
115
|
require 'didww/resources/order'
|
116
|
+
require 'didww/resources/pop'
|
111
117
|
require 'didww/resources/region'
|
118
|
+
require 'didww/resources/stock_keeping_unit'
|
112
119
|
require 'didww/resources/trunk_group'
|
113
120
|
require 'didww/resources/trunk'
|
114
|
-
require 'didww/resources/stock_keeping_unit'
|
115
|
-
require 'didww/resources/cdr_export'
|
116
121
|
end
|
117
122
|
|
118
123
|
end
|
@@ -12,10 +12,8 @@ module DIDWW
|
|
12
12
|
|
13
13
|
def property(name, options = {})
|
14
14
|
property = schema.add(name, options)
|
15
|
-
define_method(name) {
|
16
|
-
define_method("#{name}=".to_sym)
|
17
|
-
attributes[name] = property.cast(val)
|
18
|
-
end
|
15
|
+
define_method(name.to_sym) { self[name] }
|
16
|
+
define_method("#{name}=".to_sym) { |val| self[name] = val }
|
19
17
|
end
|
20
18
|
|
21
19
|
def schema
|
@@ -70,7 +68,8 @@ module DIDWW
|
|
70
68
|
end
|
71
69
|
|
72
70
|
def []=(key, value)
|
73
|
-
|
71
|
+
property = self.class.schema.find(key)
|
72
|
+
attributes[key] = property ? property.cast(value) : value
|
74
73
|
end
|
75
74
|
|
76
75
|
# When we represent this resource for serialization (create/update), we do so
|
@@ -149,6 +149,14 @@ module DIDWW
|
|
149
149
|
# Nullable: No
|
150
150
|
# Description: The transport layer that will be responsible for the actual transmission of SIP requests and responses (1 - UDP, 2 - TCP)
|
151
151
|
|
152
|
+
property :max_transfers, type: :integer
|
153
|
+
# Nullable: No
|
154
|
+
# Description: Max count of the REFER requests
|
155
|
+
|
156
|
+
property :max_30x_redirects, type: :integer
|
157
|
+
# Nullable: No
|
158
|
+
# Description: Max count of 301/302 redirects
|
159
|
+
|
152
160
|
DEFAULTS = {
|
153
161
|
username: DID_PLACEHOLDER,
|
154
162
|
port: '5060',
|
@@ -161,6 +169,8 @@ module DIDWW
|
|
161
169
|
dns_srv_failover_timer: 2000,
|
162
170
|
rtp_timeout: 30,
|
163
171
|
auth_enabled: false,
|
172
|
+
max_transfers: 0,
|
173
|
+
max_30x_redirects: 0,
|
164
174
|
codec_ids: DEFAULT_CODEC_IDS,
|
165
175
|
rerouting_disconnect_code_ids: DEFAULT_REROUTING_DISCONNECT_CODE_IDS,
|
166
176
|
transport_protocol_id: 1
|
data/lib/didww/middleware.rb
CHANGED
@@ -5,6 +5,7 @@ module DIDWW
|
|
5
5
|
headers = {}
|
6
6
|
headers['Content-Type'] = 'application/vnd.api+json'
|
7
7
|
headers['Api-Key'] = DIDWW::Client.api_key
|
8
|
+
headers['User-Agent'] = "didww-v3 Ruby gem v#{VERSION}"
|
8
9
|
|
9
10
|
request_env[:request_headers].merge!(headers)
|
10
11
|
request_env.url.host = URI(DIDWW::Client.api_base_url).host
|
@@ -6,6 +6,7 @@ module DIDWW
|
|
6
6
|
class Trunk < Base
|
7
7
|
include CONST
|
8
8
|
|
9
|
+
has_one :pop
|
9
10
|
has_one :trunk_group
|
10
11
|
|
11
12
|
property :priority, type: :integer
|
@@ -44,10 +45,6 @@ module DIDWW
|
|
44
45
|
# Type: String
|
45
46
|
# Description: Optional description of trunk
|
46
47
|
|
47
|
-
property :preferred_server, type: :string
|
48
|
-
# Type: String
|
49
|
-
# Description: Preferred server for your voice route. In general, you should choose the server that is the closest to your location ["LOCAL", "USA", "DE"] or omit.
|
50
|
-
|
51
48
|
property :configuration, type: :complex_object
|
52
49
|
# Type: one of
|
53
50
|
# sip_configurations
|
@@ -2,17 +2,6 @@ module DIDWW
|
|
2
2
|
module Resource
|
3
3
|
class Trunk < Base
|
4
4
|
module CONST
|
5
|
-
# Allowed values for trunk.preferred_server
|
6
|
-
PREFERRED_SERVER_LOCAL = 'LOCAL' .freeze
|
7
|
-
PREFERRED_SERVER_USA = 'USA' .freeze
|
8
|
-
PREFERRED_SERVER_EUROPE = 'Europe' .freeze
|
9
|
-
|
10
|
-
PREFERRED_SERVERS = {
|
11
|
-
PREFERRED_SERVER_LOCAL => 'Local' .freeze,
|
12
|
-
PREFERRED_SERVER_USA => 'United States' .freeze,
|
13
|
-
PREFERRED_SERVER_EUROPE => 'Europe' .freeze
|
14
|
-
}.freeze
|
15
|
-
|
16
5
|
# Allowed values for trunk.cli_format
|
17
6
|
CLI_FORMAT_RAW = 'raw' .freeze
|
18
7
|
CLI_FORMAT_E164 = 'e164' .freeze
|
@@ -44,10 +33,6 @@ module DIDWW
|
|
44
33
|
CONF_TYPE_PSTN => DIDWW::ComplexObject::PstnConfiguration
|
45
34
|
}.freeze
|
46
35
|
|
47
|
-
def preferred_server_human
|
48
|
-
PREFERRED_SERVERS[preferred_server]
|
49
|
-
end
|
50
|
-
|
51
36
|
def cli_format_human
|
52
37
|
CLI_FORMATS[cli_format]
|
53
38
|
end
|
data/lib/didww/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: didww-v3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.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-
|
11
|
+
date: 2018-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -274,6 +274,7 @@ files:
|
|
274
274
|
- lib/didww/resources/did_group.rb
|
275
275
|
- lib/didww/resources/did_group_type.rb
|
276
276
|
- lib/didww/resources/order.rb
|
277
|
+
- lib/didww/resources/pop.rb
|
277
278
|
- lib/didww/resources/region.rb
|
278
279
|
- lib/didww/resources/stock_keeping_unit.rb
|
279
280
|
- lib/didww/resources/trunk.rb
|
@@ -300,7 +301,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
300
301
|
version: '0'
|
301
302
|
requirements: []
|
302
303
|
rubyforge_project:
|
303
|
-
rubygems_version: 2.6
|
304
|
+
rubygems_version: 2.7.6
|
304
305
|
signing_key:
|
305
306
|
specification_version: 4
|
306
307
|
summary: Ruby client for DIDWW API v3
|