По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Зачастую можно столкнуться с задачами, когда необходимо обеспечить доступ к внутренним корпоративным (или домашним) ресурсам из Интернета. В этом случае, нужно выполнить, так называемый "проброс портов". Что это такое, зачем это нужно и как настраивать на примере роутера Mikrotik 951Ui-2HnD – расскажем в данной статье.
/p>
Как это работает?
Давайте представим себе следующую ситуацию – у нас есть корпоративная сеть, в которой пока ещё локально разворачивается сервер IP-телефонии на базе Asterisk, управляется он при помощи графической оболочки FreePBX. Задача состоит в том, чтобы предоставить возможность администратору сервера управлять им из Интернета.
Итак, имеем следующую схему:
Для начала остановимся на понятии “проброс порта”. Проброс порта – это функционал маршрутизаторов, поддерживающих NAT, который позволяет получить доступ к ресурсам локальной сети, из Интернета по средствам перенаправления трафика определенных портов с внешнего адреса маршрутизатора на внутренний адрес хоста в локальной сети.
Иными словами, мы должны настроить на роутере правило, в котором при поступлении TCP запроса на внешний адрес, в данном случае 35.135.235.15 и определенный порт, например 23535, открывался бы доступ к интерфейсу FreePBX, который в данным момент доступен только в локальной сети по адресу 192.168.1.100 и, соответственно на порту 80 (HTTP).
Настройка
Перейдём к настройке. Заходим на адрес нашего роутера Mikrotik 951Ui-2HnD, видим следующее окно:
Скачиваем приложение WinBox. Вводим учётные данные и подключаемся. По умолчанию логин - admin, пароль - пустой. Если у вас уже настроены логин и пароль, то укажите их.
Далее необходимо создать NAT – правило. Для этого переходим по следующему пути – на панели управления слева выбираем IP → Firewall → NAT
Открывается следующее окно:
Нажимаем на +, открывается страница добавления нового NAT- правила.
Задаём следующие параметры:
Chain → dstnat - направление запроса из внешней сети во внутреннюю.
Protocol → tcp, поскольку в нашем случае нужно предоставить доступ к HTTP страничке.
Dst.Port → 23535 - это тот самый порт назначения, на который будет отправлять запрос из вне на получение доступа к FreePBX.
In.Interface → all ethernet - входной интерфейс. Это интерфейс, которым роутер смотрит в Интернет и на котором он будет прослушивать указанный выше порт.
Должно получиться вот так:
На вкладках Advanced и Extra настраиваются расширенные опции, такие как лимит по битрейту, политика IPsec, время, в течение которого правило будет активно и так далее.
Переходим на вкладку Action и объясняем роутеру, какие действия он должен выполнить при поступлении запроса на указанный порт. Выбираем Action → netmap, то есть трансляция с одного адреса на другой. To Addresses → 192.168.1.100, то есть адрес нашёго FreePBX. И последнее - To Ports → 80, то есть запрос на HTTP порт.
Должно получиться так:
Далее нажимаем OK и правило готово. Теперь если вбить в адресной строке браузера сокет 35.135.235.15:23535 то мы попадем на страницу авторизации FreePBX.
Для пользователей, которые обладают премиальной лицензии на Cisco Unified Contact Center Express (UCCX), одной из самых крутых фич является наличие возможной интеграции и отправки запросов в базу данных. Сами запросы могут строиться на базе введенной звонящим информации, его номера – чего угодно.
Безусловно важно сделать ¬¬изначальный дизайн скриптов правильным и учитывать нагрузку. Большие и тяжелые скрипты, которые имеют много «плеч» в БД (базу данных), значительно увеличивают нагрузку на ресурсы сервера. А если БД еще и удалена от сервера CCX и имеет место сетевая задержка, то может иметь место прямое воздействие на бизнес и лояльность звонящего вам клиента.
Обзор Cisco Unified CCX Script Editor
Для создания и управления IVR скриптами в UCCX используется специальный инструмент - Cisco Unified CCX Editor. Он позволяет визуально управлять некими блоками, которые отвечают за то, или иное действие. Выглядит эта палетта следующим образом:
Давайте рассмотрим раздел Database. Здесь мы видимо 4 пункта:
DB Get - сопоставление полученных данных из БД к переменным скрипта;
DB Read - подключение к серверу и запрос;
DB Release - закрываем подключение к БД;
DB Write - если нужно внести изменения в БД, используем Write метод;
На скриншоте выше видно, что каждый скрипт начинается с события Start и заканчивается событием End. Во время звонка, по ходу выполнения скрипта, мы можем запрашивать данные из БД сколько угодно раз. Каждый запрос имеет свой отдельный список шагов, которые указаны в списке из 4х пунктов выше.
Мы рекомендуем предварительно обкатать все SQL запросы, доступ системы и прочие рабочие факторы перед выгрузкой в продуктивную среду
Например, давайте посмотрим, что скрыто внутри блока DB Read:
Взглянем на поля, которые доступны для конфигурации:
DB Resource Name - метка запроса. Своего рода метка;
Data Source Name - источник данных (DSN), указанное в административной консоли UCCX (Cisco Unified CCX Administration Database);
Timeout (in sec) - пауза выполнения запроса. Этот интервал защитит вашу систему от, например, потери связи с БД. То есть, максимум 7 секунд ожидания. Кстати, если указано как 0, то запрос не будет ограничен по времени;
Теперь из вкладки General переходим во вкладку Field Selection:
Запрос - SQL – команда (запрос), который вы ходите выполнить. Например, SELECT fld1, fld2 from tbl where fld1 = $variable - выбираем два поля из таблицы, где одно из полей равно переменной, которую, мы ранее, присвоили в скрипте (DTMF от клиента, например);
Test (кнопка) - нажмите на эту кнопку, чтобы проверить синтаксис запроса и подключение к БД;
Number of rows returned - количество вернувшихся строк запроса, в случае, если была нажата кнопка Test;
Show all fields (select table/view) - показать все поля в таблице, к которой выполняется подключение;
Отлично, разобрались. Теперь давайте взглянем на блок DB Get:
DB Resource Name - лэйбл или имя для этого запроса;
Data Source Name - имя БД (настраивается на стороне Cisco Unified CCX Administration);
Refresh Database Schema (кнопка) - кнопка, которая отвечает за подтягивание данных БД и таблицы в CCX Editor;
Переходим во вкладку Field Selection:
Table/View - данное поле показывает имя таблицы из БД, которая выбрана во вкладке General, которую мы описывали выше;
Табличное поле:
Field Name - имя поля, в выбранной БД;
Data Type - типа данных (строка/число и так далее);
Local Variable - переменная скрипта, которая будет хранить соответствующее поле;
Add/Modify (кнопки) - кнопки, которые отвечают за модификацию полей (кроме типа данных, он read only);
Полученные данные можно использовать в скрипте, например, чтобы озвучивать клиенту (TTS) его данные по номеру телефона, или по введенным цифрам (номер заказа). Кстати, аналогичную фичу мы реализовали в связке Yandex.SpeechKit и Asterisk.
Йоу! Сегодня в статье мы рассмотрим настройку телефона Grandstream GXP1620 в связке с IP-АТС Asterisk. Сразу стоит уточнить что эта инструкция также подойдет для модели GXP1625 – она отличается только отсутствием PoE.
$dbName_ecom = "to-www_ecom";
$GoodID = "2537789144";
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
mysql_select_db($dbName_ecom) or die(mysql_error());
$query_ecom = "SELECT `model`, `itemimage1`, `price`, `discount`, `url`, `preview115`, `vendor`, `vendorCode` FROM `items` WHERE itemid = '$GoodID';";
$res_ecom=mysql_query($query_ecom) or die(mysql_error());
$row_ecom = mysql_fetch_array($res_ecom);
echo 'Кстати, купить '.$row_ecom['vendor'].' '.$row_ecom['vendorCode'].' можно в нашем магазине Merion Shop по ссылке ниже. С настройкой поможем 🔧
Купить '.$row_ecom['model'].''.number_format(intval($row_ecom['price']) * (1 - (intval($row_ecom['discount'])) / 100), 0, ',', ' ').' ₽';
$dbName = "to-www_02";
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
mysql_select_db($dbName) or die(mysql_error());
Пошаговое видео
Настройка
После подключения телефона к сети нам нужно определить какой IP-адрес он получил, чтобы мы смогли зайти на web-интерфейс для его настройки. Сделать это можно либо через на вашем роутере, либо через программы, сканирующие сети, либо проще всего – на самом телефоне. Для этого на экране нужно нажать на кнопку NextScr и откроется страница, на которой будет написан IP-адрес телефона.
Теперь вводим этот адрес в адресной строке нашего браузера и попадаем в меню авторизации. Для телефонов Grandstream GXP1620 / GXP1625 стандартный логин – admin и стандартный пароль – admin.
После ввода мы оказываемся на странице состояния учетных записей и видим, что пока наш аккаунт не активен. Сразу же можно поменять язык интерфейса можно в выпадающем меню в правом верхнем углу.
Если нам нужно поменять основные сетевые настройки аппарата (например, задать статический IP адрес), то это сделать можно в разделе Сеть – Стандартный. После внесения настроек необходимо перезагрузить телефон, нажав на кнопку Перезагрузка в правом верхнем углу. Там же при необходимости можно сделать сброс к заводским настройкам, нажав кнопку Factory Reset.
Теперь для настройки аккаунта нам нужно перейти во вкладку Учетные записи – Аккаунт 1 – Общее (либо Accounts – Account 1 – General Settings, если стоит английский язык).
Здесь заполняем следующие поля:
Аккаунт активен (Account Active) – Ставим «Да»
Имя аккаунта (Account Name) – Имя для создаваемого аккаунта
SIP сервер (SIP Server) – IP адрес нашей IP-АТС
Второй SIP сервер (Secondary SIP Server) – указываем если имеется резервный
Прокси сервер (Outbound Proxy) - IP адрес нашей IP-АТС
Backup Outbound Proxy - указываем если имеется резервный
SIP User ID – Указываем внутренний номер
Аутентификационный ID (Authenticate ID) – Идентификационное имя, указываем внутренний номер
Пароль (Authenticate Password) – Пароль внутреннего номера для регистрации на АТС
Имя (Name) – Отображаемое имя
Применяем настройки и телефон должен зарегистрироваться на нашей АТС. Проверить это можно зайдя во все то же меню состояния учетной записи. Наш аккаунт загорится зеленым, как и иконка трубки слева – и это значит, что регистраций прошла успешно!