Настройка FTP сервера для выгрузки CDR

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

Для оборудования не поддерживающего Radius AAA существует альтернативный способ обсчета звонков через загрузку CDR, также рекомендуется его использовать и для оборудования с настроенным Radius AAA на случай проблем сети.

Важно! Для загрузки CDR необходимо создать отдельное оборудование т.к. при загрузке CDR биллинг по Radius отправляет данные ввиде Acct-Stop пакетов с виртуального адреса 169.1.28.12

Основные шаги, которые необходимо выполнить для настройки ftp-сервера:

  • Добавить подсети или конкретные ip-адреса в формате XXX.XXX.XXX.XXX в список разрешенных ip-адресов или подсетей. Разделитель списка - пробел.
  • Установить пароль ftp сервера

Настройка разрешенных ip адресов

шаг 1 Заходим в "Настройки(в файле)"

шаг 2

шаг 3

Настройка пароля пользователя cdr_ftp через веб-интерфейс

шаг 1 Заходим в "Настройки(в файле)"

шаг 2

шаг 3

Настройка пароля пользователя cdr_ftp через терминал( для версий младше 51204273 )

$ chroot /app/asr_billing/
(asr_billing) $ passwd cdr_ftp # вводим пароль
(asr_billing) $ rsync /etc/shadow /cfg/etc/shadow # необходимо выполнить для сохранения пароля после рестарта контейнера

Пример скрипта выгрузки cdr файлов с asterisk

#!/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

Пример.

1. Вы настроили выгрузку по фтп в папку /cdr
2. Учетная запись cdr_ftp поумолчанию заперта в /var поэтому в настройка оборудования биллинга необходимо указать путь /var/cdr/

Внимание! При правильной настройке, все выгруженные CDR файлы, при успешной загрузке, удаляются из директории.

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.