asterisk — Определение региона и оператора связи по номеру телефона
Вопрос задан
Изменён 2 года 1 месяц назад
Просмотрен 3k раз
Необходимо по номеру телефона определять регион и оператора связи. Это нужно для дальнейшего определения способа, которым наиболее выгодно звонить на этот номер. Раньше это можно было делать по коду страны и оператора. Таблицы существуют в интернете. Но теперь это сделать нельзя, т.к. приняли закон о возможности ухода к другому оператору с сохранением номера.
Прошу помочь придумать максимально простой и быстрый алгоритм определения принадлежности номера к оператору.
Дополнительно замечу, что вариант звонить, затем оценивать сколько денег ушло — не годится, т. к. пользователь номера может оператора менять достаточно часто (в историческом масштабе).
Если существует какое-либо API у операторов для решения этой задачи, то будет очень здорово, если на него укажете.
Реализовывать выбор направлений планируем через Dial-plan системы asterisk.
- asterisk
- freepbx
- телефон
4
Нашел решение. Ключевое слово HLR.
HLR Lookup это что-то среднее между Whois и ping, но для телефонных номеров. Существует (как оказалось) множество сервисов, которые позволяют производить проверку номера. Единственный минус, что они все платные.
Например, https://www.hlr-lookups.com/ https://www.hlrlookup.com/prices и пр.
2
Если существует какое-либо API у операторов для решения этой задачи, то будет очень здорово, если на него укажете.
http://mnp.tele2.ru/gateway.php?90000000
http://www.megafon.ru/api/mfn/info?msisdn=90000000
3
Вот тут есть API с примерами https://api.regius.name/ifaces/phone-number/#asterisk База обновляется часто, но есть некоторые ограничения в бесплатной версии Удобно, что показывает mnc код оператора, и код региона, а не просто названия
Сервер отдаёт ответ в JSON-формате: {«phone»:»9123332211″,»company»:»ПАО «Мобильные ТелеСистемы»»,»brand»:»МТС»,»mnc»:»01″,»region»:»Кировская обл.»,»kladr»:»43″,»gibdd»:»43″,»utc»:»+3″,»qty»:48,»limit»:2000,»answer»:»ok»}
и скрипт для астериска (token можно не указывать, если его нет)
#!/usr/local/bin/python3 import urllib.request, json, sys, pymysql token ='98yysa8y8lnkn$27sdskldsk' with urllib.request.urlopen("https://api.regius.name/iface/phone-number.php?phone="+sys.argv[1]+"&token="+token) as url: data = json.loads(url.read().decode()) if data['answer'] == 'ok': print('EXEC SET message="Calling UTC'+str(data['utc'])+' region '+str(data['kladr'])+' '+str(data['region'])+' '+str(data['brand'])+'"') else: print('EXEC SET message='+data['answer'])
2
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Перенос: сохранение вашего номера телефона при смене провайдера
Español | 한국어 |繁體中文 | тагальский | Tiếng Việt
Если вы меняете поставщика услуг и остаетесь в том же географическом районе, вы можете сохранить свой существующий номер телефона. Этот процесс, часто называемый переносом телефонного номера, может выполняться между проводными, IP- и беспроводными провайдерами.
Начало процесса переноса
Вы можете в любое время запросить обслуживание у другой компании. При смене компании:
- Просмотрите свой текущий контракт. Ваш договор может содержать плату за досрочное расторжение и/или непогашенные остатки, которые вы обязаны выплатить.
- Не прекращайте обслуживание в существующей компании, пока не начнете новое обслуживание в другой компании.
- Свяжитесь с новой компанией, чтобы начать процесс переноса вашего номера.
- Сообщите новой компании свой 10-значный номер телефона и любую дополнительную информацию.
Взимается ли плата за перенос?
- Компании могут взимать с вас плату за перенос вашего номера, но вы можете спросить, можно ли отменить какие-либо сборы или обсудить их.
- После того, как вы запросите обслуживание у новой компании, ваша старая компания не сможет отказать в переносе вашего номера, даже если вы должны деньги за непогашенный остаток или комиссию за прекращение.
Как долго длится процесс переноса?
Правила FCC требуют, чтобы простые порты, которые обычно не требуют более одной линии или более сложных настроек телефонного коммутационного оборудования, обрабатывались в течение одного рабочего дня. Возможно, вы сможете использовать свой телефон в течение нескольких часов из-за смены поставщика услуг беспроводной связи. Однако перенос с проводной на беспроводную связь может занять несколько дней.
Проблемы со службой при переходе с проводной связи на беспроводную
При переносе с проводного телефона на беспроводной может быть период, когда у вас есть два телефона с одним и тем же номером. Спросите у своей новой компании беспроводной связи, сможете ли вы продолжать использовать свой текущий номер проводной связи в течение однодневного процесса переноса.
Во время перехода могут быть затронуты службы определения местоположения и обратного вызова Wireless 911 (где они доступны). Звонки должны пройти, но операторы службы 911 могут не перезвонить вам, если они отключены. Перед переносом спросите у своей новой компании, 911 служба будет затронута во время процесса.
Кроме того, ваша компания проводной дальней связи не будет двигаться вместе с вами. Услуги междугородной связи, скорее всего, будет предоставлять ваша новая компания беспроводной связи, которую вам следует проверить.
Перенос не всегда возможен
Если вы переезжаете в новую географическую область, вы не сможете сохранить свой текущий номер телефона при смене поставщика услуг.
Кроме того, некоторые поставщики услуг проводной связи в сельской местности могут получить освобождение от требований по переносу от государственных органов. Их клиенты могут быть не в состоянии перенести свой номер на нового провайдера. Если вы не можете перенести свой номер по этой причине, обратитесь за дополнительной информацией в комиссию штата по коммунальным услугам.
Версия для печати
Переносимость: сохранение номера телефона при смене поставщика услуг (pdf)
Дата последнего обновления/проверки:
Понедельник, 9 марта 2020 г.
Бюро/офис:
Теги:
Потребители — Телефон Проблемы потребителей
Set-CsPhoneNumberAssignment (MicrosoftTeamsPowerShell) | Microsoft Узнайте
Обратная связь Редактировать
Твиттер LinkedIn Фейсбук Эл. адрес
- № по каталогу
- Модуль:
- MicrosoftTeamsPowerShell
- Применимо к:
- Команды Майкрософт
Этот командлет назначит номер телефона пользователю или учетной записи ресурса (экземпляр онлайн-приложения).
Синтаксис
Set-CsТелефон Номер Назначение -Идентификация <Строка> -PhoneNumber <Строка> -PhoneNumberType <Строка> [-LocationId ] [<Общие параметры>]
Set-CsТелефон Номер Назначение -Идентификация <Строка> -EnterpriseVoiceEnabled <логическое значение> [ ]
Описание
Этот командлет назначает номер телефона учетной записи пользователя или ресурса. Когда вы назначаете номер телефона, для флага EnterpriseVoiceEnabled автоматически устанавливается значение True.
Чтобы удалить номер телефона из учетной записи пользователя или ресурса, используйте командлет Remove-CsPhoneNumberAssignment.
Если командлет выполняется успешно, объект результата не возвращается. Если командлет по какой-либо причине не работает, будет возвращен объект результата, содержащий параметр строки кода. и параметр строки сообщения с дополнительными сведениями об ошибке.
Примечание . В модуле Teams PowerShell версии 4.2.1 (предварительная версия) и более поздних версиях мы меняем способ сообщения командлетом об ошибках. Вместо использования объекта результата мы будем генерировать исключение в случае ошибки, и мы будем добавлять исключение к автоматической переменной $Error. Командлет также теперь поддерживает параметр -ErrorAction для управлять выполнением после возникновения ошибки.
Примечание . В настоящее время в регионе Макао не поддерживается назначение номеров телефонов или корпоративная голосовая связь.
Примеры
Пример 1
Set-CsPhoneNumberAssignment -Identity [email protected] -PhoneNumber +12065551234 -PhoneNumberType CallingPlan
В этом примере пользователю назначается номер телефона плана звонков +1 (206) @ 555-123 contoso.com.
Пример 2
$loc=Get-CsOnlineLisLocation -Город Ванкувер Set-CsPhoneNumberAssignment -Identity [email protected] -PhoneNumber +12065551224 -PhoneNumberType CallingPlan -LocationId $loc.LocationId
В этом примере выполняется поиск местоположения службы экстренной помощи, определенного для корпоративного местоположения в Ванкувере, и назначается номер телефона плана звонков Microsoft +1 (206) 555-1224 и местоположение пользователю [email protected].
Пример 3
Set-CsPhoneNumberAssignment -Identity [email protected] -EnterpriseVoiceEnabled $true
В этом примере устанавливается флаг EnterpriseVoiceEnabled для пользователя user3@contoso. com.
Пример 4
Set-CsPhoneNumberAssignment -Identity [email protected] -LocationId 'null' -PhoneNumber +12065551226 -PhoneNumberType OperatorConnect
В этом примере из номера телефона пользователя [email protected] удаляется расположение для экстренных случаев.
Пример 5
Set-CsPhoneNumberAssignment -Identity [email protected] -PhoneNumber +14255551225 -PhoneNumberType DirectRouting
В этом примере номер телефона прямой маршрутизации +1 (425) 555-1225 назначается учетной записи ресурса [email protected]. .
Пример 6
Set-CsPhoneNumberAssignment -Identity [email protected] -PhoneNumber "+14255551000;ext=100" -PhoneNumberType DirectRouting
В этом примере номер телефона прямой маршрутизации назначается +1 (425) 555-1000;ext=100 пользователю [email protected].
Пример 7
$pn=Set-CsPhoneNumberAssignment -Identity [email protected] -PhoneNumber "+14255551000;ext=100" -PhoneNumberType DirectRouting $pn Кодовое сообщение ---- ------- Телефонный номер BadRequest '+14255551000;ext=100' уже назначен другому пользователю
В этом примере командлет назначения завершается ошибкой, так как номер телефона «+142555551000;ext=100» уже назначен другому пользователю.
Parameters
-EnterpriseVoiceEnabled
-Identity
-LocationId
-PhoneNumber
-PhoneNumberType
Inputs
None
Outputs
System.Object
Notes
The cmdlet is available в модуле Teams PowerShell 3.0.0 или более поздней версии.
Командлет доступен только в коммерческих и облачных экземплярах GCC.
Если для учетной записи пользователя или ресурса установлен номер телефона в локальной среде Active Directory и синхронизирован с Microsoft 365, вы не можете использовать Set-CsPhoneNumberAssignment для установки номера телефона. количество. Вам нужно будет удалить номер телефона из локальной Active Directory и сначала синхронизировать это изменение с Microsoft 365.
Предыдущая команда назначения телефонных номеров пользователям Set-CsUser имела параметр HostedVoiceMail. Настройка HostedVoiceMail для пользователей Microsoft Teams больше не необходим, и поэтому этот параметр недоступен в Set-CsPhoneNumberAssignment.