По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
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
Работая долгое время на компьютере, чувствуется необходимость быстро переходить к каким-то настройкам системы. Порой настолько привыкаешь к быстрому запуску, что забываешь полный путь к нужной настройке. Зато это сохраняет время и повышает (крутость в глазах непосвященных) эффективность работы. Итак, чтобы запустить окно быстрого запуска достаточно нажать комбинацию клавиш Windows + R. А затем в зависимости от потребностей вводим одну из перечисленных ниже команд. 1. msconfig Если нужно перезагрузить систему в безопасном режиме или просмотреть список доступных ОС, то команда msconfig вам в помощь. Там можно отредактировать параметры загрузки системы. Кстати, присмотритесь к вкладке Tools, там немало полезных сокращений. 2. resmon Мощная утилита, которая помогает разобраться, что грузит ресурсы компьютера в данный момент. Там можно найти информацию по работе ЦП, жесткого диска, оперативной памяти, сетевой карты. 3. msinfo Приложение System Information предоставляет обширную информацию об оборудовании и программном обеспечении вашего ПК. Это обязательная команда для просмотра спецификаций любого ПК. Информация разделена на категории, что облегчает поиск нужной информации. Здесь можно экспортировать информацию в файл, что идеально подходит для получения технической помощи в Интернете. 4. sdclt Данная команда открывает окно "Резервного копирования и восстановления системы". 5. Настройки мыши - main.cpl Все настройки относительно мыши можно сделать в этом окне: поменять роли кнопок, скорость реакции т.п. Кстати, идея чтобы пошутить с другом: поменяйте роли кнопок мыши. Это прикольно. 6. regedit Пожалуй, одна из самых известных утилит, которой пользуются сисадмины - это regedit. Все настройки Windows - порт RDP по умолчанию, разны пути, настройки программ - хранятся в реестре. Чтобы запустить его с окна быстрого запуска введите regedit.exe. Внимание! Все изменения в реестре влияют на работоспособность системы, потому крайне не рекомендуется редактировать его, если не знаете чего хотите. 7. sysadm.cpl Нет - это не команда быстрого вызова сисадмина. Она запускает параметры системы, где можно настроить производительность, переменные среды и т.п. 8. powercfg.cpl Быстрый доступ к настройкам питания. Именно здесь настраивается поведение компьютера в зависимости от режима питания, таймоут до спящего режима и т.п. 9. optionalfeatures Часто при поиске проблем на новом компьютере обнаруживается, что не установлены нужные утилиты вроде telnet. Так вот эти все фичи можно установить через меню дополнительных компонентов Windows, которое можно вызвать командой optionalfeatures. 10. magnify Лупа или увеличительное стекло, которое предусмотрено для людей с ограниченными возможностями запускается с помощью команды magnify. 11. charmap Таблица шрифтов Windows отображает все доступные для выбранного шрифта символы. Тут можно копировать символ и вставлять в нужное место или запомнить Alt код конкретного шрифта. Если выбрать Advanced View, то можно получить доступ к строке поиска. 12. ncpa.cpl Моя самая любимая команда. Позволяет открыть окно с текущими сетевыми соединениями. Особенно полезна, если у пользователя нет администраторских прав. В этом случае командная строка cmd, запускается от имени привилегированного пользователя, затем уже в командной строке выполняется команда ncpa.cpl. 13. mrt Нет - эта команда не активирует функцию МРТ на компьютере. Вы, наверное, не знали, что в Windows есть встроенная утилита для удаления вредоносных программ. Правда, эффективность под вопросом, - она все же есть. Но в любом случае, лучше установить антивирус. 14. devmgmt.msc Пожалуй, второй мой фаворит. Команда devmgmt.msc позволяет запускать окно с устройствами, где можно установить, обновить или удалить драйвера. Так же полезна в случае, если у пользователя нет администраторских прав. В этом случае схема работы такая же, как и с ncpa.cpl. Так же есть команды diskmgmt.msc и compmgmt.msc, которые запускают консоль управления жесткими дисками и компьютером соответственно. 15. netplwiz Эта команда чаще всего используется в скриптах для автоматического создания пользователя. Правда, в плане безопасности это не очень хорошо, потому что этим методом пользуются злоумышленники, но тем не менее данная команда позволяет назначать пароль пользователям и управлять другими настройками безопасности. 16. services.msc Одна из часто используемых команд в мире ИТ. Отображает все существующие в системе сервисы и их состояние. Выбрав конкретный сервис, в левом окошке можно просмотреть за что он отвечает. И тут тоже не рекомендуется отключать или проводить другие манипуляции, если не знаете что делаете. 17. appwiz.cpl Давно пользовались приложением Установка и удаление программ? Обычно пользователи устанавливают программы и забывают, что они у них есть. Хотя для улучшения производительности компьютера лучше регулярно проверять и удалять ненужные программы. Для быстрого доступа используется команда appwiz.cpl. Тут также можно посмотреть установленные обновления и установить дополнительные фичи. 18. control В старых версиях Windows данная команда не пользовалась популярностью, так как чуть ли не каждая ссылка вела именно на Панель управления. Но в Windows 10 Microsoft активно продвигает новое приложение Настройки, поэтому попасть на Панель управления не легко, но возможно благодаря команде control. 19. "." (точка) Как обычно поступают пользователи, если нужно попасть в папку текущего пользователя? Открывают проводник и оттуда попадают куда нужно. Но есть вариант попроще: просто в окне быстрого запуска набираете точку и нажимаете Ввод (Enter)"." - заветная папка открыта. 20. Экранная клавиатура Иногда по какой то причине приходится пользоваться экранной клавиатурой. Вызвать его можно командой osk. 21. snippingtool Приложение Ножницы, которое делает скриншот экрана можно вызвать командой snippingtool. Для запуска же новой версии на Windows 10, можно использовать комбинацию клавиш Win+Shift+S. А для запуска Paint используйте команду - mspaint. 22. mdsched В Windows также есть встроенная утилита диагностики оперативной памяти. Она не только выявляет проблему, но в большинстве случаев и исправляет их. А если не справляется, то выдают отчет о проблеме. Запустить данную утилиту можно командой mdsched. P.S. Для проверки компьютер автоматически перезагрузиться, так что имеет смысл сохранить открытые документы. 23. Открытие веб-сайтов Да-да, все верно. Через командную строку можно открывать и веб-сайты. Сайт откроется в браузере по умолчанию. Но сегодня мало, кто помнит название сайтов. Все пользуются поиском. 24. mstsc Для быстрого запуска приложения удаленного доступа используйте команду mstsc. Но для начала на компьютерах нужно разрешить удаленный доступ. 25. cmd Найдется очень мало людей, которым незнакома эта команда. cmd - запускает командную строку, которая дает вам неограниченную власть над системой. Хотя я погорячился, Windows - это не касается. Заключение Run еще удобен тем, что он запоминает все введенные команды, так что во второй раз достаточно набрать первую букву и вы получите список введенных ранее команд на эту букву.
img
Битрикс24 – облачная CRM система, цель которой заключается в повышении эффективности работы компании. Мы можем выделить 3 позиции, которые привлекают внимание предпринимателей к этой системе: Доступность - для начинающих предпринимателей Битрикс24 бесплатна по тарифу «Проект». В бесплатной версии вы можете вести обработку лидов, сделок, ставить задачи, создавать проекты, выставлять счета и многие другие опции. В бесплатной версии нет возможности создавать бизнес – процессы. Более высокие версии, такие как «Команда» или «Компания» обладают более богатым функционалом за привлекательную цену. Омниканальность - вся деятельность по различным каналам работы будет сконцентрирована в Битрикс24. Без разницы, напишет ли клиент письмо на общий адрес электронной почты компании, или на адрес менеджера персонально, напишет в Telegram, Вконтакте, Facebook, заполнит форму на сайте или позвонит – автоматические будет создан лид в CRM и обработан согласно внутренним правилам в зависимости от источника. Гибкость - CRM система имеет приложение для ПК, смартфона и планшета. Важно отметить, что существует специальный REST API, с помощью которого можно создавать лиды с помощью PHP с сайта. Коробочную версию CRM можно дорабатывать с помощью собственных PHP скриптов. Если вы остановили свой выбор на Битрикс24 и ищете возможности автоматизировать обработку лидов, то в статье мы расскажем о интеграции Битрикс24 с сайтом. Интеграция Битрикс24 с сайтом Начнем с создания HTML формы на сайте по примеру ниже: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <form action="integration.php" method="post"> Тема: <input type="text" name="tema" value="" /><br /> Ваша компания: <input type="text" name="companyname" value="" /><br /> Имя: <input type="text" name="name" value="" /><br /> Фамилия: <input type="text" name="lastname" value="" /><br /> Ваше сообщение: <textarea name="message"></textarea><br /> <input type="submit" value="Send" /> </form> </html> Здесь, методом POST, мы будем передавать параметры в PHP файл, который в свою очередь будет связывать наш сайт с Битрикс24. Скопированную сверху конфигурацию сохраняем в файл, который называем integration.php Продолжаем работу с этим файлом. Над скопированной выше конфигурации открываем PHP – тэг с помощью символов <?php . Между php и вторым знаком вопроса мы будем вставлять последующую конфигурацию. Определяем необходимые для REST API переменные, с помощью которых мы будем определять адрес сервера подключения и параметры авторизации. Заранее создайте в Битрикс24 пользователя с правами на создание и изменение сущностей связанных с лидами. В конфигурации приведены строки с комментариями: // Параметры подключения к вашему облачному Битрикс24 define('CRM_HOST', 'your_domain.bitrix24.com'); // укажите здесь ваш домен в Битрикс define('CRM_PORT', '443'); // порт для подключения. Здесь оставляем все как есть define('CRM_PATH', '/crm/configs/import/lead.php'); // Путь к PHP файлу, к которому будем подлючаться. Здесь оставляем все как есть // Параметры авторизации define('CRM_LOGIN', 'login'); // логин пользователя, которого мы создали для подключения define('CRM_PASSWORD', 'password'); // пароль пользователя CRM Переходим к самому скрипту, который будет заниматься отправкой данных в CRM $tema = $_POST['tema']; //получаем значение полей из формы и записываем их в переменные методом POST $companyname = $_POST['companyname']; $name = $_POST['name']; $lastname = $_POST['lastname']; $message = $_POST['message']; // Начинаем обработку внутри скрипта if ($_SERVER['REQUEST_METHOD'] == 'POST') { $leadData = $_POST['DATA']; // представляем массив $postData = array( 'TITLE' => $tema, 'COMPANY_TITLE' => $companyname, 'NAME' => $name, 'LAST_NAME' => $lastname, 'COMMENTS' => $message, ); // добавляем в массив параметры авторизации if (defined('CRM_AUTH')) { $postData['AUTH'] = CRM_AUTH; } else { $postData['LOGIN'] = CRM_LOGIN; $postData['PASSWORD'] = CRM_PASSWORD; } // открываем сокет соединения к облачной CRM $fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30); if ($fp) { // производим URL-кодирование строки $strPostData = ''; foreach ($postData as $key => $value) $strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value); // подготавливаем заголовки $str = "POST ".CRM_PATH." HTTP/1.0 "; $str .= "Host: ".CRM_HOST." "; $str .= "Content-Type: application/x-www-form-urlencoded "; $str .= "Content-Length: ".strlen($strPostData)." "; $str .= "Connection: close "; $str .= $strPostData; fwrite($fp, $str); $result = ''; while (!feof($fp)) { $result .= fgets($fp, 128); } fclose($fp); $response = explode(" ", $result); $output = '<pre>'.print_r($response[1], 1).'</pre>'; } else { echo 'Не удалось подключиться к CRM '.$errstr.' ('.$errno.')'; } } else { } В случае, если вы хотите провести «дебаг» соединения и понять в чем могут быть проблемы, в разделе HTML кода добавьте следующий код, который позволит вывести причину неработоспособности: <?php echo $output; Сохраняем все внесенные конфигурации и переходим к тесту. Заполняем WEB – форму: Как результат, в CRM появляется лид: Лид успешно создан в CRM. Для его обработки вы можете создать различные бизнес процессы в разделе «Настройки» -> «Автоматизация». Сам файл скрипта вы можете скачать по ссылке ниже. После загрузки, измените формат файла на PHP: Скачать скрипт интеграции с сайтом
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59