Как использовать CNAM (имя вызывающего абонента) с RingOut?
Когда я установил Caller ID Name
и сделать RingOut через API-интерфейс RingCentral Java, получающий номер отображает только мой Main Number
, не мой Caller ID Name
, Как мне позвонить, чтобы показать CNAM?
2 ответа
Обзор и ограничения 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"
}
Полное раскрытие, я главный операционный директор 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 для текущего носителя и типа линии
Другой наш продукт, EveryAPI, предоставляет наиболее точные данные о типе линии (стационарный или мобильный) и текущем носителе, который будет включать перенесенные номера. Покрытие для этих точек данных является глобальным, и частота совпадений составляет почти 100%. Хотя numverify выглядит очень полезным, он предоставляет то, что известно как данные LERG для плана набора +1, насколько я могу судить. Это не будет точно отражать информацию о перевозчике для перенесенных телефонных номеров.