freewifi 0.1.6 → 0.1.7
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/.idea/freewifi.iml +32 -0
- data/.idea/workspace.xml +230 -127
- data/freewifi.gemspec +3 -0
- data/lib/freewifi/cisco/{cisco_schemes_conf_gen.rb → any/cisco_schemes_conf_gen.rb} +0 -0
- data/lib/freewifi/cisco/iwag/iwag_telnet_connector.rb +98 -0
- data/lib/freewifi/database/mongo/mongoconnector.rb +24 -0
- data/lib/freewifi/general/wifi_portal_procedures.rb +669 -0
- data/lib/freewifi/huawei/hua_controller_class.rb +142 -0
- data/lib/freewifi/mikrotik/newhub_mtik_api.rb +97 -0
- data/lib/freewifi/version.rb +1 -1
- data/lib/freewifi.rb +109 -5
- metadata +49 -3
@@ -0,0 +1,669 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path("../cisco/iwag", __dir__)
|
2
|
+
$LOAD_PATH.unshift File.expand_path("../mikrotik", __dir__)
|
3
|
+
$LOAD_PATH.unshift File.expand_path("../huawei", __dir__)
|
4
|
+
|
5
|
+
require 'freewifi/cisco/iwag/iwag_telnet_connector'
|
6
|
+
require 'freewifi/mikrotik/newhub_mtik_api'
|
7
|
+
require 'freewifi/huawei/hua_controller_class'
|
8
|
+
require 'rubygems'
|
9
|
+
require 'savon'
|
10
|
+
|
11
|
+
class WiFiPortal_1
|
12
|
+
attr_accessor :iwag_telnet_connector,
|
13
|
+
:ard_api_gw_connector_wifi,
|
14
|
+
:iwag1_host,
|
15
|
+
:iwag_username,
|
16
|
+
:iwag_password,
|
17
|
+
:mtik_control_ips_get,
|
18
|
+
:mtik_user,
|
19
|
+
:mtik_password,
|
20
|
+
:mtik_api_connector,
|
21
|
+
:hua_controller_connector
|
22
|
+
|
23
|
+
def initialize(apigw_wsdl, apigw_endpoint, apigw_namespace, apigw_wsse_aut_log, apigw_wsse_aut_pass, iwag1_host, iwag_username, iwag_password, mtik_control_ips_get, mtik_user, mtik_password, hua_wlc_1_ip, hua_wlc_2_ip, hua_wlc_login, hua_wlc_password)
|
24
|
+
@iwag_telnet_connector = CSRtelnet_1.new(iwag1_host, iwag_username, iwag_password)
|
25
|
+
@ard_api_gw_connector_wifi = Savon.client do
|
26
|
+
#ssl_verify_mode :none
|
27
|
+
wsdl apigw_wsdl
|
28
|
+
endpoint apigw_endpoint
|
29
|
+
namespace apigw_namespace
|
30
|
+
wsse_auth(apigw_wsse_aut_log, apigw_wsse_aut_pass, :digest)
|
31
|
+
encoding 'UTF-8'
|
32
|
+
headers = {"Accept-Encoding" => "gzip, deflate", "Connection" => "Keep-Alive"}
|
33
|
+
end
|
34
|
+
|
35
|
+
@iwag1_host = iwag1_host
|
36
|
+
@iwag_username = iwag_username
|
37
|
+
@iwag_password = iwag_password
|
38
|
+
|
39
|
+
@mtik_api_connector = NEWhubWifiApi_1.new(mtik_control_ips_get, mtik_user, mtik_password)
|
40
|
+
|
41
|
+
@hua_controller_connector = HuaWifi_1.new(hua_wlc_1_ip, hua_wlc_2_ip, hua_wlc_login, hua_wlc_password)
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
def python_mac_iwag1_1(ipaddress)
|
47
|
+
begin
|
48
|
+
response = ard_api_gw_connector_wifi.call(:mts_python_mac_iwag1) do
|
49
|
+
message({:ipaddress => ipaddress})
|
50
|
+
end
|
51
|
+
answer = response.to_hash
|
52
|
+
return answer[:mts_python_mac_iwag1_response][:data].gsub("\n", "")
|
53
|
+
rescue
|
54
|
+
return "Unknown Unknown Unknown Unknown"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def python_mac_iwag2_1(ipaddress)
|
59
|
+
begin
|
60
|
+
response = ard_api_gw_connector_wifi.call(:mts_python_mac_iwag2) do
|
61
|
+
message({:ipaddress => ipaddress})
|
62
|
+
end
|
63
|
+
answer = response.to_hash
|
64
|
+
return answer[:mts_python_mac_iwag2_response][:data].gsub("\n", "")
|
65
|
+
rescue
|
66
|
+
return "Unknown Unknown Unknown Unknown"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def get_subs_add_info3_1(ipaddress, access_interface)
|
71
|
+
|
72
|
+
answer = ""
|
73
|
+
|
74
|
+
#region get additional information
|
75
|
+
if access_interface != "false"
|
76
|
+
|
77
|
+
subscribers_mac = ""
|
78
|
+
|
79
|
+
begin
|
80
|
+
|
81
|
+
dump =""
|
82
|
+
connection = Net::Telnet.new( "Host" => "172.24.247.183", "Timeout" => false, "Prompt" => /.*\#/ ) { |str| }
|
83
|
+
connection.login({ "Name" => iwag_username, "Password" => iwag_password, "LoginPrompt" => /Username:/ }) { |str| }
|
84
|
+
connection.cmd("show ip dhcp binding #{ipaddress}") {
|
85
|
+
|c|
|
86
|
+
dump << c
|
87
|
+
}
|
88
|
+
connection.close
|
89
|
+
as = dump.split("\n")
|
90
|
+
reer = as[4].split(" ")
|
91
|
+
|
92
|
+
ma = reer[1].to_s.upcase
|
93
|
+
pos = ma[0]+ma[1]
|
94
|
+
if pos=="01"
|
95
|
+
subscribers_mac = ma[2]+ma[3]+":"+ma[5]+ma[6]+":"+ma[7]+ma[8]+":"+ma[10]+ma[11]+":"+ma[12]+ma[13]+":"+ma[15]+ma[16]
|
96
|
+
else
|
97
|
+
subscribers_mac = ma[0]+ma[1]+":"+ma[2]+ma[3]+":"+ma[5]+ma[6]+":"+ma[7]+ma[8]+":"+ma[10]+ma[11]+":"+ma[12]+ma[13]
|
98
|
+
end
|
99
|
+
|
100
|
+
|
101
|
+
rescue
|
102
|
+
subscribers_mac = "unknown"
|
103
|
+
end
|
104
|
+
|
105
|
+
begin
|
106
|
+
thr0 = Thread.new do
|
107
|
+
begin
|
108
|
+
p mikr_info5 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, "172.24.247.15")
|
109
|
+
splitting5 = mikr_info5.split("---")
|
110
|
+
if splitting5[1] != "not on mikrotik controller" && splitting5[1]!="unknown" && splitting5[1]!=nil
|
111
|
+
answer = mikr_info5
|
112
|
+
end
|
113
|
+
rescue
|
114
|
+
p "thr1 wrong"
|
115
|
+
end
|
116
|
+
end
|
117
|
+
rescue
|
118
|
+
p "thread 0 failed"
|
119
|
+
end
|
120
|
+
|
121
|
+
|
122
|
+
begin
|
123
|
+
thr1 = Thread.new do
|
124
|
+
begin
|
125
|
+
p mikr_info7 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, "172.24.214.155")
|
126
|
+
splitting7 = mikr_info7.split("---")
|
127
|
+
if splitting7[1] != "not on mikrotik controller" && splitting7[1]!="unknown" && splitting7[1]!=nil
|
128
|
+
answer = mikr_info7
|
129
|
+
end
|
130
|
+
rescue
|
131
|
+
p "thr1 wrong"
|
132
|
+
end
|
133
|
+
end
|
134
|
+
rescue
|
135
|
+
p "thread 1 failed"
|
136
|
+
end
|
137
|
+
|
138
|
+
|
139
|
+
begin
|
140
|
+
thr2 = Thread.new do
|
141
|
+
begin
|
142
|
+
p mikr_info9 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, "172.24.214.140")
|
143
|
+
splitting9 = mikr_info9.split("---")
|
144
|
+
if splitting9[1] != "not on mikrotik controller" && splitting9[1]!="unknown" && splitting9[1]!=nil
|
145
|
+
answer = mikr_info9
|
146
|
+
end
|
147
|
+
rescue
|
148
|
+
p "thr2 wrong"
|
149
|
+
end
|
150
|
+
end
|
151
|
+
rescue
|
152
|
+
p "thread 2 failed"
|
153
|
+
end
|
154
|
+
|
155
|
+
|
156
|
+
begin
|
157
|
+
thr3 = Thread.new do
|
158
|
+
begin
|
159
|
+
p mikr_info9 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, "172.24.214.105")
|
160
|
+
splitting9 = mikr_info9.split("---")
|
161
|
+
if splitting9[1] != "not on mikrotik controller" && splitting9[1]!="unknown" && splitting9[1]!=nil
|
162
|
+
answer = mikr_info9
|
163
|
+
end
|
164
|
+
rescue
|
165
|
+
p "thr3 wrong"
|
166
|
+
end
|
167
|
+
end
|
168
|
+
rescue
|
169
|
+
p "thread 3 failed"
|
170
|
+
end
|
171
|
+
|
172
|
+
begin
|
173
|
+
thr4 = Thread.new do
|
174
|
+
begin
|
175
|
+
p mikr_info9 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, "172.24.223.105")
|
176
|
+
splitting9 = mikr_info9.split("---")
|
177
|
+
if splitting9[1] != "not on mikrotik controller" && splitting9[1]!="unknown" && splitting9[1]!=nil
|
178
|
+
answer = mikr_info9
|
179
|
+
end
|
180
|
+
rescue
|
181
|
+
p "thr4 wrong"
|
182
|
+
end
|
183
|
+
end
|
184
|
+
rescue
|
185
|
+
p "thread 4 failed"
|
186
|
+
end
|
187
|
+
|
188
|
+
|
189
|
+
thr0.join
|
190
|
+
thr1.join
|
191
|
+
thr2.join
|
192
|
+
thr3.join
|
193
|
+
thr4.join
|
194
|
+
|
195
|
+
if answer==""
|
196
|
+
answer = subscribers_mac + "---" + "not on mikrotik controller" + "---" + "unknown" + "---" + "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown"
|
197
|
+
end
|
198
|
+
|
199
|
+
end
|
200
|
+
|
201
|
+
|
202
|
+
return answer
|
203
|
+
|
204
|
+
end
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
def get_subs_add_info4new_1(access_interface,subscribers_mac)
|
209
|
+
|
210
|
+
answer = ""
|
211
|
+
|
212
|
+
#region get additional information
|
213
|
+
if access_interface != "false"
|
214
|
+
|
215
|
+
p subscribers_mac
|
216
|
+
|
217
|
+
thr0 = Thread.new do
|
218
|
+
begin
|
219
|
+
p mikr_info5 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, "172.24.247.15")
|
220
|
+
splitting5 = mikr_info5.split("---")
|
221
|
+
if splitting5[1] != "not on mikrotik controller" && splitting5[1]!="unknown" && splitting5[1]!=nil
|
222
|
+
answer = mikr_info5
|
223
|
+
end
|
224
|
+
rescue
|
225
|
+
p "thr0 wrong"
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
229
|
+
thr1 = Thread.new do
|
230
|
+
begin
|
231
|
+
p mikr_info7 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, "172.24.214.155")
|
232
|
+
splitting7 = mikr_info7.split("---")
|
233
|
+
if splitting7[1] != "not on mikrotik controller" && splitting7[1]!="unknown" && splitting7[1]!=nil
|
234
|
+
answer = mikr_info7
|
235
|
+
end
|
236
|
+
rescue
|
237
|
+
p "thr1 wrong"
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
241
|
+
thr2 = Thread.new do
|
242
|
+
begin
|
243
|
+
p mikr_info9 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, "172.24.214.140")
|
244
|
+
splitting9 = mikr_info9.split("---")
|
245
|
+
if splitting9[1] != "not on mikrotik controller" && splitting9[1]!="unknown" && splitting9[1]!=nil
|
246
|
+
answer = mikr_info9
|
247
|
+
end
|
248
|
+
rescue
|
249
|
+
p "thr2 wrong"
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
|
254
|
+
begin
|
255
|
+
thr3 = Thread.new do
|
256
|
+
begin
|
257
|
+
p mikr_info9 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, "172.24.214.105")
|
258
|
+
splitting9 = mikr_info9.split("---")
|
259
|
+
if splitting9[1] != "not on mikrotik controller" && splitting9[1]!="unknown" && splitting9[1]!=nil
|
260
|
+
answer = mikr_info9
|
261
|
+
end
|
262
|
+
rescue
|
263
|
+
p "thr3 wrong"
|
264
|
+
end
|
265
|
+
end
|
266
|
+
rescue
|
267
|
+
p "thread 3 failed"
|
268
|
+
end
|
269
|
+
|
270
|
+
begin
|
271
|
+
thr4 = Thread.new do
|
272
|
+
begin
|
273
|
+
p mikr_info9 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, "172.24.223.105")
|
274
|
+
splitting9 = mikr_info9.split("---")
|
275
|
+
if splitting9[1] != "not on mikrotik controller" && splitting9[1]!="unknown" && splitting9[1]!=nil
|
276
|
+
answer = mikr_info9
|
277
|
+
end
|
278
|
+
rescue
|
279
|
+
p "thr4 wrong"
|
280
|
+
end
|
281
|
+
end
|
282
|
+
rescue
|
283
|
+
p "thread 4 failed"
|
284
|
+
end
|
285
|
+
|
286
|
+
thr0.join
|
287
|
+
thr1.join
|
288
|
+
thr2.join
|
289
|
+
thr3.join
|
290
|
+
thr4.join
|
291
|
+
|
292
|
+
if answer==""
|
293
|
+
answer = subscribers_mac + "---" + "not on mikrotik controller" + "---" + "unknown" + "---" + "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown"
|
294
|
+
end
|
295
|
+
|
296
|
+
end
|
297
|
+
|
298
|
+
|
299
|
+
return answer
|
300
|
+
|
301
|
+
end
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
def get_subs_info_return_1(ip_address)
|
308
|
+
|
309
|
+
input_params = {:ip_address => ip_address}
|
310
|
+
output_params = {}
|
311
|
+
|
312
|
+
begin
|
313
|
+
ipaddr_full = ip_address
|
314
|
+
ipaddr1 = IPAddr.new ipaddr_full
|
315
|
+
p ipaddr2 = ipaddr1.mask(17).to_s
|
316
|
+
p ipaddr3 = ipaddr2.to_s
|
317
|
+
|
318
|
+
if ipaddr3=="100.71.0.0" #iwag old
|
319
|
+
|
320
|
+
begin
|
321
|
+
p access_int = iwag_telnet_connector.return_iwag_access_interface_1(ip_address)
|
322
|
+
|
323
|
+
ip_a = ip_address
|
324
|
+
|
325
|
+
access_poi = "unknown"
|
326
|
+
ssid_a = "unknown"
|
327
|
+
tx_rate_se = "unknown"
|
328
|
+
tx_rat = "unknown"
|
329
|
+
rx_rat = "unknown"
|
330
|
+
rx_signa = "unknown"
|
331
|
+
uptim = "unknown"
|
332
|
+
packet = "unknown"
|
333
|
+
byt = "unknown"
|
334
|
+
|
335
|
+
if access_int == "Tunnel5"
|
336
|
+
mikr_info2 = self.get_subs_add_info3_1(ip_address, access_int)
|
337
|
+
splitting2 = mikr_info2.split("---")
|
338
|
+
subs_mac = splitting2[0]
|
339
|
+
access_poi = "belrw_3_Cisco_ap1-1"
|
340
|
+
ssid_a = "BelRW_WiFi"
|
341
|
+
tx_rate_se = "unknown"
|
342
|
+
tx_rat = "unknown"
|
343
|
+
rx_rat = "unknown"
|
344
|
+
rx_signa = "unknown"
|
345
|
+
uptim = "unknown"
|
346
|
+
packet = "unknown"
|
347
|
+
byt = "unknown"
|
348
|
+
elsif access_int == "GigabitEthernet2.4008"
|
349
|
+
mikr_info3 = self.get_subs_add_info3_1(ip_address, access_int)
|
350
|
+
splitting3 = mikr_info3.split("---")
|
351
|
+
subs_mac = splitting3[0]
|
352
|
+
access_poi = "belrw_4_HP_ap1-1"
|
353
|
+
ssid_a = "BelRW_WiFi"
|
354
|
+
tx_rate_se = "unknown"
|
355
|
+
tx_rat = "unknown"
|
356
|
+
rx_rat = "unknown"
|
357
|
+
rx_signa = "unknown"
|
358
|
+
uptim = "unknown"
|
359
|
+
packet = "unknown"
|
360
|
+
byt = "unknown"
|
361
|
+
elsif access_int == "Tunnel9"
|
362
|
+
subs_mac = iwag_telnet_connector.get_subs_mac2_1(ip_address)
|
363
|
+
p resp1 = hua_controller_connector.get_sub_info_1(subs_mac)
|
364
|
+
p resp=resp1.split(",,,")
|
365
|
+
|
366
|
+
p access_poi = resp[1]
|
367
|
+
p ssid_a = resp[2]
|
368
|
+
p tx_rate_se = resp[3]
|
369
|
+
p tx_rat = resp[4]
|
370
|
+
p rx_rat = resp[5]
|
371
|
+
p rx_signa = resp[6]
|
372
|
+
p uptim = resp[7]
|
373
|
+
p packet = resp[8]
|
374
|
+
p byt = resp[9]
|
375
|
+
elsif access_int == "Tunnel16"
|
376
|
+
subs_mac = iwag_telnet_connector.get_subs_mac2_1(ip_address)
|
377
|
+
p resp1 = hua_controller_connector.get_sub_info2_1(subs_mac)
|
378
|
+
p resp=resp1.split(",,,")
|
379
|
+
|
380
|
+
p access_poi = resp[1]
|
381
|
+
p ssid_a = resp[2]
|
382
|
+
p tx_rate_se = resp[3]
|
383
|
+
p tx_rat = resp[4]
|
384
|
+
p rx_rat = resp[5]
|
385
|
+
p rx_signa = resp[6]
|
386
|
+
p uptim = resp[7]
|
387
|
+
p packet = resp[8]
|
388
|
+
p byt = resp[9]
|
389
|
+
else
|
390
|
+
p "before get info"
|
391
|
+
p mikr_info5 = self.get_subs_add_info3_1(ip_address, access_int)
|
392
|
+
p "after get info"
|
393
|
+
splitting5 = mikr_info5.split("---")
|
394
|
+
p subs_mac = splitting5[0]
|
395
|
+
|
396
|
+
p access_poi = splitting5[1]
|
397
|
+
p ssid_a = splitting5[2]
|
398
|
+
p tx_rate_se = splitting5[3]
|
399
|
+
p tx_rat = splitting5[4]
|
400
|
+
p rx_rat = splitting5[5]
|
401
|
+
p rx_signa = splitting5[6]
|
402
|
+
p uptim = splitting5[7]
|
403
|
+
p packet = splitting5[8]
|
404
|
+
p byt = splitting5[9]
|
405
|
+
|
406
|
+
|
407
|
+
if access_poi==nil || access_poi=="" || access_poi=="unknown"
|
408
|
+
access_poi = "not on mikrotik controller"
|
409
|
+
end
|
410
|
+
|
411
|
+
if ssid_a==nil || ssid_a=="" || ssid_a=="unknown"
|
412
|
+
ssid_a = "unknown"
|
413
|
+
tx_rate_se = "unknown"
|
414
|
+
tx_rat = "unknown"
|
415
|
+
rx_rat = "unknown"
|
416
|
+
rx_signa = "unknown"
|
417
|
+
uptim = "unknown"
|
418
|
+
packet = "unknown"
|
419
|
+
byt = "unknown"
|
420
|
+
end
|
421
|
+
|
422
|
+
end
|
423
|
+
|
424
|
+
if subs_mac=="unknown"
|
425
|
+
output_params = {:code => 505, :result => "ERROR. Something wrong."}
|
426
|
+
end
|
427
|
+
|
428
|
+
if subs_mac==""
|
429
|
+
subs_mac="unknown"
|
430
|
+
end
|
431
|
+
|
432
|
+
|
433
|
+
mess = {:iwag_access_interface => access_int,
|
434
|
+
:subscribers_mac => subs_mac,
|
435
|
+
:access_point => access_poi,
|
436
|
+
:ssid_ap => ssid_a,
|
437
|
+
:apid => "unknown",
|
438
|
+
:statistics =>
|
439
|
+
{:tx_rate_set => tx_rate_se,
|
440
|
+
:tx_rate => tx_rat,
|
441
|
+
:rx_rate => rx_rat,
|
442
|
+
:rx_signal => rx_signa,
|
443
|
+
:uptime => uptim,
|
444
|
+
:packets => packet,
|
445
|
+
:bytes => byt}
|
446
|
+
}
|
447
|
+
# logger.info "HAproxy #{request.remote_ip}, request device real ip: #{request.headers['X-Client']}, ipaddressinputparameter: #{ip_address} recieved from mts_wifi_get_subs_info_return procedure of wifi_portal_controller such information as: #{mess.to_xml}"
|
448
|
+
render :soap => mess
|
449
|
+
rescue
|
450
|
+
|
451
|
+
puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
|
452
|
+
output_params = {:code => 505, :result => "ERROR. Something wrong."}
|
453
|
+
end
|
454
|
+
|
455
|
+
elsif ipaddr3=="100.75.0.0" #min11iwag2
|
456
|
+
|
457
|
+
begin
|
458
|
+
result_iwag = self.python_mac_iwag2_1(ip_address)
|
459
|
+
if result_iwag.split(" ")[0]!="Unknown"
|
460
|
+
ppp = result_iwag.split(" ")
|
461
|
+
|
462
|
+
subs_mac = ppp[0]
|
463
|
+
access_int = ppp[1]
|
464
|
+
access_poi = ppp[2]
|
465
|
+
ssid_a = ppp[3]
|
466
|
+
|
467
|
+
tx_rate_se = "unknown"
|
468
|
+
tx_rat = "unknown"
|
469
|
+
rx_rat = "unknown"
|
470
|
+
rx_signa = "unknown"
|
471
|
+
uptim = "unknown"
|
472
|
+
packet = "unknown"
|
473
|
+
byt = "unknown"
|
474
|
+
|
475
|
+
if access_int=='GigabitEthernet4.3002'
|
476
|
+
access_poi = "belrw_4_HP_ap1-1"
|
477
|
+
ssid_a = "BelRW_WiFi"
|
478
|
+
elsif access_int=='GigabitEthernet4.3005'
|
479
|
+
access_poi = "belbiz-AP1-1"
|
480
|
+
ssid_a = "IMAGURU_GUEST"
|
481
|
+
end
|
482
|
+
|
483
|
+
if access_poi == "Unknown" && ssid_a == "Unknown" && subs_mac != "Unknown"
|
484
|
+
frommikrotik = self.get_subs_add_info4new_1(access_int, subs_mac)
|
485
|
+
splitting5 = frommikrotik.split("---")
|
486
|
+
p access_poi = splitting5[1]
|
487
|
+
p ssid_a = splitting5[2]
|
488
|
+
p tx_rate_se = splitting5[3]
|
489
|
+
p tx_rat = splitting5[4]
|
490
|
+
p rx_rat = splitting5[5]
|
491
|
+
p rx_signa = splitting5[6]
|
492
|
+
p uptim = splitting5[7]
|
493
|
+
p packet = splitting5[8]
|
494
|
+
p byt = splitting5[9]
|
495
|
+
end
|
496
|
+
|
497
|
+
if subs_mac=="unknown"
|
498
|
+
output_params = {:code => 505, :result => "ERROR. Something wrong."}
|
499
|
+
end
|
500
|
+
|
501
|
+
if subs_mac==""
|
502
|
+
subs_mac="unknown"
|
503
|
+
end
|
504
|
+
|
505
|
+
|
506
|
+
mess = {:iwag_access_interface => access_int,
|
507
|
+
:subscribers_mac => subs_mac,
|
508
|
+
:access_point => access_poi,
|
509
|
+
:ssid_ap => ssid_a,
|
510
|
+
:apid => "unknown",
|
511
|
+
:statistics =>
|
512
|
+
{:tx_rate_set => tx_rate_se,
|
513
|
+
:tx_rate => tx_rat,
|
514
|
+
:rx_rate => rx_rat,
|
515
|
+
:rx_signal => rx_signa,
|
516
|
+
:uptime => uptim,
|
517
|
+
:packets => packet,
|
518
|
+
:bytes => byt}
|
519
|
+
}
|
520
|
+
# logger.info "HAproxy #{request.remote_ip}, request device real ip: #{request.headers['X-Client']}, ipaddressinputparameter: #{ip_address} recieved from mts_wifi_get_subs_info_return procedure of wifi_portal_controller such information as: #{mess.to_xml}"
|
521
|
+
output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
|
522
|
+
p output_params
|
523
|
+
|
524
|
+
else
|
525
|
+
|
526
|
+
mess = {:iwag_access_interface => "unknown",
|
527
|
+
:subscribers_mac => "unknown",
|
528
|
+
:access_point => "unknown",
|
529
|
+
:ssid_ap => "unknown",
|
530
|
+
:apid => "unknown",
|
531
|
+
:statistics =>
|
532
|
+
{:tx_rate_set => "unknown",
|
533
|
+
:tx_rate => "unknown",
|
534
|
+
:rx_rate => "unknown",
|
535
|
+
:rx_signal => "unknown",
|
536
|
+
:uptime => "unknown",
|
537
|
+
:packets => "unknown",
|
538
|
+
:bytes => "unknown"}
|
539
|
+
}
|
540
|
+
# logger.info "HAproxy #{request.remote_ip}, request device real ip: #{request.headers['X-Client']}, ipaddressinputparameter: #{params[:ipaddress]} recieved from mts_wifi_get_subs_info_return procedure of wifi_portal_controller such information as: #{mess.to_xml}"
|
541
|
+
output_params = {:code => 202, :result => "Request completed", :body => {:message => mess}}
|
542
|
+
p output_params
|
543
|
+
|
544
|
+
end
|
545
|
+
rescue
|
546
|
+
puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
|
547
|
+
output_params = {:code => 505, :result => "ERROR. Something wrong."}
|
548
|
+
end
|
549
|
+
|
550
|
+
####
|
551
|
+
elsif ipaddr3=="100.70.0.0" #min11iwag1
|
552
|
+
|
553
|
+
p "min11iwag1"
|
554
|
+
|
555
|
+
begin
|
556
|
+
result_iwag = self.python_mac_iwag1_1(ip_address)
|
557
|
+
p result_iwag
|
558
|
+
if result_iwag.split(" ")[0]!="Unknown"
|
559
|
+
ppp = result_iwag.split(" ")
|
560
|
+
|
561
|
+
subs_mac = ppp[0]
|
562
|
+
access_int = ppp[1]
|
563
|
+
access_poi = ppp[2]
|
564
|
+
ssid_a = ppp[3]
|
565
|
+
|
566
|
+
|
567
|
+
if access_int=='GigabitEthernet4.3002'
|
568
|
+
access_poi = "belrw_4_HP_ap1-1"
|
569
|
+
ssid_a = "BelRW_WiFi"
|
570
|
+
elsif access_int=='GigabitEthernet4.3005'
|
571
|
+
access_poi = "belbiz-AP1-1"
|
572
|
+
ssid_a = "IMAGURU_GUEST"
|
573
|
+
end
|
574
|
+
|
575
|
+
if access_poi == "Unknown" && ssid_a == "Unknown" && subs_mac != "Unknown"
|
576
|
+
frommikrotik = self.get_subs_add_info4new_1(access_int, subs_mac)
|
577
|
+
splitting5 = frommikrotik.split("---")
|
578
|
+
p access_poi = splitting5[1]
|
579
|
+
p ssid_a = splitting5[2]
|
580
|
+
p tx_rate_se = splitting5[3]
|
581
|
+
p tx_rat = splitting5[4]
|
582
|
+
p rx_rat = splitting5[5]
|
583
|
+
p rx_signa = splitting5[6]
|
584
|
+
p uptim = splitting5[7]
|
585
|
+
p packet = splitting5[8]
|
586
|
+
p byt = splitting5[9]
|
587
|
+
end
|
588
|
+
|
589
|
+
tx_rate_se = "unknown"
|
590
|
+
tx_rat = "unknown"
|
591
|
+
rx_rat = "unknown"
|
592
|
+
rx_signa = "unknown"
|
593
|
+
uptim = "unknown"
|
594
|
+
packet = "unknown"
|
595
|
+
byt = "unknown"
|
596
|
+
|
597
|
+
if subs_mac=="unknown"
|
598
|
+
output_params = {:code => 505, :result => "ERROR. Something wrong."}
|
599
|
+
end
|
600
|
+
|
601
|
+
if subs_mac==""
|
602
|
+
output_params = {:code => 505, :result => "ERROR. Something wrong."}
|
603
|
+
end
|
604
|
+
|
605
|
+
mess = {:iwag_access_interface => access_int,
|
606
|
+
:subscribers_mac => subs_mac,
|
607
|
+
:access_point => access_poi,
|
608
|
+
:ssid_ap => ssid_a,
|
609
|
+
:apid => "unknown",
|
610
|
+
:statistics =>
|
611
|
+
{:tx_rate_set => tx_rate_se,
|
612
|
+
:tx_rate => tx_rat,
|
613
|
+
:rx_rate => rx_rat,
|
614
|
+
:rx_signal => rx_signa,
|
615
|
+
:uptime => uptim,
|
616
|
+
:packets => packet,
|
617
|
+
:bytes => byt}
|
618
|
+
}
|
619
|
+
# logger.info "HAproxy #{request.remote_ip}, request device real ip: #{request.headers['X-Client']}, ipaddressinputparameter: #{ip_address} recieved from mts_wifi_get_subs_info_return procedure of wifi_portal_controller such information as: #{mess.to_xml}"
|
620
|
+
output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
|
621
|
+
p output_params
|
622
|
+
|
623
|
+
else
|
624
|
+
|
625
|
+
mess = {:iwag_access_interface => "unknown",
|
626
|
+
:subscribers_mac => "unknown",
|
627
|
+
:access_point => "unknown",
|
628
|
+
:ssid_ap => "unknown",
|
629
|
+
:apid => "unknown",
|
630
|
+
:statistics =>
|
631
|
+
{:tx_rate_set => "unknown",
|
632
|
+
:tx_rate => "unknown",
|
633
|
+
:rx_rate => "unknown",
|
634
|
+
:rx_signal => "unknown",
|
635
|
+
:uptime => "unknown",
|
636
|
+
:packets => "unknown",
|
637
|
+
:bytes => "unknown"}
|
638
|
+
}
|
639
|
+
|
640
|
+
# logger.info "HAproxy #{request.remote_ip}, request device real ip: #{request.headers['X-Client']}, ipaddressinputparameter: #{ip_address} recieved from mts_wifi_get_subs_info_return procedure of wifi_portal_controller such information as: #{mess.to_xml}"
|
641
|
+
|
642
|
+
output_params = {:code => 405, :result => "ERROR. MAC address not found on IWAG."}
|
643
|
+
|
644
|
+
#render :soap => mess
|
645
|
+
|
646
|
+
end
|
647
|
+
rescue
|
648
|
+
puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
|
649
|
+
output_params = {:code => 505, :result => "ERROR. Something wrong."}
|
650
|
+
end
|
651
|
+
|
652
|
+
####
|
653
|
+
|
654
|
+
else
|
655
|
+
output_params = {:code => 404, :result => "ERROR. Unknown IP Pool."}
|
656
|
+
|
657
|
+
end
|
658
|
+
rescue
|
659
|
+
puts 'SOAP mts_wifi_get_subs_info_return errorMethod invalid ip address'
|
660
|
+
output_params = {:code => 500, :result => "ERROR. Something wrong."}
|
661
|
+
end
|
662
|
+
|
663
|
+
output_params
|
664
|
+
|
665
|
+
end
|
666
|
+
|
667
|
+
|
668
|
+
end
|
669
|
+
|