По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Ранее мы уже рассказывали про регулировку громкости в Asterisk. Этот метод рабочий, но весьма статичен. Поэтому в голову пришла интересная мысль.
Представьте, вы совершаете звонок. И, неожиданно, ваш собеседник начинает "кричать" в трубку. Пусть кричит – наши нервы прошли и не такое, но дело в том, что громкость звонка задана жёстко в кастомном диалплане. Поэтому, ощущения от крика буду особенно острыми :)
А теперь, вообразите, что у вас есть возможность сделать собеседника "тише" кнопками телефонного аппарата. А потом, когда он успокоится, сделать снова громче. Интересно? Поехали.
Подготовка
Откроем FreePBX. Открыв модуль сервисных кодов (feature codes), мы обнаружим, что в нем можно только изменить существующие коды, но добавить новые нельзя.
Решение указанной в начале статьи задачи будет базироваться на встроенных функциях Asterisk. То есть мы не будем добавлять кастомный контекст.
Настройка
Открываем файл /etc/asterisk/globals_custom.conf. Этот файл позволяет переписать или добавить глобальные переменные, используемые Asterisk (как стандартные, так и ваши личные).
Если данного файла нет, то его нужно создать. Например, вот так:
touch /etc/asterisk/globals_custom.conf
chown asterisk:asterisk /etc/asterisk/globals_custom.conf
chmod 775 /etc/asterisk/globals_custom.conf
В файл добавляем следующую конструкцию:
DYNAMIC_FEATURES=VUp#VDown#MUp#MDown
Vol=0
Mic=0
Мы задали специальные функции, которые понадобятся нам далее. Сейчас будем закреплять комбинации цифр за кодами. Для этого открываем файл etc/asterisk/features_applicationmap_custom.conf и запишем в него следующее:
VUp => 52*,self,Macro,VolumeUp
VDown => 58*,self,Macro,VolumeDown
MUp => 54*,self,Macro,MicUp
MDown => 56*,self,Macro,MicDown
Мы закрепили за кодами выполнение макроса громкости, который мы напишем далее. Не пугайтесь - "странные" комбинации выбраны по причине того, что их просто запомнить, так как на клавиатуре телефона, это так называемый "крест", наподобие джойстика ;)
Go ahead. Приступаем к самим макросам. Для этого открываем файл /etc/asterisk/extensions_custom.conf и добавляе:
[from-internal-custom]
Set(__DYNAMIC_FEATURES=VUp#VDown#MUp#MDown)
Таким образом, мы подключаем добавленные коды в диалплан Asterisk, который генерирует FreePBX.
Не спешите закрывать файл extensions_custom.conf. В него же добавляем механизм увеличения громкости. То есть, макросы о которых мы писали ранее:
[macro-VolumeUp]
exten => s,1,Set(Vol=$[${Vol}+5])
same => n,Set(VOLUME(TX)=${Vol})
[macro-VolumeDown]
exten => s,1,Set(Vol=$[${Vol}-5])
same => n,Set(VOLUME(TX)=${Vol})
[macro-MUp]
exten => s,1,Set(Mic=$[${Mic}+5])
same => n,Set(VOLUME(RX)=${Mic})
[macro-MDown]
exten => s,1,Set(Mic=$[${Mic}-5])
same => n,Set(VOLUME(RX)=${Mic})
Можно выдохнуть. На этом правки закончены. Как вы могли заметить, почему-то "громкостей" несколько. Все достаточно просто. Это 2 макроса на увеличение и уменьшение громкости канала звука и, соответственно, канала микрофона.
Что нам все эти коды дают (по сравнению с жестко прописанными числами)? В любой момент разговора, если вы плохо (тихо) слышите собеседника, нужно набрать на телефоне 52* и громкость увеличится, так можно делать несколько раз пока уровень громкости собеседника не станет приемлемым. Это работает и наоборот: 58* и собеседник становится "тише".
Удобно, правда? :) Из плюсов - не надо прерывать звонок. Нет жёсткого ограничения громкости. Если разговор затягивается на длительное время, можно выставить комфортную слышимость.
Ну а второй макрос, спросите вы? Представьте: что делать, если собеседник жалуется, что вас тихо слышно? Нет проблем. Набираем 54* и собеседник начинает нас лучше слышать, то есть, мы увеличиваем громкость канала нашего микрофона!
FHRP (Протокол резервирования первого перехода) - это группа протоколов способные обеспечить клиентов отказоустойчивым шлюзом.
Что за первый переход такой?. У нас есть коммутируемая среда (SW1) и есть Internet . Internet это маршрутизируемая среда . И для того чтобы перейти из коммутируемой среды , в маршрутизируемую среду для того чтобы выйти в интернет , как раз эти роутеры(R1,R2,VR - Virtual Router) обеспечивают данный переход и для того ,чтобы обеспечить отказоустойчивость этого перехода , его нужно резервировать . А потому и называется протоколы резервирования первого перехода.
И все протоколы группы FHRP будут работать в единой логике: R1 , R2 будут прикидываться VR и в случае отказа одного из маршрутизаторов, то его работу возьмет другой.
Forwarding Router ( FR ) - это роутер ,который данный момент активен и маршрутизирует трафик .
Standby Router ( SR ) - это роутер ,который стоит в резерве и ждет , когда накроется FR ,чтобы перехватите его работу на себя , в случае сбоя маршрутизатора.
FHRPs - это группа ,а значит пришло время познакомить вас с этими протоколами.
HSRP (Hot Standby Router Protocol) - Проприетарный протокол разработанный Cisco;
VRRP (Virtual Router Redundancy Protocol) - Свободный протокол ,сделан на основе HSRP;
GLBP (Gateway Load Balancing Protocol) - Проприетарный протоколCisco , обеспечивающий распределение нагрузки на несколько маршрутизаторов( шлюзов) используя 1 виртуальный адрес.
CARP( Common Address Redundancy Protocol) - свободный , разработан как часть OpenBSD , портирован во FreeBSD.
Итак начнём с HSRP
Протокол HSRP рассчитан на 2 роутера, 3 это уже лишний и с этим уже справиться протокол GLBP
Предположим ,что R1 это маршрутизатор выхода в интернет и для этого мы поднимем на нём Loopback 1 с адресом 200.200.200.200 и пропишем его в маршруте по умолчанию. Между маршрутизаторами будет настроен RIPv2 и будут анонсированы 2 классовые сети( network 10.0.0.0 и network 192.168.0.0) для простоты анонсирования маршрутов.
R2,R1 настраивается также. А теперь по порядку , настроим HSRP:
R1(config)# interface e 0/0 - переходим на интерфейс ethernet 0/0 (этот интерфейс смотрит в локальную сеть на коммутатор )
R1(config-if)# ip address 192.168.0.2 255.255.255.0 - задаем ip адрес для физического интерфейса
R1(config-if)# standby 1 ip 192.168.0.254 - задаем виртуальный ip адрес (который будет основным шлюзом для свитчей, смотрящих на конфигурируемый роутер). У обоих роутеров он одинаковый
R1(config-if)# stanby 1 priority 110 - устанавливаем приоритет данного роутера в 110 (по умолчанию приоритет 100)
R1(config-if)# standby 1 preempt - задаем режим приемтинга
R1(config-if)# standby 1 authentication md5 key-string MyPassword - задаем аутентификацию, если необходимо. Пароль будет передаваться с защитой алгоритмом хеширования md5, пароль будет MyPassword
R1(config-if)# standby 1 timers 100 255 - регулировка таймеров hsrp, где 100 - hello интервал в секундах (как часто посылаются пакеты hello пакеты keep-alive) и 255 - hold interval в секундах (через какой промежуток времени признавать соседа недоступным)
R1(config-if)# standby 1 preempt delay minimum 300 - настройка времени задержки (в секундах), через которое роутер будет становиться главным. Эта команда требуется для того,чтобы сначала отработали другие протоколы,прежде чем заработает HSRP . Пример: OSPF включенный на роутере в большой сети не успеет передать маршруты все ,а тут сразу заработает HSRP ,естественно он знать все маршруты не будет,а значить и стабильно гнать трафик тоже. Как раз время delay он будет использовать для того,чтобы дать OSPF передать все маршруты и после этого вкл HSRP.
Сам VPC должен получить следующие настройки: IP : 192.168.0.10/24 GW: 192.168.0.254
Главное ,чтобы клиент был в одной подсети и в качестве шлюза был виртуальный IP адрес.
TRACKING
Также полезно вешать TRACK на интерфейсы ,так как HSRP работает только в сторону ,куда направлен интерфейс ,то он не сможет отработать,когда упадут линки ,смотрящие на роутеры выше.(в данном случае это R3)
Router(config)# track 1 interface fa0/1 line-protocol - отслеживаем состояние интерфейса fa0/1, если он падает, то сработает объект отслеживания track 1.
Router(config-if)# standby 1 track 1 decrement 15 - если сработает объект отслеживания track 1, то текущий приоритет будет понижен на 15 единиц.
Router(config-if)# standby 1 track 1 fa0/1 20 - работает только в HSRP. Позволяет отслеживать интерфейс без дополнительного создания объекта отслеживания.
R1,R2,R0 будут настраиваться одинаково, принцип сохраняется.
А теперь нюансы HSRP
При работе нескольких VLAN , HSRP может идти трафик не совсем рационально из-за протокола STP. Представим ,что R1 это root primary за 10 VLAN, а R2 это ACTIVE router в HSRP . Это значит ,что любой трафик за этот VLAN будет идти следующим образом:VPC - R2 - R1 - R3 вместо того,чтобы идти напрямую VPC - R1 - R3. (L2 трафик всегда ходит через root во избежание петель)
Поэтому рекомендуют использовать HSRP version 2(по умолчанию вкл 1 максимум 255 процессов,а во 2 их 4095) и использовать наилучший приоритет для того роутера, который сейчас в сети root primary за текущий VLAN. И хорошей практикой будет если номер VLAN будет совпадать с номером процесса HSRP. ( № HSRP = VLAN )
3 Роутера в HSRP не имеет смысла держать,так как он всё равно будет в состоянии Listen и включиться только тогда,если active пропадет, standby займет его место , и только тогда он перейдет в состоянии standby.(речь идет о 3 роутере) Тоже самое будет касаться 4,5 ...n роутеров.
SLA
Бывает и другая ситуация ,когда не сам линк от R1 падает ,а устройство находящиеся за ним,к примеру SW2 упал link до R3. Проблему способен решить сервис SLA - Service Level Agreement.
Суть его проста,он ping сервис до провайдера и если он падает ,то отрабатывает track.
R1(config)# ip sla 1 - создаем зонд
R1(config-ip-sla)# icmp-echo 215.215.215.2 source-interface e0/2 - посылаем icmp echo ping на 215.215.215.2
R1(config-ip-sla-echo)# frequency 10 - посылаем icmp echo ping с частотой каждые 10 секунд
R1(config)# ip sla schedule 1 start-time now life forever - задаем расписание работы ip sla. В данном случае зон будет запущен прямо сейчас, при этом время окончания не задано (навсегда)
R1(config)# track 1 ip sla 1 reachability - устанавливаем объект отслеживания на доступность того хоста, на который посылаем icmp echo ping
R1(config)# ip route 0.0.0.0 0.0.0.0 2.2.2.2 track 1 - направляем трафик по этому маршруту если объект трекинга track 1 работает (хост пингуется)
R1(config)# ip route 0.0.0.0 0.0.0.0 3.3.3.3 10 - если не пингуется, направляем трафик в интернет по другому маршруту (Внимание! Здесь важно задать именно плохую метрику, например 10, иначе будут работать оба маршрута! (балансировка))
R1# show track 1 - показать состояние объекта отслеживания
VRRP
Настройка VRRP не сильно отличается от HSRP . Настраивается он также как и HSRP, только вместо standby используется vrrp. Router(config-if)# vrrp 1 ip 192.168.1.1 - включение vrrp. Проще пройтись по отличиям ,чем заново описывать все команды.
У VRRP тоже только 2 состояния Master и Backup(HSRP active и standby)
Preempt включен по умолчанию (HSRP он отключен)
При падении линка VRRP проводит выборы роутера(HSRP имеет запасной). Главного выбирают по IP адресу, когда проводят выборы.
Поддержка Аутентификации в VRRP отсутствует (RFC отсутствует),но в Cisco она реализована(HSRP по умолчанию)
VRRP по умолчанию hello таймер равен 1 секунде , dead таймер равен 3(у HSRP 3 и 10 соответственно)
Виртуальный адрес может совпадать с адресом интерфейса(HSRP такой адрес не даст прописать)
Использует Multicast HSRP равен 224.0.0.2 ( version 1) 224.0.0.102 (version 2) ,а VRRP 224.0.0.18
Может отслеживать только объекты , а HSRP и интерфейсы , и объекты.(смотри раздел tracking)
Диагностика
Router# show standby (vrrp or glbp) - показать общую информацию по протоколу группы FHRP
Router# show standby brief - показать информацию по протоколу группы FHRP в виде таблицы
Вокруг только и разговоров, что про нейросети. А что с ними делать? Давайте рассмотрим новые (старые) профессии, где можно использовать искусственный интеллект. К примеру, согласно
исследованию Stack Overflow
70% респондентов используют или планируют использовать инструменты искусственного интеллекта в процессе разработки. Те, кто учится программировать, чаще, чем профессиональные разработчики, используют инструменты искусственного интеллекта (82% против 70%).
Никто не знает будущего, но правда становится любопытно, сможет ли ИИ полностью заменить человека в некоторых профессиях. А пока предлагаем ознакомиться те области, в которых частично применяются нейросети.
AI-тренер
Что делает: такой специалист обучает искусственный интеллект создавать корректные, грамотные и логичные ответы.
Требования:
— Опыт работы с языковыми моделями, такими как OpenAI ChatGPT;
— Уровень английского языка С1-С2;
— Умение грамотно и понятно писать тексты на русском языке;
— Образование в областях лингвистики, филологии, литературного творчества, журналистики, коммуникаций или смежных областей.
Сколько зарабатывает: от 75 000 рублей.
«Яндекс» был одним из первых на российском рынке труда, кто открыл вакансии для AI-тренеров. Компания начала искать редакторов, филологов, журналистов, чтобы тренировать свою собственную нейросеть YandexGPT. Сейчас на хх.ру AI-тренеров ищут Сбер, МТС и «Яндекс».
Нейро/ИИ — иллюстратор
Что делает: генерирует с помощью искусственного интеллекта изображения для соцсетей, логотипы, макеты и другие элементы графического дизайна. Также нейросети могут помочь с улучшением изображения, например, удалить шумы или увеличить четкость и т.д.
Требования:
— Знание графических программ (Photoshop, Figma, Illustrator и прочие);
— Навык работы с нейросетями: необходимо составлять для них точные и корректные запросы, чтобы получить нужный результат;
— Насмотренность и чувство вкуса.
Сколько зарабатывает: зависит от уровня компетенций, средняя зарплата примерно равна зарплате дизайнера.
Промпт-инженер
Что делает: он управляет ИИ-системами, разрабатывает и настраивает большие языковые модели. Промт — это текстовый запрос для нейросети. Суть новой профессии заключается в том, чтобы анализировать задачи заказчика, составлять правильный промт для системы и получать результат с помощью нейросети. В задачи промт-инженера также входит: анализ данных и контекста, тестирование промтов, их оптимизация и обновление.
Требования:
— Знание языков программирования (Java, C++ и Python);
— Понимание моделей машинного обучения и нейронных сетей;
— Опыт работы с СhatGPT, Claude, GigaChat, YandexGPT и др. чат-ботами.
— Знание английского языка будет преимуществом
Сколько зарабатывает: это новая отрасль с большим потенциалом, и специалистов, как и вакансий в ней не так много. По данным вакансий в США в 2024 году средняя зарплата промт-инженера составляет $63 тыс. в год.
ИИ-копирайтер
Что делает: собственно, все тоже самое, что и обычный копирайтер, только с использованием искусственного интеллекта. Пока нейросеть не может составить структурированный лонгрид, но с небольшими текстами справляется легко. Условный ChatGPT не может полностью заменить людей, обладающих опытом написания экспертного контента, в котором есть креативность, сочувствие и личный опыт.
Требования:
— Навыки работы с текстом;
— Работа с нейросетью: генерировать запросы, проверять, редактировать тексты; фактчекинг;
— Знание основ маркетинга.
Сколько зарабатывает: заработная плата начинается от 40 000 руб.
Специалист по ИИ-этике
Что делает: решает сложные этические ситуации, которые возникают при использовании искусственного интеллекта. Он разрабатывает стандарты взаимодействия с ИИ, следит за сбором, использованием и безопасностью персональных данных, анализирует и оценивает новые алгоритмы на предмет ошибок или предвзятости, может принимать участие в судебном процессе в качестве эксперта по безопасному использованию нейросети.
Требования:
— Понимание технологии ИИ;
— Знание законодательства: международное право, IT-право, право на интеллектуальную собственность;
— Широкий кругозор в области этики, философии, психологии и социологии.
Сколько зарабатывает: предложений по работе пока немного, вакансии встречаются на англоязычных сайтах. Средняя зарплата в США
составляет
$153,500 в год.
AI Product Manager
Что делает: создает, управляет и развивает продукты, основанные на искусственном интеллекте. Такой специалист обладает знаниями на стыке продакт-менеджмента и хорошо ориентируется на ИИ-рынке.
Требования:
— Понимание технологий искусственного интеллекта;
— Опыт в продуктовом менеджменте;
— Аналитические навыки: умение оценивать данные, рынок и тренды в технической области;
— Софт-скиллс: коммуникативные навыки, проактивность, лидерские качества и тд.
Сколько зарабатывает: зарплаты начинаются от 150 000 руб., на американской рынке менеджеры ИИ-продуктов получают конкурентоспособную зарплату от 100 000 до 150 000 долларов в год.
Кроме новых профессий, связанных с искусственным интеллектом, его можно использовать в других рабочих задачах. Известны примеры, когда ChatGPT помогал студентам выполнять письменные работы или писал сценарий для нового сюжета. Разработчики с его помощью могут оптимизировать работу и писать участки кода в нейросети. Уверены, мы еще увидим новые направления на стыке искусственного интеллекта.