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