Страницы

понедельник, 2 января 2017 г.

Cisco SPA112 dial plan. План набора номеров для адаптера в домашних условиях

Замечательный прибор - телефонный голосовой VoIP-адаптер, позволяет организовать телефонные вызовы поверх сети Интернет, с использованием существующих обычных телефонных аппаратов. Т.с. вторая жизнь старого железа.


Итак, настройка плана вызовов адаптера Cisco SPA112, в домашних условиях, в городе Санкт-Петербурге.


Подключение к VoIP-провайдеру, выполняется в соответсвии с описанием на сайте провайдера. В моем случае это SIPNET.


Для удобства пользования телефоном людьми не знакомыми с VoIP, применяется имитация поведения обычного телефонного аппарата.


План набора номеров (Dial plan) находится в разделе Voice Line1 встроенного web-интерфейса адаптера Cisco SPA112.

Dial plan. План набора номеров



Имитация правил набора местного санкт-петербургского телефона, с некоторыми ограничениями для коротких номеров

План набора номеров записывается серией шаблонов совпадения разделённых символом | и заключенный в скобки ().


(шаблон|шаблон|шаблон|шаблон...)


Между набранными символами есть интервал 3 секунды. Т.н. Interdigit_Short_Timer. Он применяется, когда пользователский ввод уже попал в какой-либо шаблон.

Есть т.н. Interdigit_Long_Timer, 10 секунд, он применятся пока пользовательский ввод не попал в шаблон.


x - любая цифра

, - вторичный гудок

[xxxxxx] - цифры в квадратных скобках, ограничивают набранную пользователем цифру, на конкретном месте в номере. Т.е. можно набрать в этом месте только те цифры, которые заключены в квадратные скобки. Применяется для ограничения и следования ограничениям телефонных номеров.

<xxx:xxx> - символы замены-подмены-измены, при отсылке номера провайдеру.

# - символ окончания набора номера и начала отправки в SIPNET. Применяется чтобы не ждать интервал в конце набора номера

S - ожидание, в секундах. S0 - не ждать, а сразу отправлять номер в SIPNET.

L - ожидение, в секундах. Влияет на Interdigit_Long_Timer. Т.е. для задумчивых людей, можно увеличить интервал.

P - пауза, в секундах. P5 - ждать 5 секунд.

x. - указывает что элемент x может повторятся от 0 до любого число раз. В данном случае x - любая цифра.


Итак, для Санкт-Петербурга


Код страны РФ: 7

Код города Санкт-Петербурга: 812


Семизначный городской номер xxxxxxx

Междугородний номер 8 473 ххххххх

Мобильные номера через 8 либо в международном формате 7 xxx xxxxxxx

Международный номер 8 10 380 ххх ххххххх


Т.е. набрав семизначный городской номер, я должен отправить в sipnet последовательность +7812ххххххх, т.к. SIPNET принимает номера в международном универсальном формате.


Итак, простейшие пример для sipnet

я набираю только городской номер xxxxxxx или xxxxxxx#

и шаблон (усечённый план набора) будет выглядить так:


(<:7812> xxxxxxx )

Производится подстановка цифр 7812, перед каждым набранным пользователем номером xxxxxxx.

Усечённый план набора (<:7812> xxxxxxx ) сообщает, что только местные городские номера доступны.


Далее,


Я набираю только междугородний номер

8 xxx xxxxxxx или 8 xxx xxxxxxx#

заменяем набранную восьмёрку на 7

( <8:7> xxx xxxxxxx )

если я начинаю набирать номер с 7 то,

( 7 xxx xxxxxxx )

объединяем два правила с помощью символа |

( <8:7> xxx xxxxxxx | 7 xxx xxxxxxx )


Далее,


Я набираю только международный номер или номер в международном формате 810 xxx xxx xxxxxxx


( <810:> xxx xxx xxxxxxx )

Набранные цифры 810 отбрасываются, а то, что пользователь набрал (предполагается в верном формате) отправляется в SIPNET.


Такие шаблоны получаются, т.к. я не знаю ограничений на цифры в номерах, кодах городов и пр.


Теперь их можно объединить с помощью символа | в единый план.


( <:7812> xxxxxxx | <8:7> xxx xxxxxxx | 7 xxx xxxxxxx | <810:> xxx xxx xxxxxxx )

Это зачаток плана набора. Но он работает.



Улучшение шаблонов путем наложения ограничений.


Т.к. предполагаю, что городских номеров начинающихся с цифры 8 нет, исключены телефонными станциями, то шаблон для городского номера выглядит так, в первой итерации.


(<:7812> [12345679]xxxxxx )

или

(<:7812> [1-79]xxxxxx )

Теперь, чтобы система не ждала следующую цифру после набор 7 цифр, ставится символзадержки S0, где 0 - ноль секунд

и набор номера начнётся сразу.

(<:7812> [1-79]xxxxxxS0 )


Чтобы имитировать гудок телефонной станции после набора восьмёрки и восьмёрки и десятки, используется запятая.


( <:7812> [1-79]xxxxxxS0 | <8,:7> xxx xxxxxxx | 7 xxx xxxxxxx | <8,10:> xxx xxx xxxxxxx)



Теперь надо понять, как набирать SIP-номера (SIP ID).


Для набор SIP номера, нужен какой-то префикс в начале:


"В настоящее время у абонентов SIPNET могут быть как 7-значные, так и более длинные 10-значные SIP ID" - цитата из wiki SIPNET.


На сайте Sipnet[1] указан пример шаблона:


<0,:>xxx.

0, гудок, затем хотя бы 2 цифры SIP ID,

в конце нет S0, т.е. нет принудительного окончания набора после ввода определенного количества цифр, набор начнётся либо по таймауту либо по нажатию клавиши #

Итак, получим простейший рабочий план набора:

( <:7812> [1-79]xxxxxxS0 | <8:7> xxx xxxxxxx | 7 xxx xxxxxxx | <810:> xxx xxx xxxxxxx | <0,:>xxxxxxx. )


Короткие номера


Короткие (01,02,03,04) и бесплатные номера (8 800), провайдер SIPNET не позволяет набирать при вызовах в телефонные сети общего пользования (ТФоП).

Но адаптер позволяет набирать короткие номера, и путем подстановки передавать в SIPNET полные.

На сайте правительства СПб, есть номера служб. В том числе и полные:

http://gov.spb.ru/helper/phones/


Есть дежурный телефон региональной службы спасения: 380-91-19, так что можно его сконвертировать в шаблон и потом добавить в план набора.


(<112:78123809119>)


Для проверки работоспособности, чтобы не беспокоить зря службы, можно использовать шаблон с собственным мобильным номером.


Куда перенаправить службы 01,02,03,04 - это надо подумать.

Горячая линия с автонабором


"Горячая линия" (Hotline).

При поднятии трубки и ожидании некоторого времени, производится набор определённого номера.

70000000000 - набираемый номер, после 12 секунд поднятой трубки.

( P12 <:7000000000> )

Пока всё.
 
※※※

Ресурсы


※※※

1 комментарий:

Анонимный комментирует...

Отличная статья, спасибо огромное!