Добрый день! Пытаюсь настроить аутентификацию через Radius. Аккаунтинг работает без проблем, а аутентификация не хочет! При чем ошибок не выдает вообще:
> -- Executing [84956477777@sip_auth:1] AGI("SIP/1001-00000004", "agi-rad-auth.agi,Mode=Account&Username= 1001 ") in new stack <p>
-- Launched AGI Script /var/lib/asterisk/agi-bin/agi-rad-auth.agi <p>
<SIP/1001-00000004>AGI Tx >> agi_request: agi-rad-auth.agi <p>
<SIP/1001-00000004>AGI Tx >> agi_channel: SIP/1001-00000004 <p>
<SIP/1001-00000004>AGI Tx >> agi_language: en <p>
...
<SIP/1001-00000004>AGI Tx >> agi_accountcode: <p>
<SIP/1001-00000004>AGI Tx >> agi_threadid: 140464187651840 <p>
<SIP/1001-00000004>AGI Tx >> agi_arg_1: Mode=Account&Username= 1001 <p>
<SIP/1001-00000004>AGI Tx >> <p>
-- <SIP/1001-00000004>AGI Script agi-rad-auth.agi completed, returning 0
Подскажите почему нет ответа через STDOUT (AGI Rx <<)??
Скрипт взят вот от сюда Вот его начало:
use Crypt::CBC;
use Asterisk::AGI;
use Authen::Radius;
use Digest::MD5 qw(md5_hex);
my $return_code;
my $credit_time = -1;
my $timeout = -1;
my $credit_amount;
my $hangup = 1;
my $call_setup = 1;
$AGI = new Asterisk::AGI;
my %input = $AGI->ReadParse();
return $todecode;
$AGI->verbose("AGI Environment Dump:", 3);
foreach my $i (sort keys %input) {
$AGI->verbose(" -- $i = $input{$i}", 3);
return $todecode;
}
my %params;
my(@pairs) = split(/[&;]/,$ARGV[0]);
my($param,$value);
foreach (@pairs) {
($param,$value) = split('=',$_,2);
$param = unescape($param);
$value = unescape($value);
$params{$param}=$value;
}
Все модули подгружены. На соседней машине этот же скрипт аутентификации работает. Не могу разобраться, ошибок вообще не выдает!
Помогите, пжл.
вы же используете не астериск а внешний неработающий скрипт.
откройте скрипт и найдите в чем дело.
не можете разобраться - в раздел бизнес или в форум по перлу. хотя вас там тоже отошлют кудато.скорее всего на мануалы по дебагу или в университет.
Задан: 2012-09-24 17:18:21 +0400
Просмотрен: 566 раз
Обновлен: Sep 24 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
спрашивали же недавно... с теми симптомами в платный саппорт.
komrad123 ( 2012-09-24 17:43:15 +0400 )редактироватьОтредактировал , но не понял что такое "пжл". Видимо значит "Помогите , Плохие Жирные Люди." Хам.
zzuz ( 2012-09-24 18:27:34 +0400 )редактироватьпрям этот же ? с return сразу после readparse да еще без всяких процедур ?
komrad123 ( 2012-09-24 18:35:21 +0400 )редактироватьда да. Автор видимо так , от балды прерисовал. Щедрый , еще ничего не принял , а уже отдает)
zzuz ( 2012-09-24 18:38:59 +0400 )редактироватьreturn это я приресовал. Пытался понять, доходит он до туда или нет. В конце концов выяснилось, ты хоть что там приресуй он все равно скажет completed. Если в начале убрать подгрузку модуля ( use Asterisk::AGI;) то Rx начинает появляться. Может подмена какая-нить осуществляется...
Anatoly_anso ( 2012-09-25 09:40:22 +0400 )редактироватьМистика. Если Вам простой пример не даётся , то может ну его?
zzuz ( 2012-09-25 10:15:11 +0400 )редактироватьдебаг делается так. в скрипт делаете $AGI->verbose("something"). в астериске включает agi set debug on
meral ( 2012-09-25 15:22:24 +0400 )редактировать