freewifi 0.1.7 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -66,8 +66,7 @@ module Freewifi_1
66
66
  capsman_password,
67
67
  hub_vip,
68
68
  ap_admin_password,
69
- capsman_ip_wifi
70
- )
69
+ capsman_ip_wifi)
71
70
 
72
71
  @mtik_hub1_ip = hub1ip
73
72
  @mtik_hub2_ip = hub2ip
@@ -268,18 +267,17 @@ end
268
267
 
269
268
  class PortalFwifi_1
270
269
 
271
- attr_accessor :apigw_wsdl,
272
- :apigw_endpoint,
273
- :apigw_namespace,
274
- :apigw_wsse_aut_log,
275
- :apigw_wsse_aut_pass,
276
- :general_procedures,
270
+ attr_accessor :general_procedures,
277
271
  :mtik_control_ips_get,
278
272
  :mtik_user,
279
273
  :mtik_password,
280
274
  :mongo_connector_wifi_1,
281
- :remote_ip,
282
- :real_ip
275
+ :telegram_api_url,
276
+ :telegram_chat_id,
277
+ :mongo_ip,
278
+ :mongo_port,
279
+ :mongo_database,
280
+ :additional_func_wifi_1
283
281
 
284
282
 
285
283
  def initialize(apigw_wsdl,
@@ -296,42 +294,105 @@ class PortalFwifi_1
296
294
  mongo_ip,
297
295
  mongo_port,
298
296
  mongo_database,
299
- remote_ip,
300
- real_ip,
301
297
  hua_wlc_1_ip,
302
298
  hua_wlc_2_ip,
303
299
  hua_wlc_login,
304
- hua_wlc_password
300
+ hua_wlc_password,
301
+ telegram_api_url,
302
+ telegram_chat_id,
303
+ iwag2_host,
304
+ iwag2_username,
305
+ iwag2_password
305
306
  )
306
307
 
307
- @apigw_wsdl = apigw_wsdl
308
- @apigw_endpoint = apigw_endpoint
309
- @apigw_namespace = apigw_namespace
310
- @apigw_wsse_aut_log = apigw_wsse_aut_log
311
- @apigw_wsse_aut_pass = apigw_wsse_aut_pass
312
- @general_procedures = WiFiPortal_1.new(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)
308
+ @general_procedures = WiFiPortal_1.new(apigw_wsdl,
309
+ apigw_endpoint,
310
+ apigw_namespace,
311
+ apigw_wsse_aut_log,
312
+ apigw_wsse_aut_pass,
313
+ iwag1_host,
314
+ iwag_username,
315
+ iwag_password,
316
+ mtik_control_ips_get,
317
+ mtik_user,
318
+ mtik_password,
319
+ hua_wlc_1_ip,
320
+ hua_wlc_2_ip,
321
+ hua_wlc_login,
322
+ hua_wlc_password,
323
+ iwag2_host,
324
+ iwag2_username,
325
+ iwag2_password,
326
+ )
313
327
  @mtik_control_ips_get = mtik_control_ips_get
314
328
  @mtik_user = mtik_user
315
329
  @mtik_password = mtik_password
316
- @mongo_connector_wifi_1 = MongoWifiCl_1.new(mongo_ip, mongo_port, mongo_database)
317
- @remote_ip = remote_ip
318
- @real_ip = real_ip
330
+ @additional_func_wifi_1 = InternalFunc_1.new
331
+ @telegram_api_url = telegram_api_url
332
+ @telegram_chat_id = telegram_chat_id
333
+ @mongo_ip = mongo_ip
334
+ @mongo_port = mongo_port
335
+ @mongo_database = mongo_database
319
336
  end
320
337
 
321
338
 
322
- def wifi_get_subs_info_return_1(ipaddress)
339
+ def wifi_get_subs_info_return_1(ipaddress, remote_ip, real_ip)
323
340
  input_params = {:ipaddress => ipaddress}
324
341
  output_params = {}
325
342
 
326
- begin
327
- resp_procedure = general_procedures.get_subs_info_return_1(ipaddress)
328
- output_params = resp_procedure
329
- rescue
330
- output_params = {:code => 507, :result => "Unknown SDK error"}
343
+ subs_info_ret_1_thr1 = Thread.new do
344
+ begin
345
+ resp_procedure = general_procedures.get_subs_info_return_1(ipaddress)
346
+ output_params = resp_procedure
347
+ rescue
348
+ output_params = {:code => 507, :result => "Unknown SDK error"}
349
+ end
350
+ end
351
+ subs_info_ret_1_thr1.join
352
+
353
+ subs_info_ret_1_thr2 = Thread.new do
354
+ begin
355
+ p "mongo"
356
+ #mongo_connector_wifi_1 = MongoWifiCl_1.new(mongo_ip, mongo_port, mongo_database)
357
+ #mongo_connector_wifi_1.audit_logger_wifi_portal_1("wifi_get_subs_info_return_1", remote_ip, input_params, output_params, real_ip)
358
+ rescue
359
+ additional_func_wifi_1.printer_texter_wifi_1({:input_params => input_params, :output_params => {:result => "mongo failed"}, :procedure => "wifi_get_subs_info_return_1", :file => "freewifi.rb"}, "debug")
360
+ additional_func_wifi_1.telegram_message_1("{:function => \"wifi_get_subs_info_return_1\", :result => \"failed communicate with mongo database\", :sdk => \"freewifi\"}", telegram_api_url, telegram_chat_id)
361
+ end
331
362
  end
363
+ subs_info_ret_1_thr2.join
364
+
365
+ output_params
366
+ end
332
367
 
333
- mongo_connector_wifi_1.audit_logger_wifi_portal_1("wifi_get_subs_info_return_1", remote_ip, input_params, output_params, real_ip)
334
368
 
369
+ def wifi_get_subs_inf_ret_ssh_1(ipaddress, remote_ip, real_ip)
370
+ input_params = {:ipaddress => ipaddress}
371
+ output_params = {}
372
+
373
+ subs_info_ret_1_thr1 = Thread.new do
374
+ begin
375
+ resp_procedure = general_procedures.get_subs_info_ret_ssh_1(ipaddress)
376
+ output_params = resp_procedure
377
+ rescue
378
+ output_params = {:code => 507, :result => "Unknown SDK error"}
379
+ end
380
+ end
381
+ subs_info_ret_1_thr1.join
382
+
383
+ subs_info_ret_1_thr2 = Thread.new do
384
+ begin
385
+ p "mongo"
386
+ #mongo_connector_wifi_1 = MongoWifiCl_1.new(mongo_ip, mongo_port, mongo_database)
387
+ #mongo_connector_wifi_1.audit_logger_wifi_portal_1("wifi_get_subs_info_return_1", remote_ip, input_params, output_params, real_ip)
388
+ rescue
389
+ additional_func_wifi_1.printer_texter_wifi_1({:input_params => input_params, :output_params => {:result => "mongo failed"}, :procedure => "wifi_get_subs_info_return_1", :file => "freewifi.rb"}, "debug")
390
+ additional_func_wifi_1.telegram_message_1("{:function => \"wifi_get_subs_info_return_1\", :result => \"failed communicate with mongo database\", :sdk => \"freewifi\"}", telegram_api_url, telegram_chat_id)
391
+ end
392
+ end
393
+ subs_info_ret_1_thr2.join
394
+
395
+ output_params
335
396
  end
336
397
 
337
398
  end
@@ -12,6 +12,25 @@ class InternalFunc_1
12
12
  d_curr.to_s
13
13
  end
14
14
 
15
+ def telegram_message_1(message, telegram_api_url, telegram_chat_id)
16
+ begin
17
+ uri = URI.parse(telegram_api_url)
18
+ https_connector = Net::HTTP.new(uri.host, uri.port)
19
+ https_connector.use_ssl = true
20
+ data = {chat_id: telegram_chat_id, text: message}
21
+ request_mess = Net::HTTP::Post.new(uri.request_uri, {'Content-Type' => 'application/json'})
22
+ request_mess.body = data.to_json
23
+ response_mess = https_connector.request(request_mess)
24
+ body = response_mess.body
25
+ return {:code => 200,
26
+ :result => "Request completed successfully",
27
+ :body => {:telegram_resp => JSON.parse(body.to_s),
28
+ :description => "Telegram message to telegram_chat_id: #{telegram_chat_id.to_s}"}}
29
+ rescue
30
+ return {:code => 507, :result => "Unknown SDK error"}
31
+ end
32
+ end
33
+
15
34
  def printer_texter_wifi_1(text, log_level)
16
35
  begin
17
36
  if log_level == "debug" && Freewifi_1::LOGLEVEL_1 == "debug"
@@ -9,4 +9,5 @@ class CiscoSchemesGen_1
9
9
 
10
10
  end
11
11
 
12
- end
12
+ end
13
+
@@ -0,0 +1,99 @@
1
+ require 'net/ssh'
2
+
3
+ class IwagRequester
4
+
5
+ attr_accessor :iwag_host, :iwag_login, :iwag_password
6
+
7
+ def initialize(iwag_host, iwag_login, iwag_password)
8
+ @iwag_host = iwag_host
9
+ @iwag_login = iwag_login
10
+ @iwag_password = iwag_password
11
+ end
12
+
13
+ def mac_parse(mac)
14
+ a = mac.upcase
15
+ pos = a[0] + a[1]
16
+ if pos == "01"
17
+ subscribers_mac = a[2] + a[3] + ":" + a[5] + a[6] + ":" + a[7] + a[8] + ":" + a[10] + a[11] + ":" + a[12] + a[13] + ":" + a[15] + a[16]
18
+ else
19
+ subscribers_mac = a[0] + a[1] + ":" + a[2] + a[3] + ":" + a[5] + a[6] + ":" + a[7] + a[8] + ":" + a[10] + a[11] + ":" + a[12] + a[13]
20
+ end
21
+ subscribers_mac
22
+ end
23
+
24
+
25
+ def iwag_get_dhcp_binding_ssh(bind_ip)
26
+ mac = "Unknown"
27
+ accessinterface = "Unknown"
28
+ hostname = "Unknown"
29
+ ssid = "Unknown"
30
+ iwag_thr = Thread.new do
31
+ Net::SSH.start(iwag_host, iwag_login, :password => iwag_password) do |session|
32
+ answ_bind = session.exec!("show ip dhcp binding #{bind_ip}")
33
+ regexp_main = /\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\s{1,20}(\w{2,4}.\w{2,4}.\w{2,4}.\w{2,4})|\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\s{1,20}(\w{4}.\w{4}.\w{4})/
34
+ #regexp_main = /\r\n(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\s+(\S{13,18})\s+Sep 18 2020 07:44 PM\s+Automatic\s+Active\s+Tunnel201\r\n/
35
+ ggg7 = answ_bind.match(regexp_main)
36
+ begin
37
+ if ggg7[1] != nil
38
+ mac = mac_parse(ggg7[1])
39
+ else
40
+ mac = mac_parse(ggg7[2])
41
+ end
42
+ rescue
43
+ mac = "Unknown"
44
+ end
45
+ regexp_remote_id = /Remote id :\s(\S{2,100})/
46
+ regexp_tunnel = /Active\s{2,40}(\S{2,40})|Selecting\s{2,40}(\S{2,40})/
47
+ regexp_curcuit_id = /Circuit id :\s(\S{2,100})/
48
+ ggg9 = answ_bind.match(regexp_tunnel)
49
+
50
+ begin
51
+ if ggg9[1] != nil
52
+ accessinterface = ggg9[1]
53
+ else
54
+ accessinterface = ggg9[2]
55
+ end
56
+ rescue
57
+ accessinterface = "Unknown"
58
+ end
59
+ ggg8 = answ_bind.match(regexp_remote_id)
60
+ ggg10 = answ_bind.match(regexp_curcuit_id)
61
+ begin
62
+ a1 = ggg8[1].split(":")
63
+ hostname = a1[0]
64
+ ssid = a1[1]
65
+ rescue
66
+ begin
67
+ if ggg8[1] != nil
68
+ if ggg8[1].include?("wireless_public_interface")
69
+ hostname = ggg10[1]
70
+ ssid = "Unknown"
71
+ else
72
+ hostname = ggg8[1]
73
+ ssid = "Unknown"
74
+ end
75
+ else
76
+ ssid = "Unknown"
77
+ hostname = "Unknown"
78
+ end
79
+ rescue
80
+ ssid = "Unknown"
81
+ hostname = "Unknown"
82
+ end
83
+ end
84
+ end
85
+ end
86
+ iwag_thr.join
87
+ {"mac": mac, "iwaginterface": accessinterface, "aphostname": hostname, "SSID": ssid}
88
+ end
89
+
90
+ end
91
+
92
+
93
+ hhh = IwagRequester.new("172.24.223.149", "soapgw2", "eb5Swd8Yhq2Snd3eD")
94
+
95
+ p hhh.iwag_get_dhcp_binding_ssh("100.75.15.127")
96
+
97
+
98
+
99
+
@@ -0,0 +1,20 @@
1
+
2
+
3
+ class IwagDbCache
4
+
5
+ attr_accessor :db_host, :db_login, :db_password
6
+
7
+ def initialize(db_host, db_login, db_password)
8
+ @db_host = db_host
9
+ @db_login = db_login
10
+ @db_password = db_password
11
+ end
12
+
13
+ def check_db_exists(ip)
14
+
15
+ end
16
+
17
+
18
+
19
+ end
20
+
@@ -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
 
@@ -14,7 +14,7 @@ class MongoWifiCl_1
14
14
  @mongo_ip = mongo_ip
15
15
  @mongo_port = mongo_port
16
16
  client_host = [mongo_ip + ":" + mongo_port]
17
- @client = Mongo::Client.new(client_host, :database => mongo_database)
17
+ @client = Mongo::Client.new(client_host, :database => mongo_database, :connect_timeout => 2)
18
18
 
19
19
  @additional_func_1 = InternalFunc_1.new
20
20
  end
@@ -5,6 +5,7 @@ $LOAD_PATH.unshift File.expand_path("../huawei", __dir__)
5
5
  require 'freewifi/cisco/iwag/iwag_telnet_connector'
6
6
  require 'freewifi/mikrotik/newhub_mtik_api'
7
7
  require 'freewifi/huawei/hua_controller_class'
8
+ require 'freewifi/cisco/iwag/get_iwag_data'
8
9
  require 'rubygems'
9
10
  require 'savon'
10
11
 
@@ -18,29 +19,51 @@ class WiFiPortal_1
18
19
  :mtik_user,
19
20
  :mtik_password,
20
21
  :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
22
+ :hua_controller_connector,
23
+ :iwag_connector1,
24
+ :iwag_connector2
25
+
26
+ def initialize(apigw_wsdl,
27
+ apigw_endpoint,
28
+ apigw_namespace,
29
+ apigw_wsse_aut_log,
30
+ apigw_wsse_aut_pass,
31
+ iwag1_host,
32
+ iwag_username,
33
+ iwag_password,
34
+ mtik_control_ips_get,
35
+ mtik_user,
36
+ mtik_password,
37
+ hua_wlc_1_ip,
38
+ hua_wlc_2_ip,
39
+ hua_wlc_login,
40
+ hua_wlc_password,
41
+ iwag2_host,
42
+ iwag2_username,
43
+ iwag2_password)
44
+ @iwag_telnet_connector = CSRtelnet_1.new(iwag1_host, iwag_username, iwag_password)
45
+ @ard_api_gw_connector_wifi = Savon.client do
46
+ #ssl_verify_mode :none
47
+ wsdl apigw_wsdl
48
+ endpoint apigw_endpoint
49
+ namespace apigw_namespace
50
+ wsse_auth(apigw_wsse_aut_log, apigw_wsse_aut_pass, :digest)
51
+ encoding 'UTF-8'
52
+ headers = {"Accept-Encoding" => "gzip, deflate", "Connection" => "Keep-Alive"}
53
+ end
34
54
 
35
- @iwag1_host = iwag1_host
36
- @iwag_username = iwag_username
37
- @iwag_password = iwag_password
55
+ @iwag1_host = iwag1_host
56
+ @iwag_username = iwag_username
57
+ @iwag_password = iwag_password
38
58
 
39
- @mtik_api_connector = NEWhubWifiApi_1.new(mtik_control_ips_get, mtik_user, mtik_password)
59
+ @mtik_api_connector = NEWhubWifiApi_1.new(mtik_control_ips_get, mtik_user, mtik_password)
40
60
 
41
- @hua_controller_connector = HuaWifi_1.new(hua_wlc_1_ip, hua_wlc_2_ip, hua_wlc_login, hua_wlc_password)
61
+ @hua_controller_connector = HuaWifi_1.new(hua_wlc_1_ip, hua_wlc_2_ip, hua_wlc_login, hua_wlc_password)
42
62
 
43
- end
63
+ @iwag_connector1 = IwagRequester.new(iwag1_host, iwag_username, iwag_password)
64
+ @iwag_connector2 = IwagRequester.new(iwag2_host, iwag2_username, iwag2_password)
65
+
66
+ end
44
67
 
45
68
 
46
69
  def python_mac_iwag1_1(ipaddress)
@@ -55,6 +78,16 @@ class WiFiPortal_1
55
78
  end
56
79
  end
57
80
 
81
+
82
+ def ssh_mac_iwag1_1(ipaddress)
83
+ begin
84
+ data_iw1 = iwag_connector1.iwag_get_dhcp_binding_ssh(ipaddress)
85
+ "#{data_iw1[:mac]} #{data_iw1[:iwaginterface]} #{data_iw1[:aphostname]} #{data_iw1[:SSID]}"
86
+ rescue
87
+ return "Unknown Unknown Unknown Unknown"
88
+ end
89
+ end
90
+
58
91
  def python_mac_iwag2_1(ipaddress)
59
92
  begin
60
93
  response = ard_api_gw_connector_wifi.call(:mts_python_mac_iwag2) do
@@ -67,8 +100,18 @@ class WiFiPortal_1
67
100
  end
68
101
  end
69
102
 
103
+ def ssh_mac_iwag2_1(ipaddress)
104
+ begin
105
+ data_iw1 = iwag_connector2.iwag_get_dhcp_binding_ssh(ipaddress)
106
+ "#{data_iw1[:mac]} #{data_iw1[:iwaginterface]} #{data_iw1[:aphostname]} #{data_iw1[:SSID]}"
107
+ rescue
108
+ return "Unknown Unknown Unknown Unknown"
109
+ end
110
+ end
111
+
70
112
  def get_subs_add_info3_1(ipaddress, access_interface)
71
113
 
114
+
72
115
  answer = ""
73
116
 
74
117
  #region get additional information
@@ -79,8 +122,8 @@ class WiFiPortal_1
79
122
  begin
80
123
 
81
124
  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| }
125
+ connection = Net::Telnet.new("Host" => "172.24.247.183", "Timeout" => false, "Prompt" => /.*\#/) {|str|}
126
+ connection.login({"Name" => iwag_username, "Password" => iwag_password, "LoginPrompt" => /Username:/}) {|str|}
84
127
  connection.cmd("show ip dhcp binding #{ipaddress}") {
85
128
  |c|
86
129
  dump << c
@@ -97,11 +140,11 @@ class WiFiPortal_1
97
140
  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
141
  end
99
142
 
100
-
101
143
  rescue
102
144
  subscribers_mac = "unknown"
103
145
  end
104
146
 
147
+
105
148
  begin
106
149
  thr0 = Thread.new do
107
150
  begin
@@ -193,7 +236,7 @@ class WiFiPortal_1
193
236
  thr4.join
194
237
 
195
238
  if answer==""
196
- answer = subscribers_mac + "---" + "not on mikrotik controller" + "---" + "unknown" + "---" + "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown"
239
+ answer = subscribers_mac + "---" + "not on mikrotik controller" + "---" + "unknown" + "---" + "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown"
197
240
  end
198
241
 
199
242
  end
@@ -204,8 +247,15 @@ class WiFiPortal_1
204
247
  end
205
248
 
206
249
 
250
+ def get_subs_add_info4new_1(access_interface, subscribers_mac)
207
251
 
208
- def get_subs_add_info4new_1(access_interface,subscribers_mac)
252
+ capsman_list = [
253
+ "172.24.247.15",
254
+ "172.24.214.155",
255
+ "172.24.214.140",
256
+ "172.24.214.105",
257
+ "172.24.223.105"
258
+ ]
209
259
 
210
260
  answer = ""
211
261
 
@@ -214,115 +264,537 @@ class WiFiPortal_1
214
264
 
215
265
  p subscribers_mac
216
266
 
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
267
+ threads_mikro_wlc = []
268
+ capsman_list.each do |capsman|
269
+ threads_mikro_wlc << Thread.new do
270
+ begin
271
+ p mikr_info5 = mtik_api_connector.get_info_subs_from_mik_1(subscribers_mac, capsman)
272
+ splitting5 = mikr_info5.split("---")
273
+ if splitting5[1] != "not on mikrotik controller" && splitting5[1]!="unknown" && splitting5[1]!=nil
274
+ answer = mikr_info5
275
+ p answer
276
+ end
277
+ rescue
278
+ p "thr0 wrong"
223
279
  end
224
- rescue
225
- p "thr0 wrong"
226
280
  end
227
281
  end
282
+ threads_mikro_wlc.each(&:join)
228
283
 
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
284
+ if answer==""
285
+ answer = subscribers_mac + "---" + "not on mikrotik controller" + "---" + "unknown" + "---" + "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown"
239
286
  end
287
+ end
288
+ answer
289
+ end
240
290
 
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"
291
+ def proc_100_71_0_0(ip_address)
292
+ begin
293
+ p access_int = iwag_telnet_connector.return_iwag_access_interface_1(ip_address)
294
+
295
+ ip_a = ip_address
296
+
297
+ access_poi = "unknown"
298
+ ssid_a = "unknown"
299
+ tx_rate_se = "unknown"
300
+ tx_rat = "unknown"
301
+ rx_rat = "unknown"
302
+ rx_signa = "unknown"
303
+ uptim = "unknown"
304
+ packet = "unknown"
305
+ byt = "unknown"
306
+
307
+ if access_int == "Tunnel5"
308
+ mikr_info2 = self.get_subs_add_info3_1(ip_address, access_int)
309
+ splitting2 = mikr_info2.split("---")
310
+ subs_mac = splitting2[0]
311
+ access_poi = "belrw_3_Cisco_ap1-1"
312
+ ssid_a = "BelRW_WiFi"
313
+ tx_rate_se = "unknown"
314
+ tx_rat = "unknown"
315
+ rx_rat = "unknown"
316
+ rx_signa = "unknown"
317
+ uptim = "unknown"
318
+ packet = "unknown"
319
+ byt = "unknown"
320
+ elsif access_int == "GigabitEthernet2.4008"
321
+ mikr_info3 = self.get_subs_add_info3_1(ip_address, access_int)
322
+ splitting3 = mikr_info3.split("---")
323
+ subs_mac = splitting3[0]
324
+ access_poi = "belrw_4_HP_ap1-1"
325
+ ssid_a = "BelRW_WiFi"
326
+ tx_rate_se = "unknown"
327
+ tx_rat = "unknown"
328
+ rx_rat = "unknown"
329
+ rx_signa = "unknown"
330
+ uptim = "unknown"
331
+ packet = "unknown"
332
+ byt = "unknown"
333
+ elsif access_int == "Tunnel9"
334
+ subs_mac = iwag_telnet_connector.get_subs_mac2_1(ip_address)
335
+ p resp1 = hua_controller_connector.get_sub_info_1(subs_mac)
336
+ p resp=resp1.split(",,,")
337
+
338
+ p access_poi = resp[1]
339
+ p ssid_a = resp[2]
340
+ p tx_rate_se = resp[3]
341
+ p tx_rat = resp[4]
342
+ p rx_rat = resp[5]
343
+ p rx_signa = resp[6]
344
+ p uptim = resp[7]
345
+ p packet = resp[8]
346
+ p byt = resp[9]
347
+ elsif access_int == "Tunnel16"
348
+ subs_mac = iwag_telnet_connector.get_subs_mac2_1(ip_address)
349
+ p resp1 = hua_controller_connector.get_sub_info2_1(subs_mac)
350
+ p resp=resp1.split(",,,")
351
+
352
+ p access_poi = resp[1]
353
+ p ssid_a = resp[2]
354
+ p tx_rate_se = resp[3]
355
+ p tx_rat = resp[4]
356
+ p rx_rat = resp[5]
357
+ p rx_signa = resp[6]
358
+ p uptim = resp[7]
359
+ p packet = resp[8]
360
+ p byt = resp[9]
361
+ else
362
+ p "before get info"
363
+ p mikr_info5 = self.get_subs_add_info3_1(ip_address, access_int)
364
+ p "after get info"
365
+ splitting5 = mikr_info5.split("---")
366
+ p subs_mac = splitting5[0]
367
+
368
+ p access_poi = splitting5[1]
369
+ p ssid_a = splitting5[2]
370
+ p tx_rate_se = splitting5[3]
371
+ p tx_rat = splitting5[4]
372
+ p rx_rat = splitting5[5]
373
+ p rx_signa = splitting5[6]
374
+ p uptim = splitting5[7]
375
+ p packet = splitting5[8]
376
+ p byt = splitting5[9]
377
+
378
+
379
+ if access_poi==nil || access_poi=="" || access_poi=="unknown"
380
+ access_poi = "not on mikrotik controller"
381
+ end
382
+
383
+ if ssid_a==nil || ssid_a=="" || ssid_a=="unknown"
384
+ ssid_a = "unknown"
385
+ tx_rate_se = "unknown"
386
+ tx_rat = "unknown"
387
+ rx_rat = "unknown"
388
+ rx_signa = "unknown"
389
+ uptim = "unknown"
390
+ packet = "unknown"
391
+ byt = "unknown"
250
392
  end
393
+
251
394
  end
252
395
 
396
+ if subs_mac=="unknown"
397
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
398
+ end
253
399
 
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"
400
+ if subs_mac==""
401
+ subs_mac="unknown"
268
402
  end
269
403
 
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
404
+
405
+ mess = {:iwag_access_interface => access_int,
406
+ :subscribers_mac => subs_mac,
407
+ :access_point => access_poi,
408
+ :ssid_ap => ssid_a,
409
+ :apid => "unknown",
410
+ :statistics =>
411
+ {:tx_rate_set => tx_rate_se,
412
+ :tx_rate => tx_rat,
413
+ :rx_rate => rx_rat,
414
+ :rx_signal => rx_signa,
415
+ :uptime => uptim,
416
+ :packets => packet,
417
+ :bytes => byt}
418
+ }
419
+ # 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}"
420
+ output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
421
+ rescue
422
+
423
+ puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
424
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
425
+ end
426
+ output_params
427
+ end
428
+
429
+ def proc_100_75_0_0(ip_address)
430
+
431
+ begin
432
+ result_iwag = self.python_mac_iwag2_1(ip_address)
433
+ if result_iwag.split(" ")[0]!="Unknown"
434
+ ppp = result_iwag.split(" ")
435
+
436
+ subs_mac = ppp[0]
437
+ access_int = ppp[1]
438
+ access_poi = ppp[2]
439
+ ssid_a = ppp[3]
440
+
441
+ tx_rate_se = "unknown"
442
+ tx_rat = "unknown"
443
+ rx_rat = "unknown"
444
+ rx_signa = "unknown"
445
+ uptim = "unknown"
446
+ packet = "unknown"
447
+ byt = "unknown"
448
+
449
+ if access_int=='GigabitEthernet4.3002'
450
+ access_poi = "belrw_4_HP_ap1-1"
451
+ ssid_a = "BelRW_WiFi"
452
+ elsif access_int=='GigabitEthernet4.3005'
453
+ access_poi = "belbiz-AP1-1"
454
+ ssid_a = "IMAGURU_GUEST"
281
455
  end
282
- rescue
283
- p "thread 4 failed"
284
- end
285
456
 
286
- thr0.join
287
- thr1.join
288
- thr2.join
289
- thr3.join
290
- thr4.join
457
+ if access_poi == "Unknown" && ssid_a == "Unknown" && subs_mac != "Unknown"
458
+ frommikrotik = self.get_subs_add_info4new_1(access_int, subs_mac)
459
+ splitting5 = frommikrotik.split("---")
460
+ p access_poi = splitting5[1]
461
+ p ssid_a = splitting5[2]
462
+ p tx_rate_se = splitting5[3]
463
+ p tx_rat = splitting5[4]
464
+ p rx_rat = splitting5[5]
465
+ p rx_signa = splitting5[6]
466
+ p uptim = splitting5[7]
467
+ p packet = splitting5[8]
468
+ p byt = splitting5[9]
469
+ end
470
+
471
+ if subs_mac=="unknown"
472
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
473
+ end
474
+
475
+ if subs_mac==""
476
+ subs_mac="unknown"
477
+ end
478
+
479
+
480
+ mess = {:iwag_access_interface => access_int,
481
+ :subscribers_mac => subs_mac,
482
+ :access_point => access_poi,
483
+ :ssid_ap => ssid_a,
484
+ :apid => "unknown",
485
+ :statistics =>
486
+ {:tx_rate_set => tx_rate_se,
487
+ :tx_rate => tx_rat,
488
+ :rx_rate => rx_rat,
489
+ :rx_signal => rx_signa,
490
+ :uptime => uptim,
491
+ :packets => packet,
492
+ :bytes => byt}
493
+ }
494
+ # 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}"
495
+ output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
496
+ p output_params
497
+
498
+ else
499
+
500
+ mess = {:iwag_access_interface => "unknown",
501
+ :subscribers_mac => "unknown",
502
+ :access_point => "unknown",
503
+ :ssid_ap => "unknown",
504
+ :apid => "unknown",
505
+ :statistics =>
506
+ {:tx_rate_set => "unknown",
507
+ :tx_rate => "unknown",
508
+ :rx_rate => "unknown",
509
+ :rx_signal => "unknown",
510
+ :uptime => "unknown",
511
+ :packets => "unknown",
512
+ :bytes => "unknown"}
513
+ }
514
+ # 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}"
515
+ output_params = {:code => 202, :result => "Request completed", :body => {:message => mess}}
516
+ p output_params
291
517
 
292
- if answer==""
293
- answer = subscribers_mac + "---" + "not on mikrotik controller" + "---" + "unknown" + "---" + "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown" + "---"+ "unknown"
294
518
  end
519
+ rescue
520
+ puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
521
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
522
+ end
523
+
524
+ output_params
525
+
526
+ ####
527
+ end
528
+
529
+
530
+ def proc_100_70_0_0(ip_address)
531
+ p "min11iwag1"
532
+
533
+ begin
534
+ result_iwag = self.python_mac_iwag1_1(ip_address)
535
+ p result_iwag
536
+ if result_iwag.split(" ")[0]!="Unknown"
537
+ ppp = result_iwag.split(" ")
538
+
539
+ subs_mac = ppp[0]
540
+ access_int = ppp[1]
541
+ access_poi = ppp[2]
542
+ ssid_a = ppp[3]
543
+
544
+
545
+ if access_int=='GigabitEthernet4.3002'
546
+ access_poi = "belrw_4_HP_ap1-1"
547
+ ssid_a = "BelRW_WiFi"
548
+ elsif access_int=='GigabitEthernet4.3005'
549
+ access_poi = "belbiz-AP1-1"
550
+ ssid_a = "IMAGURU_GUEST"
551
+ end
552
+
553
+ if access_poi == "Unknown" && ssid_a == "Unknown" && subs_mac != "Unknown"
554
+ frommikrotik = self.get_subs_add_info4new_1(access_int, subs_mac)
555
+ splitting5 = frommikrotik.split("---")
556
+ p access_poi = splitting5[1]
557
+ p ssid_a = splitting5[2]
558
+ p tx_rate_se = splitting5[3]
559
+ p tx_rat = splitting5[4]
560
+ p rx_rat = splitting5[5]
561
+ p rx_signa = splitting5[6]
562
+ p uptim = splitting5[7]
563
+ p packet = splitting5[8]
564
+ p byt = splitting5[9]
565
+ end
566
+
567
+ tx_rate_se = "unknown"
568
+ tx_rat = "unknown"
569
+ rx_rat = "unknown"
570
+ rx_signa = "unknown"
571
+ uptim = "unknown"
572
+ packet = "unknown"
573
+ byt = "unknown"
295
574
 
575
+ if subs_mac=="unknown"
576
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
577
+ end
578
+
579
+ if subs_mac==""
580
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
581
+ end
582
+
583
+ mess = {:iwag_access_interface => access_int,
584
+ :subscribers_mac => subs_mac,
585
+ :access_point => access_poi,
586
+ :ssid_ap => ssid_a,
587
+ :apid => "unknown",
588
+ :statistics =>
589
+ {:tx_rate_set => tx_rate_se,
590
+ :tx_rate => tx_rat,
591
+ :rx_rate => rx_rat,
592
+ :rx_signal => rx_signa,
593
+ :uptime => uptim,
594
+ :packets => packet,
595
+ :bytes => byt}
596
+ }
597
+ # 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}"
598
+ output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
599
+ p output_params
600
+
601
+ else
602
+
603
+ mess = {:iwag_access_interface => "unknown",
604
+ :subscribers_mac => "unknown",
605
+ :access_point => "unknown",
606
+ :ssid_ap => "unknown",
607
+ :apid => "unknown",
608
+ :statistics =>
609
+ {:tx_rate_set => "unknown",
610
+ :tx_rate => "unknown",
611
+ :rx_rate => "unknown",
612
+ :rx_signal => "unknown",
613
+ :uptime => "unknown",
614
+ :packets => "unknown",
615
+ :bytes => "unknown"}
616
+ }
617
+
618
+ # 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}"
619
+
620
+ output_params = {:code => 405, :result => "ERROR. MAC address not found on IWAG."}
621
+
622
+ #render :soap => mess
623
+
624
+ end
625
+ rescue
626
+ puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
627
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
296
628
  end
297
629
 
630
+ output_params
298
631
 
299
- return answer
632
+ ####
300
633
 
301
634
  end
302
635
 
303
636
 
637
+ def get_subs_info_return_1(ip_address)
304
638
 
639
+ input_params = {:ip_address => ip_address}
640
+ output_params = {}
305
641
 
642
+ begin
643
+ ipaddr_transformed = IPAddr.new ip_address
644
+ ipaddr_network = ipaddr_transformed.mask(17).to_s
306
645
 
307
- def get_subs_info_return_1(ip_address)
646
+ if ipaddr_network == "100.71.0.0" #iwag old
647
+
648
+ output_params = self.proc_100_71_0_0(ip_address)
649
+
650
+ elsif ipaddr_network == "100.75.0.0" #min11iwag2
651
+
652
+ output_params = self.proc_100_75_0_0(ip_address)
653
+
654
+ elsif ipaddr_network == "100.70.0.0" #min11iwag1
655
+
656
+ output_params = self.proc_100_70_0_0(ip_address)
657
+
658
+ else
659
+ output_params = {:code => 404, :result => "ERROR. Unknown IP Pool."}
660
+ end
661
+
662
+ rescue
663
+ output_params = {:code => 500, :result => "ERROR. Something wrong.", :body => "SOAP mts_wifi_get_subs_info_return errorMethod unknown error"}
664
+ end
665
+
666
+ output_params
667
+
668
+ end
669
+
670
+
671
+ def get_subs_info_ret_ssh_1(ip_address)
308
672
 
309
673
  input_params = {:ip_address => ip_address}
310
674
  output_params = {}
311
675
 
312
676
  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
677
+ ipaddr_transformed = IPAddr.new ip_address
678
+ ipaddr_network = ipaddr_transformed.mask(17).to_s
679
+
680
+ if ipaddr_network == "100.71.0.0" #iwag old
681
+
682
+ output_params = self.proc_100_71_0_0_ssh(ip_address)
683
+
684
+ elsif ipaddr_network == "100.75.0.0" #min11iwag2
317
685
 
318
- if ipaddr3=="100.71.0.0" #iwag old
686
+ output_params = self.proc_100_75_0_0_ssh(ip_address)
319
687
 
320
- begin
321
- p access_int = iwag_telnet_connector.return_iwag_access_interface_1(ip_address)
688
+ elsif ipaddr_network == "100.70.0.0" #min11iwag1
322
689
 
323
- ip_a = ip_address
690
+ output_params = self.proc_100_70_0_0_ssh(ip_address)
691
+
692
+ else
693
+ output_params = {:code => 404, :result => "ERROR. Unknown IP Pool."}
694
+ end
695
+
696
+ rescue
697
+ output_params = {:code => 500, :result => "ERROR. Something wrong.", :body => "SOAP mts_wifi_get_subs_info_return errorMethod unknown error"}
698
+ end
699
+
700
+ output_params
701
+
702
+ end
703
+
704
+
705
+ def proc_100_71_0_0_ssh(ip_address)
706
+ begin
707
+ p access_int = iwag_telnet_connector.return_iwag_access_interface_1(ip_address)
708
+
709
+ ip_a = ip_address
710
+
711
+ access_poi = "unknown"
712
+ ssid_a = "unknown"
713
+ tx_rate_se = "unknown"
714
+ tx_rat = "unknown"
715
+ rx_rat = "unknown"
716
+ rx_signa = "unknown"
717
+ uptim = "unknown"
718
+ packet = "unknown"
719
+ byt = "unknown"
720
+
721
+ if access_int == "Tunnel5"
722
+ mikr_info2 = self.get_subs_add_info3_1(ip_address, access_int)
723
+ splitting2 = mikr_info2.split("---")
724
+ subs_mac = splitting2[0]
725
+ access_poi = "belrw_3_Cisco_ap1-1"
726
+ ssid_a = "BelRW_WiFi"
727
+ tx_rate_se = "unknown"
728
+ tx_rat = "unknown"
729
+ rx_rat = "unknown"
730
+ rx_signa = "unknown"
731
+ uptim = "unknown"
732
+ packet = "unknown"
733
+ byt = "unknown"
734
+ elsif access_int == "GigabitEthernet2.4008"
735
+ mikr_info3 = self.get_subs_add_info3_1(ip_address, access_int)
736
+ splitting3 = mikr_info3.split("---")
737
+ subs_mac = splitting3[0]
738
+ access_poi = "belrw_4_HP_ap1-1"
739
+ ssid_a = "BelRW_WiFi"
740
+ tx_rate_se = "unknown"
741
+ tx_rat = "unknown"
742
+ rx_rat = "unknown"
743
+ rx_signa = "unknown"
744
+ uptim = "unknown"
745
+ packet = "unknown"
746
+ byt = "unknown"
747
+ elsif access_int == "Tunnel9"
748
+ subs_mac = iwag_telnet_connector.get_subs_mac2_1(ip_address)
749
+ p resp1 = hua_controller_connector.get_sub_info_1(subs_mac)
750
+ p resp=resp1.split(",,,")
751
+
752
+ p access_poi = resp[1]
753
+ p ssid_a = resp[2]
754
+ p tx_rate_se = resp[3]
755
+ p tx_rat = resp[4]
756
+ p rx_rat = resp[5]
757
+ p rx_signa = resp[6]
758
+ p uptim = resp[7]
759
+ p packet = resp[8]
760
+ p byt = resp[9]
761
+ elsif access_int == "Tunnel16"
762
+ subs_mac = iwag_telnet_connector.get_subs_mac2_1(ip_address)
763
+ p resp1 = hua_controller_connector.get_sub_info2_1(subs_mac)
764
+ p resp=resp1.split(",,,")
765
+
766
+ p access_poi = resp[1]
767
+ p ssid_a = resp[2]
768
+ p tx_rate_se = resp[3]
769
+ p tx_rat = resp[4]
770
+ p rx_rat = resp[5]
771
+ p rx_signa = resp[6]
772
+ p uptim = resp[7]
773
+ p packet = resp[8]
774
+ p byt = resp[9]
775
+ else
776
+ p "before get info"
777
+ p mikr_info5 = self.get_subs_add_info3_1(ip_address, access_int)
778
+ p "after get info"
779
+ splitting5 = mikr_info5.split("---")
780
+ p subs_mac = splitting5[0]
781
+
782
+ p access_poi = splitting5[1]
783
+ p ssid_a = splitting5[2]
784
+ p tx_rate_se = splitting5[3]
785
+ p tx_rat = splitting5[4]
786
+ p rx_rat = splitting5[5]
787
+ p rx_signa = splitting5[6]
788
+ p uptim = splitting5[7]
789
+ p packet = splitting5[8]
790
+ p byt = splitting5[9]
791
+
792
+
793
+ if access_poi==nil || access_poi=="" || access_poi=="unknown"
794
+ access_poi = "not on mikrotik controller"
795
+ end
324
796
 
325
- access_poi = "unknown"
797
+ if ssid_a==nil || ssid_a=="" || ssid_a=="unknown"
326
798
  ssid_a = "unknown"
327
799
  tx_rate_se = "unknown"
328
800
  tx_rat = "unknown"
@@ -331,337 +803,248 @@ class WiFiPortal_1
331
803
  uptim = "unknown"
332
804
  packet = "unknown"
333
805
  byt = "unknown"
806
+ end
334
807
 
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]
808
+ end
395
809
 
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]
810
+ if subs_mac=="unknown"
811
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
812
+ end
405
813
 
814
+ if subs_mac==""
815
+ subs_mac="unknown"
816
+ end
406
817
 
407
- if access_poi==nil || access_poi=="" || access_poi=="unknown"
408
- access_poi = "not on mikrotik controller"
409
- end
410
818
 
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
819
+ mess = {:iwag_access_interface => access_int,
820
+ :subscribers_mac => subs_mac,
821
+ :access_point => access_poi,
822
+ :ssid_ap => ssid_a,
823
+ :apid => "unknown",
824
+ :statistics =>
825
+ {:tx_rate_set => tx_rate_se,
826
+ :tx_rate => tx_rat,
827
+ :rx_rate => rx_rat,
828
+ :rx_signal => rx_signa,
829
+ :uptime => uptim,
830
+ :packets => packet,
831
+ :bytes => byt}
832
+ }
833
+ # 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}"
834
+ output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
835
+ rescue
421
836
 
422
- end
837
+ puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
838
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
839
+ end
840
+ output_params
841
+ end
423
842
 
424
- if subs_mac=="unknown"
425
- output_params = {:code => 505, :result => "ERROR. Something wrong."}
426
- end
843
+ def proc_100_75_0_0_ssh(ip_address)
427
844
 
428
- if subs_mac==""
429
- subs_mac="unknown"
430
- end
845
+ begin
846
+ result_iwag = self.ssh_mac_iwag2_1(ip_address)
847
+ if result_iwag.split(" ")[0]!="Unknown"
848
+ ppp = result_iwag.split(" ")
849
+
850
+ subs_mac = ppp[0]
851
+ access_int = ppp[1]
852
+ access_poi = ppp[2]
853
+ ssid_a = ppp[3]
854
+
855
+ tx_rate_se = "unknown"
856
+ tx_rat = "unknown"
857
+ rx_rat = "unknown"
858
+ rx_signa = "unknown"
859
+ uptim = "unknown"
860
+ packet = "unknown"
861
+ byt = "unknown"
862
+
863
+ if access_int=='GigabitEthernet4.3002'
864
+ access_poi = "belrw_4_HP_ap1-1"
865
+ ssid_a = "BelRW_WiFi"
866
+ elsif access_int=='GigabitEthernet4.3005'
867
+ access_poi = "belbiz-AP1-1"
868
+ ssid_a = "IMAGURU_GUEST"
869
+ end
431
870
 
871
+ if access_poi == "Unknown" && ssid_a == "Unknown" && subs_mac != "Unknown"
872
+ frommikrotik = self.get_subs_add_info4new_1(access_int, subs_mac)
873
+ splitting5 = frommikrotik.split("---")
874
+ p access_poi = splitting5[1]
875
+ p ssid_a = splitting5[2]
876
+ p tx_rate_se = splitting5[3]
877
+ p tx_rat = splitting5[4]
878
+ p rx_rat = splitting5[5]
879
+ p rx_signa = splitting5[6]
880
+ p uptim = splitting5[7]
881
+ p packet = splitting5[8]
882
+ p byt = splitting5[9]
883
+ end
432
884
 
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'
885
+ if subs_mac=="unknown"
452
886
  output_params = {:code => 505, :result => "ERROR. Something wrong."}
453
887
  end
454
888
 
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
889
+ if subs_mac==""
890
+ subs_mac="unknown"
891
+ end
504
892
 
505
893
 
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
- }
894
+ mess = {:iwag_access_interface => access_int,
895
+ :subscribers_mac => subs_mac,
896
+ :access_point => access_poi,
897
+ :ssid_ap => ssid_a,
898
+ :apid => "unknown",
899
+ :statistics =>
900
+ {:tx_rate_set => tx_rate_se,
901
+ :tx_rate => tx_rat,
902
+ :rx_rate => rx_rat,
903
+ :rx_signal => rx_signa,
904
+ :uptime => uptim,
905
+ :packets => packet,
906
+ :bytes => byt}
907
+ }
520
908
  # 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
909
+ output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
910
+ p output_params
543
911
 
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
912
+ else
552
913
 
553
- p "min11iwag1"
914
+ mess = {:iwag_access_interface => "unknown",
915
+ :subscribers_mac => "unknown",
916
+ :access_point => "unknown",
917
+ :ssid_ap => "unknown",
918
+ :apid => "unknown",
919
+ :statistics =>
920
+ {:tx_rate_set => "unknown",
921
+ :tx_rate => "unknown",
922
+ :rx_rate => "unknown",
923
+ :rx_signal => "unknown",
924
+ :uptime => "unknown",
925
+ :packets => "unknown",
926
+ :bytes => "unknown"}
927
+ }
928
+ # 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}"
929
+ output_params = {:code => 202, :result => "Request completed", :body => {:message => mess}}
930
+ p output_params
554
931
 
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(" ")
932
+ end
933
+ rescue
934
+ puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
935
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
936
+ end
560
937
 
561
- subs_mac = ppp[0]
562
- access_int = ppp[1]
563
- access_poi = ppp[2]
564
- ssid_a = ppp[3]
938
+ output_params
565
939
 
940
+ ####
941
+ end
566
942
 
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
943
 
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
944
+ def proc_100_70_0_0_ssh(ip_address)
945
+ p "min11iwag1"
588
946
 
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"
947
+ begin
948
+ result_iwag = self.ssh_mac_iwag1_1(ip_address)
949
+ p result_iwag
950
+ if result_iwag.split(" ")[0]!="Unknown"
951
+ ppp = result_iwag.split(" ")
952
+
953
+ subs_mac = ppp[0]
954
+ access_int = ppp[1]
955
+ access_poi = ppp[2]
956
+ ssid_a = ppp[3]
957
+
958
+
959
+ if access_int=='GigabitEthernet4.3002'
960
+ access_poi = "belrw_4_HP_ap1-1"
961
+ ssid_a = "BelRW_WiFi"
962
+ elsif access_int=='GigabitEthernet4.3005'
963
+ access_poi = "belbiz-AP1-1"
964
+ ssid_a = "IMAGURU_GUEST"
965
+ end
596
966
 
597
- if subs_mac=="unknown"
598
- output_params = {:code => 505, :result => "ERROR. Something wrong."}
599
- end
967
+ if access_poi == "Unknown" && ssid_a == "Unknown" && subs_mac != "Unknown"
968
+ frommikrotik = self.get_subs_add_info4new_1(access_int, subs_mac)
969
+ splitting5 = frommikrotik.split("---")
970
+ p access_poi = splitting5[1]
971
+ p ssid_a = splitting5[2]
972
+ p tx_rate_se = splitting5[3]
973
+ p tx_rat = splitting5[4]
974
+ p rx_rat = splitting5[5]
975
+ p rx_signa = splitting5[6]
976
+ p uptim = splitting5[7]
977
+ p packet = splitting5[8]
978
+ p byt = splitting5[9]
979
+ end
600
980
 
601
- if subs_mac==""
602
- output_params = {:code => 505, :result => "ERROR. Something wrong."}
603
- end
981
+ tx_rate_se = "unknown"
982
+ tx_rat = "unknown"
983
+ rx_rat = "unknown"
984
+ rx_signa = "unknown"
985
+ uptim = "unknown"
986
+ packet = "unknown"
987
+ byt = "unknown"
604
988
 
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
989
+ if subs_mac=="unknown"
990
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
991
+ end
645
992
 
646
- end
647
- rescue
648
- puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
993
+ if subs_mac==""
649
994
  output_params = {:code => 505, :result => "ERROR. Something wrong."}
650
995
  end
651
996
 
652
- ####
997
+ mess = {:iwag_access_interface => access_int,
998
+ :subscribers_mac => subs_mac,
999
+ :access_point => access_poi,
1000
+ :ssid_ap => ssid_a,
1001
+ :apid => "unknown",
1002
+ :statistics =>
1003
+ {:tx_rate_set => tx_rate_se,
1004
+ :tx_rate => tx_rat,
1005
+ :rx_rate => rx_rat,
1006
+ :rx_signal => rx_signa,
1007
+ :uptime => uptim,
1008
+ :packets => packet,
1009
+ :bytes => byt}
1010
+ }
1011
+ # 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}"
1012
+ output_params = {:code => 200, :result => "Request completed", :body => {:message => mess}}
1013
+ p output_params
653
1014
 
654
1015
  else
655
- output_params = {:code => 404, :result => "ERROR. Unknown IP Pool."}
1016
+
1017
+ mess = {:iwag_access_interface => "unknown",
1018
+ :subscribers_mac => "unknown",
1019
+ :access_point => "unknown",
1020
+ :ssid_ap => "unknown",
1021
+ :apid => "unknown",
1022
+ :statistics =>
1023
+ {:tx_rate_set => "unknown",
1024
+ :tx_rate => "unknown",
1025
+ :rx_rate => "unknown",
1026
+ :rx_signal => "unknown",
1027
+ :uptime => "unknown",
1028
+ :packets => "unknown",
1029
+ :bytes => "unknown"}
1030
+ }
1031
+
1032
+ # 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}"
1033
+
1034
+ output_params = {:code => 405, :result => "ERROR. MAC address not found on IWAG."}
1035
+
1036
+ #render :soap => mess
656
1037
 
657
1038
  end
658
1039
  rescue
659
- puts 'SOAP mts_wifi_get_subs_info_return errorMethod invalid ip address'
660
- output_params = {:code => 500, :result => "ERROR. Something wrong."}
1040
+ puts 'SOAP mts_wifi_get_subs_info_return errorMethod'
1041
+ output_params = {:code => 505, :result => "ERROR. Something wrong."}
661
1042
  end
662
1043
 
663
1044
  output_params
664
1045
 
1046
+ ####
1047
+
665
1048
  end
666
1049
 
667
1050