По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Переменные среды (или окружения) используются для хранения общесистемных значений, которые могут использоваться любым пользователем и процессом в операционной системе. Мы уже рассказывали про то как установить переменные окружения в Linux, а теперь расскажем, как это сделать в MacOS. Проверить текущие переменные среды Есть два способа проверить текущие переменные среды в MacOS: Показать список всех текущих переменных среды. Показать конкретную переменную среды. Список всех переменных среды Используйте команду printenv для отображения списка текущих установленных переменных среды: printenv Примечание. Если вы хотите отобразить полный список переменных оболочки, используйте команду set. Проверить конкретную переменную среды Если вы хотите отобразить значение какой-либо конкретной переменной среды, используйте команду echo: echo $[имя_переменной] Например, чтобы проверить значение переменной PATH, в которой хранится список каталогов с исполняемыми файлами, используйте команду echo: echo $PATH Примечание. Всегда используйте префикс $ при указании имени переменной. Установить временную переменную среды Значение, которое вы присваиваете временной переменной среды, сохраняется только до тех пор, пока вы не закроете сеанс терминала. Это полезно для так переменных, которые нужно использовать только для текущего сеанса. Назначить временную переменную среды с помощью команды export: export [имя_переменной]=[значение_переменной] Где: [имя_переменной]: имя новой временной переменной среды, которую вы хотите установить. [значение_переменной]: значение, которое вы хотите присвоить новой переменной. Команда export также позволяет добавлять новые значения к существующим переменным: export [имя_существующей_переменной]=[новое_значение_переменной]:$[имя_существующей_переменной] Где: [имя_существующей_переменной]: имя переменной среды, к которой вы хотите добавить новое значение. [новое_значение_переменной]: значение, которое вы хотите добавить к существующей переменной. Например, если вы хотите добавить собственный путь к папке в переменную PATH, используйте следующую команду: export PATH=/Users/test/test_folder:$PATH Установить постоянную переменную среды В файл .bash_profile добавляются постоянные переменные среды: Найдите путь к файлу .bash_profile, используя: ~/.bash-profile Откройте файл .bash_profile в любом текстовом редакторе. Прокрутите до конца файла Используйте команду export, чтобы добавить новые переменные: export [имя_переменной]=[значение_переменной] Сохраните все изменения, внесенные вами в файл Запустите новый .bash_profile, перезапустив окно терминала, либо используя команду: source ~/.bash-profile Удалить переменную среды Используйте команду unset, чтобы удалить переменную среды: unset [имя_переменной]
img
Сегодня мы подробно поговорим и модификациях протокола SIP, разработанных специально для взаимодействия телефонных сетей VoIP с сетями PSTN – Public Switched Telephone Network (ТфОП), использующих сигнализацию ОКС-7. С развитием IP - сетей , преимущества VoIP телефонии становились всё более очевидными, однако подавляющая часть АТС всё ещё имеет дело с сигнализацией ОКС-7, которая используется в таких сетях как ISDN - Integrated Services Digital Network (Цифровая Сеть с Интеграцией Служб), ТфОП – Телефонная Сеть Общего Пользования, а также в Сетях Подвижной Сотовой Связи (СПСС). В качестве подсистемы, обеспечивающей межстанционную сигнализацию, в данных сетях применяется подсистема ISUP – ISDN User Part. ISUP решает задачи транспортировки сигнальной информации от офисной телефонной станции до станции назначения без обработки данной информации в промежуточных пунктах сигнализации. Прежде всего ISUP необходим для управления установлением соединения. Протокол ISUP имеет множество типов сообщений, каждое из которых применяется на определенном этапе установления соединения. Запомнить назначение всех этих сообщений не представляется возможным. Мы не будем описывать каждое сообщение в отдельности, а лишь приведём примеры основных, встречающихся в трассировках любого вызова по протоколу ISUP. IAM (Initial Address Message) - Самое первое сообщение. Служит для информирования АТС об установлении соединения. Содержит такие параметры как: номер вызывающего и вызываемого абонента, тип данных (данные, голос и другие). ACM (Address Complete Message) - Сообщение о приеме полного номера. Отправляется вызываемой АТС, когда был найден необходимый для установления соединения абонент. В этот момент телефонный аппарат вызываемого абонента начинает звонить, а вызывающий абонент слышит КПВ (Контроль Посылки Вызова) ANM (Answer Message) - Отправляется вызываемой АТС, когда вызывающий абонент снимает трубку. Занимаются двухсторонние разговорные каналы. REL (Release) - Отправляется одной из АТС, когда абонент инициирует завершение соединения (кладёт трубку). RLC (Release complete) - Подтверждение разрыва соединения. Отправляя данное сообщение, АТС уведомляет о том, что разговорный канал свободен и может вновь быть использован. Очевидно, что для сопряжения сетей VoIP с сетями, работающими по сигнализации ОКС-7, необходимо реализовать механизмы прозрачной передачи сообщений ISUP по IP. Для решения данной задачи ITU-T и IETF независимо разработали модификации к протоколу SIP - SIP- I (Internetworking) и SIP – T (Telephony)( RFC 3372) соответственно. При разработке данных модификаций, были учтены следующие требования: Возможность прозрачной передачи сообщений протокола ISUP Возможность маршрутизации сообщения протокола SIP на основе параметров ISUP Возможность передачи транспортной информации при установлении соединения. Выполнение данных условий осуществляется путем инкапсуляции сигнальных сообщений ISUP в SIP, а также трансляцией параметров ISUP в заголовках SIP. Итак, от теории к практике. Рассмотрим простейший пример установления соединения в сети с разнотипной сигнализацией. Допустим, что а Абонент A - пользователь ТфОП, его телефонный аппарат находится за неким узлом связи, Абонент B использует IP Phone, работающий по протоколу SIP. За трансляцию сообщений ISUP в SIP будет отвечать некий многофункциональный шлюз IMG (Integrated Media Gateway) Задержки в сети Как видно из рисунка инициатором вызова выступает Абонент A, на шлюз отправляется сообщение IAM, содержащее номера телефонов, а также дополнительные параметры соединения, IMG в свою очередь инкапсулирует сообщение IAM протокола ISUP, в уже известное нам INVITE протокола SIP. Далее легко проследить каким ещё сообщениям протокола SIP соответствуют некоторые запросы ISUP. Стоит также заметить, что протокол ISUP на этапе разговора открывает некий двухсторонний разговорный канал, идентификатор которого находится в сообщении IAM и называется CIC (Circuit Identification Code). Таким образом, благодаря модификациям протокола SIP на сегодняшний день имеется возможность связать абонентов сетей разных типов, использующих разную сигнализацию для управления установлением соединения.
img
Запись телефонных разговоров на 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 - полный путь к скрипту. Сохраняем изменения и наслаждаемся спокойствием за дисковое пространство :)
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59