Как использовать CNAM (имя вызывающего абонента) с RingOut? - PullRequest
0 голосов
/ 07 мая 2018

Когда я устанавливаю Caller ID Name и выполняю RingOut через API-интерфейс RingCentral Java, получающий номер отображает только мой Main Number, а не Caller ID Name. Как мне позвонить, чтобы показать CNAM?

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Полное раскрытие, я главный операционный директор Telo, создатели OpenCNAM и EveryoneAPI .

Я хотел уточнить несколько вещей, содержащихся в первоначальном ответе на этот вопрос. Мне приходилось отвечать на вопросы, так как моя репутация на Stack Overflow ограничивает мою возможность опубликовать это как комментарий к вопросу. : /

Во-первых, краткий обзор сети CNAM. Далее краткое объяснение того, как это работает и предостережения. После этого в продуктах Telo есть некоторые особенности, которые некоторые люди могут найти полезными.

Обзор сети CNAM

В плане набора +1 ( NANP ) имеется более 20 баз данных, в которых хранятся значения CNAM или имя вызывающего абонента от имени телефонных операторов. На практике около 12 из них фактически запрашиваются поставщиками CNAM. Терминальный оператор (оператор, принимающий вызов) запрашивает у своего провайдера CNAM миллисекунды после получения вызова с помощью CID (телефонный номер). Во время настройки вызова для вызова поставщик CNAM возвращает значение имени, связанное с этим номером телефона, чтобы его можно было доставить с помощью телефонного вызова.

Как это работает

Если сеть CNAM доставляется, т. Е. Предоставленные оператором значения, которые хранятся поставщиком услуг хранения, то поставщик CNAM направляет запрос соответствующему поставщику услуг хранения на основе телефонного номера. Если номер был перенесен, то NPAC будет содержать информацию, необходимую для преобразования номера в соответствующий источник хранения, который необходимо запросить. Если в NPAC нет записи, то CNARG будет содержать информацию, необходимую для сопоставления номера телефона с оператором связи и, следовательно, с правильным поставщиком услуг хранения.

Предостережения

Частота совпадений для полезных значений имен в традиционной сети CNAM составляет около 50%. Это связано с тем, что не все перевозчики участвуют. Например, в то время как значения CNAM легко настроить для AT & T Wireless, T-Mobile и Sprint, Verizon Wireless является opt-in и не поддерживается автоматически. Есть другие операторы, которые не участвуют в сети CNAM, и все же другие поставщики VoIP, которые не обновляют значения CNAM. Традиционная сеть CNAM также не предоставляет значений для бесплатных номеров, и имеет покрытие только внутри плана набора +1.

Об OpenCNAM

Хотя OpenCNAM предоставляет сети CNAM через стандартный уровень обслуживания, он также обеспечивает два уровня обслуживания, которые учитывают ограничения сети CNAM, упомянутые выше. Уровень обслуживания Plus оптимизирован для покрытия, скорости совпадения и точности, в то время как уровень обслуживания Value обеспечивает превосходное покрытие и скорости совпадения, но оптимизирован для стоимости. Вы можете узнать больше об уровнях обслуживания здесь .

EveryoneAPI для текущего носителя и тип линии

Другой наш продукт, EveryoneAPI, предоставляет наиболее точные данные о типе линии (стационарный или мобильный) и текущем носителе, включая перенесенные номера. Покрытие для этих точек данных является глобальным, и частота совпадений составляет почти 100%. Хотя numverify выглядит очень полезным, он предоставляет то, что известно как LERG данных для плана набора +1, насколько я могу судить. Это не будет точно отражать информацию о перевозчике для перенесенных телефонных номеров.

0 голосов
/ 07 мая 2018

Обзор и ограничения CNAM

Поддержка имен CNAM / Caller ID зависит от типа номеров, используемых вызывающей и принимающей (вызываемой) сторонами.

  • Вызывающий абонент должен использовать местный городской номер, в противном случае будет отображаться номер телефона.
  • Получатель должен использовать не мобильный номер, в противном случае будет отображаться номер телефона.

Я подтвердил это, позвонив на два номера: номер мобильного телефона, на котором был указан только номер телефона, и номер стационарного телефона, на котором был указан CNAM.

Вы можете прочитать больше о CNAM в этой статье базы знаний:

Здесь упоминаются следующие выдержки:

  • Идентификационный номер исходящего звонящего должен быть местным стационарным номером.
  • Бесплатные номера не поддерживаются. Если для идентификатора исходящего звонящего установлено значение «Бесплатный номер», будет отображаться только номер.
  • Мобильные номера не поддерживают CNAM. Если принимающая сторона является номером мобильного телефона, будет отображаться только номер.
  • Когда для идентификатора исходящего звонящего установлено значение Заблокировано, получатель вызова будет видеть НЕИЗВЕСТНЫЙ или АНОНИМНЫЙ в качестве идентификатора звонящего / имени звонящего.

Проверка типа принимающей линии

Учитывая, что номера мобильных телефонов не поддерживают CNAM, полезно проверить, является ли номер, по которому вы звоните, номером мобильного телефона, а не. Вы можете проверить тип номера, по которому вы звоните, с помощью API numverify (https://numverify.com/).. Вы также можете использовать это приложение CLI и Go SDK grokify/numverify. Найдите свойство line_type в ответ валидированного API, который может быть mobile или landline.

Например (номер телефона изменен):

{
    "valid": true,
    "number": "16505550100",
    "local_format": "6505550100",
    "international_format": "+16505550100",
    "country_prefix": "+1",
    "country_code": "US",
    "country_name": "United States of America",
    "location": "Redwood Cy",
    "carrier": "AT\u0026T Mobility LLC",
    "line_type": "mobile"
}

Проверка базы данных CNAM

Принимающие системы имеют свои собственные базы данных CNAM, но вы можете проверить, распространилось ли ваше имя, вызвав API базы данных CNAM, например, предоставляемый OpenCNAM (https://www.opencnam.com/). Вот пример вызова OpenCNAM Добавление параметра запроса format очень важно, так как API будет повторять пустое тело без него.

curl -XGET 'https://api.opencnam.com/v3/phone/+16505550100?format=json&account_sid=<myAccountSID>&auth_token=<myAuthToken>

Вы получите ответ типа:

{
    "name": "My Caller ID Name",
    "number": "+16505550100",
    "price": 0.0039,
    "uri": "/v3/phone/+16505550100"
}
...