пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
Слишком длинный поисковый запрос.
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Мы продолжаем постигать основы важнейшего протокола, использующегося в IP телефонии и в сегодняшней статье рассмотрим основные сценарии установления соединения, а также работу основных компонентов протокола SIP. Протокол SIP имеет 3 стандартных сценария установления соединения, которые отличаются наличием и участием тех или и иных устройств. Пример №1 Установление соединения между User Agent’ами, когда в сети отсутствуют всякого рода серверы. Простейшим примером является сеанс связи, в котором принимают участие только два пользователя. Терминальное оконечное оборудование называется UA (User Agent), когда одновременно совмещает в себе функции UAС (User Agent Client) - клиента и UAS (User Agent Server) - сервера. В данном случае сценарий установления соединения будет выглядеть так: . Абонент A снимает телефонную трубку и набирает номер Абонента B, тем самым генерируя запрос INVITE , который содержит описание сеанса связи. Устройство абонента B отвечает сообщением 100 Trying , которое означает, что запрос находится в обработке. После обработки запроса устройство абонента B уведомляет его о входящем вызове, а в сторону абонента A отвечает сообщением 180 Ringing, что соответствует контролю посылки вызова. Абонент B снимает телефонную трубку, отвечая сообщением 200 OK, означающее успешную обработку запроса. Устройство абонента A прекращает прием контроля посылки вызова и посылает подтверждение ACK, означающее прием ответа на запрос INVITE. Между абонентами устанавливается разговорная фаза. Происходит передача голосового трафика по протоколу RTP (Real-Time Transfer Protocol). Важно отметить, что SIP не участвует в непосредственной передаче голоса, а лишь предоставляет условия и способы согласования открытия неких каналов обмена на основе других протоколов, в данном случае - RTP. Абонент A кладет телефонную трубку, тем самым инициируя завершение передачи голосового потока. Устройство абонента A генерирует запрос Bye, в сторону устройства абонента B. Устройство абонента B отвечает сообщением 200 OK, означающем успешную обработку запроса Bye. Терминальное оконечное оборудование абонентов A и B возвращается в исходное состояние. Однако, данный сценарий установления соединения является самым примитивным, можно даже сказать частным. Обычно в сети присутствует SIP прокси сервер, который принимает и обрабатывает запросы от пользователей и выполняет, соответствующие этим запросам, действия. Пример №2 Рассмотрим сценарий установления соединения между двумя пользователями. В данном случае задачу поиска и приглашения абонента выполняет Прокси сервер, вызывающему пользователю необходимо знать только постоянный номер вызываемого абонента. Отметим, что функции прокси сервера выполняет офисная телефонная станция Как видно из рисунка, процесс установления и разъединения соединения происходит аналогично первому сценарию, только в качестве посредника при передаче сообщений протокола SIP выступает SIP Proxy. Пример №3 Допустим, что в сети имеется множество пользователей, число которых постоянно пополняется. Они могут менять свое фактическое положение, ставить переадресацию (redirection) на другой номер, проводить конференц – звонки и др. Для предоставления подобных сервисов требуется наличие в сети соответствующих серверов, поддерживающих ту или иную функцию. Сервер регистрации (Registration Server) для аутентификации и авторизации пользователей. Сервер определения местоположения (Allocation Server) для определения реального местонахождения пользователей. Сервер переадресации (Redirect Server) для перенаправления звонков на другие номера, в случае если пользователь настроил данную функцию. Сервер регистрации это логический элемент и обычно его функции выполняет SIP Proxy, такие совмещенные сервера называют Registar. SIP Proxy может также выполнять функции серверов определения местоположения и переадресации, такое совмещение полезно в плане масштабируемости сети. Приведем пример, когда сеть содержит некий комбинированный SIP Proxy, который поддерживает все функции, описанные выше. Допустим, что новый, еще не зарегистрированный пользователь A,вызывает пользователя B, который уже прошел процедуру авторизации. Новый User Agent A посылает серверу сообщение REGISTER , которое инициирует процесс регистрации. Т.к User Agent A ещё не зарегистрирован, то сервер Registar отвечает сообщением 401 Unauthorized Тогда User Agent A посылает серверу сообщение REGISTER + login, содержащее логин и пароль. Сервер Registar отвечает сообщением 200 OK, на этом процесс регистрации закончен. Теперь пользователь А авторизован на сервере и может совершать звонки. User Agent A инициирует установление связи с пользователем B сообщением INVITE. На данном этапе включаются функции серверов определения местоположения и переадресации, сервер отвечает сообщением 302 Moved Temporarily, означающее, что вызываемый абонент временно сменил местоположение и содержащее его новые данные для установления соединения. User Agent A отвечает сообщением ACK, которое означает прием ответа от Redirect сервера на запрос INVITE. Далее User Agent A инициирует новое установление соединения напрямую к пользователю B, в соответствии с полученными данными. Как видно из рисунка дальнейший процесс соединения происходит аналогично сценарию 1. В следующей статье мы подробно рассмотрим основные модификации протокола SIP для взаимодействия с традиционными телефонными сетями, использующими сигнализацию ОКС-7.
img
Привычный и удобный интерфейс FreePBX удобен для обновления модулей Asterisk – к нему мы уже привыкли. Но не многие знают, как обновить модули через командную строку (консоль, CLI). Разберемся сначала, как обновить конкретный модуль, а затем, как обновить все модули сразу. Разберем обновление модуля framework. Для этого, через любой SSH клиент подключитесь к вашему Asterisk через CLI и зайдите под правами root Далее, вводим следующую команду: [root@localhost ~]# amportal a ma update framework После успешной установки, нам необходимо применить настройки. Как помните, в FreePBX есть красная кнопка «Apply Config». Ее аналог через CLI это следующая команда: [root@localhost ~]# amportal a r На этом модуль Framework обновлен. Давайте теперь рассмотрим процесс массового обновления всех модулей сразу. Для этого, введем следующую команду: [root@localhost ~]# amportal a ma upgradeall После ввода данной команды, Asterisk начнет обновление всех модулей, для которых доступен апгрейд. По окончанию обновления, аналогично применим конфигурацию командой: [root@localhost ~]# amportal a r
img
Каждое семейство операционных систем производит загрузку по-своему. Это связанно с различной архитектурой ядра операционной системы, разными инструкциями по работе с подключенными устройствами. В данной статье попробую разобрать загрузку популярной операционной системы на ядре Linux Ubuntu. Схематично процесс загрузки можно отобразить следующим образом. Загружаемся Итак, Нажимаем кнопку включения компьютера, и центральный процессор переходит на адрес BIOS. BIOS или UEFI, в более современных компьютерах, проводит систему проверок и выбирает носитель информации с которого будет производится загрузка операционной системы. На носителе находится MBR (Master Boot Record) или GPT (Guid Partition table) на новых компьютерах в которых находится загрузчик. А дальше уже в зависимости от настройки. Загрузчик может самостоятельно загружать операционную систему, а может передавать управление следующему загрузчику. Например, если Windows и Linux установлены на одном компьютере и находятся на разных разделах жесткого диска. В любом случае, если идет речь о Linux у нас есть первая стадия с небольшой частью кода, которая загружает у нас загрузчик. Загрузчик знает где лежит ядро операционной системы, загружает ядро, загружает initial run disk, там находятся необходимые файлы и модули для загрузки ядра. Далее уже ядро берет процесс управления на себя. Происходит инициализация устройств, конфигурирование процессов памяти и так далее. После всех этих процессов ядро запускает процесс init. Вернемся к вопросу загрузчиков, для каждой операционной системы разработан свой загрузчик, а иногда и несколько. NTLDR - Загрузчик операционной системы Windows, LILO - один из стандартных загрузчиков для Linux и BSD системы. GRUB - загрузчик операционной системы от проекта GNU. Нас интересуют последние два. Данные загрузчики работают в два этапа. На первом этапе у них крошечный код на MBR или GPT, который запускает исполнение кода второго этапа. Перейдем непосредственно к самой загрузке. Данное меню мы можем получить при загрузке если зажать клавишу Shift. Как видно на картинке в данном примере загрузчик GRUB версии 2.04. У нас есть несколько вариантов. Загрузка Ubuntu по умолчанию и вариант загрузки с расширенными опциями. В нашем случае расширенные опции не дают многого, а всего лишь позволяют начать загрузку в режиме восстановления recovery mode. Данная опция не является целью стати, и мы ее опустим. Вернемся к первому пункту загрузки. Выбираем, нажимаем "e" получаем следующую картину загрузки. На данной картинке можно увидеть, что корневой раздел монтируется по uuid, он будет корневым root и непосредственно сам id. ID раздела можно посмотреть после загрузки операционной системы командой blkid. Можно часть параметров отредактировать или большинство. Более подробно можно поискать в интернете. По нажатию F10 осуществляется продолжение загрузки операционной системы. После загрузки операционной системы, мы можем с помощью команды dmesg посмотреть, сообщения ядра, все что происходило с ядром. Нужно различать сообщения ядра и лог ядра. Который можно посмотреть cat /var/log/dmesg. Данный файл содержи информацию только о загрузке операционной системы. В данном файле содержится информация с самого начала загрузки операционной системы и до конца. Если событие происходит позднее, то в данном файле этой информации вы не найдете. Система инициализации ОС Есть такое понятие Init - это первый или родительский процесс, который запускает все последующие процессы. Это может быть проверка и монтирование файловых систем запуск служб и.т.д. Существует 3 варианта работы этого родительского процесса. Init в стиле SysV - родительский процесс инициализации системы на одном из заданных уровней запуска (runlevel); Т.е. есть несколько уровней загрузки (runlevel) обычно их 7 штук. Один из них - это обычный многопользовательский режим. Другие это выключение компьютера, перезагрузка, режим восстановления и т.д. Init в стиле systemd - родительский процесс инициализации системы в ускоренном режиме, за счёт параллельного запуска задач; Ускоренный режим достигается за счет использования процессора в частности Intel, который позволяет запускать процессы инициализации параллельно. К этому режиму есть еще куча софта библиотек, которые расширяют функционал. Init в стиле Upstart - родительский процесс инициализации системы на основе отслеживания событий; Данный режим используется на Ubuntu уже давным - давно, тут не только запускаются скрипты инициализации, но и запускаются скрипты отслеживания событий и реагирования на них. Т.е. это более гибкий процесс инициализации, например, если какая-то служба не запустилась или упала в процессе загрузки то, upstart умеет это отследить и запустить это повторно В операционной систему Ubuntu можно посмотреть дерево процессов использую команду pstree. В результате ее вывода мы можем увидеть, что родительским процессом являлся процесс systemd. Который запускал уже свои, какие-то дочерние процессы. Перейдем в корневую директорию boot. Здесь мы можем увидеть директорию загрузчика grub. Ядра линуксовые vmlinuz (ссылка на ядро) и до обновления старое ядро vmlinux.old (ссылка на старое ядро). Соответственно пара initrd* - файлы диска, эти файлы содержат диск, который грузится в оперативную память, данный диск содержит файлы необходимые самому ядру Linux для нормальной загрузки. Перейдя в директорию grub, мы можем найти конфигурационный файл grub.cfg и несколько вспомогательных, но не менее важных фалов. Соответственно мы можем внести изменения в данный файл на постоянной основе и соответственно данный код будет выполнятся при каждой загрузке операционной системы.
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59