ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ клиСнтских IP

SIP Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ

Если Π΅ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ IP адрСса, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… наблюдалась Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·Π²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ sip_auth_log.

НапримСр, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°  с прСфиксом "0004*" c ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠΎ дСвятоС апрСля Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Β  Π΄ΠΎΠΌΠ΅Π½Π΅ sip.domain.com:

select distinct inet_ntoa(ip) from sip_auth_log where date_gmt>='2017-04-01 00:00:00' and date_gmt<'2017-04-10 00:00:00' and ext_name like "0004*%sip.domain.com%"

Π›ΠΎΠ³ΠΈΠΊΠ° сбора Π΄Π°Π½Π½Ρ‹Ρ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

  1. БущСствуСт кэш IP, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… авторизовывался Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹ΠΉ, Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ сутки (отсчСт ΠΎΡ‚ послСднСго рСстарта kamailio). ΠšΠ»ΡŽΡ‡ΠΎΠΌ кэша являтСтся "имя Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½ΠΎΠ³ΠΎ + IP"
  2. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ запросС ΠΎΡ‚ Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½ΠΎΠ³ΠΎ (REGISTER, INVITE...) Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π±Π°Π·Ρƒ ΠΈ кэш, Ссли ΠΈΡ… Π½Π΅Ρ‚ Π² кСшС ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ дСлаСтся, Ссли ΠΎΠ½ΠΈ Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π° Π² сутки Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Π΅ ip адрСса для Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½ΠΎΠ³ΠΎ. (ΠΊΡ€ΠΎΠΌΠ΅ случаСв, ΠΊΠΎΠ³Π΄Π° кэш очищаСтся ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ kamailio)

АдрСса ΠΌΠ΅Π΄ΠΈΠ°

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ cdr ΠΏΡ€ΠΈ Β Π²Ρ‹Π·ΠΎΠ²Π°Ρ…, уходящих Π½Π° Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ приходящих с Π½Π΅Π³ΠΎ, сохраняСтся IP адрСс ΠΌΠ΅Π΄ΠΈΠ°. НапримСр, для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ id=2944 (ΠΏΡ€ΠΎΡ‰Π΅ всСго Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ ΠΈΠ· ΠΏΡƒΡ‚ΠΈ url Π² административном интСрфСйсС ΠΈΠ»ΠΈ запросом Π² Ρ‚Π°Π±Π»ΠΈΡ†ΡƒΒ ringme.client )

select distinct( inet_ntoa(device_ip) ) from cdr where  init_time_gmt>='2016-01-01' and client_owner_id=2944 and ext_type='phone' and device_ip>0 
/* ΠΈΠ»ΠΈ с ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ поиском ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° */
select distinct( inet_ntoa(device_ip) ) from cdr where  init_time_gmt>='2016-01-01' and client_owner_id=(select rc.id from ringme.client rc, ringme.domain rd where rc.domain_id=rd.id and prefix='0004' and rd.name='mydomain') and ext_type='phone' and device_ip>0 

Π˜Π½Π΄Π΅ΠΊΡΡ‹

Π² запросС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΈ id ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ индСксы Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ АдрСса

Иногда (ΠΎΠΊΠΎΠ»ΠΎ 5%) для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π² адрСсС ΠΌΠ΅Π΄ΠΈΠ° ΠΊΡ€ΠΎΠΌΠ΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… адрСсов ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ адрСса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΈΠ΄Π° 192.168.xxx.xxx). Для ΠΈΡ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ запрос

select distinct( inet_ntoa(device_ip) ) from cdr where  init_time_gmt>='2016-01-01' and client_owner_id=2944 and ext_type='phone' and device_ip>0
and not (
device_ip>>24 in (10, 127, 224) or 
device_ip>>24=192 and  (device_ip&0xFF0000)>>16=168 or
device_ip>>24=172 and  (device_ip&0xFF0000)>>16=16 or
device_ip>>24=169 and  (device_ip&0xFF0000)>>16=204
)


особСнности Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹Ρ…

НСкоторыС услуги ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹Π΅. НапримСр, рСгистрация внСшнСго Π½ΠΎΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ алиасы (FMC). Π’ этом случаС адрСсами ΠΌΠ΅Π΄ΠΈΠ° Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ адрСса Ρ‚Ρ€Π°Π½ΠΊΠΎΠ²