По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:

Jitsi Meet - это бесплатное программное обеспечение для видеоконференций с открытым исходным кодом на базе WebRTC, которое работает на Linux, macOS, Windows, iOS и Android. Если вы не доверяете Zoom, вы можете запустить собственную платформу для видеоконференций на собственном сервере. Преимущество Jitsi Meet заключается в том, что все ваши данные передаются только через ваш сервер, а шифрование TLS обеспечивает защиту от перехвата и прослушивания. Это руководство покажет вам, как установить Jitsi Meet на сервер Ubuntu 18.04 и 20.04, а также Debian 10.
>
Особенности Jitsi Meet
Совершенно бесплатно
Поделитесь экраном своего компьютера с другими (Screensharing)
Режим докладчика, который позволяет одновременно использовать экран и камеру
Вы можете поделиться системным звуком во время демонстрации экрана
Вы можете назначить авторизованных пользователей модераторами. Модератор может отключить звук у каждого участника одним щелчком мыши
Связь по сети зашифрована с использованием DTLS-SRTP
Сквозное шифрование
Вы можете установить пароль для своей конференции, чтобы предотвратить вход случайных незнакомцев
Запишите конференцию и сохраните ее в Dropbox
Транслируйте на YouTube Live и сохраняйте запись на YouTube
Приложения для Android и iOS
Текстовый чат
Вы можете поделиться текстовым документом
Телефонный доступ к конференции
Исходящий вызов телефонному абоненту
Вы можете встроить вызов Jits Meet на любую веб-страницу с помощью всего нескольких строк кода
Системные требования
Вам понадобится:
Linux сервер и non-root user с привилегиями sudo
Доменное имя, указывающее на ваш сервер
Шаг 1. Установите Jitsi Meet из официального репозитория пакетов
Jitsi Meet не включен в репозиторий Ubuntu по умолчанию. Мы можем установить его из официального репозитория пакетов Jitsi, который также содержит несколько других полезных программных пакетов. Войдите на свой сервер через SSH, затем выполните следующую команду, чтобы добавить официальный репозиторий Jitsi.
echo 'deb https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list
Импортируйте открытый ключ Jitsi, чтобы менеджер пакетов APT мог проверять целостность пакетов, загруженных из этого репозитория.
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
Поскольку для репозитория Jitsi требуется HTTPS-соединение, нам нужно установить пакет apt-transport-https, чтобы APT установил HTTPS-соединение с репозиторием Jitsi.
sudo apt install apt-transport-https
Затем обновите локальный индекс пакета и установите Jitsi Meet в Ubuntu.
sudo apt update
sudo apt install jitsi-meet
Во время установки вам необходимо ввести имя хоста для вашего экземпляра Jitsi. Это имя хоста, которое будет отображаться в адресной строке веб-браузера, когда посетители присоединятся к вашей видеоконференции. Вы можете использовать описательное имя хоста, например meet.example.com.
На следующем экране вы можете выбрать создание нового самозаверяющего сертификата TLS (Generate a new self-signed certificate), чтобы позже вы могли получить и установить доверенный сертификат Let’s Encryption.
В процессе установки будут настроены некоторые параметры ядра Linux, которые сохраняются в файле /etc/sysctl.d/20-jvb-udp-buffers.conf. После завершения установки Jitsi Meet автоматически запустится. Вы можете проверить его статус с помощью:
systemctl status jitsi-videobridge2
Пример вывода:
? jitsi-videobridge2.service - Jitsi Videobridge
Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-04-24 12:11:13 UTC; 3min 27s ago
Main PID: 3665 (java)
Tasks: 37 (limit: 65000)
CGroup: /system.slice/jitsi-videobridge2.service
L-3665 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HO
Пакет jitsi-meet также извлекал другие пакеты в качестве зависимостей, например
openjdk-8-jre-headless: среда выполнения Java. Это необходимо, потому что Jitsi Meet написан на языке Java.
jicofo: Jitsi Conference Focus (systemctl status jicofo)
prosody: Легкий сервер Jabber / XMPP (systemctl status prosody)
coturn: сервер TURN и STUN для VoIP (systemctl status coturn)
Шаг 2. Откройте порты в брандмауэре
Jitsi Meet прослушивает несколько портов UDP, что можно увидеть с помощью следующей команды. (Если на вашем сервере Ubuntu нет команды netstat, вы можете запустить команду sudo apt install net-tools, чтобы установить ее.)
sudo netstat -lnptu | grep java
Чтобы участники могли присоединиться к видеоконференции из веб-браузера, вам необходимо открыть TCP-порт 80 и 443. А для передачи видео по сети откройте UDP-порт 10000 и 5000. Если вы используете брандмауэр UFW, запустите следующую команду, чтобы открыть эти порты.
sudo ufw allow 80,443/tcp
sudo ufw allow 10000,5000/udp
Шаг 3. Получите доверенный сертификат Let's Encrypt TLS
Перейдите в службу хостинга DNS (обычно это ваш регистратор домена), чтобы создать запись DNS A для вашего имени хоста Jitsi (meet.example.com). Затем запустите следующий скрипт, чтобы получить доверенный сертификат Let’s Encrypt TLS:
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Введите свой адрес электронной почты, чтобы получать важные уведомления об учетной записи. Затем он загрузит certbot и получит сертификат TLS.
This script will:
- Need a working DNS record pointing to this machine(for domain jitsi.example.com)
- Download certbot-auto from https://dl.eff.org to /usr/local/sbin
- Install additional dependencies in order to request Let’s Encrypt certificate
- If running with jetty serving web content, will stop Jitsi Videobridge
- Configure and reload nginx or apache2, whichever is used
- Configure the coturn server to use Let's Encrypt certificate and add required deploy hooks
- Add command in weekly cron job to renew certificates regularly
You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf)
by providing an email address for important account notifications
Enter your email and press [ENTER]:
Если все в порядке, вы увидите следующее сообщение, указывающее, что сертификаты TLS были успешно получены и установлены.
Обратите внимание, что этот сценарий использует запрос http-01, что означает, что ваш веб-сервер Apache или Nginx должен прослушивать порт 80 общедоступного IP-адреса. Если ваша серверная среда не поддерживает вызов http-01, вам не следует запускать приведенный выше сценарий. Вам нужно использовать другие типы задач. В этом случае используем вызов DNS.
sudo certbot --agree-tos -a dns-cloudflare -i nginx --redirect --hsts --staple-ocsp --email me@example.com -d meet.example.com
Где:
--agree-tos: примите условия использования.
-a dns-cloudflare: используем плагин DNS cloudflare для аутентификации, потому что используем службу Cloudflare DNS.
-i nginx: использовать плагин nginx для установки сертификата TLS. Если вы используете Apache, вам необходимо заменить nginx на apache.
--redirect: принудительно использовать HTTPS с помощью 301 редиректа.
--hsts: добавлять заголовок Strict-Transport-Security к каждому ответу HTTP. Заставить браузер всегда использовать TLS для домена. Защищает от удаления SSL/TLS.
--staple-ocsp: включает сшивание OCSP. Допустимый ответ OCSP прикреплен к сертификату, который сервер предлагает во время TLS.
Шаг 4. Включите HTTP2
HTTP2 может улучшить скорость загрузки веб-страницы. Чтобы включить HTTP2 в Nginx, отредактируйте файл конфигурации виртуального хоста.
sudo nano /etc/nginx/sites-enabled/meet.example.com.conf
Найдите следующие две строки.
listen 443 ssl;
listen [::]:443 ssl;
Добавьте http2 в конце каждой строки.
listen 443 ssl http2;
listen [::]:443 ssl http2;
Сохраните и закройте файл. Затем перезагрузите Nginx, чтобы изменения вступили в силу.
sudo systemctl reload nginx
Шаг 5. Начните новую онлайн-встречу
Теперь посетите https://meet.example.com, и вы сможете начать конференцию. Для передачи звука вам необходимо разрешить веб-браузеру использовать ваш микрофон. А для передачи видео вам необходимо разрешить веб-браузеру доступ к вашей камере.
Дайте вашей встрече название и нажмите кнопку Go. После начала собрания вы можете при желании установить пароль для собрания.
Шаг 6. Настройте аутентификацию пользователя
По умолчанию любой может перейти к вашему серверу Jitsi Meet, создать комнату и начать собрание. Чтобы настроить аутентификацию пользователя, отредактируйте файл конфигурации Prosody.
sudo nano /etc/prosody/conf.d/meet.example.com.cfg.lua
Найдите следующую строку.
authentication = "anonymous"
Измените его на следующее, что потребует от пользователя ввода имени пользователя и пароля для начала конференции.
authentication = "internal_plain"
Однако мы не хотим, чтобы участники вводили имя пользователя и пароль при присоединении к конференции, поэтому нам нужно создать анонимный вход для гостей, добавив следующие строки в конец этого файла. Обратите внимание, что вам не нужно создавать запись A DNS для guest.meet.example.com.
VirtualHost "guest.meet.example.com"
authentication = "anonymous"
c2s_require_encryption = false
Сохраните и закройте файл. Затем отредактируйте файл конфигурации Jitsi Meet.
sudo nano /etc/jitsi/meet/meet.example.com-config.js
Найдите следующую строку:
// anonymousdomain: 'guest.example.com',
Удалите двойные косые черты и измените гостевой домен. Замените meet.example.com своим настоящим именем хоста Jitsi Meet.
anonymousdomain: 'guest.meet.example.com',
Сохраните и закройте файл. Затем отредактируйте файл конфигурации Jicofo.
sudo nano /etc/jitsi/jicofo/sip-communicator.properties
Добавьте следующую строку в конец этого файла.
org.jitsi.jicofo.auth.URL=XMPP:meet.example.com
Сохраните и закройте файл. Перезапустите службы systemd, чтобы изменения вступили в силу.
sudo systemctl restart jitsi-videobridge2 prosody jicofo
Чтобы создать учетные записи пользователей в Jisi Meet, выполните следующую команду. Вам будет предложено ввести пароль для нового пользователя.
sudo prosodyctl register username meet.example.com
Теперь, если вы создаете комнату в Jitsi Meet, вам нужно будет ввести имя пользователя и пароль.
Советы по устранению неполадок
Если вы столкнулись с ошибками, вы можете проверить журнал ошибок Nginx (/var/log/nginx/error.log), чтобы узнать, что не так. Также проверьте журналы служб systemd.
sudo journalctl -eu jitsi-videobridge2
sudo journalctl -eu prosody
sudo journalctl -eu jicofo
Если вы видите ошибку You have been disconnected (Вы были отключены) при запуске собрания в Jitsi, возможно, вы забыли изменить meet.example.com на свое настоящее имя хоста Jitsi Meet в файлах конфигурации.
Опционально: настроить Jigasi для телефонного набора или исходящего вызова
Jitsi предлагает телефонный интерфейс, который позволяет пользователям подключаться к конференции или делать звонки с напоминанием. Установите пакет jigasi (шлюз Jitsi для SIP).
sudo apt install jigasi
Во время установки вам нужно будет ввести свое имя пользователя и пароль SIP. Если у вас его нет, вы можете создать бесплатную учетную запись SIP на сайте OnSIP.com.
Если вы настроили аутентификацию пользователя на шаге 6, вам необходимо отредактировать файл конфигурации Jigasi.
sudo nano /etc/jitsi/jigasi/sip-communicator.properties
Найдите следующие строки.
# org.jitsi.jigasi.xmpp.acc.USER_ID=SOME_USER@SOME_DOMAIN
# org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS
# org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
Раскомментируйте их и введите учетную запись и пароль, которые вы создали на шаге 6.
org.jitsi.jigasi.xmpp.acc.USER_ID=user1@meet.example.com
org.jitsi.jigasi.xmpp.acc.PASS=user1_password
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
Сохраните и закройте файл. Перезапустите службу jigasi systemd.
sudo systemctl restart jigasi
Опционально: настроить Coturn
Если во время установки Jitsi Meet вы видите следующее сообщение, вам необходимо настроить Coturn, чтобы он работал правильно.
Warning! Could not resolve your external ip address! Error:^
Your turn server will not work till you edit your /etc/turnserver.conf config file.
You need to set your external ip address in external-ip and restart coturn service.
Отредактируйте файл конфигурации Coturn.
sudo nano /etc/turnserver.conf
Найдите следующую строку.
external-ip=127.0.0.1
Замените 127.0.0.1 общедоступным IP-адресом вашего сервера. Сохраните и закройте файл. Затем перезапустите Coturn.
sudo systemctl restart coturn
Итоги
Готово! Мы успешно установили Jitsi Meet на наш Linux сервер.

Запись телефонных разговоров на IP – АТС Asterisk является безусловно важной «фичей» для любой организации. С другой стороны, с ростом количества записей уменьшается память на дисках. Рано или поздно, перед организацией встает вопрос об удалении старых файлов, для освобождения места. Мы разработали PHP скрипт, который автоматически удаляет записи разговоров (.wav) и данные в базе данных по этим звонкам старше определенного количества дней. Чтобы адаптировать его под себя, вам нужно просто указать максимальное количество дней для хранения записей.
Скрипт автоматического удаления
Сам скрипт написан на PHP и представляет собой 23 строчки кода. Основная переменная в скрипте - days. Укажите в ней количество дней, которое вы планируете хранить записи:
<?php
$days = 180; //записи, которые старше 180 дней будут удалены. Укажите здесь количество дней для удаления;
$hostname = "localhost"; //если скрипт выполняется на том же сервере, что и IP - АТС Asterisk, то оставьте здесь localhost. В противном случае укажите IP - адрес;
$username = "delete"; //логин для подключения к базе данных asteriskcdrdb
$password = "333jIje45"; //пароль для подключения к базе данных asteriskcdrdb
$dbName = "asteriskcdrdb";
$file = '/home/admin/log_mail.txt';
$cdate = date('Y-m-d H:i:s', strtotime('-'.$days.' days')); //определяем максимальную дату звонка. Все звонки старше этой даты, будут удалены;
$adate = date('Y-m-d H:i:s'); //текущая дата для записи в лог – файл;
/* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
mysql_select_db($dbName) or die(mysql_error());
/* удаляем информацию о записях в таблице cdr*/
$query = "DELETE from cdr WHERE calldate < '$cdate';";
$res=mysql_query($query) or die(mysql_error());
/* Как много нашлось строк */
$number = mysql_affected_rows();
/* удаляем сами аудио - записи разговоров */
echo exec('find /var/spool/asterisk/monitor/ -type f -mtime +'.$days.' -exec rm -rf {} ;');
$current = "DELETE :: $adate :: $number records were deleted from CDR
";
file_put_contents($file, $current, FILE_APPEND | LOCK_EX); //записываем запись в лог файл;
?>
Скачать скрипт удаления записей
Загруженный скрипт сохраните в формате .php.
Адаптация скрипта на вашей АТС
Первое, что необходимо сделать, это создать пользователя для доступа к базе данных, который будет иметь права на удаление. Для этого, даем следующие команды:
[root@asterisk]# mysql
mysql>CREATE USER 'delete'@'localhost' IDENTIFIED BY '333jIje45';
Теперь предоставляем необходимые права:
mysql> GRANT DELETE, SELECT ON asteriskcdrdb.cdr TO 'delete';
Готово. Теперь скрипт необходимо запланировать через cron для регулярного выполнения. Даем команду crontab -e и добавляем следующую строку:
*/2 10-18 * * 1-5 /usr/bin/php /home/deletecdr.php
В данном примере, наш скрипт будет отрабатывать каждые 2 минуты с понедельника по пятницу, с 10:00 до 18:00. Здесь, /home/deletecdr.php - полный путь к скрипту. Сохраняем изменения и наслаждаемся спокойствием за дисковое пространство :)

Битрикс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:
Скачать скрипт интеграции с сайтом