freewifi 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -273,8 +273,6 @@ class PortalFwifi_1
273
273
  :mtik_user,
274
274
  :mtik_password,
275
275
  :mongo_connector_wifi_1,
276
- :remote_ip,
277
- :real_ip,
278
276
  :telegram_api_url,
279
277
  :telegram_chat_id,
280
278
  :mongo_ip,
@@ -297,8 +295,6 @@ class PortalFwifi_1
297
295
  mongo_ip,
298
296
  mongo_port,
299
297
  mongo_database,
300
- remote_ip,
301
- real_ip,
302
298
  hua_wlc_1_ip,
303
299
  hua_wlc_2_ip,
304
300
  hua_wlc_login,
@@ -326,8 +322,6 @@ class PortalFwifi_1
326
322
  @mtik_control_ips_get = mtik_control_ips_get
327
323
  @mtik_user = mtik_user
328
324
  @mtik_password = mtik_password
329
- @remote_ip = remote_ip
330
- @real_ip = real_ip
331
325
  @additional_func_wifi_1 = InternalFunc_1.new
332
326
  @telegram_api_url = telegram_api_url
333
327
  @telegram_chat_id = telegram_chat_id
@@ -337,7 +331,7 @@ class PortalFwifi_1
337
331
  end
338
332
 
339
333
 
340
- def wifi_get_subs_info_return_1(ipaddress)
334
+ def wifi_get_subs_info_return_1(ipaddress, remote_ip, real_ip)
341
335
  input_params = {:ipaddress => ipaddress}
342
336
  output_params = {}
343
337
 
@@ -9,4 +9,5 @@ class CiscoSchemesGen_1
9
9
 
10
10
  end
11
11
 
12
- end
12
+ end
13
+
@@ -1,5 +1,6 @@
1
1
  require 'net-telnet'
2
2
  require 'net/ssh'
3
+ require 'date'
3
4
 
4
5
  class CSRtelnet_1
5
6
 
@@ -15,17 +16,19 @@ class CSRtelnet_1
15
16
 
16
17
  subscribers_mac = ""
17
18
 
18
- begin
19
+ #begin
19
20
 
20
21
  dump =""
21
- connection = Net::Telnet.new( "Host" => "172.24.247.183", "Timeout" => false, "Prompt" => /.*\#/ ) { |str| }
22
+ connection = Net::Telnet.new( "Host" => iwag1_host, "Timeout" => false, "Prompt" => /.*\#/ ) { |str| }
22
23
  connection.login({ "Name" => iwag_username, "Password" => iwag_password, "LoginPrompt" => /Username:/ }) { |str| }
23
24
  connection.cmd("show ip dhcp binding #{ipaddress}") {
24
25
  |c|
26
+ p c
25
27
  dump << c
26
28
  }
27
29
  connection.close
28
30
  as = dump.split("\n")
31
+ p as
29
32
  reer = as[4].split(" ")
30
33
 
31
34
  ma = reer[1].to_s.upcase
@@ -37,15 +40,26 @@ class CSRtelnet_1
37
40
  end
38
41
 
39
42
 
40
- rescue
41
- subscribers_mac = "unknown"
42
- end
43
+ #rescue
44
+ # subscribers_mac = "unknown"
45
+ #end
43
46
 
44
47
  return subscribers_mac
45
48
 
46
49
  end
47
50
 
48
51
 
52
+ #test function. Not used
53
+ def get_iwag_info_ssh_1(ipaddress)
54
+ p DateTime.now
55
+ Net::SSH.start(iwag1_host, iwag_username, :password => iwag_password) do |ssh|
56
+ result = ssh.exec!("show ip dhcp binding #{ipaddress}\n")
57
+ p result
58
+ end
59
+ p DateTime.now
60
+ end
61
+
62
+
49
63
 
50
64
  def return_iwag_access_interface_1(ipaddress)
51
65
  host_iwag = iwag1_host
@@ -1,4 +1,5 @@
1
1
  module Freewifi_1
2
2
  LOGLEVEL_1 = "debug"
3
+
3
4
  end
4
5
 
@@ -69,6 +69,7 @@ class WiFiPortal_1
69
69
 
70
70
  def get_subs_add_info3_1(ipaddress, access_interface)
71
71
 
72
+
72
73
  answer = ""
73
74
 
74
75
  #region get additional information
@@ -79,8 +80,8 @@ class WiFiPortal_1
79
80
  begin
80
81
 
81
82
  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| }
83
+ connection = Net::Telnet.new("Host" => "172.24.247.183", "Timeout" => false, "Prompt" => /.*\#/) {|str|}
84
+ connection.login({"Name" => iwag_username, "Password" => iwag_password, "LoginPrompt" => /Username:/}) {|str|}
84
85
  connection.cmd("show ip dhcp binding #{ipaddress}") {
85
86
  |c|
86
87
  dump << c
@@ -97,11 +98,11 @@ class WiFiPortal_1
97
98
  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
99
  end
99
100
 
100
-
101
101
  rescue
102
102
  subscribers_mac = "unknown"
103
103
  end
104
104
 
105
+
105
106
  begin
106
107
  thr0 = Thread.new do
107
108
  begin
@@ -193,7 +194,7 @@ class WiFiPortal_1
193
194
  thr4.join
194
195
 
195
196
  if answer==""
196
- answer = subscribers_mac + "---" + "not on mikrotik controller" + "---" + "unknown" + "---" + "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown"
197
+ answer = subscribers_mac + "---" + "not on mikrotik controller" + "---" + "unknown" + "---" + "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown"
197
198
  end
198
199
 
199
200
  end
@@ -204,8 +205,15 @@ class WiFiPortal_1
204
205
  end
205
206
 
206
207
 
208
+ def get_subs_add_info4new_1(access_interface, subscribers_mac)
207
209
 
208
- def get_subs_add_info4new_1(access_interface,subscribers_mac)
210
+ capsman_list = [
211
+ "172.24.247.15",
212
+ "172.24.214.155",
213
+ "172.24.214.140",
214
+ "172.24.214.105",
215
+ "172.24.223.105"
216
+ ]
209
217
 
210
218
  answer = ""
211
219
 
@@ -214,450 +222,403 @@ class WiFiPortal_1
214
222
 
215
223
  p subscribers_mac
216
224
 
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
225
+ threads_mikro_wlc = []
226
+ capsman_list.each do |capsman|
227
+ threads_mikro_wlc << Thread.new do
228
+ begin
229
+ p mikr_info5 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, capsman)
230
+ splitting5 = mikr_info5.split("---")
231
+ if splitting5[1] != "not on mikrotik controller" && splitting5[1]!="unknown" && splitting5[1]!=nil
232
+ answer = mikr_info5
233
+ p answer
234
+ end
235
+ rescue
236
+ p "thr0 wrong"
223
237
  end
224
- rescue
225
- p "thr0 wrong"
226
238
  end
227
239
  end
240
+ threads_mikro_wlc.each(&:join)
228
241
 
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
242
+ if answer==""
243
+ answer = subscribers_mac + "---" + "not on mikrotik controller" + "---" + "unknown" + "---" + "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown"
239
244
  end
245
+ end
246
+ answer
247
+ end
240
248
 
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"
249
+ def proc_100_71_0_0(ip_address)
250
+ begin
251
+ p access_int = iwag_telnet_connector.return_iwag_access_interface_1(ip_address)
252
+
253
+ ip_a = ip_address
254
+
255
+ access_poi = "unknown"
256
+ ssid_a = "unknown"
257
+ tx_rate_se = "unknown"
258
+ tx_rat = "unknown"
259
+ rx_rat = "unknown"
260
+ rx_signa = "unknown"
261
+ uptim = "unknown"
262
+ packet = "unknown"
263
+ byt = "unknown"
264
+
265
+ if access_int == "Tunnel5"
266
+ mikr_info2 = self.get_subs_add_info3_1(ip_address, access_int)
267
+ splitting2 = mikr_info2.split("---")
268
+ subs_mac = splitting2[0]
269
+ access_poi = "belrw_3_Cisco_ap1-1"
270
+ ssid_a = "BelRW_WiFi"
271
+ tx_rate_se = "unknown"
272
+ tx_rat = "unknown"
273
+ rx_rat = "unknown"
274
+ rx_signa = "unknown"
275
+ uptim = "unknown"
276
+ packet = "unknown"
277
+ byt = "unknown"
278
+ elsif access_int == "GigabitEthernet2.4008"
279
+ mikr_info3 = self.get_subs_add_info3_1(ip_address, access_int)
280
+ splitting3 = mikr_info3.split("---")
281
+ subs_mac = splitting3[0]
282
+ access_poi = "belrw_4_HP_ap1-1"
283
+ ssid_a = "BelRW_WiFi"
284
+ tx_rate_se = "unknown"
285
+ tx_rat = "unknown"
286
+ rx_rat = "unknown"
287
+ rx_signa = "unknown"
288
+ uptim = "unknown"
289
+ packet = "unknown"
290
+ byt = "unknown"
291
+ elsif access_int == "Tunnel9"
292
+ subs_mac = iwag_telnet_connector.get_subs_mac2_1(ip_address)
293
+ p resp1 = hua_controller_connector.get_sub_info_1(subs_mac)
294
+ p resp=resp1.split(",,,")
295
+
296
+ p access_poi = resp[1]
297
+ p ssid_a = resp[2]
298
+ p tx_rate_se = resp[3]
299
+ p tx_rat = resp[4]
300
+ p rx_rat = resp[5]
301
+ p rx_signa = resp[6]
302
+ p uptim = resp[7]
303
+ p packet = resp[8]
304
+ p byt = resp[9]
305
+ elsif access_int == "Tunnel16"
306
+ subs_mac = iwag_telnet_connector.get_subs_mac2_1(ip_address)
307
+ p resp1 = hua_controller_connector.get_sub_info2_1(subs_mac)
308
+ p resp=resp1.split(",,,")
309
+
310
+ p access_poi = resp[1]
311
+ p ssid_a = resp[2]
312
+ p tx_rate_se = resp[3]
313
+ p tx_rat = resp[4]
314
+ p rx_rat = resp[5]
315
+ p rx_signa = resp[6]
316
+ p uptim = resp[7]
317
+ p packet = resp[8]
318
+ p byt = resp[9]
319
+ else
320
+ p "before get info"
321
+ p mikr_info5 = self.get_subs_add_info3_1(ip_address, access_int)
322
+ p "after get info"
323
+ splitting5 = mikr_info5.split("---")
324
+ p subs_mac = splitting5[0]
325
+
326
+ p access_poi = splitting5[1]
327
+ p ssid_a = splitting5[2]
328
+ p tx_rate_se = splitting5[3]
329
+ p tx_rat = splitting5[4]
330
+ p rx_rat = splitting5[5]
331
+ p rx_signa = splitting5[6]
332
+ p uptim = splitting5[7]
333
+ p packet = splitting5[8]
334
+ p byt = splitting5[9]
335
+
336
+
337
+ if access_poi==nil || access_poi=="" || access_poi=="unknown"
338
+ access_poi = "not on mikrotik controller"
250
339
  end
251
- end
252
340
 
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
341
+ if ssid_a==nil || ssid_a=="" || ssid_a=="unknown"
342
+ ssid_a = "unknown"
343
+ tx_rate_se = "unknown"
344
+ tx_rat = "unknown"
345
+ rx_rat = "unknown"
346
+ rx_signa = "unknown"
347
+ uptim = "unknown"
348
+ packet = "unknown"
349
+ byt = "unknown"
265
350
  end
266
- rescue
267
- p "thread 3 failed"
268
- end
269
351
 
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
352
  end
285
353
 
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"
354
+ if subs_mac=="unknown"
355
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
294
356
  end
295
357
 
296
- end
358
+ if subs_mac==""
359
+ subs_mac="unknown"
360
+ end
297
361
 
298
362
 
299
- return answer
363
+ mess = {:iwag_access_interface => access_int,
364
+ :subscribers_mac => subs_mac,
365
+ :access_point => access_poi,
366
+ :ssid_ap => ssid_a,
367
+ :apid => "unknown",
368
+ :statistics =>
369
+ {:tx_rate_set => tx_rate_se,
370
+ :tx_rate => tx_rat,
371
+ :rx_rate => rx_rat,
372
+ :rx_signal => rx_signa,
373
+ :uptime => uptim,
374
+ :packets => packet,
375
+ :bytes => byt}
376
+ }
377
+ # 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}"
378
+ output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
379
+ rescue
300
380
 
381
+ puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
382
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
383
+ end
384
+ output_params
301
385
  end
302
386
 
387
+ def proc_100_75_0_0(ip_address)
303
388
 
389
+ begin
390
+ result_iwag = self.python_mac_iwag2_1(ip_address)
391
+ if result_iwag.split(" ")[0]!="Unknown"
392
+ ppp = result_iwag.split(" ")
393
+
394
+ subs_mac = ppp[0]
395
+ access_int = ppp[1]
396
+ access_poi = ppp[2]
397
+ ssid_a = ppp[3]
398
+
399
+ tx_rate_se = "unknown"
400
+ tx_rat = "unknown"
401
+ rx_rat = "unknown"
402
+ rx_signa = "unknown"
403
+ uptim = "unknown"
404
+ packet = "unknown"
405
+ byt = "unknown"
406
+
407
+ if access_int=='GigabitEthernet4.3002'
408
+ access_poi = "belrw_4_HP_ap1-1"
409
+ ssid_a = "BelRW_WiFi"
410
+ elsif access_int=='GigabitEthernet4.3005'
411
+ access_poi = "belbiz-AP1-1"
412
+ ssid_a = "IMAGURU_GUEST"
413
+ end
304
414
 
415
+ if access_poi == "Unknown" && ssid_a == "Unknown" && subs_mac != "Unknown"
416
+ frommikrotik = self.get_subs_add_info4new_1(access_int, subs_mac)
417
+ splitting5 = frommikrotik.split("---")
418
+ p access_poi = splitting5[1]
419
+ p ssid_a = splitting5[2]
420
+ p tx_rate_se = splitting5[3]
421
+ p tx_rat = splitting5[4]
422
+ p rx_rat = splitting5[5]
423
+ p rx_signa = splitting5[6]
424
+ p uptim = splitting5[7]
425
+ p packet = splitting5[8]
426
+ p byt = splitting5[9]
427
+ end
305
428
 
429
+ if subs_mac=="unknown"
430
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
431
+ end
306
432
 
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
433
+ if subs_mac==""
434
+ subs_mac="unknown"
435
+ end
317
436
 
318
- if ipaddr3=="100.71.0.0" #iwag old
319
437
 
320
- begin
321
- p access_int = iwag_telnet_connector.return_iwag_access_interface_1(ip_address)
438
+ mess = {:iwag_access_interface => access_int,
439
+ :subscribers_mac => subs_mac,
440
+ :access_point => access_poi,
441
+ :ssid_ap => ssid_a,
442
+ :apid => "unknown",
443
+ :statistics =>
444
+ {:tx_rate_set => tx_rate_se,
445
+ :tx_rate => tx_rat,
446
+ :rx_rate => rx_rat,
447
+ :rx_signal => rx_signa,
448
+ :uptime => uptim,
449
+ :packets => packet,
450
+ :bytes => byt}
451
+ }
452
+ # 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}"
453
+ output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
454
+ p output_params
322
455
 
323
- ip_a = ip_address
456
+ else
324
457
 
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"
458
+ mess = {:iwag_access_interface => "unknown",
459
+ :subscribers_mac => "unknown",
460
+ :access_point => "unknown",
461
+ :ssid_ap => "unknown",
462
+ :apid => "unknown",
463
+ :statistics =>
464
+ {:tx_rate_set => "unknown",
465
+ :tx_rate => "unknown",
466
+ :rx_rate => "unknown",
467
+ :rx_signal => "unknown",
468
+ :uptime => "unknown",
469
+ :packets => "unknown",
470
+ :bytes => "unknown"}
471
+ }
472
+ # 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}"
473
+ output_params = {:code => 202, :result => "Request completed", :body => {:message => mess}}
474
+ p output_params
334
475
 
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]
476
+ end
477
+ rescue
478
+ puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
479
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
480
+ end
395
481
 
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]
482
+ output_params
405
483
 
484
+ ####
485
+ end
406
486
 
407
- if access_poi==nil || access_poi=="" || access_poi=="unknown"
408
- access_poi = "not on mikrotik controller"
409
- end
410
487
 
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
488
+ def proc_100_70_0_0(ip_address)
489
+ p "min11iwag1"
421
490
 
422
- end
491
+ begin
492
+ result_iwag = self.python_mac_iwag1_1(ip_address)
493
+ p result_iwag
494
+ if result_iwag.split(" ")[0]!="Unknown"
495
+ ppp = result_iwag.split(" ")
496
+
497
+ subs_mac = ppp[0]
498
+ access_int = ppp[1]
499
+ access_poi = ppp[2]
500
+ ssid_a = ppp[3]
501
+
502
+
503
+ if access_int=='GigabitEthernet4.3002'
504
+ access_poi = "belrw_4_HP_ap1-1"
505
+ ssid_a = "BelRW_WiFi"
506
+ elsif access_int=='GigabitEthernet4.3005'
507
+ access_poi = "belbiz-AP1-1"
508
+ ssid_a = "IMAGURU_GUEST"
509
+ end
423
510
 
424
- if subs_mac=="unknown"
425
- output_params = {:code => 505, :result => "ERROR. Something wrong."}
426
- end
511
+ if access_poi == "Unknown" && ssid_a == "Unknown" && subs_mac != "Unknown"
512
+ frommikrotik = self.get_subs_add_info4new_1(access_int, subs_mac)
513
+ splitting5 = frommikrotik.split("---")
514
+ p access_poi = splitting5[1]
515
+ p ssid_a = splitting5[2]
516
+ p tx_rate_se = splitting5[3]
517
+ p tx_rat = splitting5[4]
518
+ p rx_rat = splitting5[5]
519
+ p rx_signa = splitting5[6]
520
+ p uptim = splitting5[7]
521
+ p packet = splitting5[8]
522
+ p byt = splitting5[9]
523
+ end
427
524
 
428
- if subs_mac==""
429
- subs_mac="unknown"
430
- end
525
+ tx_rate_se = "unknown"
526
+ tx_rat = "unknown"
527
+ rx_rat = "unknown"
528
+ rx_signa = "unknown"
529
+ uptim = "unknown"
530
+ packet = "unknown"
531
+ byt = "unknown"
431
532
 
533
+ if subs_mac=="unknown"
534
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
535
+ end
432
536
 
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'
537
+ if subs_mac==""
452
538
  output_params = {:code => 505, :result => "ERROR. Something wrong."}
453
539
  end
454
540
 
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
541
+ mess = {:iwag_access_interface => access_int,
542
+ :subscribers_mac => subs_mac,
543
+ :access_point => access_poi,
544
+ :ssid_ap => ssid_a,
545
+ :apid => "unknown",
546
+ :statistics =>
547
+ {:tx_rate_set => tx_rate_se,
548
+ :tx_rate => tx_rat,
549
+ :rx_rate => rx_rat,
550
+ :rx_signal => rx_signa,
551
+ :uptime => uptim,
552
+ :packets => packet,
553
+ :bytes => byt}
554
+ }
555
+ # 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}"
556
+ output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
557
+ p output_params
482
558
 
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
559
+ else
496
560
 
497
- if subs_mac=="unknown"
498
- output_params = {:code => 505, :result => "ERROR. Something wrong."}
499
- end
561
+ mess = {:iwag_access_interface => "unknown",
562
+ :subscribers_mac => "unknown",
563
+ :access_point => "unknown",
564
+ :ssid_ap => "unknown",
565
+ :apid => "unknown",
566
+ :statistics =>
567
+ {:tx_rate_set => "unknown",
568
+ :tx_rate => "unknown",
569
+ :rx_rate => "unknown",
570
+ :rx_signal => "unknown",
571
+ :uptime => "unknown",
572
+ :packets => "unknown",
573
+ :bytes => "unknown"}
574
+ }
500
575
 
501
- if subs_mac==""
502
- subs_mac="unknown"
503
- end
576
+ # 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}"
504
577
 
578
+ output_params = {:code => 405, :result => "ERROR. MAC address not found on IWAG."}
505
579
 
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
580
+ #render :soap => mess
543
581
 
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
582
+ end
583
+ rescue
584
+ puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
585
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
586
+ end
549
587
 
550
- ####
551
- elsif ipaddr3=="100.70.0.0" #min11iwag1
588
+ output_params
552
589
 
553
- p "min11iwag1"
590
+ ####
554
591
 
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(" ")
592
+ end
560
593
 
561
- subs_mac = ppp[0]
562
- access_int = ppp[1]
563
- access_poi = ppp[2]
564
- ssid_a = ppp[3]
565
594
 
595
+ def get_subs_info_return_1(ip_address)
566
596
 
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
597
+ input_params = {:ip_address => ip_address}
598
+ output_params = {}
574
599
 
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
600
+ begin
601
+ ipaddr_transformed = IPAddr.new ip_address
602
+ ipaddr_network = ipaddr_transformed.mask(17).to_s
588
603
 
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"
604
+ if ipaddr_network == "100.71.0.0" #iwag old
596
605
 
597
- if subs_mac=="unknown"
598
- output_params = {:code => 505, :result => "ERROR. Something wrong."}
599
- end
606
+ output_params = self.proc_100_71_0_0(ip_address)
600
607
 
601
- if subs_mac==""
602
- output_params = {:code => 505, :result => "ERROR. Something wrong."}
603
- end
608
+ elsif ipaddr_network == "100.75.0.0" #min11iwag2
604
609
 
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
610
+ output_params = self.proc_100_75_0_0(ip_address)
645
611
 
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
612
+ elsif ipaddr_network == "100.70.0.0" #min11iwag1
651
613
 
652
- ####
614
+ output_params = self.proc_100_70_0_0(ip_address)
653
615
 
654
616
  else
655
617
  output_params = {:code => 404, :result => "ERROR. Unknown IP Pool."}
656
-
657
618
  end
619
+
658
620
  rescue
659
- puts 'SOAP mts_wifi_get_subs_info_return errorMethod invalid ip address'
660
- output_params = {:code => 500, :result => "ERROR. Something wrong."}
621
+ output_params = {:code => 500, :result => "ERROR. Something wrong.", :body => "SOAP mts_wifi_get_subs_info_return errorMethod unknown error"}
661
622
  end
662
623
 
663
624
  output_params