Добрый день! Пытаюсь настроить аутентификацию через 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
Просмотрен: 617 раз
Обновлен: 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 )редактировать