... {toc} h2. Примечания! Прочтите перед настройкой {warning} _Важно\! VSFTPD работает в chroot /app/asr_billing/var/_ _Важно\! Для загрузки CDR необходимо создать отдельное оборудование т.к. при загрузке CDR биллинг по Radius отправляет данные ввиде Acct-Stop пакетов с виртуального адреса 169.1.28.12_ _Важно\! Владельецем директории, в которую планируется выгрузка cdr, должен быть пользователь cdr_ftp_{warning} {info}Обработанные CDR перемещаются в архив: например, если папка для загрузки cdr */var/oss/core/VOIP/cdr*, архив будет в папке */var/oss/core/VOIP/cdr_archive*{info} h2. Настройка _Для оборудования не поддерживающего Radius AAA существует альтернативный способ обсчета звонков через загрузку CDR, также рекомендуется его использовать и для оборудования с настроенным Radius AAA на случай проблем сети._ Основные шаги, которые необходимо выполнить для настройки ftp-сервера: * Добавить подсети или конкретные ip-адреса в формате XXX.XXX.XXX.XXX в список разрешенных ip-адресов или подсетей. Разделитель списка - пробел. * Установить пароль ftp сервера h3. Настройка разрешенных ip адресов *шаг 1* Заходим в "Настройки(в файле)" !Выделение_010.png|width=1200,border=1! *шаг 2* !Выделение_011.png|width=1200,border=1! *шаг 3* !Настройки фтп-ip.png|width=1200,border=1! h3. Настройка пароля пользователя cdr_ftp через веб-интерфейс *шаг 1* Заходим в "Настройки(в файле)" !Выделение_010.png|width=1200,border=1! *шаг 2* !Выделение_011.png|width=1200,border=1! *шаг 3* !Настройки фтп-пароль.png|width=1200,border=1! h3. Настройка пароля пользователя cdr_ftp через терминал( для версий младше 51204273 ) {code} $ chroot /app/asr_billing/ (asr_billing) $ passwd cdr_ftp # вводим пароль (asr_billing) $ rsync /etc/shadow /cfg/etc/shadow # необходимо выполнить для сохранения пароля после рестарта контейнера {code} h3. Настройка пассивного режима FTP Откройте файл конфигурации сервера */app/asr_billing/etc/vsftpd/vsftpd.conf* и добавьте в конец файла следующие строки: {code}pasv_enable=Yes pasv_max_port=10100 pasv_min_port=10090{code} Перезапустите FTP-сервер {code}chroot /app/asr_billing/ service vsftpd restart{code} Добавьте правило iptables в [хук|CarbonBilling:Дополнительные настройки. hooks. Хуки. Свои правила в firewall]: {code}iptables -I asr_billing_input -s 169.254.80.82/32 -p tcp -m tcp --dport 10090:10100 -j ACCEPT{code} Адрес *169.254.80.82* замените на адрес Вашей АТС h3. Пример скрипта выгрузки cdr файлов с asterisk {code} #!/bin/bash set -eu CDR_SRC_FILE='/var/log/asterisk/cdr-csv/Master.csv' CDR_DST_DIR='/var/log/asterisk/cdr-csv-rotate/' FTP_SERVER='46.19.46.169' FTP_LOGIN='cdr_ftp' FTP_PASSWORD='servicemode' FTP_DIRECTORY='cdr' cd "$CDR_DST_DIR" [ ! -d "$CDR_DST_DIR" ] && mkdir $CDR_DST_DIR if [ -f "$CDR_SRC_FILE" ]; then DATE=`date +%Y%m%d%H%M%S` mv $CDR_SRC_FILE $CDR_DST_DIR/cdr-${DATE}.csv touch $CDR_SRC_FILE fi for f in $CDR_DST_DIR/cdr-*.csv; do echo $f f_name="${f##*/}" ftp -v -n $FTP_SERVER <<End-Of-Session > /tmp/ftplog.$$ user $FTP_LOGIN "$FTP_PASSWORD" binary cd $FTP_DIRECTORY put "$f" "$f_name" bye End-Of-Session if fgrep -q "226 Transfer complete" /tmp/ftplog.$$ ;then echo "ftp OK" mv $f ${f}.uploaded fi done {code} {info} 1. Вы настроили выгрузку по фтп в папку /cdr
|