|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (51)
просмотр истории страницы{toc} |
_Для оборудования не поддерживающего Radius AAA существует альтернативный способ обсчета звонков через загрузку CDR, также рекомендуется его использовать и для оборудования с настроенным Radius AAA на случай проблем сети._ Основные шаги, которые необходимо выполнить для настройки ftp-сервера: * Добавить подсети или конкретные ip-адреса в формате XXX.XXX.XXX.XXX в список разрешенных ip-адресов или подсетей. Разделитель списка - пробел. * Установить пароль ftp сервера |
|
h2. Примечания! Прочтите перед настройкой |
{warning} {toc:maxLevel=2} |
|
_Важно\! VSFTPD работает в chroot /app/asr_billing/var/_ |
h1. Настройка |
|
_Важно\! Для загрузки CDR необходимо создать отдельное оборудование т.к. при загрузке CDR биллинг по Radius отправляет данные ввиде Acct-Stop пакетов с виртуального адреса 169.1.28.12_ |
{tip}{*}Время выполнения инструкции*: до 5 минут{tip} |
|
_Важно\! Владельецем директории, в которую планируется выгрузка cdr, должен быть пользователь cdr_ftp_{warning} {info}Обработанные CDR перемещаются в архив: например, если папка для загрузки cdr */var/oss/core/VOIP/cdr*, архив будет в папке */var/oss/core/VOIP/cdr_archive*{info} |
h2. Настройка разрешенных IP адресов и пароля |
|
h2. Настройка |
Зайдите в меню [Настройки \-> Настройки (в файле)|CarbonBilling:Настройки (в файле)], откройте вкладку "*Настройки FTP сервера*" |
|
_Для оборудования не поддерживающего Radius AAA существует альтернативный способ обсчета звонков через загрузку CDR, также рекомендуется его использовать и для оборудования с настроенным Radius AAA на случай проблем сети._ Основные шаги, которые необходимо выполнить для настройки ftp-сервера: * Добавить подсети или конкретные ip-адреса в формате XXX.XXX.XXX.XXX в список разрешенных ip-адресов или подсетей. Разделитель списка - пробел. * Установить пароль ftp сервера |
!cdr_ftp_set_ip_and_password.png|border=1! |
|
h3. Настройка разрешенных ip адресов |
h3. Добавление IP-адресов NAS |
|
*шаг 1* Заходим в "Настройки(в файле)" !Выделение_010.png|width=1200,border=1! *шаг 2* !Выделение_011.png|width=1200,border=1! *шаг 3* !Настройки фтп-ip.png|width=1200,border=1! |
Укажите IP-адреса VoIP NAS или подсети с которых они обращаются к биллингу. {note}Если VoIP NAS и Carbon Billing 5 находятся в разных сетях и общаются через маршрутизатор, укажите адрес маршрутизатора{note} |
|
h3. Настройка пароля пользователя cdr_ftp через веб-интерфейс |
h3. Установка пароля пользователя cdr_ftp в интерфейсе администратор |
|
*шаг 1* Заходим в "Настройки(в файле)" !Выделение_010.png|width=1200,border=1! *шаг 2* !Выделение_011.png|width=1200,border=1! *шаг 3* !Настройки фтп-пароль.png|width=1200,border=1! |
Задайте пароль в том же меню что и IP-адреса NAS. {note}Установить пароль и IP можно одновременно, а можно в любой момент настроить одно или другое.{note} |
|
h3. Настройка пароля пользователя cdr_ftp через терминал( для версий младше 51204273 ) |
h4. Установка пароля пользователя cdr_ftp через терминал Вы так же можете установить пароль используя командный интерфейс: |
{code} $ chroot /app/asr_billing/ |
... |
{code} |
h2. Создание директории для загрузки CDR-файлов * В актуальных версиях биллинга все директории создаются вручную, но эта глава может пригодиться на случай переустановки системы *Корневой директорией \*vsftpd* является */app/asr_billing/var/*. * Владельцем директории, в которую планируется выгрузка cdr, должен быть пользователь cdr_ftp. Создать её и установить права можно следующим образом: {code}chroot /app/asr_billing/ mkdir -p /var/cdr/VoIPnas1/ chroot /app/asr_billing/ chown cdr_ftp:cdr_ftp /var/cdr/VoIPnas1/{code} * Необходимо, чтобы у пользователя cdr_ftp были права на вход для всех вышестоящих папок. {info}Обработанные CDR перемещаются в архив: например, если папка для загрузки cdr */var/oss/core/VOIP/cdr*, архив будет в папке */var/oss/core/VOIP/cdr_archive{*}{info} |
h32. Настройка пассивного режима FTP |
Настройка пассивного режима FTP требуется для *Eltex SMG*, но может быть полезна в случае если биллинг и NAS находятся в разных сегментах сети. |
Откройте файл конфигурации сервера */app/asr_billing/etc/vsftpd/vsftpd.conf* и добавьте в конец файла следующие строки: {code}pasv_enable=Yes |
... |
Перезапустите FTP-сервер {code}chroot /app/asr_billing/ service vsftpd restart{code} |
При внесении изменений в */app/asr_billing/etc/vsftpd/vsftpd.conf* чтобы он не поменялся на оригинальный при обновлении, [скопируйте его в каталог хранения|CarbonBilling:Изменение системных файлов]: {code}mkdir -p /app/asr_billing/cfg/etc/vsftpd/ cp -a /app/asr_billing/etc/vsftpd/vsftpd.conf /app/asr_billing/cfg/etc/vsftpd/ {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} |
{code}iptables -I asr_billing_input -p tcp --destination-port 10090:10100 -s 10.0.0.0/24 -j ACCEPT{code} |
Адрес *169.254.80.82* *10.0.0.0/24* замените на адрес Вашей АТС или сервисную подсеть, откуда будут приходить запросы. |
|
h3. Пример скрипта выгрузки cdr файлов с asterisk |
{code} {info} |
#!/bin/bash |
1. Вы настроили выгрузку по фтп в папку /cdr 2. Учетная запись cdr_ftp поумолчанию заперта в /var поэтому в настройка оборудования биллинга необходимо указать путь /var/cdr/{info} |
|
set -eu |
h2. Пример настроек для FTP-сервера на получение cdr. |
|
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' |
Во вложении представлен пример настроек FTP-сервера для загрузки данных. |
|
cd "$CDR_DST_DIR" |
[^vsftpd.conf] |
|
[ ! -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 2. Учетная запись cdr_ftp поумолчанию заперта в /var поэтому в настройка оборудования биллинга необходимо указать путь /var/cdr/{info} |
h1. Отладка |
|
h2. Отладка. |
В файле */app/asr_billing/etc/vsftpd/vsftpd.conf* настройте сохранение логов в отдельный файл: |
|
{code}xferlog_std_format=NO xferlog_file=/var/log/vsftpd.log{code} |
Подробный debud vsftpd, можно включить, указав в файле */app/asr_billing/etc/vsftpd/vsftpd.conf*: {code}log_ftp_protocol=YES{code} Данную опцию необходимо отключить по завершении debug |
Перезапустите FTP-сервер {code}chroot /app/asr_billing/ service vsftpd restart{code} |
# Если вы видите в логах АТС что данные были отправлены, но не видите из в логе FTP, скорей всего проблема в фаерволе # Если же записи в логе FTP появляются, но звонков все равно нет в папке на сервере биллинга по логу можно попробовать определить в чем проблема. Вероятней всего, не настроен пассивный режим FTP или некорректно заданы права на папку для CDR |