ENUM Interface
ENUM означає Electronic Numbering Mapping. За його допомогою можна перетворювати translate номери телефонів у форматі E.164 у формат, придатний для використання в інтернет-комунікаціях.
ENUM protocol
Фоновий процес перетворення номера у форматі MSISDN into ENUM полягає в тому, щоб:
- Видалити всі нецифрові символи.
- Додати крапки між кожною цифрою.
- Змінити порядок цифр на зворотний.
- Додати домен
e164.arpato the end.
Наприклад, MSISDN у форматі E.164 вводиться як
+123456789012.
Using ENUM, it would translate to:
2.1.0.9.8.7.6.5.4.3.2.1.e164.arpa.
Authentication
Усі запити ENUM потребують автентифікації. Це необхідно, щоб ENUM міг визначити, який користувач робить запит, і повернути відповідні результати, а також з міркувань безпеки. Для цього API ENUM використовує для автентифікації IP-адресу та порт клієнта.
Під час впровадження BSG надасть свої IP-адреси для звернення до сервісу ENUM постачальника.
Крім IP-адреси та номера порту використовуються такі параметри:
| Parameter | Description |
|---|---|
| NAPTR | Тип використовуваного запису |
e164.arpa
| The domain |
Як підключитися
IP-адресу та номер порту нашого сервера ENUM Lookup наведено в таблиці нижче. Єдиний ідентифікатор, потрібний для підключення, — це IP-адреса, з якої ви підключаєтесь.
| Сервер ENUM для пошуку номерів | Host:Port |
|---|---|
| Primary MNP |
141.95.255.235:
5003
|
| Primary HLR |
141.95.255.235:
5001
|
| Test MNP |
141.95.255.235:
5004
|
| Test HLR |
141.95.255.235:
5002
|
Examples
MNP
Приклад запиту ENUM через сервер BSG MNP
Приклад запиту ENUM від сервера BSG MNP:
dig -p 5003 @141.95.255.235 X.X.3.2.9.6.1.3.6.0.8.3.e164 -t naptr
Тоді запит буде на запис NAPTR для
X.X.3.2.9.6.1.3.6.0.8.3.e164
Успішна відповідь на запит поверне запис NAPTR з MCC та MNC оператора або SPID у розділі Answer:
; <<>> DiG 9.18.1-1ubuntu1.2-Ubuntu <<>> -p 5003 @141.95.255.235 X.X.3.2.9.6.1.3.6.0.8.3.e164 -t naptr
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53336
;; flags: qr; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;X.X.3.2.9.6.1.3.6.0.8.3.e164. IN NAPTR
;; ANSWER SECTION:
X.X.3.2.9.6.1.3.6.0.8.3.e164. 300 IN NAPTR 100 10 "U" "E2U+pstn:tel" "!^(.*)$!<result:1;mcc:255;mnc:06;status:active>!" .
;; Query time: 23 msec
;; SERVER: 141.95.255.235#5003(141.95.23.137) (UDP)
;; WHEN: Thu Nov 10 14:42:11 EET 2022
;; MSG SIZE rcvd: 127
Наша SMS-платформа підтримує таку комбінацію полів відповіді:
- Поля «mcc» і «mnc», наприклад mcc=255;mnc=06.
- Поле «ported» містить статус переносу номера (логічне значення).
HLR
Приклад запиту ENUM через сервер BSG HLR
Приклад запиту ENUM від сервера BSG MNP:
dig -p 5001 @141.95.255.235 X.X.3.2.9.6.1.3.6.0.8.3.e164 -t naptr
Тоді запит буде на запис NAPTR для
X.X.3.2.9.6.1.3.6.0.8.3.e164
Приклад відповіді ENUM від сервера ENUM HLR постачальника
; <<>> DiG 9.18.1-1ubuntu1.2-Ubuntu <<>> -p 5001 @141.95.255.235 2.1.3.2.9.6.1.3.6.0.8.3.e164 -t naptr
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22152
;; flags: qr; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;X.X.3.2.9.6.1.3.6.0.8.3.e164. IN NAPTR
;; ANSWER SECTION:
X.X.3.2.9.6.1.3.6.0.8.3.e164. 300 IN NAPTR 100 10 "U" "E2U+pstn:tel" "!^(.*)$!<error:0;country_name:Ukraine;brand:lifecell;brand_name:lifecell LLC;msisdn:3806316923XX;network:25506;status:active>!" .
;; Query time: 256 msec
;; SERVER: 141.95.255.235#5001(141.95.255.235) (UDP)
;; WHEN: Tue Nov 10 14:42:21 EET 2022
;; MSG SIZE rcvd: 205
Код результату ENUM
Усі успішні запити мають код: result=1.
Усі запити з помилками мають код: error=1 та опис помилки.