First time here? Check out the FAQ!

Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Не работает AGI скрипт

1

Доброго дня, о великие гуру * ! :-)

Накалякал скрипт, запускаю и получаю 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();
}

?>

спросил Jun 5 '12

nana_MeDBeD Gravatar nana_MeDBeD
312 46 11 34

Comments

Ну как бэ он тебе написал, что команда Exec неверно выполняется, но в скрипте ее нету, что странно...

switch (Jun 5 '12)edit

Вот и я голову ломаю.......акромя agi set debug on как то можно дебажить agi скрипты ?

nana_MeDBeD (Jun 5 '12)edit

4 Ответа

2

Попробуй chmod +x /var/lib/asterisk/agi-bin/crude1.php

ссылка удалить спам редактировать

ответил Jun 5 '12

mik Gravatar mik
31 3 1 7
0

Упрости файл, попробуй пустой скрипт для начала. Версия * какая?

ссылка удалить спам редактировать

ответил Jun 5 '12

Aven Gravatar Aven flag of Russian Federation
343 1 13
http://it-need.ru/
0

Короче трабла была в том, что скрипт был сохранен не в 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

Пошел за пистолетом...

ссылка удалить спам редактировать

ответил Jun 5 '12

nana_MeDBeD Gravatar nana_MeDBeD
312 46 11 34

Comments

у вас сам скрипт выводит дебажные сообщение в консоль Астериска. вы неполный скрипт показали, нет подключении ваших классов.сложно что то сказать. уберите echo из скрипта.

brost (Jun 6 '12)edit
0

Можно дебажить просто запуская их из консоли, но надо тогда сделать пхп скрипт исполняемым.

ссылка удалить спам редактировать

ответил Jun 5 '12

switch Gravatar switch
8334 11 7 92
http://lynks.ru/

Comments

Он в любом случае должен быть исполняемым.

Aven (Jun 5 '12)edit

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: Jun 5 '12

Просмотрен: 4,977 раз

Обновлен: Jun 05 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.