goba Опубликовано 5 февраля, 2016 (изменено) · Жалоба Выкладываю диалплан и скрипт проверки принадлежности номера сотовому оператору по данным сайтов. Моё ТЗ выглядело примерно так: 1) Сайты для проверки http://mnp.tele2.ru/gateway.php?9000000000http://moscow.shop.megafon.ru/get_ajax_page.php?action=getMsisdnInfo&msisdn=79000000000 2) Номер астериском передается без 8-ки и +7 (в формате 9ХХХХХХХХХ) 3) Номер передается в правильном федеральном формате, число цифр строго 10, скрипт не проверяет правильность формата номера (это делает астериск) 4) Если один из сайтов не доступен или результат вывода не то что надо, то отправляем смс на мой номер. 5) Если результат вывода разный по сайтам то тоже отправляем смс с указанием в нем номера 6) Если оба сайта доступны и результат их работы корректный то: 6.1) Если, по обеим сайтам, region_id равен (76 - это мой домашний регион) И operator_id равен (1 или 2 или 99) то устанавливаем переменные: ch_mejgorod=0 # признак междугороднего канала 0- не межгород (через симки), 1 -межгород (платный вызов) operator_id=1 # ID оператора сотовой связи (1-МТС, 2-Мегафон, 99-Билайн) region_id=76 # Регион регистрации (принадлежности) сотового номера (Внимание! Регионы сотовых операторов зачастую не совпадают с номерами автомобильных кодов регионов) 6.2) В остальных случаях, если region_id не равен 76 ИЛИ operator_id не равен (1 или 2 или 99): ch_mejgorod=1 #признак междугороднего канала operator_id=04 region_id=33 Скрипт: #!/usr/bin/python # -*- coding: utf-8 -*- __author__ = 'Andrey Smirnov' __email__ = 'mail@ansmirnov.ru' import requests import datetime import json import sys from requests.auth import HTTPBasicAuth def check1(phone): try: res = requests.get('http://mnp.tele2.ru/gateway.php?%s' % phone).json() return (int(res['response']['geocode']['code']), int(res['response']['mnc']['code'])) except: return None def check2(phone): try: res = requests.get('http://moscow.shop.megafon.ru/get_ajax_page.php?action=getMsisdnInfo&msisdn=7%s' % phone).json() return (int(res['region_id']), int(res['operator_id'])) except: return None def write_log(logname, msg): f = open(logname, 'a') f.write(msg) f.close() def send_sms(msg, number='89202223344'): auth = HTTPBasicAuth('admin', 'adminpass') data = { 'smscontent': msg, 'telnum': number, 'action': 'SMS', 'line': '7', 'smskey': '0000000e', 'send': 'Send' } requests.post('http://192.168.1.1/default/en_US/sms_info.html', auth=auth, data=data) def run(ph): c1, c2 = check1(ph), check2(ph) log1, log2, log3 = '/home/check_oper_id/sot_unlim.log', '/home/check_oper_id/mejgorod.log', '/home/check_oper_id/err.log', Currtime=datetime.datetime.now().strftime('%d %b %Y %H:%M:%S') if c1 != c2: msg = "Разный результат проверки. "+str(Currtime)+" Номер: "+sys.argv[1]+"\n" send_sms(msg) write_log(log3, msg) return if c1 is None: msg = "Сайты недоступны. "+str(Currtime)+" Номер: "+sys.argv[1]+"\n" send_sms(msg) write_log(log3, msg) return reg, op = c1 if reg == 76 and int(op) in (1, 2, 99): print ('SET VARIABLE ch_mejgorod 0') print ('SET VARIABLE region_id %d' % reg) print ('SET VARIABLE operator_id %d' % op) strLog=str(Currtime)+" "+sys.argv[1]+" 0 "+str(c1)+"\n" write_log(log1, strLog) return print ('SET VARIABLE ch_mejgorod 1') print ('SET VARIABLE region_id %d' % reg) print ('SET VARIABLE operator_id %d' % op) strLog=str(Currtime)+" "+sys.argv[1]+" 1 "+str(c1)+"\n" write_log(log2, strLog) run(sys.argv[1]) Диалплан: exten => _89XXXXXXXXX,1,Set(ch_mejgorod=1) ; inicializiruem ch_mejgorod=1 exten => _89XXXXXXXXX,n,AGI(/home/check_oper_id/check_oper_id.py,${EXTEN:1},) ; peredaem ckriptu sot. nomer telefona exten => _89XXXXXXXXX,n,NoOP(${ch_mejgorod}) exten => _89XXXXXXXXX,n,NoOP(${operator_id}) exten => _89XXXXXXXXX,n,NoOP(${region_id}) exten => _89XXXXXXXXX,n,GotoIf($["${ch_mejgorod}" = "1"]?mejgorod:) ; esli mejgorod=1 to prigaem na mejgorod, ina4e idem vniz exten => _89XXXXXXXXX,n,Goto(sotoper${operator_id}) ; prigaem na metku sot. operatora (sotoper1, sotoper2,sotoper99) exten => _89XXXXXXXXX,n(sotoper1),Set(TimeN=${STRFTIME(%b_%d_%H_%M)}) ; zvonok 4erez SIM-ki MTS тут звоним через МТС exten => _89XXXXXXXXX,n,Hangup() exten => _89XXXXXXXXX,n(sotoper2),Set(TimeN=${STRFTIME(%b_%d_%H_%M)}) ; zvonok 4erez SIM-ki Megafon тут звоним через Мегафон) exten => _89XXXXXXXXX,n,Hangup() exten => _89XXXXXXXXX,n(sotoper99),Set(TimeN=${STRFTIME(%b_%d_%H_%M)}) ; zvonok 4erez SIM-ki Beeline тут звоним через Билайн exten => _89XXXXXXXXX,n,Hangup() exten => _89XXXXXXXXX,n(mejgorod),Playback(/usr/share/asterisk/sounds/mejgor) ; proigrivaem 4to nomer platniy тут звоним через междугороднего провайдера exten => _89XXXXXXXXX,n,Hangup() P/S/ Отдельное большущее спасибо разработчикам скрипта Найденные ошибки и критика приветствуется. Изменено 5 февраля, 2016 пользователем goba Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NortH21 Опубликовано 5 февраля, 2016 · Жалоба То что нужно:) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanShishkin Опубликовано 8 февраля, 2016 · Жалоба Вопрос в том, как быстро Теле2 и Мегафон забанят по IP, а потом и капчу введут ... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goba Опубликовано 9 февраля, 2016 · Жалоба IvanShishkin Уважаемый , как в воду глядели. http://moscow.shop.megafon.ru/get_ajax_page.php?action=getMsisdnInfo&msisdn=79202224523 перестал работать Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NortH21 Опубликовано 9 февраля, 2016 · Жалоба Кто-то из Мегафона спалил тему.. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goba Опубликовано 9 февраля, 2016 · Жалоба NortH21 Да нет. Вчера в обед мне стали смс-ки кучей сыпаться , что разный результат проверки по сайтам. Я проверил, сайт мегафона через tcping пинговался с потерями большими. Их досили походу, видать на дос они среагировали ну и попутно всю лишнюю нагрузку на сайт забанили. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
g3fox Опубликовано 15 февраля, 2016 · Жалоба Смысл базы ЦНИИС в том виде, в котором она у них ведется, скоро пропадет, ибо опять Россия... Каждые 2 часа формируется новый файл с новыми перенесенными номерами. И каждые 2 часа он аккумулируется к одному большому файлу. Беда в том, что в большом файле фиксируются и те номера, которые вернулись к родительскому оператору. У меня сейчас в таблице диапазонов 4 с небольшим тысячи записей DEF-диапазонов (по сути, выписка россвязи). В файле ЦНИИС более 2 миллионов записей. Нафига, спрашивается, хранить там вернувшиеся домой номера??? Мне кажется это нужно для того, чтобы определить какому оператору в день "Х" приналдежал номер "У", абонента "Й". Для органов то есть... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanShishkin Опубликовано 6 мая, 2016 · Жалоба Я согласен, что для истории нужно. Но в этом огромном файле нет информации о дате перехода. Для этого нужно искать в инкрементных файлах интересующий номер. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
virus_net Опубликовано 3 июня, 2016 · Жалоба C апреля на rosreestr.subnets.ru стала доступна информация по перенесенным номерам. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goba Опубликовано 4 июля, 2016 · Жалоба virus_net спасибо. Кто использует rosreestr.subnets.ru подскажите, если номер менял оператора один раз, то добавляется поле 'moved2operator'. А если номер менял оператора несколько раз, то будут поля 'moved3operator' 'moved42operator' и т.д. Или текущий, последний смененный оператор, всегда идет в поле 'moved2operator'? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Negator Опубликовано 4 июля, 2016 · Жалоба дык напишите virus_net - это их разработка. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
whoim Опубликовано 23 августа, 2016 · Жалоба Коллеги, приветствую! Также нуждаюсь в базе. Но - в локальной реализации, ибо интернет очень дохлый и нестабильный. Готов создать такую реализацию для Астериска (freepbx) и сделать свободной, общедоступной. 1) Попытки обновления базы раз в сутки, при неудаче - откладывается на 10 минут. Скачивание файла, хостинг готов предоставить 2) Локальное API для определения реального оператора и региона по номеру 3) Диаплан и AGI (внедряется в штатный FreePBX легко) для добавления префикса к номер (1*, 2*..) для дальнейшего выбора транка в Outbound Routes. Все это я сделаю - нужен доступ к базе. Будем полезны друг другу? скайп whoim2, почта whoim@mail.ru У меня сейчас в таблице диапазонов 4 с небольшим тысячи записей DEF-диапазонов (по сути, выписка россвязи). В файле ЦНИИС более 2 миллионов записей. Нафига, спрашивается, хранить там вернувшиеся домой номера??? Скоро этот файл будет содержать всю выписку с тупым перечислением ВСЕХ DEF-номеров. Спасибо, интересная инфа. Думаю, я смогу сделать обработку так, чтобы в субд (используемой api) оставлять только перенесенные. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
edo Опубликовано 1 февраля, 2018 · Жалоба Также интересует база перенесённых номеров, непровайдеру реально получить доступ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SOFTOLAB Опубликовано 24 февраля, 2019 · Жалоба За 2 года никто нигде базу не выкладывает что ли? Тоже нужна. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MATPOC Опубликовано 28 февраля, 2019 · Жалоба В 24.02.2019 в 18:34, SOFTOLAB сказал: За 2 года никто нигде базу не выкладывает что ли? Тоже нужна. Это же живая база, там объекты меняются каждый день. Какой смысл в прошлогодней базе, даже и утекшей в паблик. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SOFTOLAB Опубликовано 28 февраля, 2019 · Жалоба 14 hours ago, MATPOC said: Это же живая база, там объекты меняются каждый день. Какой смысл в прошлогодней базе, даже и утекшей в паблик. Да это понятно, просто за два года никаких подвижек... Был бы источник постоянный, я бы запилил API для нуждающихся. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Связной (С) Опубликовано 1 марта, 2019 · Жалоба 9 часов назад, SOFTOLAB сказал: просто за два года никаких подвижек... Их и не будет. Пока не примут правила и не обяжут оператора базы данных обеспечить доступ, его не будет в таком виде. Цитата Постановление Правительства РФ от 6 августа 2013 г. N 672 "О мерах по обеспечению финансирования создания и функционирования базы данных перенесенных абонентских номеров" - Обладателем информации, содержащейся в базе данных, является Российская Федерация. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SOFTOLAB Опубликовано 1 марта, 2019 · Жалоба 7 hours ago, Связной (С) said: Их и не будет. Пока не примут правила и не обяжут оператора базы данных обеспечить доступ, его не будет в таком виде. Да я вкурсе, просто так же как с реестром заблокированных адресов будет и всё, был бы источник кто будет давать саму базу раз в сутки. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
babay951 Опубликовано 21 апреля, 2023 (изменено) · Жалоба 17 апреля 2023 г. пропал доступ к БДПН prod-sftp.numlex.ru . Кто знает откуда сейчас забирать БДПН? Изменено 21 апреля, 2023 пользователем babay951 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dr Tr0jan Опубликовано 21 апреля, 2023 · Жалоба @babay951 , sftp://prod-sftp.bdpn.ru:3232 https://prod.bdpn.ru http://soap.bdpn.ru:8080/NPWS/NPservice.svc?wsdl Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
babay951 Опубликовано 21 апреля, 2023 · Жалоба dr Tr0jan Спасибо, помогло! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
edo-samurai Опубликовано 17 ноября, 2023 · Жалоба Доброго времени. Можно кто-то поделится ссылкой хоть не на "свежую" базу? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
babay951 Опубликовано 18 января (изменено) · Жалоба Всё, niir заблокировал доступ всем операторам связи, кроме подвижной радиотелефонной связи. Есть идеи как дальше работать? Где брать базу и апдейты? Платить по 10 копеек за запрос я им не собираюсь, к тому же это будет тормозить работу и надежность упадет. Изменено 18 января пользователем babay951 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Forced Опубликовано 19 января · Жалоба Да, перестало отдавать по SFTP со вторника, 16.01.2024. При этом в .xls формате всё ещё можно скачать с https://www.niir.ru/bdpn/tablica-marshrutnyh-nomerov/ Может остался у кого относительно свежий архив с .csv файлом? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sdy_moscow Опубликовано 19 января · Жалоба @Forced Простите, но если есть эксель, то кто мешает сохранить в csv? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...