у вас сам скрипт выводит дебажные сообщение в консоль Астериска. вы неполный скрипт показали, нет подключении ваших классов.сложно что то сказать. уберите echo из скрипта.
brost ( 2012-06-06 10:27:49 +0400 )редактироватьДоброго дня, о великие гуру * ! :-)
Накалякал скрипт, запускаю и получаю Failed to execute '/var/lib/asterisk/agi-bin/crude1.php': Exec format error" 1
Подскажите в каком направлении рыть
Call-centre*CLI>
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [122@test_balance:1] Answer("SIP/5603-00000000", "") in new stack
-- Executing [122@test_balance:2] AGI("SIP/5603-00000000", "crude1.php") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/crude1.php
<SIP/5603-00000000>AGI Tx >> agi_request: crude1.php
<SIP/5603-00000000>AGI Tx >> agi_channel: SIP/5603-00000000
<SIP/5603-00000000>AGI Tx >> agi_language: en
<SIP/5603-00000000>AGI Tx >> agi_type: SIP
<SIP/5603-00000000>AGI Tx >> agi_uniqueid: 1338806057.0
<SIP/5603-00000000>AGI Tx >> agi_version: 1.8.11.0
<SIP/5603-00000000>AGI Tx >> agi_callerid: 5603
<SIP/5603-00000000>AGI Tx >> agi_calleridname: device
<SIP/5603-00000000>AGI Tx >> agi_callingpres: 0
<SIP/5603-00000000>AGI Tx >> agi_callingani2: 0
<SIP/5603-00000000>AGI Tx >> agi_callington: 0
<SIP/5603-00000000>AGI Tx >> agi_callingtns: 0
<SIP/5603-00000000>AGI Tx >> agi_dnid: 122
<SIP/5603-00000000>AGI Tx >> agi_rdnis: unknown
<SIP/5603-00000000>AGI Tx >> agi_context: test_balance
<SIP/5603-00000000>AGI Tx >> agi_extension: 122
<SIP/5603-00000000>AGI Tx >> agi_priority: 2
<SIP/5603-00000000>AGI Tx >> agi_enhanced: 0.0
<SIP/5603-00000000>AGI Tx >> agi_accountcode:
<SIP/5603-00000000>AGI Tx >> agi_threadid: -1226949744
<SIP/5603-00000000>AGI Tx >>
<SIP/5603-00000000>AGI Rx << verbose "Failed to execute '/var/lib/asterisk/agi-bin/crude1.php': Exec format error" 1
crude1.php: Failed to execute '/var/lib/asterisk/agi-bin/crude1.php': Exec format error
<SIP/5603-00000000>AGI Tx >> 200 result=1
Вот сам скриптик:
#!/usr/bin/php -q
<?php
require('phpagi.php');
global $agi;
$agi = new AGI();
$res=$agi->answer();
$cid = $agi->request["agi_callerid"];
$r=$agi->get_data('please-enter-your',14000,9);
$account_Number=$r['result'];
$balance=0;
$username = 'test';
$password = 'tester';
$client = new SoapClient(
'https://192.168.0.1:443/services/abc/ClientDataService?wsdl',
array('trace' => TRUE, 'style' => SOAP_RPC)
);
// Prepare SoapHeader parameters
$sh_param = new stdClass();
$sh_param->login = $username;
$sh_param->passhash = md5($password);
$headers = new SoapHeader('http://abc.ru/services/authentication/1.0', 'auth-token', $sh_param);
// Prepare Soap Client
$client->__setSoapHeaders(array($headers));
$balance='';
try {
$res = $client->getPersonData(array('request' => array('accountNumber' => $accountNumber)));
echo $res->return->agreements->agreement->accounts->account->balance . "\n";
$agi->stream_file('podogovoru');
$agi->say_number($accountNumber);
$agi->stream_file('balanssostavlyaet');
$agi->say_money($balance);
$s=$agi->get_data('returntomenu',9000,1);
$st=$s['result'];
if ($st=="*"){
$agi->goto_dest('ivr-3');
} else {
$agi->hangup();
}
} catch (SoapFault $fault) {
//echo $client->__getLastRequest();
//echo '\n---------------------------------------\n';
//echo $client->__getLastResponse();
$agi->stream_file('invalid');
$agi->hangup();
}
?>
Попробуй chmod +x /var/lib/asterisk/agi-bin/crude1.php
Упрости файл, попробуй пустой скрипт для начала. Версия * какая?
Короче трабла была в том, что скрипт был сохранен не в ANSI формате.
Но вылезло следующее :
-- Executing [122@test_balance:1] AGI("SIP/5603-00000001", "crude1.php") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/crude1.php
<SIP/5603-00000001>AGI Tx >> agi_request: crude1.php
<SIP/5603-00000001>AGI Tx >> agi_channel: SIP/5603-00000001
<SIP/5603-00000001>AGI Tx >> agi_language: en
<SIP/5603-00000001>AGI Tx >> agi_type: SIP
<SIP/5603-00000001>AGI Tx >> agi_uniqueid: 1338884606.1
<SIP/5603-00000001>AGI Tx >> agi_version: 1.8.11.0
<SIP/5603-00000001>AGI Tx >> agi_callerid: 5603
<SIP/5603-00000001>AGI Tx >> agi_calleridname: device
<SIP/5603-00000001>AGI Tx >> agi_callingpres: 0
<SIP/5603-00000001>AGI Tx >> agi_callingani2: 0
<SIP/5603-00000001>AGI Tx >> agi_callington: 0
<SIP/5603-00000001>AGI Tx >> agi_callingtns: 0
<SIP/5603-00000001>AGI Tx >> agi_dnid: 122
<SIP/5603-00000001>AGI Tx >> agi_rdnis: unknown
<SIP/5603-00000001>AGI Tx >> agi_context: test_balance
<SIP/5603-00000001>AGI Tx >> agi_extension: 122
<SIP/5603-00000001>AGI Tx >> agi_priority: 1
<SIP/5603-00000001>AGI Tx >> agi_enhanced: 0.0
<SIP/5603-00000001>AGI Tx >> agi_accountcode:
<SIP/5603-00000001>AGI Tx >> agi_threadid: -1225966704
<SIP/5603-00000001>AGI Tx >>
<SIP/5603-00000001>AGI Rx << Usage: php [options] [-f] <file> [--] [args...]
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << php [options] -r <code> [--] [args...]
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << php [options] -- [args...]
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << php [options] -a
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx <<
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -a Run interactively
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -c <path>|<file> Look for php.ini file in this directory
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -n No php.ini file will be used
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -d foo[=bar] Define INI entry foo with value 'bar'
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -e Generate extended information for debugger/profiler
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -f <file> Parse <file>.
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -h This help
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -i PHP information
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -l Syntax check only (lint)
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -m Show compiled in modules
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -r <code> Run PHP <code> without using script tags <?..?>
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -B <begin_code> Run PHP <begin_code> before processing input lines
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -R <code> Run PHP <code> for every input line
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -F <file> Parse and execute <file> for every input line
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -E <end_code> Run PHP <end_code> after processing all input lines
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -H Hide any passed arguments from external tools.
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -s Display colour syntax highlighted source.
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -v Version number
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -w Display source with stripped comments and whitespace.
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << -z <file> Load Zend extension <file>.
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx <<
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << args... Arguments passed to script. Use -- args when first argument
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << starts with - or script is read from stdin
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx <<
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << --rf <name> Show information about function <name>.
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << --rc <name> Show information about class <name>.
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx << --re <name> Show information about extension <name>.
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
<SIP/5603-00000001>AGI Rx <<
<SIP/5603-00000001>AGI Tx >> 510 Invalid or unknown command
-- <SIP/5603-00000001>AGI Script crude1.php completed, returning 0
Пошел за пистолетом...
у вас сам скрипт выводит дебажные сообщение в консоль Астериска. вы неполный скрипт показали, нет подключении ваших классов.сложно что то сказать. уберите echo из скрипта.
brost ( 2012-06-06 10:27:49 +0400 )редактироватьМожно дебажить просто запуская их из консоли, но надо тогда сделать пхп скрипт исполняемым.
Задан: 2012-06-05 05:27:11 +0400
Просмотрен: 4,957 раз
Обновлен: Jun 05 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Ну как бэ он тебе написал, что команда Exec неверно выполняется, но в скрипте ее нету, что странно...
switch ( 2012-06-05 08:19:35 +0400 )редактироватьВот и я голову ломаю.......акромя agi set debug on как то можно дебажить agi скрипты ?
nana_MeDBeD ( 2012-06-05 11:00:48 +0400 )редактировать