По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
YAML (YAML – Ain’t Markup Language, что можно перевести как "YAML – это не язык разметки"") считается языком сериализации по типу XML и JSON. Он представляет собой расширенную версию JSON, которая используется, в основном, для файлов конфигурации. Вы можете сохранить YAML-файл с расширением .yaml или .yml. Это удобочитаемый файловый формат, состоящий из пар «ключ-значение» и делающий акцент на отступы и отбивку строк. YAML активно используется в файлах конфигурации многих хорошо известных инструментов/технологий, по типу docker-compose, Kubernetes, Ansible и т.д. Ниже приведено сравнение YAML с XML и JSON. Теперь давайте обсудим синтаксис, типы данных и особенности YAML-файлов. Пары «ключ-значение» Пара «ключ-значение» – это базовая составляющая YAML. Каждый элемент в YAML-документе является членом как минимум одного словаря. Ключами чаще всего являются строки, а значением могут быть данные любого типа: число, логическое значение, строка, пустое значение, массив и объект. name: John age: 25 city: LA Числа Числа – это одни из скаляров, которые могут использоваться в качестве значения YAML-файлов. Числа бывают десятичными, с плавающей запятой, экспоненциальными, восьмеричными и шестнадцатеричными. Если добавлять их без одинарных или двойных кавычек, то они обрабатываются как строки. decimal : 10 float : 2.5 exponential : 5.0e+12 infinity : .inf octal : 0o12 hexadecimal : 0xF Примечание: Будьте осторожны при представлении некоторых стандартных типов чисел (время, восьмеричные и шестнадцатеричные коды и т.д.). Они могут быть некорректно интерпретированы. Вот несколько примеров. time : 6:00 hexval: 0x12 octval: 0o25 В этом примере время преобразуется в минуты, поэтому 6:00 интерпретируется как 360. 0x12 обрабатывается как шестнадцатеричный код, поэтому оно переводится в десятеричное значение 18, а 0o25 интерпретируется в десятеричное значение 21. Так что если вы не собираетесь использовать их в таком виде, то добавляйте эти значения в кавычках. Примечание: Начиная со спецификации YAML 1.2, 0o представляет восьмеричные значения. В более ранних версиях для этих целей использовался 0. Логические значения Логические значения похожи на другие языки программирования/представления с двумя состояниями: true или false. Логическими значениями в YAML-файлах считаются не только стандартные true/false, но также yes/no и on/off (исключение: если они добавлены в кавычках). Примечание: Следите за тем, как вы используете значения yes/no и on/off. Если добавлять их не в одинарных кавычках, то они будут интерпретироваться как логические значения true/false. Комментарии Вы можете комментировать содержимое YAML-файла с помощью символа #. Пример ниже: # This a comment on the first. # And this a commented second line. Строки В YAML-файле вы можете прописывать строки без кавычек. Либо добавлять их в одинарные или двойные кавычки. Можно даже пользоваться всеми тремя способами. Если в строке содержатся специальные символы, которые нужно экранировать с помощью , то добавлять такую строку нужно в двойных кавычках. Пример: signature: "John Williams Sales Executive XYZ Company LA." Но при использовании любого из специальных символов ниже: :, {, }, [, ], ,, &, *, #, ?, |, -, , =, !, %, @, ` не нужно ничего экранировать. Воспользуйтесь одинарными кавычками – с ними строка будет интерпретироваться как нужно. Одиночная строка Если вы хотите разбить одну строку на несколько строчек, но синтаксический анализатор должен будет интерпретировать их как одиночную строку, то сделайте следующее: message: > this is a normal string which spans more than multiple lines but needs to be treated as a single line. Начните код с символа > , а затем впишите содержимое строки в виде блока с отступами. В конце проанализированного содержимого добавляется . Если вам не нужен символ новой строки, то воспользуйтесь символом >-. Многострочное значение При добавлении строки, которая разделяется на несколько строк и анализируется так же, как написана, воспользуйтесь схемой ниже. message: | this is a multi-line string which spans across multiple lines and needs to be treated as a multi-line string. | добавляет в конце проанализированного содержимого символ перехода на новую строку. Если вы не хотите видеть в конце проанализированного содержимого символ , то лучше воспользуйтесь |-. Нулевые значения Вы можете представить нулевое значение с помощью ~ или null. Такие значения добавляются без кавычек. foo: ~ bar: null Массивы В YAML значения можно представить в форме массивов/списков. Пример массива данных: teams: - name: Australia rank: 3 - name: New Zealand rank: 4 - name: England rank: 1 - name: India rank: 2 В примере выше представлен массив объектов с названием и рангом команды. Обязательно проверьте, что отбивка строк и отступы заданы единообразно. В противном случае, файл будет некорректным. Каждый элемент массива обозначается через дефис -. Все элементы должны находиться на одном уровне с одинаковыми отступами. Если вместо объектов в массиве используются примитивные элементы, то их можно представить следующим образом: teams: [ Australia, New Zealand, England, India ] Объекты Объекты в YAML представляются так: student: name: John age: 22 city: NY college: NYU gpa: 3.5 Все атрибуты внутри объекта должны находиться на одном уровне и с одинаковым отступом. Именно это условие указывает на принадлежность к одному объекту и гарантирует корректность YAML-документа. Заключение В данной статье вы познакомились с базовыми концепциями при работе с YAML-файлами. Разобравшись в них, вы поймете, как правильно прописывать файлы для своих собственных инструментов и технологий.
img
В данной статье будет рассмотрена настройка Voicemail (голосовой почты) на FreePBX 13. Для начала необходимо создать или выбрать уже имеющийся экстеншен (Applications – Extensions – Quick Create Extensions). Далее в настройках экстеншена во второй вкладке (Voicemail) необходимо активировать ящик голосовой почты После того как включили голосовую почту для экстеншена (Enabled - Yes) и выбрали пароль – необходимо нажать Submit и затем Apply Config. Следующий шаг – активация ящика. Самый простой способ – зарегистрировать экстеншен на телефонесофтфоне и набрать на телефоне *97. Затем, для дальнейшей настройки VM нужно пройти по следующему пути: Settings – Voicemail Admin. Там выбирается экстеншен и открываются следующие опции: Здесь так же можно поменять пароль на ящике, указать адрес электронной почты и выбрать опции (данные настройки так же доступны в поле редактирования экстеншена): Email Attachment – сообщения голосовой почты будут вложены в письме на указанный адрес Play CID – проигрывание номера человека, оставившего сообщение. Play Envelope – проигрывание даты получения сообщения Delete Voicemail – удаление голосовых сообщений с сервера. Если опция Email Attachment будет выключена при включенной функции удаления, то сообщения не будут получены вообще. Во второй вкладке можно увидеть статистику по ящику голосовой почты: Далее будет рассмотрена возможность поменять базовое приветствие на свой записанный аудио-ролик: Записанный ролик необходимо переименовать в unavail.wav и поместить по следующему пути /var/spool/asterisk/voicemail/default/@extension_number@ После этого в случае недоступности экстеншена вызов будет уходить на ящик голосовой почты, и предварительно будет проигрываться записанное сообщение. Так же можно сразу направлять вызов на ящик голосовой почты, если это необходимо для каких-то специфических целей – например, для организации отдельного номера для жалоб и предложений.
img
Мы продолжаем обзор бюджетных решений сегмента SOHO (Small office/home office). Если в Вашем офисе установлен роутер ZyXEL последних поколений, то Вы можете расширить его функционал и сделать из него базовую станцию по стандарту DECT, к которой можно будет подключить 6 телефонных трубок и вести до 4 одновременных разговоров. Интересно? Тогда в статье расскажем, как настроить данный DECT модуль для ZyXEL Keenetic и интегрировать с IP – АТС Asterisk. /p> Настройка Все очень просто – USB модуль для DECT подключается в соответствующий интерфейс роутера, после чего его необходимо перезагрузить. Далее в интерфейсе маршрутизатора появится опция настройки DECT – телефонии. Приступим к настройке. Открываем вкладку DECT – база: Производим настройки следующих параметров: Общие настройки Включить DECT – базу - отметить галочкой PIN-код регистрации трубок - пин - код, который пользователь будет вводить на трубке при регистрации. Ожидание начала работы - время ожидания набора номера. Например, абонент нажал кнопку звонка и не ввел номер в течение указанного в данном поле времени. По его истечению он услышит короткие гудки. Ожидание набора следующей цифры - при наборе номера, абоненту будет дано указанное в данном поле время на ввод одной цифры номера. Параметры SIP Имя агента пользователя - имя, которое будет подставляться в user agent в SIP сообщениях Локальный UDP-порт SIP - порт, на котором роутер будет слушать SIP запросы, отправленные UDP транспортом Локальный TCP-порт SIP - порт, на котором роутер будет слушать SIP запросы, отправленные TCP транспортом Локальный TLS-порт SIP - порт, на котором роутер будет слушать SIP запросы, отправленные TLS (шифрование) транспортом Диапазон портов RTP - UDP порты, на которых ZyXEL будет принимать/отправлять RTP потоки Сервер STUN - если Ваш сервер IP – АТС находится за NAT от DECT устройства, укажите здесь его внешний адрес. Если внутри, укажите просто IP – адрес Asterisk Приоритет кодеков - кодеки, которые будет использовать Keenetic. Проверьте, чтобы указанные здесь значения совпадали с кодеками на IP – АТС Asterisk. Создаем внутренний номер на IP – АТС Asterisk с помощью графического интерфейса FreePBX 13. Переходим во вкладку Applications → Extensions и нажимаем Quick Create Extension. Создаем 101 номер. С процессом создания внутреннего номера Вы можете более детально ознакомиться в статье по этой ссылке. После успешного добавления, переходим во вкладку Телефонные линии через интернет на роутере и нажимаем добавить линию: Включить линию - отметить галочкой Название линии, SIP ID, Отображаемое имя, Логин - указываем созданный номер. В нашем случае это 101 Пароль - значение из поля secret в FreePBX. Провайдер - выберите другой из пула доступных провайдеров телефонных услуг Сервер регистрации SIP, Домен SIP, Прокси - сервер SIP - укажите IP – адрес IP – АТС Asterisk. Важно: В новых версиях, по умолчанию, драйвер chan_sip функционирует на порту 5160. Если не указать порт, то DECT будет отправлять запросы на дефолтный порт 5060. Вы можете указать нужный IP:ПОРТ через двоеточие. Остальные параметры можно оставить без изменений. Сохраняем настройки и видим, что наша 101 линия подключена: Подключите трубку к DECT – базе с помощью пин – кода, который мы указывали в начале настройки. Далее, переходим в раздел DECT - трубки и для доступного производим настройки, через какую линию необходимо принимать и совершать звонки: Тем самым, в итоге, у нас получится следующая картина: Готово! Теперь можно принимать и совершать звонки:
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59