PDA

Voir la version complète : Failed to execute '/var/lib/asterisk/agi-bin/Appelerabia.php': No such file or directory



jeremyb
20/06/2014, 12h51
Bonjour,

Alors voila, j'ai créer un script php qui me permet de générer des fichier calls. J'utilise une variable pour changer, par exemple, le message jouer pendant l'appel. Pensant avoir une érreur de variable, je ne pensait pas voir ce genre d'erreur :

-----Launched AGI Script /var/lib/asterisk/agi-bin/Appelerabia.php
Appelerabia.php, goodbye: Failed to execute '/var/lib/asterisk/agi-bin/Appelerabia.php': No such file or directory

J'ai donc vérifié le nom de mon fichier appelé dans le context et le nom de mon script (les 2 pareils)
J'ai regardé si j'avais bien mis mon script au bon endroit (il cherche dans /var/lib/asterisk/agi-bin/Appelerabia.php et c'est la que je l'ai mis aussi)
J'ai essayé sans le ".php" (il me dis que le fichier n'existe pas)

J'ai fais un chmod 777 sur mon script donc ce n'est pas une question de droit

HEEEELP !!!

voici mon context :

[appelabia]
exten => s,1,wait(2)
exten => s,n,Playback(welcome)
exten => s,n,Waitexten()
exten => 1,1,Goto(s,1)
exten => 2,1,wait(10)
exten => 2,n,Set(message=goodbye)
exten => 2,n,AGI(Appelerabia.php, ${message})
exten => 2,n,Waitexten()
exten => 7,1,Hangup()

mon script :

<?php
$fichier_call= fopen("/tmp/test.txt", "a");
fputs("Channel: SIP/freephonie/0240160144
MaxRetries: 2
RetryTime: 60
WaitTime: 30
Application: Playback
Data:".$message);
fclose("test.txt");
chmod("/tmp/test", 0777);
rename( '/tmp/test.txt', '/var/spool/asterisk/outgoing/appelabia.call');
?>

et le fichier call qui appel mon context :

Channel: SIP/freephonie/0240XXXXXX
MaxRetries: 2
RetryTime: 60
WaitTime: 30
Context: appelabia
Extension: s
Priority: 1

Le but étant d'appeler un un numéro en entrant dans un context, puis apres appuie sur 2 on fixe une variable pour ensuite l'utiliser dans le script php qui va créer un fichier call et effectuer un appel, le truc c'est que je pensais que l'erreur allait etre de l'ordre de "il y a deja un appel donc on ne peut pas appeler le tel" (en meme temps en faisant avec hangup j'arrive a rien ...)

Apres un agi set debug on voici ce qui apparait pendant mon test :

<SIP/freephonie-00000000>AGI Tx >> agi_request: Appelerabia.php
<SIP/freephonie-00000000>AGI Tx >> agi_channel: SIP/freephonie-00000000
<SIP/freephonie-00000000>AGI Tx >> agi_language: en
<SIP/freephonie-00000000>AGI Tx >> agi_type: SIP
<SIP/freephonie-00000000>AGI Tx >> agi_uniqueid: 1405868034.0
<SIP/freephonie-00000000>AGI Tx >> agi_version: 11.10.0
<SIP/freephonie-00000000>AGI Tx >> agi_callerid: unknown
<SIP/freephonie-00000000>AGI Tx >> agi_calleridname: unknown
<SIP/freephonie-00000000>AGI Tx >> agi_callingpres: 0
<SIP/freephonie-00000000>AGI Tx >> agi_callingani2: 0
<SIP/freephonie-00000000>AGI Tx >> agi_callington: 0
<SIP/freephonie-00000000>AGI Tx >> agi_callingtns: 0
<SIP/freephonie-00000000>AGI Tx >> agi_dnid: unknown
<SIP/freephonie-00000000>AGI Tx >> agi_rdnis: unknown
<SIP/freephonie-00000000>AGI Tx >> agi_context: appelabia
<SIP/freephonie-00000000>AGI Tx >> agi_extension: 2
<SIP/freephonie-00000000>AGI Tx >> agi_priority: 3
<SIP/freephonie-00000000>AGI Tx >> agi_enhanced: 0.0
<SIP/freephonie-00000000>AGI Tx >> agi_accountcode:
<SIP/freephonie-00000000>AGI Tx >> agi_threadid: -1242887312
<SIP/freephonie-00000000>AGI Tx >> agi_arg_1: goodbye
<SIP/freephonie-00000000>AGI Tx >>
<SIP/freephonie-00000000>AGI Rx <<
[2014-07-20 13:54:13] WARNING[19744]: pbx_spool.c:289 apply_outgoing: At least one of app or extension must be specified, along with tech and dest in file /var/spool/asterisk/outgoing/appelabia.call
[2014-07-20 13:54:13] WARNING[19744]: pbx_spool.c:456 scan_service: Invalid file contents in /var/spool/asterisk/outgoing/appelabia.call, deleting
<SIP/freephonie-00000000>AGI Tx >> 510 Invalid or unknown command
-- <SIP/freephonie-00000000>AGI Script Appelerabia.php completed, returning 0
Et je ne comprends pas tres bien ce qu'il me demande (ni ce "freephonie-00000000" ...)

davlefou
20/06/2014, 17h03
Bonjour,
déjà il vaudrait mieux faire un chown asterisk:asterisk /var/lib/asterisk/agi-bin/Appelerabia.php pour avoir une bonne execution.
En plus, il te manque le shebang en début de fichier : #!/usr/bin/php -q

jeremyb
20/06/2014, 19h59
Merci pour ta réponse


déjà il vaudrait mieux faire un chown asterisk

C'est quoi un chown ?

davlefou
20/06/2014, 23h44
le fichier pour l'agi doit être propriété asterisk pour bien fonctionné! chown est pour changer le propriétaire!