Настройка Cisco SPA 8800 для FreePBX (Asterisk, Trixbox)

Настройка Cisco SPA8800 для FreePBX (Asterisk, Trixbox)

Настройка шлюза IP телефонии Cisco SPA8800

В этой статье рассмотрим процесс настройки голосового шлюза SPA8800 фирмы Cisco для работы совместно с FreePBX Distro 11 (Asterisk) и городскими линиями (ТФОП / PSTN). Стоит учесть — данная инструкция подходит и для аппаратов  Linksys SPA8800 — они идентичны.

Полную инструкцию «Configuring the Cisco SPA8800 IP Telephony Gateway in Asterisk* Environment»  можно скачать по ссылке: https://communities.cisco.com/docs/DOC-10647

Сейчас я кратко расскажу о этапах настройки указанного шлюза IP телефонии — основная информация будет представлена на скриншотах. Сначала — сетевые и базовые настройки. Сразу стоит отметить — данный вид устройств не предназначен для того, чтобы их выставляли в интернет! Доступ к  нему должен иметь ограниченный круг лиц (администраторы).

При наличии DHCP сервера в вашей сети, Cisco SPA8800 получит IP адрес автоматически (по умолчанию адрес устройства 192.168.0.1). Далее заходим по адресу http://ip_адрес_вашего_spa/admin/advanced логин по умолчанию — admin, пароль отсутствует.

Расширенное меню управления Cisco SPA8800

Далее переходим на вкладку Wan Status и устанавливаем необходимые настройки. В моем случае остается активированным параметр Connection Type — DHCP. Для сохранения внесенных изменений не забывайте их сохранить кнопкой «Submint All Changes».

Настройки сети Cisco SPA8800

Как было сказано ранее — безопасности данного устройства нужно уделить должное внимание. Поэтому переходим на вкладку Voice- System и задаем пароль администратора и пользователя.

Установка пароля VoIP шлюза

Процесс обновления Cisco SPA8800 рассмотрен в отдельной статье.

Настройка SIP

 Теперь переходим к настройке VoIP шлюза для взаимодействия с нашим Asterisk. Для этого переходим на вкладку: Voice — Line1.

В поле Proxy вводим адрес нашего сервера IP телефонии, Make Call Without Reg и Ans Call Without Reg устанавливаем в значение Yes.

Настройка SIP Cisco SPA8800

При этом необходимо указать корректный порт SIP (который используется/прописан на Asterisk).

Чтобы лучше понимать выполнены действия, ниже небольшое пояснение:

Proxy — адрес для регистрации линии FXO и осуществления исходящих и приёма входящих звонков на сервере PBX;
Outbound Proxy — необязательный параметр, адрес сервера для исходящих звонков, используется помимо основного Proxy для резервирования;
Register — для регистрации на сервере PBX;
Make Call Without Reg — для возможности исходящих звонков без регистрации на PBX;
Ans Call Without Reg — для возможности ответа на входящие звонки без регистрации на PBX;

После этого идем к блоку Subscriber Information, заполняем поля Display Name, User ID, Password так как мы их потом будем заполнять в астериске,  User ID — имя пользователя, Password — соответственно пароль, эта информация нужна чтобы шлюз мог зарегистрироваться на астериске. В моём случае логин — spa8k8line1, пароль Sw0rdfish.  Display Name — я заполнил как номер входящей линии, так проще будет отслеживать звонки в отчётах.

Настройка Cisco SPA для взаимодействия с Asterisk

Нажимаем кнопку Submit All Changes. Приступаем к настройке Asterisk, выбираем раздел Trunks (Транки). Добавляем транк Add Trunk.

Trunk Name — имя транка, то как вы его хотите видеть, не на что в общем-то особо не влияет .
Outbound CallerID — номер телефона который вы будете видеть в отчёте при исходящих звонках.
Dialed Number Manipulation Rules — сопоставление набранных номеров с шаблоном, можно не заполнять, но если заполнили номер который астериск пустит в транк не совпадающий с шаблоном набран не будет. prefix это то что откидывается из переданного номера в транк, prepend   — то что добавляется перед номером. т.е. если в транк астериск например передаёт 79181234567, а вам надо что бы шлюз набрал 891812345678 правило должно быть (8)+7|918XXXXXXX. Впринципе такое можно делать в разделе исходящая маршрутизация у астериска.
Trunk Name — Несмотря на то что поле называется имя транка, здесь необходим внести Имя пользователя, иначе SPA не сможет зарегистрироваться на астериске, а значит ничего работать не будет.
PEER Details — самая интересная часть, здесь прописываются основные настройки.

username=spa8k8line1	;Имя пользователя для порта, то что мы указывали в User ID на шлюзе
type=friend		;Позволяет и принимать и отправлять вызовы
secret=Sw0rdfish	;Пароль
qualify=yes		;Разрешает серверу определять доступность VoIP шлюза
port=5061		;SIP порт VoIP шлюза, параметр который указан шлюзе, на разных
			Line портах разные порты, будьте внимательны!
nat=never		;Обязательный параметр, Cisco с другими параметрами может не работать!
host=dynamic		;Для работы VoIP шлюз должен зарегистрироваться
dtmfmode=info		;Режим который мы выставили на SPA
context=from-pstn	;Контекст указывает обработчик входящих вызовов
canreinvite=no		;Запрещает передачу медиатрафика минуя астериск

 

Настройка Trunk Asterisk

Сохраняем настройки кнопкой Submit Changes и применяем их кнопкой Apply.

Переходим в раздел исходящей маршрутизации (Outbound Routes) и добавим направление через наш шлюз Add Route. Тут всё просто, достаточно указать имя маршрута и заполнить шаблоны, шаблоны заполняются аналогично транку, теже prepend и prefix значение которых я уже объяснил выше, только если в транке их можно не заполнять, тут их надо заполнять обязательно, по этим шаблонам Астериск ищет через какой же транк ему пустить вызов. В моём случае шаблоны заполнены так что бы номер уходил на транк в формате 79181234567 делаю я это для унификации, большинство VoIP провадйеров принимают номер именно в таком формате, мне проще на определённом транке потом вывернуть из 7918 в 8918 или не делать этого в зависимости от поставщика услуг.

Настройка FreePBX outobound routes

Настройка Asterisk практически завершена. Последняя действие — добавление маршрута для входящих звонков. Данные операции выполняются в разделе «Входящая маршрутизация» (Inbound Routes). В самом простом случае — достаточно будет указать DID (чтобы астериск знал куда направить входящий вызов). Этот же DID мы пропишем и на нашем VoIP шлюзе Cisco SPA8800. а так же указать назначение маршрута т.е. куда звонок уйдёт, можно выбирать почти всё, приветствия, внутренние номера, очереди, голосовую почту, IVR итп, указывается в поле Установить направление (Set Destination) в моём случае это будет внутренний номер 161, который я конечно заранее создал. Жмём SubmitApply. Настройки Asterisk закончены.

Asterisk DID Входящая маршрутизация

Inbound Routes - FreePBX

Далее переходим к настройке шлюза. Выполним конфигурирование Dial Plan, DTMF, а также настройки входящих — исходящих вызовов на Cisco SPA8800. Возвращаемся на вкладку VoiceLine1:

Сначала Audio Configuration, тут мы настраиваем используемый шлюзом кодеки и DTMF сигналы, кодеки я не изменял меня устраивают настройки по умолчанию, а вот DTMF сигналы надо будет выставить в INFO т.к. мы подобную настройку использовали в транке на Астериске.

DTMF Cisco SPA8800

Dial Plans здесь мы пропишем какие номер шлюз будет выпускать наружу, т.е. исходящий диал план и входящий, исходящий для удобства я разместил в первой строке, входящий в 8, вы можете использовать любую удобную вам, ниже можно будет выбрать какую строку для чего использовать.

Мой шаблон для исходящих выглядит так (2xxxxxxS0|89xxxxxxxxxS0|8xxxxxxxxxxS0|9xxxxxxS0|0[1-4]S0)  т.е. шлюз пропустит в городе номера типа 2123456, 89123456789, 81234567891, 9123456, ну и номера экстренных служб 01,02,03,04. Теперь более подробно о том как самому составить диал план.

* — любой символ, . — любое количество символов, x — цифры от 0 до 9, S0 — задержка 0 секунд, x-x — диапазон цифр от x до x, в моём примере 1-4 это цифры от 1 до 4.
Например *9S0 — означает, что при наборе любого символа и девятки набор происходит мгновенно без задержек. P6<:7777> — по истечении 6 секунд, если ничего не было набрано, происходит автоматический набор номера 7777. Перед посылкой цифр на сервер PBX или в PSTN, голосовой шлюз сверяет набранные на аппарате цифры с диалпланом и делает соответствующие корректировки с задержками или заменой цифр и т.д перед посылкой.

Шаблон для входящих звонков (<: 1234567@192.168.254.22>S0) в данном случае 1234567 это DID который мы указалаи на астериске, 192.168.254.22 — адрес астериска.

Настройка набора номера (dial-plan SPA8800)

Настройка взаимодействия с городской линией ТФОП (PSTN) будет рассмотрена в следующей статье.

Корректное определение коротких гудков (сигнал «занято»).