6 Ноя
2012
Рубрика: Asterisk
Автор:    Комментариев нет

ENUM в IP телефонии

Как мы знаем, существует E.164 ITU-T, рекомендация, которая способна определить план нумерации для разных телефонных сетей. Обычно, номера по E.164 имеют не более 15 цифр и записываются вместе с префиксом «+». Помимо этого, их можно применять в DNS при помощи электронной нумерации, чтобы определить порядок вызова абонента с этим номером, что даёт небольшой простор в использовании сетей, рассчитанных на пакетную передачу данных и при традиционных сетях телефонии. Благодаря этому, к примеру, мы сможем сэкономить несколько рублей на звонках уже с сегодняшнего дня.

Итак, телефонным номерам можно сопоставить записи, используя зоны e164.arpa. Это поможет определить возможности по связи с обычным абонентским номером. Благодаря сопоставлению обычных телефонных номеров и зон e164.arpa, появляется очень хорошая возможность делегировать зону большего уровня, чтобы оператор, использующий соответствующий пул номеров, смог управлять ею. Возможность получить и пользоваться зоной в e164.arpa есть только у национального координатора, который заранее выбирается правительством. Ну а насколько мы знаем, у нас в стране данный бюрократический вопрос на данный момент не решён, а дата принятия решения пока неизвестна. Тут можно закрывать этот вопрос, если бы не альтернативные сервисы ENUM (к примеру, e164.org), зарегистрироваться в котором не составит никакого труда у абсолютно любого человека, тем самым, возможность зарегистрироваться есть у любого.

В зоне, которая соответствует номеру, содержаться NAPTR записи, способные в свою очередь определить возможности для вызова нужного абонента. Если вам необходимо, то можно найти нужные примеры для реализации данной функции. В таком случае, учитывая, что именно нужно передать абоненту, можно данные самыми разнообразными путями, например, переслать через E-Mail (в случае если вы планировали пересылку по факсу), или вызвать его голосом через SIP. А также существует возможность работать с http и некоторыми другими ресурсами, которые поддерживают те функции, которые вам нужны.

Ну и, в качестве заключения, ниже взгляните на пример работы, которая сделана в ENUM и Asterisk:
exten => _+7.,1,Noop(${EXTEN:1})
exten => _+7.,2,Set(peer=${ENUMLOOKUP(${EXTEN},sip,,1,e164.org)})
exten => _+7.,3,GotoIf($[«${peer}» != «»]?4:failed)
exten => _+7.,4,Dial(SIP/${peer})
exten => _+7.,5,Hangup
exten => _+7.,n(failed), …
Данная вводная статья поможет вам сделать быстрый и хороший старт.

Что вы думаете об этом?