По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В сегодняшней статье подробно рассмотрим как настроить IVR(Interact Voice Responce) на IP - АТС Asterisk на примере новой версии FreePBX 13 Нужно отметить, что изменения, которые претерпел интерфейс настройки FreePBX с 12 версии, носят часто косметический характер. Интерфейс стал более симпатичным, современным, но в то же время удобным и интуитивным Если Вы хотите побольше узнать о принципах работы IVR и что это такое, предлагаем прочитать соответствующую статью в нашей базе знаний. Итак, перейдём непосредственно к настройке. В данном примере, как было сказано выше, будем пользоваться FreePBX 13 и Asterisk 13 версии Из основного меню необходимо перейти по следующему пути Applications -> IVR Перед нами откроется страница добавления нового голосового меню IVR, нажимаем Add IVR Открывается достаточно обширный список параметров, настраивая которые можно создать подходящее Вам голосовое меню. Кратко пробежимся по каждой опции: IVR Name –Название IVR: IVR Description – Описание данного IVR: Announcement – Самое первое голосовое сообщение, которое будет проиграно, когда звонящий попадет в данное голосовое меню. Сразу надо сказать, что это не те Announcement’ы, которые создаются во вкладке Application -> Announcement и которые можно применять, например для Time Conditions, нет. Эти записи доступны в Admin -> System Recordings: Enable Direct Dial – Данная опция, позволяет звонящему сразу набрать внутренний номер сотрудника и соединиться с ним, не дожидаясь конца голосовой записи : Timeout – Время, после которого звонок сбрасывается: Alert Info – Может использоваться для условного звонка с SIP устройства : Invalid Retries – Количество повторных попыток при получении недопустимых/неверных цифр от вызывающего абонента: Invalid Retry Recording –Сообщение, которое проигрывается при получении неправильных цифр от вызывающего абонента. Опять же, записи берутся из System recordings: Append Announcement to Invalid – Будет ли проигрываться самое первое голосовое сообщение после Invalid Retry Recording : Return on Invalid – Возвращает звонящего на “родительский” IVR, который предшествовал неправильно набранному номеру или отправляет по указанному пути: Invalid Recording – Запись, которая будет играть перед отправкой вызывающего абонента на альтернативное назначение если вызывающий абонент нажал 0 или исчерпал максимальное количество недопустимых/неверных попыток набора ( как определено в Invalid Retries ): Invalid Destination – Путь, по которому будет отправлен звонящий после того, как будет проиграно Invalid Recording: Timeout Retries – Количество повторных попыток при отсутствии DTMF: Timeout Retry Recording – Запись, проигрывающаяся, когда происходит тайм-аут перед запросом вызывающего абонента повторить попытку: Append Announcement on Timeout – Будет ли проигрываться самое первое голосовое сообщение после Timeout Retry Recording: Return on Timeout – Возвращает звонящего на “родительский” IVR, который предшествовал неправильно набранному номеру или отправляет по указанному пути после тайм-аута: Timeout Recording – Запись, которая будет играть перед отправкой вызывающего абонента на альтернативное назначение если вызывающий абонент нажал 0 или исчерпал максимальное количество недопустимых/неверных попыток набора ( как определено в Invalid Retries ): Timeout Destination – Путь, по которому будет отправлен звонящий после того, как будет проиграно Timeout Recording: Return to IVR after VM Return – При выходе из голосовой почты абонент будет возвращен к этому IVR : Digits – Цифры, которые отправляют абонента по выбранному пути: Destination – Путь, по которому абонент отправляется после нажатия цифр из Digits : Return – Возвращать ли звонящего на данный IVR:
img
В предыдущей статье мы рассмотрели, как можно использовать файлы для того, чтобы не засорять код Terraform. В данной статье мы посмотрим, как можно использовать динамические файлы (шаблоны) для написания кода Терраформ. Что такое динамический файл? В данном контексте это файл, в который мы посылаем всякие переменные и файл генерируется в зависимости от наших переменных. Когда в коде мы используем конструкцию user_data = file (), по сути мы делаем копировать-вставить из файла, который мы указываем в качестве аргумента функции. Теперь мы будем использовать другую функцию ее синтаксис немного отличается: user_data = templetfile(). Данная функция принимает два параметра. Первый параметр имя файла. Далее ставится знак , и затем фигурные скобки {}, в которых мы указываем переменные, которые мы хотим отправить в файл шаблона. Рекомендую для читаемости кода и удобства работы файл, в который будут отправляться переменные переименовывать в имя_файла.tpl. Обще принятое расширение для файла-шаблона. В итоге мы получаем генерированный файл с отправленными в него параметрами. Выглядит это следующем образом. Допустим мы хотим отправить в файл несколько переменных например: f_name = “Olya” , l_name = “Vasilkova”, names = [“Masha”, ”Vasya”, ”Rik”, ”Petya”, “Oleg”] Как видите мы засылаем переменные в файл, мы можем одну переменную или кучу целую отправить, не обязательно что данные переменные будут использоваться. Переменные разные, одиночные мы взяли 2 переменные и одну переменную где много значений. Можно сказать, что массив данных. В предыдущей статье мы создавали html страничку, мы продолжим ее создавать, только с использованием переменных. Берем скрипт из предыдущего урока и начинаем править. Переименовываем файл - cp user_data.sh user_data.sh.tpl. Следующим шагом правка непосредственно самого скрипта с использованием html разметке. Отправляем переменные в файл. Вместо переменных вставятся значение переменных. Далее мы вставляем цикл, чтобы пройтись по значениям переменной names. Получаем в цикле, что x будет равна каждому значению в переменной names. Обратите внимание, что конструкция %{ for x in names ~} и % { endfor~} печататься не будут! Печататься будет то, что находится в цикле Hello to ${x} from ${f_name}. Т.е вот этим скриптом мы генерируем user_data в коде терраформ. Следовательно, наш файл index.html будет с кучей строчек. Теперь нам необходимо, это все запустить. Переходим в командной строке в директорию Lesson-4. И проводим первичную инициализацию terraform init. Результатом успешной инициализации будет следующий вывод команды на экран. Далее даем команду на проверку кода терраформ в том числе убедится, что не создастся ничего лишнего. terraform apply, подтверждаем выполнение команды словом yes. А далее мы можем видеть, как система начинает создание ресурсов. После исполнения мы можем в консоли AWS увидеть созданный ресурс. Обратите внимание, что при создании ресурса user_data шифруется. Это хорошо видно в момент вывода terraform apply. Когда инстанс в консоли AWS запустился, мы можем посмотреть, что у нас содержится в user_data. Для этого необходимо по instance щелкнуть правой кнопкой мыши и вызвать меню. В данном меню выбираем user_data. Появляется следующее окно. Как мы видим на картинке, часть нашего скрипта. Если прокрутить, то он будет там весь со всему принимаемыми значениями. Это функция будет достаточно полезна для контроля переменных, чтобы посмотреть какие данные попали в переменные. Следовательно, на выходе мы получаем в веб браузере следующего вида веб страничку. У нас получилось с помощью переменных и шаблона сгенерировать html файл, то есть наш файл динамичный. Далее уже дело техники подставить его в веб-сервер для отображения и запуска в инстансе AWS. Напоминаю, что IP адрес нашего сервера в AWS можно посмотреть в двух местах. А затем обратиться к веб странице по протоколу http с использованием данного IP адреса в любом браузере. Немного еще функционала - можно не поднимая инстанса посмотреть какие данные получим на выходе. Для этого используем функционал terraform console. Берем часть терраформ файла. Выравниваем в одну строку: templatefile("user_data.sh.tpl", { f_name = "Olya",l_name = "Vasilkova", names = ["Masha", "Vasya", "Rik", "Petya", "Oleg"] }) и вставляем. Как вы видите получаем те данные которые передаются на инстанс в AWS.
img
Пользователи Linux создают разделы для эффективной организации своих данных. Разделы Linux могут быть удалены так же просто, как и созданы, чтобы переформатировать устройство хранения и освободить место для хранения. Удалить раздел в Linux Для удаления раздела в Linux необходимо выбрать диск, содержащий раздел, и использовать утилиту командной строки fdisk для его удаления. Примечание. Утилита командной строки fdisk - это текстовый манипулятор таблицы разделов. Она используется для разделения и перераспределения устройств хранения. Шаг 1. Составьте список схемы разделов Перед удалением раздела выполните следующую команду, чтобы просмотреть схему разделов. fdisk -l В нашем случае терминал распечатывает информацию о двух дисках: /dev/sda и /dev/sdb. Диск /dev/sda содержит операционную систему, поэтому его разделы удалять не следует. На диске /dev/sdb есть раздел /dev/sdb1, который мы собираемся удалить. Примечание. Число 1 в /dev/sdb1 указывает номер раздела. Запишите номер раздела, который вы собираетесь удалить. Шаг 2: Выберите диск Выберите диск, содержащий раздел, который вы собираетесь удалить. Общие имена дисков в Linux включают: Тип диска Имена дисков Обычно используемые имена дисков IDE /dev/hd[a-h] /dev/hda, /dev/hdb SCSI /dev/sd[a-p] /dev/sda, /dev/sdb ESDI /dev/ed[a-d] /dev/eda XT /dev/xd[ab] /dev/xda Чтобы выбрать диск, выполните следующую команду: sudo fdisk /dev/sdb Шаг 3: удалить разделы Перед удалением раздела сделайте резервную копию своих данных. Все данные автоматически удаляются при удалении раздела. Чтобы удалить раздел, выполните команду d в утилите командной строки fdisk. Раздел выбирается автоматически, если на диске нет других разделов. Если диск содержит несколько разделов, выберите раздел, введя его номер. Терминал распечатает сообщение, подтверждающее, что раздел удален. Примечание. Если вы хотите удалить несколько разделов, повторите этот шаг столько раз, сколько необходимо. Шаг 4: проверьте удаление раздела Перезагрузите таблицу разделов, чтобы убедиться, что раздел был удален. Для этого запустите команду p. Терминал выведет структуру разделов диска, выбранного на шаге 2. Шаг 5. Сохраните изменения и выйдите Запустите команду w, чтобы записать и сохранить изменения, внесенные на диск.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59