По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Многие слышали, но боялись "пощупать" страшного зверя по имени FreeSwitch (FS). Уверяю Вас, что страшного ничего нет. Правда придется перестроить свои мозги на его понимание. Он сильно отличается от Asterisk. И хотя FS такая же программная АТС как и Asterisk, но задачи у них разные. FS позиционируется как "провайдерская" АТС, а Asterisk офисный вариант. Несмотря на это, я его использую даже, как говорится, "для дома, для семьи", то есть дома на одноплатнике Orange PI Plus 2E. Так как на нем стоит Ubuntu 16, то описывать установку я буду для Ubuntu из исходников. Если кому-то нужно попроще, то может установить на Debian (разработчики именно его рекомендуют. Как поставить из пакетов можно почитать здесь https://freeswitch.org/confluence/display/FREESWITCH/Linux А для самых искушенных даже на Windows :) https://freeswitch.org/confluence/display/FREESWITCH/Windows Сначала необходимо выполнить обновление системы: apt-get update apt-get upgrade Установим зависимости: apt-get install autoconf automake devscripts gawk g++ git-core libjpeg-dev libncurses5-dev libtool make python-dev gawk pkg-config libtiff5-dev libperl-dev libgdbm-dev libdb-dev gettext libssl-dev libcurl4-openssl-dev libpcre3-dev libspeex-dev libspeexdsp-dev libsqlite3-dev libedit-dev libldns-dev libpq-dev libtool-bin libopus-dev libshout3-dev libmpg123-dev libmp3lame-dev libsndfile-dev libavresample-dev libswscale-dev libpng-dev libpng++-dev mpg123 После этого перезагружаемся: reboot Создаем папку и клонируем гит: cd /usr/src git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git cd /usr/src/freeswitch ./bootstrap.sh –j Подключаем необходимые модули: mcedit modules.conf + mod_rtmp + mod_directory + mod_callcenter + mod_dingaling + mod_shout + mod_cidlookup + mod_curl + mod_xml_curl Мне нужно было использовать zrtp и хранить данные в базе PostgreSQL (кстати, разработчики считают MySQL недобазой :)) Собираем с ключами: ./configure --enable-zrtp --enable-core-pgsql-support make make install Если при сборке FS ругается на openssl (switch_core_cert.lo) или что то подобное, то нужно проверить версию. Под 1.1.0 не устанавливается. Нужно ставить 1.0.2 Устанавливаем звуковые файлы: 8 kHz Standard Audio make sounds-install make moh-install 16 kHz High Definition Audio make hd-moh-install make hd-sounds-install 32 kHz Ultra High Definition Audio make uhd-moh-install make uhd-sounds-install 48 kHz CD Quality Audio make cd-sounds-install make cd-moh-install Установим русские звуковые файлы: make sounds-ru-install make cd-sounds-ru-install make uhd-sounds-ru-install make hd-sounds-ru-install Установим права и владельцев: adduser --disabled-password --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH Voice Platform" --ingroup daemon freeswitch chown -R freeswitch:daemon /usr/local/freeswitch/ chmod -R o-rwx /usr/local/freeswitch/ Создадим init скрипт для запуска /etc/init.d/freeswitch: #!/bin/bash ### BEGIN INIT INFO # Provides: freeswitch # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Freeswitch debian init script. # Author: Matthew Williams # ### END INIT INFO # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin DESC="Freeswitch" NAME=freeswitch DAEMON=/usr/local/freeswitch/bin/$NAME DAEMON_ARGS="-nc" PIDFILE=/usr/local/freeswitch/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME FS_USER=freeswitch FS_GROUP=daemon # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions # # Function that sets ulimit values for the daemon # do_setlimits() { ulimit -c unlimited ulimit -d unlimited ulimit -f unlimited ulimit -i unlimited ulimit -n 999999 ulimit -q unlimited ulimit -u unlimited ulimit -v unlimited ulimit -x unlimited ulimit -s 240 ulimit -l unlimited return 0 } # # Function that starts the daemon/service # do_start() { # Set user to run as if [ $FS_USER ] ; then DAEMON_ARGS="`echo $DAEMON_ARGS` -u $FS_USER" fi # Set group to run as if [ $FS_GROUP ] ; then DAEMON_ARGS="`echo $DAEMON_ARGS` -g $FS_GROUP" fi # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null -- || return 1 do_setlimits start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --background -- $DAEMON_ARGS || return 2 # Add code here, if necessary, that waits for the process to be ready # to handle requests from services started subsequently which depend # on this one. As a last resort, sleep for some time. } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. # If the above conditions are not satisfied then add some other code # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" } # # Function that sends a SIGHUP to the daemon/service # do_reload() { # # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME return 0 } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; status) status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? ;; #reload|force-reload) # # If do_reload() is not implemented then leave this commented out # and leave 'force-reload' as an alias for 'restart'. # #log_daemon_msg "Reloading $DESC" "$NAME" #do_reload #log_end_msg $? #;; restart|force-reload) # # If the "reload" option is implemented then remove the # 'force-reload' alias # log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac exit 0 Установим ссылку на CLI cd /usr/local/bin/ ln -s /usr/local/freeswitch/bin/fs_cli fs_cli Проверим всё ли запускается: cd /usr/local/freeswitch/bin ./freeswitch freeswitch@s02d> sofia status (или просто нажимаем F5) freeswitch@s02d> list_users Если нет ошибок, и высветились профили и пользователи, то можно отключаться: freeswitch@s02d> shutdown Меняем стандартный пароль для всех пользователей (указав свой): mcedit /usr/local/freeswitch/conf/vars.xml <X-PRE-PROCESS cmd="set" data="default_password=lkhd456hkhggl2"/> Включаем русский язык, если нужно: mcedit /usr/local/freeswitch/conf/vars.xml <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/ru/RU/elena"/> <X-PRE-PROCESS cmd="set" data="default_language=ru"/> После правки применяем изменения: fs_cli -x "reloadxml" Устанавливаем необходимые кодеки: mcedit /usr/local/freeswitch/conf/vars.xml <X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,PCMU,PCMA,VP8"/> <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=OPUS,PCMU,PCMA,VP8"/> Ну и в конце стартуем FS: service freeswitch start Для подключения к FS используем следующую команду: fs_cli -rRS Вот и всё. Мы установили и запустили FreeSwitch. О том, как настраивать пользователей, гейты, диалплан читайте в следующих статьях.
img
Пока ты читаешь эту статью, в Интернете идёт настоящая война. Сотни тысяч ботов, сканируют сеть в поисках уязвимых систем, доступов со слабыми паролями, открытых баз данных и отсылают тонны спама с вредоносными вложениями. Миллионы зараженных устройств в огромных ботнетах готовы направить терабайты трафика, чтобы положить какой-нибудь ресурс. Сейчас мы попробуем вооружить тебя знаниями о том, какие бывают виды сетевых атак, вредоносного ПО и других угроз информационной безопасности. Погнали! Типы сетевых атак Начнем с самой известной атаки - DoS - Denial of Service (он же отказ в обслуживании). В ее случае злоумышленник отправляет огромное количество запросов к объекту атаки, перегружая его и тем самым, выводя из строя. Цель этой атаки - перегрузить системные ресурсы объекта и тем самым нарушить его нормальную работу. Возможно, ты также слышал про DDoS (или ддос), с еще одной буквой D, которая означает Distributed - распределенный. Разница между ними в том, что в случае DDoS, атака запускается не с одного компьютера, а при помощи множества подконтрольных злоумышленнику устройств, которые заражены вредоносным ПО, заставляющим их совершать атаку - это называется ботнет. Ботнеты могут быть очень большими. Например, самый большой ботнет Necurs только в 2017 году насчитывал свыше 6 миллионов скомпрометированных устройств. Что же это за дырявые устройства такие? Это, как правило “умные” девайсы интернета вещей IoT - лампочки, пылесосы, часы, холодильники, двери и окна, владельцы которых даже не догадываются, что они давно взломаны. Так что, пока ты по дороге домой приказываешь своей “умной” пароварке готовить рагу, она может участвовать в атаке на какой-нибудь банк на другом конце планеты. Кстати, ботнеты применяют не только для DDoS атак, гораздо чаще их применяют для массовой рассылки писем или проще говоря - спама. Однако, это не тот спам, к которому ты привык. Спам, о котором мы говорим, обычно маскируется под совершенно нормальное почтовое сообщение. Например, это может быть поддельное письмо от известной доверенной организации с каким-нибудь документом во вложении. Но как только ты откроешь этот документ, то запустишь в свой компьютер какой-нибудь страшный вредонос, который откроет к нему доступ злоумышленнику или просто заразит твою систему. Или тебя могут попросить перейти по ссылке на внешне знакомый сайт и ввести там свой логин и пароль. Это, кстати, называется фишинг (phishing). Но самое простое и самое прибыльное для злоумышленника - взять твой компьютер в заложники! Для этого он может подсунуть туда шифровальщик, который зашифрует все файлы операционный системы и сделает их нечитаемыми, а затем потребовать выкуп за ключ для расшифровки в биткоинах. Это называется вымогательское ПО или - ransomware. Помимо шифровальщиков, на твоём компьютере, планшете или мобильном телефоне также могут оказаться: Бэкдоры (Backdoor) - программы, которые позволяют злоумышленнику удаленно управлять твоим девайсом или устанавливать на него всякую дрянь Майнеры (Miner) - скрытая программа, которая тихонечко добывает крипту для злоумышленника за счет твоего компьютера Банкеры (Banker) - крадут с твоего девайса всю информацию, связанную с онлайн банкингом и других платежных системах Шпионские программы (Spyware) - отслеживают что ты набираешь с клавиатуры, следят за тем, что происходит на твоем рабочем столе, записывают видео и делают скриншоты и даже - могут получать доступ к твоей вэб камере или микрофону. Рекламное ПО (Adware) - наградит тебя надоедливым, неудаляемым рекламным баннером, от которого невозможно избавиться. Есть также отдельный подкласс такого ПО - Pornware. О содержимом таких баннеров вы догадываетесь Руткиты (Rootkit) - скрывают пребывание любого из озвученных вредоносов на твоем девайсе - стирает логи, прячет процессы. Всю эту гадость принято объединять одним определением - Троян (Trojan), в честь знаменитого Троянского коня. Вирусы - программы, которые заражают файлы на компьютере вредоносным кодом и инфицируют системы вокруг. Черви - тоже распространяют себя от системы к системе, но используют сетевые протоколы или уязвимые устройства. WannaCry, например, распространялся через уязвимость в протоколе SMB. Он просто сканировал весь интернет и нашел серверы с открытым портом 445, на котором и живёт SMB. Вообще, сканирование портов - это первые шаги для совершения атаки. Злоумышленники ищут в Интернете известные порты прикладных уровней - и пробуют пробить уязвимость этих протоколов, например - подсунуть туда какой-нибудь вредоносный код, который система возможно обработает. А если повезет - то и вовсе получить доступ к открытой информации, живущей на этом порту. Ну, а если владелец всё таки защитил доступ к сетевому ресурсу паролем, то злоумышленник может попробовать метод полного перебора или - Bruteforce, - то есть ввод всех возможных комбинаций логина и пароля, и, если ничто не будет блокировать его действия, то рано или поздно такая комбинация будет найдена. Помни - пароль только из цифр или только из букв может быть взломан меньше чем за секунду! Поэтому стоит воспользоваться нашим генератором устойчивых паролей. На этом все! А пока - сохраняйте спокойствие, не открывайте письма с непонятными вложениями, не переходите по подозрительным ссылкам, не используйте слабые пароли, не вводите их на подозрительных сайтах, не устанавливайте программы из недоверенных источников, используйте антивирус, носите шапочку из фольги, мойте руки и тщательно укрепляйте рубежи своей IT инфраструктуры.
img
Данная статья будет посвящена одному из основных протоколов IP телефонии – SIP (Session Initiation Protocol - протокол установления сеанса), разработанный одним из отделений IETF - MMUSIC (Multiparty Multimedia Session Control). Описывается в спецификации RFC 2543 и RFC 3261. SIP – это протокол прикладного уровня модели OSI, описывающий способы и правила установления интернет-сессий для обмена мультимедийной информацией, такой как: звук, голос, видеоряд, графика и др. Для соединения обычно используется порт 5060 или 5061. В качестве транспортных протоколов SIP поддерживает: UDP, TCP, SCTP, TLS . Протокол SIP широко применяется в офисной IP-телефонии, видео и аудио-конференциях, он-лайн играх и др. Элементы Протокол SIP имеет клиент-серверную модель. Основными функциональными элементами являются: Абонентский терминал. Устройство, с помощью которого абонент управляет установлением и завершением звонков. Может быть реализован как аппаратно (SIP-телефон), так и программно (Софтфон). Прокси-сервер. Устройство, которое принимает и обрабатывает запросы от терминалов, выполняя соответствующие этим запросам действия. Прокси-сервер состоит из клиентской и серверной частей, поэтому может принимать вызовы, инициировать запросы и возвращать ответы. Сервер переадресации. Устройство, хранящее записи о текущем местоположении всех имеющихся в сети терминалах и прокси-серверах. Сервер переадресации не управляет вызовами и не генерирует собственные запросы. Сервер определения местоположения пользователей. Представляет собой базу данных адресной информации. Необходим для обеспечения персональной мобильности пользователей. Важные преимущества Так как группа MMUSIC разрабатывала протокол SIP с учётом недостатков предшествующего ему H.323, то SIP обзавелся следующими достоинствами: Простота Так как SIP унаследовал текстовый формат сообщений от HTTP, то в случае если одному терминалу при установлении соединения неизвестна какая-либо возможность, известная другому, то данный факт попросту игнорируется. Если же такая ситуация возникнет с протоколом H.323, то это приведет к сбою соединения, т.к H.323 имеет бинарный формат сообщений и все возможности протокола описаны в соответствующей документации. Масштабируемость В случае расширения сети, при использовании протокола SIP , существует возможность добавления дополнительного числа пользователей. Мобильность Благодаря гибкой архитектуре протокола SIP, пропадает необходимость заново регистрировать пользователей, в случае смены ими своего местоположения. Расширяемость При появлении новый услуг существует возможность дополнят протокол SIP новыми функциями. Взаимодействие с другими протоколами сигнализации Имеется возможность использования протокола SIP с протоколами сигнализации сетей ТфОП, такими как DSS-1 и ОКС7. Типы запросов Для организации простейшего вызова в протоколе SIP, предусмотрено 6 типов информационных запросов: INVITE — Инициирует вызов от одного терминала к другому. Содержит описание поддерживаемых сервисов (которые могут быть использованы инициатором сеанса), а также виды сервисов, которые желает передавать инициатор; ACK —Подтверждение установления соединения адресатом. Содержит окончательные параметры сеанса связи, выбранные для установления сеанса связи; Cancel — Отмена ранее переданных неактуальных запросов; BYE — Запрос на завершение соединения; Register — Идентификация местоположения пользователя; OPTIONS — Запрос на информацию о функциональных возможностях терминала, обычно посылается до фактического начала обмена сообщениями INVITE, ACK; SIP - ответы Определено 6 типов ответов, которым прокси-сервер описывает состояние соединения, например: подтверждение установления соединения, передача запрошенной информации, сведения о неисправностях др. 1хх — Информационные ответы; Информационные ответы сообщают о ходе выполнения запроса и не являются его завершением. Остальные же классы ответов завершают выполнение запроса. 2хх — Успешное окончание запроса; 3хх — Информация об изменения местоположения вызываемого абонента; 4хх — Информация об ошибке; 5хх — Информация об ошибке на сервере; 6хх — Информация о невозможности вызова абонента (пользователь с таким адресом не зарегистрирован, или пользователь занят). В следующей статье мы рассмотрим основные сценарии установления соединения по протоколу SIP, а также его модификации и дополнительные функции.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59