Hex-editor
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Одной из распространенных проблем, с которыми сталкивается администратор IP – АТС Asterisk является проблема с аудио. Вы можете столкнуться как с односторонней слышимостью, так и с полным отсутствием аудио – потока. Как решить проблему с аудио в Asterisk с помощью FreePBX расскажем с статье.
Проблемы с NAT
В подавляющем большинстве случаев проблемы с односторонней слышимостью вызваны настройками NAT (Network Address Translation). Ниже указаны шаги, выполнение которых поможет вам избавиться от проблем с аудио
Динамический DNS
Если ваша компания не оплачивает провайдеру услугу статического IP – адреса, то ваш внешний IP будет периодически меняться. Причиной может быть перезагрузка маршрутизатора или, например, истечение срока аренды адреса по протоколу DHCP (DHCP Lease Time). Отличной альтернативной будет динамическая DNS запись. Данная запись позволяет серверу DNS периодически обновлять соответствующий доменному имени IP – адрес. Вне зависимости от смены IP вашим провайдером, маршрутизатор будет всегда доступен по его доменному имени. Такие услуги предоставляет такие сервисы как dyndns, no-ip, hldns и другие.
Настройка NAT в FreePBX 13
Когда вы приобрели статический IP – адрес или сделали динамическую запись на DNS сервере, переходим к настройке NAT. Перейдите во вкладку Settings -> Asterisk SIP settings -> Chan SIP Settings
На указанном выше примере, выбрана опция Static IP. Здесь, в выделенном красным поле необходимо указать ваш внешний IP – адрес. На примере ниже, указана опция настройки динамического DNS – выбрана кнопка Dynamic IP:
Локальные сети
Перейдя во вкладку General SIP Settings того же раздела, необходимо настроить внутренние сети. Например, 192.168.13.0/255.255.255.0. Это может быть отдельная сеть, в которой находятся IP – телефоны, или сеть, в которую вынесено все активное сетевое оборудование.
Не забывайте по окончанию настроек нажимать Submit и Apply Config
Настройка RTP портов
Проверьте чтобы на вашем маршрутизаторе не были заблокированы UDP порты 5060 (SIP) и диапазон портов 10000-20000 (RTP). Помимо этого, вы можете сделать проброс этих портов прямо на ваш сервер IP – АТС Asterisk. Перепроверьте, что транспортным протоколом является именно UDP.
Проблемы с настройкой кодеков
Каждый раз, когда вы совершаете вызов, обе стороны, инициирующая и принимающая вызов согласует телефонный кодек. Например, одна из сторон может инициировать согласование кодека g.711u, который может не поддерживаться другой стороной. Это может являться причиной отсутствия аудио в разговоре. Мы рекомендуем всегда включать поддержку кодеков G.711 u – закона и a – закона. Настроить телефонные кодеки можно следующими способами:
Настройка на конкретном телефонном аппарате
В настройка внутреннего номера (Extension) в FreePBX
Мы рекомендуем не настраивать кодеки индивидуально на телефонном аппарате. В случае возникновения каких – либо проблем, на этапе «траблшутинга» вы можете потратить лишнее время просто забыв о данной настройке
На этапе настройки SIP – транка в FreePBX. Разрешенные или запрещенные кодеки определяются опцией allow/disallow
Глобальная настройка. В разделе Settings -> Asterisk SIP Settings -> "General SIP Settings"
Проблема с воспроизведением аудио файлов
Если при звонке на голосовое меню (IVR) вы не слышите ожидаемую аудио – запись, проверьте, корректно ли был импортирован этот файл через модуль System Recordings. Помимо этого проверьте права этого файла. Владельцем этого файла (owner) должен быть пользователь asterisk. В рамках решения проблемы дайте команду amportal chown:
[root@localhost ~]# amportal chown
Please wait...
!!!!amportal is depreciated. Please use fwconsole!!!!
forwarding all commands to 'fwconsole'
Taking too long? Customize the chown command, See http://wiki.freepbx.org/display/FOP/FreePBX+Chown+Conf
Setting Permissions...
37034/37034 [============================] 100%
Finished setting permissions
Классический стандарт связующего дерева работает нормально, но в настоящее время для современных сетей он слишком медленный 🐌
В настоящее время мы наблюдаем в наших сетях все больше и больше маршрутизации. Протоколы маршрутизации, такие как OSPF и EIGRP, намного быстрее адаптируются к изменениям в сети, чем spanning-tree. Чтобы не отставать от скорости этих протоколов маршрутизации, была создана еще одна разновидность связующего дерева... (rapid spanning tree) быстрое связующее дерево.
Rapid spanning tree - это не революция spanning tree, а его эволюция. Некоторые вещи были изменены для того, что бы ускорить процесс, но с точки зрения конфигурации - это то же самое, что классический spanning tree . Я называю оригинальное spanning tree "классическим spanning tree".
Азы Rapid spanning tree
Помните состояние портов spanning tree? У нас есть блокирующее, прослушивающее, обучающее и пересылающее состояние порта. Это первое различие между spanning tree и rapid spanning tree. Rapid spanning tree имеет только три состояния портов:
Отбрасывание;
Обучение;
Пересылка.
Вы уже знакомы с состоянием порта в режиме обучения и пересылки, но отбрасывание - это новое состояние порта. В основном он объединяет в себе блокировку и прослушивание состояния порта.
Вот хороший обзор с различными состояниями портов для spanning tree и rapid spanning tree. В таблице отображено состояние портов: активны ли они и узнают ли они MAC-адреса или нет.
Помните ли вы все остальные роли портов, которые есть у spanning tree? Давайте сделаем небольшой обзор, и будет показано отличие от rapid spanning tree.
Коммутатор с лучшим ID моста (priority + MAC -адрес) становится корневым мостом. Другие коммутаторы (non-root) должны найти кратчайший путь стоимости к корневому мосту. Это корневой порт. Здесь нет ничего нового, все это работает аналогично и в rapid spanning tree.
На каждом сегменте может быть только один назначенный порт, иначе мы получим петлю. Порт станет назначенным портом, если он сможет отправить лучший BPDU. Коммутатор А, как корневой мост, всегда будет иметь лучшие порты, поэтому все интерфейсы будут назначены. Интерфейс fa0/16 на коммутаторе B будет назначенным портом в моем примере, потому что он имеет лучший идентификатор моста, чем коммутатор C. Здесь все еще нет ничего нового по сравнению с классическим связующим деревом.
Коммутатор C получает лучшие BPDU на своем интерфейсе fa0/16 от коммутатора B, и таким образом он будет заблокирован. Это альтернативный порт, и это все еще то же самое, что и для rapid spanning tree.
Вот вам новый порт, взгляните на интерфейс fa0/17 коммутатора B. Он называется резервным портом и является новым для rapid spanning tree. Однако вы вряд ли увидите этот порт в производственной сети. Между коммутатором B и коммутатором C был добавлен хаб. Обычно (без промежуточного концентратора) оба fa0/16 и fa0/17 будут назначены портами. Из-за хаба интерфейсы fa0/16 и fa0/17 коммутатора B теперь находятся в одном домене коллизий. Fa0/16 будет выбран в качестве назначенного порта, а fa0/17 станет резервным портом для интерфейса fa0/16. Причина, по которой коммутатор B видит интерфейс fa0/17 в качестве резервного порта, заключается в том, что он получает свои собственные BPDU на интерфейсах fa0/16 и fa0/17 и понимает, что у него есть два соединения с одним и тем же сегментом. Если вы удалите хаб, то fa0/16 и fa0/17 будут назначены портами точно так же, как classic spanning tree.
BPDU отличается для rapid spanning tree. В classic spanning tree поле flags использовало только два бита:
Topology change.;
Topology change acknowledgment.;
Теперь используются все биты поля flags. Роль порта, который создает BPDU, будет добавлена с помощью поля port role, оно имеет следующие параметры:
Unknown;
Alternate / Backup port;
Root port;
Designated port.
Эта BPDU называется BPDUv2. Коммутаторы, работающие со старой версией spanning tree, проигнорируют эту новую версию BPDU. Если вам интересно ... rapid spanning tree и старое spanning tree совместимы! Rapid spanning tree способно работать с коммутаторами, работающими под управлением более старой версии spanning tree.
Что поменялось
BPDU теперь отправляются каждый hello time. Только корневой мост генерирует BPDU в classic spanning tree, и они ретранслировались non-root, если они получали его на свой корневой порт. Rapid spanning tree работает по-разному...все коммутаторы генерируют BPDU каждые две секунды (hello time). Это hello timeпо умолчанию, но вы можете его изменить.
classic spanning tree использует максимального время жизни (20 секунд) для BPDU, прежде чем они будут отброшены. Rapid spanning работает по-другому! BPDU теперь используются в качестве механизма поддержания активности, аналогичного тому, что используют протоколы маршрутизации, такие как OSPF или EIGRP. Если коммутатор пропускает три BPDU от соседнего коммутатора, он будет считать, что подключение к этому коммутатору было потеряно, и он немедленно удалит все MAC-адреса.
Rapid spanning tree будет принимать низшие BPDU. Classic spanning tree игнорирует их. Скорость перехода (время сходимости) является наиболее важной характеристикой rapid spanning tree. Classic spanning tree должно было пройти через состояние прослушивания и обучения, прежде чем оно переведет интерфейс в forwarding состояние, это занимает 30 секунд (таймер по умолчанию). Classic spanning было основано на таймерах.
Rapid spanning не использует таймеры, чтобы решить, может ли интерфейс перейти в forwarding состояние или нет. Для этого он будет использовать переговорный (negotiation) механизм. Чуть позже я покажу вам, как это работает.
Помните ли вы понятие portfast? Если мы включим portfast во время запуска classic spanning tree, оно пропустит состояние прослушивания и обучения и сразу же переведет интерфейс в forwarding состояние. Помимо перевода интерфейса в forwarding состояние, он также не будет генерировать изменения топологии, когда интерфейс переходит в состояние UP или DOWN. Мы все еще используем portfast для rapid spanning tree, но теперь он называется пограничным портом (edge port).
Rapid spanning tree может только очень быстро переводить интерфейсы в forwarding состояние на edge ports (portfast) или интерфейсы типа point-to-point. Он будет смотреть на link type, и есть только два ink types:
Point-to-point (full duplex);
Shared (half duplex).
Обычно мы используем коммутаторы, и все наши интерфейсы настроены как full duplex, rapid spanning tree видит эти интерфейсы как point-to-point. Если мы введем концентратор в нашу сеть, то у нас будет half duplex, который рассматривается как shared interface к rapid spanning-tree.
Позвольте мне описать механизм быстрой синхронизации spanning tree, используя рисунок выше. Коммутатор А сверху - это корневой мост. Коммутатор B, C и D- некорневые мосты (non-root).
Как только появится связь между коммутатором А и коммутатором B, их интерфейсы будут находиться в режиме блокировки. Коммутатор B получит BPDU от коммутатора A, и теперь будет происходить согласование, называемое синхронизацией.
После того, как коммутатор B получил BPDU от корневого моста, он немедленно блокирует все свои порты, не обозначенные в списке non-edge. Non-edge порты - это интерфейсы для подключения к другим коммутаторам, пока edge порты- интерфейсы, настроены как portfast. Как только коммутатор B блокирует свои non-edge порты, связь между коммутатором A и коммутатором B переходит в forwarding состояние.
Коммутатор B также выполнит операцию синхронизации как с коммутатором C, так и с коммутатором D, чтобы они могли быстро перейти в forwarding состояние.
Главное, что следует усвоить здесь, заключается в том, что rapid spanning tree использует этот механизм синхронизации вместо механизма "таймера", который использует classic spanning tree (прослушивание → обучение → forwarding).
Давайте увеличим масштаб механизма синхронизации rapid spanning tree, подробно рассмотрев коммутатор A и коммутатор B. Сначала интерфейсы будут заблокированы до тех пор, пока они не получат BPDU друг от друга. В этот момент коммутатор B поймет, что коммутатор A является корневым мостом, потому что он имеет лучшую информацию BPDU. Механизм синхронизации начнется, потому что коммутатор А установит proposal bit в поле flag BPDU.
Коммутатор B получает предложение от коммутатора A и понимает, что он должен что-то сделать. Он заблокирует все свои non-edge интерфейсы и запустит синхронизацию в направлении коммутатора C и коммутатора D.
Как только коммутатор B перевед свои интерфейсы в режим синхронизации, это позволит коммутатору А узнать об этом, отправив соответствующее соглашение.
Это соглашение является копией proposal BPDU, где proposal bit, был switched off, а agreement bit - switched on. Интерфейс fa0/14 на коммутаторе B теперь перейдет в режим forwarding.
Как только коммутатор A получит соглашение от коммутатора B, он немедленно переведет свой интерфейс fa0/14 в режим пересылки. А как насчет интерфейса fa0 / 16 и fa0 / 19 на коммутаторе B?
Точно такой же механизм синхронизации будет иметь место и сейчас на этих интерфейсах. Коммутатор B направит предложение по своим интерфейсам fa0/16 и fa0/19 в сторону коммутатора C и коммутатора D.
Коммутатор C и коммутатор D не имеют никаких других интерфейсов, поэтому они отправят соглашение обратно на коммутатор B.
Коммутатор B переведет свои интерфейсы fa0/16 и fa0/19 в режим forwarding, и на этом мы закончим. Этот механизм синхронизации - всего лишь пара сообщений, летающих туда-сюда, и очень быстро, это намного быстрее, чем механизм на основе таймера classic spanning tree!
Что еще нового в rapid spanning tree?
Есть еще три вещи:
UplinkFast;
Механизм изменения топологии;
Совместимость с классическим связующим деревом.
Когда вы настраиваете classic spanning tree, вы должны включить UplinkFast самостоятельно. Rapid spanning tree использует UpLinkFast по умолчанию, вам не нужно настраивать его самостоятельно. Когда коммутатор теряет свой корневой порт, он немедленно переводит свой альтернативный порт в forwarding.
Разница заключается в том, что classic spanning tree нуждалось в multicast кадрах для обновления таблиц MAC-адресов всех коммутаторов.
Нам это больше не нужно, потому что механизм изменения топологии для rapid spanning tree отличается. Так что же изменилось в механизме изменения топологии?
С classic spanning tree сбой связи вызвал бы изменение топологии. При использовании rapid spanning tree сбой связи не влияет на изменение топологии. Только non-edge интерфейсы (ведущие к другим коммутаторам), которые переходят в forwarding состояние, рассматриваются как изменение топологии. Как только коммутатор обнаружит изменение топологии это произойдет:
Он начнет изменение топологии при значении таймера, которое в два раза превышает hello time. Это будет сделано для всех назначенных non-edge и корневых портов.;
Он будет очищать MAC-адреса, которые изучаются на этих портах.;
До тех пор, пока происходит изменение топологии, во время активности таймера, он будет устанавливать бит изменения топологии в BPDU, которые отправляются из этих портов. BPDU также будет отправлен из своего корневого порта.;
Когда соседний коммутатор получит этот BPDU с установленным битом изменения топологии, произойдет следующее:
Он очистит все свои MAC-адреса на всех интерфейсах, кроме того, на котором он получил BPDU с включенным изменением топологии.;
Он запустит изменение топологии во время самого таймера и отправит BPDU на все назначенные порты и корневой порт, установив бит изменения топологии.;
Вместо того, чтобы отправлять изменения топологии вплоть до корневого моста, как это делает classic spanning tree, изменение топологии теперь быстро распространяется по всей сети.
И последнее, но не менее важное, давайте поговорим о совместимости. Rapid spanning tree и classic spanning tree совместимы. Однако, когда коммутатор, на котором работает Rapid spanning tree, связывается с коммутатором, на котором работает classic spanning tree, все функции скоростной передачи данных не будут работать!
В приведенном выше примере у меня есть три коммутатора. Между коммутатором A и коммутатором B мы запустим rapid spanning tree. Между коммутатором B и коммутатором C мы вернемся к classic spanning tree.
Совсем недавно команда OpenAI
представила
GPT-4o, усовершенствованную версию своей флагманской модели. И это не все новости от компании: ожидается, что GPT-5 появится уже этим летом. OpenAI продемонстрировала эту модель избранным инсайдерам, и отзывы были очень положительными. На данный момент GPT-5 проходит обучение и тестирование. Вслед за OpenAI Google выпустила несколько новых и усовершенствованных моделей ИИ: например, Gemini 1.5. Новая нейросеть может обрабатывать данные практически молниеносно и без задержек, что открывает широкие возможности для анализа и обработки больших объемов данных?. В этой гонке не отстает Microsoft — компания собирается
запустить
в продажу первый в мире компьютер с ИИ. У каждого ПК будет персонализированный ассистент, доступный через специальную клавишу.
Масштаб распространения нейронных сетей может привлекать и пугать одновременно. Соответственно для такого стремительного темпа нужны отдельные специалисты, которые будут обучать AI. Предлагаем вам познакомиться с новой и уже очень востребованной профессией — AI-тренер.
Кто такой AI-тренер
Такой специалист помогает обучать искусственный интеллект. Профессия считается относительно новой на рынке труда: она сформировалась в начале 2022 года, после того как компании, занимающиеся разработкой искусственного интеллекта, например OpenAI, выпустили продвинутые языковые модели. В России вакансия AI-тренер впервые появилась в конце 2022 года, когда «Яндекс» начал активно набирать специалистов для работы над собственными проектами в области искусственного интеллекта. С тех пор спрос на AI-тренеров продолжает расти, и эта профессия открывает новые возможности для специалистов, работающих с текстами и данными.
Ключевые навыки для AI-тренера
К профессиональным навыкам (хард скилз) относятся:
Навыки письма. Здесь все просто — AI-тренеру важно грамотно уметь писать и редактировать тексты, знать русский язык, включая орфографию, пунктуацию, стилистику и логично структурировать материал. Большим плюсом является опыт работы в качестве журналиста, редактора, копирайтера, контент-менеджера, переводчика, преподавателя или в любой другой сфере, связанной с написанием текстов.
Фактчекинг. AI-тренер должен уметь проверять достоверность информации, отличать факты от выдумок и оценивать надежность источников.
Быстрое освоение новых тем. В своей работе такой специалист сталкивается с запросами из разных областей, поэтому ему необходимо быстро разбираться в новых тематиках.
Обоснование своих решений. В ситуациях, когда идеального ответа нет, AI-тренер должен уметь аргументировать свой выбор, чтобы его решение было понятно аналитикам.
Понимание работы нейросетей. Для AI-тренера не будет лишним на базовом уровне разбираться в IT и знать об устройстве современных нейросетей.
Гибкие навыки или софт скилз:
Аналитическое мышление. Здесь можно выделить способность анализировать данные, понимать сложные системы и выявлять закономерности.
Терпение и внимание к деталям. Необходимость в тщательной проверке и корректировке данных требует терпения и внимания к мелочам.
Командная работа. Важный навык для любого специалиста — способность эффективно работать в команде, взаимодействуя с разработчиками, инженерами данных и другими участниками проекта.
Критическое мышление. Способность критически оценивать информацию, идеи и подходы, в том числе собственные, для повышения качества обучения AI.
Как обучали GPT-4
Ради интереса мы обратились к чату GPT-4 и спросили, как проходило его обучение. И вот какой результат мы получили. Обучение таких моделей включает несколько этапов:
1. Сбор и обработка данных
Первый шаг — это сбор огромного количества текстовых данных из различных источников. Например, из книг, статей, веб-сайтов и форумов. Эти данные используются для предварительного обучения модели. Перед тем как использовать эти данные, они проходят этап очистки и обработки. Это включает удаление дубликатов, исправление ошибок, приведение текста в адекватный формат и чистку ненужной информации.
2. Предварительное обучение (Pre-training)
Нейросеть обучается на собранных данных с использованием задачи предсказания следующего слова в предложении. Этот процесс позволяет модели понять структуру языка, грамматику, контекст и множество различных тем. Обучение повторяется миллионы раз с различными фрагментами текста, чтобы постепенно улучшать предсказания.
3. Файн-тюнинг (Fine-tuning) или процесс дополнительного обучения
После предварительного обучения нейронка проходит дополнительное обучение на специализированных данных. Это нужно для того, чтобы улучшить её производительность в конкретных задачах. Весь процесс можно разделить на несколько этапов:
3.1. Для дополнительного обучения создаются специальные наборы данных, которые соответствуют целям использования языковой модели. Например, если нейросеть должна отвечать на вопросы, собираются вопросы и корректные ответы.
3.2. Работа AI-тренеров: на этом этапе они вручную ранжируют, отмечают и корректируют ответы модели, чтобы создать самые точные примеры правильных ответов. После ИИ-тренеры пишут подробные инструкции, объясняя нейросети, как отвечать на различные типы вопросов. Далее они оценивают ответы и вносят корректировки, чтобы улучшить их точность и качество.
3.3. Использование обратной связи (Reinforcement Learning from Human Feedback, RLHF). Нейросеть может дополнительно обучаться на основе обратной связи от людей, чтобы лучше соответствовать ожиданиям и требованиям пользователей.
4. Тестирование и валидация
Перед выпуском в мир модель проходит обширное тестирование и валидацию. На этом этапе может использоваться как автоматическое тестирование, так и тестирование с участием людей. Реальные пользователи оценивают удобство и полезность ответов нейросети.
5. Непрерывное обучение
После запуска нейросети в эксплуатацию процесс обучения продолжается. Постоянный сбор новых данных и обратной связи от пользователей помогает улучшать модель и адаптироваться ее к новым условиям.
Где еще могут работать AI-тренеры
В первую очередь ИИ-тренеры востребованы в компаниях, которые занимаются разработкой и внедрением нейросетей. Если взять во внимание иностранные компании, там потребность распространяется далеко за пределы IT-отрасли. Такие специалисты нужны в образовательных институтах для преподавания курсов по машинному обучению, в финансовом секторе и сфере электронной коммерции. К примеру, Amazon и eBay привлекают AI-тренеров для совершенствования систем поиска и рекомендаций.
Что происходит на российском рынке труда
Несмотря на то, что профессия совсем новая, на Хэдхантере уже появляются вакансии с достойной оплатой. По запросу «AI-тренер (обучение искусственного интеллекта)» на май 2024 года в поисковике можно найти около 80 вакансий. В основном это крупные компании, которые внедряют ИИ в собственные IT-отделы. Устроиться AI-тренером можно в МТС, «Яндекс», «Тинькофф» или «Сбер».
«Яндекс» предлагает заработную плату от 75 000 ? в месяц. При этом окончательная сумма зависит от количества часов. «Тинькофф» в своих вакансиях указывает в среднем 80 000 ? в месяц при оказании услуг от 20 часов в неделю. Руководитель AI-тренеров может рассчитывать на вознаграждение от 110 000 ? в месяц.
Перспективы профессии
Профессия ИИ-тренера обещает быть востребованной и значимой в ближайшие годы, учитывая рост и развитие технологий искусственного интеллекта. Как можно отметить, все больше компаний внедряют машинное обучение в свои процессы. Это создает высокий спрос на специалистов, которые могут работать с ИИ. А еще новые методы и технологии делают работу AI-тренера интересной и динамичной.
