Добрый день!
Кто-нибудь связывал астериск с utm? Перечитал все посты которые были до этого они давнишние.
Может кто-нибудь подскажет куда копать, или небольшой гайд по связке.
Спасибо
Связка Asterisk + UTM5.3-002
-
- Сообщения: 77
- Зарегистрирован: Пн сен 14, 2009 13:53
- Откуда: Екатеринбург
- Контактная информация:
Я брал вот отсюда решение:
http://voip.rus.net/tiki-index.php?page=asterisk-utm
Но уже сто раз все поправил для себя, в том числе из-за того что использую Asterisk 1.8.26 (из epel).
Основной недостаток - надо следить за демоном для Accounting-а, иначе хана данным и потом только ручками из CDR
Да, для sipusers использую realtime таблички (заполняю тригерами).
UTM5 5.2.008u8
Проверкой/миграцией (хочу откзаться от тригеров БД, перейти на события RFW) на 5.3.002 займусь после заслуженного отдыха
http://voip.rus.net/tiki-index.php?page=asterisk-utm
Но уже сто раз все поправил для себя, в том числе из-за того что использую Asterisk 1.8.26 (из epel).
Основной недостаток - надо следить за демоном для Accounting-а, иначе хана данным и потом только ручками из CDR

Да, для sipusers использую realtime таблички (заполняю тригерами).
UTM5 5.2.008u8
Проверкой/миграцией (хочу откзаться от тригеров БД, перейти на события RFW) на 5.3.002 займусь после заслуженного отдыха

Я для accounting-а использовал вызов внешнего скрипта для
заливки в биллинг через unif_loader.
Что-то вроде:
exten => h,1,System(/netup/utm5/bin/utm5_unif_loader.sh "${CDR(src)}" "${CDR(dst)}" "${CDR(billsec)}" "${CDR(uniqueid)}" "${CDR(start)}" "${CDR(accountcode)}");
exten => h,n(end),NoOP;
/netup/utm5/bin/utm5_unif_loader.sh - самописный скрипт
#!/bin/bash
# параметры:
# 1 Вызывающий
# 2 Вызываемый
# 3 Время разговора в секундах
# 4 ID сессии
# 5 Время начала разговора
# 6 Логин
utm5_unif="/netup/utm5/bin/utm5_unif";
utm5_unif_cfg="/netup/utm5/utm5_unif_asterisk.cfg";
tmpDir="/var/tmp/asterisk";
log_file="/var/log/asterisk/utm5/radius.log";
debug=1;
if [ $# -lt 6 ]; then
echo "Use utm5_unif_loader.sh <src> <dst> <duration> <ses_id> <date_time_start> <login>";
echo "example: utm5_unif_loader.sh 8772592585 78772592584 30 1354846513548 \"2011-07-27 14:25:18\" test";
exit;
fi
src=$1; dst=$2; duration=$3; sesId=$4; dateTimeStart=$5; login=$6;
tmp_file=$tmpDir"/"$login"_"$sesId;
echo "$src|$dst|$duration|$sesId|$dateTimeStart|$login" > $tmp_file;
if [ $debug -eq 1 ]; then
$utm5_unif -c $utm5_unif_cfg -s $tmp_file 1>> $log_file 2>> $log_file;
else
$utm5_unif -c $utm5_unif_cfg -s $tmp_file 1> /dev/null 2> /dev/null;
fi
rm -f $tmp_file;
заливки в биллинг через unif_loader.
Что-то вроде:
exten => h,1,System(/netup/utm5/bin/utm5_unif_loader.sh "${CDR(src)}" "${CDR(dst)}" "${CDR(billsec)}" "${CDR(uniqueid)}" "${CDR(start)}" "${CDR(accountcode)}");
exten => h,n(end),NoOP;
/netup/utm5/bin/utm5_unif_loader.sh - самописный скрипт
#!/bin/bash
# параметры:
# 1 Вызывающий
# 2 Вызываемый
# 3 Время разговора в секундах
# 4 ID сессии
# 5 Время начала разговора
# 6 Логин
utm5_unif="/netup/utm5/bin/utm5_unif";
utm5_unif_cfg="/netup/utm5/utm5_unif_asterisk.cfg";
tmpDir="/var/tmp/asterisk";
log_file="/var/log/asterisk/utm5/radius.log";
debug=1;
if [ $# -lt 6 ]; then
echo "Use utm5_unif_loader.sh <src> <dst> <duration> <ses_id> <date_time_start> <login>";
echo "example: utm5_unif_loader.sh 8772592585 78772592584 30 1354846513548 \"2011-07-27 14:25:18\" test";
exit;
fi
src=$1; dst=$2; duration=$3; sesId=$4; dateTimeStart=$5; login=$6;
tmp_file=$tmpDir"/"$login"_"$sesId;
echo "$src|$dst|$duration|$sesId|$dateTimeStart|$login" > $tmp_file;
if [ $debug -eq 1 ]; then
$utm5_unif -c $utm5_unif_cfg -s $tmp_file 1>> $log_file 2>> $log_file;
else
$utm5_unif -c $utm5_unif_cfg -s $tmp_file 1> /dev/null 2> /dev/null;
fi
rm -f $tmp_file;