On 2/28/12 1:47 PM, Robert A. Poff WB3AWJ wrote:
I have a need to call a shell script from a DTMF function.
An internet search finds this message in the archive : Calling a script message So based on what I found there I did this:
Added to extensions.conf: [call-bash-script] exten => 1,1,System(/etc/W3SBA/utils/drillactive) ; Configure for EmComm Drill
And in rpt.conf: 8495=autopatchup,context=call-bash-script,farenddisconnect=1 ;84951 - Set up for EmComm Drill It works as is. But, is this still the way to do this? Or is there a "better" way to make a call to the system?
What are you trying to do? I don't usually add anything to extensions.conf; just a dtmf command in rpt.conf that calls a script using DTMF=cmd,/etc/asterisk/scripts/blah.sh where blah.sh may be something as simple as #!/bin/bash /usr/sbin/asterisk -rx "rpt cmd xxxxx ilink 1 yyyyy" so...keying up and doing a *DTMF# sequence will call my blah.sh script, execute it, and do what it says (in this case, send a command to xxxxx to disconnect node yyyyy. Of course, you have to watch for command length matching... 99=cmd,/x/y/huh.sh 991=cmd,/a/b/c.sh will never get executed, since there will be a match on 99 and huh.sh will get executed when the minimal match is made... better to have 990...;) Found that the hard way. I know there are other ways...but, this seems to work the least painfully at least for me so far. -- Bryan In this world, you must be oh so smart or oh so pleasant. Well, for years I was smart. I recommend pleasant. You may quote me. Sent from my MacBook Pro.