Asterisk does not RUN a script or command on incoming call

Asterisk 11.21.0 installed in Raspberry 2

3G Huawei E173 works ok.

I am a noob in asterisk. Trying to make a call (Zero$ free of charge simple Beep), reject/busy/hangup, to the RPI and that call to trigger/execute a command/script (want to make Relay to open/close circuit but cannot even run a simple echo).
I understand that Hangup cannot be used as first the call must be answered and I do not want RPI to answer at all. So I tried to use the BUSY application. The busy application works OK and on the phone gets a busy tone in 0 seconds or whatever timeout I choose.
But after I get the busy tone and call is ended the command or script is not executed.
-in my chan_dongle I choose context dongle0
-in extensions_custom.conf I put
exten => +40111111111,1,Busy(5)
exten => +40111111111,2,System(/var/lib/asterisk/agi-bin/echo)
exten => +40111111111,3,System(echo “test” >> /var/log/asterisk/test.log)
exten => +40111111111,4,AGI(/var/lib/asterisk/agi-bin/echo)
-phone number above is fake but in my config is the correct SIM number.
-if I do not put the PhoneNumber of the SIM plugged in 3G modem, I get answered, dunno why or what other context is responsible that makes the modem answer.
-tried with System and command, system and script, AGI and script but NO success.
-the script has the Executable bit set for everyone.
-in my log there are only two lines

[2016-05-22 18:14:25] VERBOSE[1876][C-00000000] pbx.c: – Executing [+40111111111@dongle0:1] Busy(“Dongle/dongle0-0100000000”, “5”) in new stack
[2016-05-22 18:14:30] VERBOSE[1876][C-00000000] pbx.c: == Spawn extension (dongle0, +40111111111, 1) exited non-zero on ‘Dongle/dongle0-0100000000’

-the command or script is just to place and echo TEST word in a file, but that is not done at all

echo script
echo “TEST” >> /var/log/asterisk/TEST.txt

not even the command with System application is executed.

Please help me how to make a zero $ call but still trigger a command

Hangup can be called on an unanswered call, and it is most useful then, as you are more likely to have the parameter value used.

The busy application always returns non-zero, independent of channel technology, as does the hangup application.

Running anything long running after a technology driver hangup is not a good idea. as technology drivers expect the channel to have gone away by the time they have wrapped up the call.

I can think of ways of getting round the return -1, but I need convincing that your network operator doesn’t consider this a fair use violation.

Thank you very much for your reply

I changed the first line in the extensions_custom.conf file
and reboot raspberry. Still getting busy tone on the phone and no command or scripts is triggered

exten => +40111111111,1,Hangup()

Log changed from ‘‘Busy’’ to ‘‘Hangup’’ but same behaviour
[2016-05-23 08:52:39] VERBOSE[3148][C-00000000] pbx.c: – Executing [+40111111111@dongle0:1] Hangup(“Dongle/dongle0-0100000000”, “”) in new stack
[2016-05-23 08:52:39] VERBOSE[3148][C-00000000] pbx.c: == Spawn extension (dongle0, +40111111111, 1) exited non-zero on ‘Dongle/dongle0-0100000000’

This method I am using it for over 5 years with a Hardware purchased and there is no problem of Fair use with my mobile Provider as I am payng a prePayed Sim and can call and receive calls with no issue. and since the call is generated by a human (me)there is no way I can flood the GSM network. Beside that the Provider is free to restrict my access when he wants and obviuosly in that case I can discuss personally with the Provider. But the Fair use is not in question in this scenario because many industrial applications make use of the GSM and 3G networks in automations.

Can you give me some of your thoughts on how to configure the Asterisk or what to put in which .conf files so it can proceed after Rejecting the call?

thanks a lot