Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Общего характера / Коды стран и городов

Коды стран и городов

Сообщений: 6521

Re: Коды стран и городов

ENUM пропагандирует тот же механизм, но связывает номера также с SIP URI sip:12025551212@voipcarrier.net.

Electronic Numbering (ENUM), as defined in RFC 3761, is a relatively simple protocol involving two core concepts:

* the process of creating a domain name from a TN and resolving it to an Internet address (a uniform resource identifier, or URI) using DNS technology
* the hosting of ENUM domain names in the e164.arpa domain

For example, the telephone number +1 (202) 555-1212 will be converted into the ENUM domain name 2.1.2.1.5.5.5.2.0.2.1.e164.arpa. A DNS query to that domain name will ultimately resolve to one or more DNS records (NAPTR records), which will provide a URI. The domain name 2.1.2.1.5.5.5.2.0.2.1.e164.arpa may resolve to the SIP URI sip:12025551212@voipcarrier.net. The SIP proxy service will then use the URI to establish a session between the originating SIP user and the terminating SIP user.
Я бы на начальном этапе проекта возвращал только регион по коду номера. Вот http://www.voipexchange.ru (он же sipnet.ru) даёт возможность в ручном режиме завести номер в окошке и получить ответ, правда он более ориентированный на тарифы по направлениям, но направление сразу выдаёт верное.
2009-01-24 23:07

Сообщений: 6521

Re: Коды стран и городов

Субъективно - телефония (процессы оригинации и терминации) работают на порядок медленнее, чем HTTP запросы. И всё таки она вертится! © Галилео Галилей.

dimas:

Из базы я загружу дерево в память и буду ресолвить коды на порядок а то и на два быстрее.
Именно поэтому ДНС кэшируется, что мешает и в этом случае?

dimas:

Кроме того DNS использует UDP и доставка не гарантирована. И вряд ли вы захотите при разборе логов за год зависить от внешнего асинхроноого сервиса.
Однако на сервисе DNS с UDP работает вся мировая паутина!
2009-01-24 23:10

Сообщений: 866

Re: Коды стран и городов

Именно поэтому ДНС кэшируется, что мешает и в этом случае?
Ну не спасет имхо. Какое у вас отношение уникальных номеров к общему? 1 к 10 ? Значит ускорит вам кеширование работу в 10 раз. А отсутствие внешнего асинхронного источника данных - ускорит работу в 100 раз. И даже больше. Просто поверьте :)

Однако на сервисе DNS с UDP работает вся мировая паутина!


Ну да. Когда DNS сервер не ответил сразу, ресолвер ретраит и еще ретраит. В результете если сеть не умерла совсем ответ будет получен. Секунды на три позже чем запрос послали. А за эти три секунды ябы уже отресолвил несколько тысяч номеров по дереву в памяти.

Такая пауза - это не страшно если вы браузером пользуетесь, но например в начале телефонного звонка тормозить из-за того что вы хотите отресолвить номер и у вас тормозит внешний сервис - дурной тон. (Я не собираюсь в реальном времени ресолвить, просто привожу пример почему решение НЕ идеальное)

2009-01-24 23:29

Сообщений: 6521

Re: Коды стран и городов

dimas:

Ну не спасет имхо. Какое у вас отношение уникальных номеров к общему? 1 к 10 ? Значит ускорит вам кеширование работу в 10 раз. А отсутствие внешнего асинхронного источника данных - ускорит работу в 100 раз. И даже больше. Просто поверьте :)
Верю. Но напомню, что интернет тоже начинался просто с записей в файле hosts. И это было быстрее в 100 раз.

dimas:

А за эти три секунды ябы уже отресолвил несколько тысяч номеров по дереву в памяти.

Такая пауза - это не страшно если вы браузером пользуетесь, но например в начале телефонного звонка тормозить из-за того что вы хотите отресолвить номер и у вас тормозит внешний сервис - дурной тон.
А я не предлагаю затормаживать соединение до получения ответа резольвера. Звонок должен состоятся независимо - получен ответ или нет. На уровне логов это просто заполненная клеточка Direction в журнале CDR значением Perm region proper или Unresolved (timeout).

2009-01-24 23:46

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Коды стран и городов

Интересную тему подняли!

dimas:

А не знает ли кто-нибудь где можно нарыть хорошую базу телефонных кодов по всему миру?
Конечная задача - парсинг, т.е. разбор номера на составляющиее - country, area, local.
<...>
Меня мучает мысль что должен быть какой-то единый официальный справлчник во внятном формате. Тот же ITU должен наверное делать. Но найти не могу. Может оно платное?
Кто что юзает?

1. А зачем тебе? Цель так и не раскрыл.
2. Официальных справочников нет. Поддержка справочника в актуальном состоянии - это работа, и его продажа - бизнес.
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2009-01-24 23:55

Сообщений: 866

Re: Коды стран и городов

Во! Нарыл страны с ITU-T кодами, ISO кодами, валютой и прочей хренью, угощайтесь:

http://www.andrewpatton.com/countrylist.html

1. А зачем тебе? Цель так и не раскрыл.
2. Официальных справочников нет. Поддержка справочника в актуальном состоянии - это работа, и его продажа - бизнес.


Цель - правильно отформатировать телефонные номера в базе. Они там напиханы в разных форматах:
78121234567
7(812)123-45-67
+7 812 123-45-67
44(0)2071234567
89211234567 (***)
1234567 (***)

А хочется привести все к общему виду например +7 812 1234567. Для номеров помеченных (***) это в принципе невозможно без дополнительной информации. Она у меня есть - это default location для каждого номера. То есть страна и area которые я должен принять если эта информация не доступна в самом номере.

По большому счету задача форматирования не очень связана с задачей парсинга :) Но я ее реализовал именно так:
1. Выкидываю из номера нафиг все кроме цифр и работаю только с ними.
2. Отцепляю самую длиную страну
3. отцепляю NDD префикс этой страны. (В UK номера принято писать как +44 (0) 207...... хотя этот 0 при наборе номера НЕ нужен, он нужен только внутри страны)
4. отцепляю самый длиный area code для страны
5. оставшийся номер - local, проверяю его на валидность. Проверка валидности - только по длине (в России или США - area+local это всегда 10 цифр)

Ну и для всего этого хозяйства мне нужны базы кодов.
Плюс куча данных которые все равно ручками пришлось указывать. Пример таких данных это информация что в России areacode это три символа, а local number - 7. Но несмотря на эти данные все равно нужны area codes - потому задан дефолт только а конкретный areacode может быть и длинее 3 символов, например +7 (4732) xxxxxx это Воронеж.

Я в принципе уже набрал данных с тех ссылок что выше давал, но т.к. areacodes я ручками копировал, то принес только RU,UK,US,UA. А хочется за один раз - все :)
2009-01-25 00:26

Сообщений: 866

Re: Коды стран и городов

В общем вскрытие показало что самый мой любимый ссылк - http://www.ldpost.com/countries/russia-7/ есть отстой. По крвйней мере для России. У кучи кодов потеряна первая цифра. Некий Лев Толстой там 7464 хотя должен быть 47464. Руза - 9627 вместо 49627 из-за чего портится распознавание сотовых операторов.

switch, а не поделитесь вашим самым последним пунктом? Остальное я с classifiers импортировал.
2009-01-25 04:58

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Коды стран и городов

положил сюда
http://www.lynks.ru/doc/files/MC.rar
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-01-25 12:28

Сообщений: 866

Re: Коды стран и городов

не... не айс.
1. он fixed width из-за этого длиные тексты обрезаны по максимальной ширине колонки.
2. Там есть какие-то реально странные записи с ПОЛНЫМ номером. Например:
7 74832681111RUSSIA EURO Брянская 2 5.5000 5.5000FF

В этой брянской что, один телефон? )

3. Ну и самое главное - это, конечно, не areacodes. Это какие-то хинты по направлениям для оператора. Там легко может быть просто девятка с комментарием "Mobile". То есть все что в этой строне с девятки это мобильники. Это, наверное, решает ту задачу для которой файл делался, но не решает мою - отцепить areacode с такой информацией проблематично...

В общем я не выдержал и написал на дотнете :) грабилку для сайта mtt.ru и взял все коды с него. 11 тысяч записей. Россия и Украина - очень подробно, остальное похуже.

http://dimas.spb.ru/ast/output.txt
Перевыложите только куда-нибудь плиз, я завтра ссылку уберу.
2009-01-25 23:44

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Коды стран и городов

dimas`у респект и уважуха!

я выложу на lynks.ru, не против?

PS: Переделал таблицу расстояний между административными центрами РФ в SQL вид. если надо - положу тоже.
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-01-26 10:18

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru