[asterisk-users] RES: RES: How to invoke a binary file from the dial plan?

Kevin Larsen kevin.larsen at pioneerballoon.com
Wed Jun 3 08:34:24 CDT 2015


> I love this question, simply because it allows me to talk about one 
> of the neatest features I programmed into my system that barely 
> anyone knows exists. Plus it lines up pretty much exactly with what 
> you are trying to do. 
> 
> We have our gate control system tied into our Asterisk phone system 
> so it is possible to dial a code on the phone and open the entrance 
> gate to let someone in after hours. Only problem is this happens so 
> rarely that no one (myself included) ever remembered the code. Thus 
> a search for a better way. 
> 
> Now, when someone uses the gate phone to request entry, I change the
> caller ID on the display of the person who answers to read "Press 9 
> to open gate". During the call, they can hit 9 at any time and the 
> gate will open for them. Up until they answer, the caller ID reads 
> Gate Phone, but when they answer, it changes to that text. 
> 
> The part about opening the gate is the magic piece you want to look 
> into. Read up on applicationmap in features.conf. It's pretty simple
> and very effective. Here is what mine looks like. I am going to 
> replace my actual command with <insert command here>. 
> 
> gate => 9,self/callee,System,<insert command here> ; Custom 
> application to open the gate. 
> 
> This says that this feature is active in the 'gate' context of my 
> dialplan. The dialing pattern it is looking for is a 9. 'self' tells
> it to activate on the channel that dialed it and callee says that 
> the person receiving the call is the only one that can activate it 
> (otherwise the person at the gate phone could hit 9 to open it). I 
> am running the System dialplan application and passing it the 
> <insert command here> value. Everything after the ';' is a comment 
> as normal. The <insert command here> is equivalent to what you would
> put inside the '()' if it were in the dialplan (i.e. 'System(<insert
> command here>)'). 
> 
> Pretty straightforward to get it working once you know what to look 
> for. Let me know if you want to know how I manipulate the Caller ID 
> upon answering the call to give the instructions to the callee on 
> how to open the gate/door. 

I just realized I said one piece wrong in this. 'gate' is not the context, 
it is the dynamic feature designator. I can illustrate this better by 
posting my front gate context.

[front_gate]
exten => <number gate dials goes here>,1,Set(__DYNAMIC_FEATURES=gate)
  same => n,Goto(frontgate_queue,${EXTEN},1)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20150603/d48aae49/attachment.html>


More information about the asterisk-users mailing list