Как описано в https://ru.wikipedia.org/wiki/ENUM
ENUM (или Enum, от E.164 NUmber Mapping) — набор протоколов для объединения системы нумерации телефонов E.164 с системой адресации интернет, а DNS при использовании косвенного метода поиска получает записи NAPTR. Записи хранятся в базе данных DNS. Логика создания такой базы вытекала из базовой (условной) стоимости звонков по протоколам VoIP стремящейся к нулю.
Функция поиска номера назначения при исходящем вызове на межгородские и международные соединения легко включала бы в себя запрос в единую базу номеров Enum, и, при наличии этого номера в базе, узел совершал бы вызов не по традиционным каналам PSTN, а напрямую к ресурсу, на котором зарегистрирован этот номер.
Понятно, что такой сценарий не очень устраивает традиционных консервативных операторов связи, которые по прежнему зарабатывают на услугах голосовой связи, игнорируя порой возможности новых технологий. Это облегчает вызов пользователя VoIP из IP сетей, но никак не из традиционных сетей.
По сути, ENUM также не является функцией VoIP, являясь лишь удобным дополнением. Диалектика развития нулевой стоимости вызовов для проекта Enum привела его к угасанию.
И только в последнее время появилось новое продолжение — ENUMER, та же самая функция идейно, но на новой технологической платформе — блокчейна Emercoin.
Зачем нужен ENUMER простому клиенту?
- Публикуясь в ENUMER, вы даёте возможность миру позвонить себе бесплатно. Это полезно для организаций, кто принимает звонки, в особенности — владельцы 800-х номеров: служба заказов билетов, магазины, заводы и тп.;
- Если у вас 800-ый (toll-free) номер — то это прямая экономия на расходах за принимаемые вызовы, которые оплачивает владелец номера;
- ENUMER сокращает время установления соединения с примерно 2х sec PSTN до 0.3s ENUMER;
- Повышенное качество сигнала и снижение задержек за счёт сокращения цепочки транскодинга;
- Повышенное качество сигнала за счёт возможности использовать HD codec;
- Возможность безопасного соединения за счёт SRTP/ZRTP;
- Обход ограничения на кол-во линий E1/T1;
Как использовать ?
exten => s,1,Set(ENUMER=${ENUMLOOKUP(${DIAL_NUMBER},sip,,1,enum.)})
exten => s,n,NoOp(ENUMLOOKUP is ${ENUMER})
exten => s,n,Dial(SIP/${ENUMER},30)
exten => s,n,Hangup()