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

2015-06-03 Thread Guenther Boelter
Great 
On Jun 3, 2015 9:29 PM, Kevin Larsen kevin.lar...@pioneerballoon.com
wrote:

  Hi Kevin.
 
  Thank you very much for the hint! It worked very well!
 
  Your example ' exten = 1234,1,System(echo This is a test  /
  var/log/asterisk/test.txt) ' executes when the SIP client (my
  softphone Jitsi) sends  a SIP INVITE to asterisk.  So, the softphone
  tries to establish a session with target 1234.
 
  Now, lets suppose my softphone rings and I answer a call. During the
  call, the caller asks me to execute a command (ex: to open a door or
  gate). In this case, what have I to program in dial plan to Asterisk
  execute System() again? Is it possible to execute a dial plan even
  during an ongoing call?
 
  Finally, lets suppose I want to use my softphone to execute a dial
  plan, even without establishing a call (no session with target
  1234). For example, If I decide to open a dor or gate using my
  softphone, without existing an ongoing call, what have I to program
  in dial plan to Asterisk executes System(). Is this idea possible?
 
  Any hint will be very hepful!

 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.
 --
 _
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --
 New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

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

2015-06-03 Thread Kevin Larsen
 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)

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

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

2015-06-03 Thread Rodrigo Pimenta Carvalho
Hi Kevin.

Thank you very much for the hint! It worked very well!

Your example ' exten = 1234,1,System(echo This is a test  
/var/log/asterisk/test.txt) ' executes when the SIP client (my softphone 
Jitsi) sends  a SIP INVITE to asterisk.  So, the softphone tries to establish a 
session with target 1234.

Now, lets suppose my softphone rings and I answer a call. During the call, the 
caller asks me to execute a command (ex: to open a door or gate). In this case, 
what have I to program in dial plan to Asterisk execute System() again? Is it 
possible to execute a dial plan even during an ongoing call?

Finally, lets suppose I want to use my softphone to execute a dial plan, even 
without establishing a call (no session with target 1234). For example, If I 
decide to open a dor or gate using my softphone, without existing an ongoing 
call, what have I to program in dial plan to Asterisk executes System(). Is 
this idea possible?

Any hint will be very hepful!

Best regards.


RODRIGO PIMENTA CARVALHO
Inatel Competence Center
Software
Ph: +55 35 3471 9200 RAMAL 979

De: asterisk-users-boun...@lists.digium.com 
[asterisk-users-boun...@lists.digium.com] em Nome de Kevin Larsen 
[kevin.lar...@pioneerballoon.com]
Enviado: terça-feira, 2 de junho de 2015 17:50
Para: Asterisk Users Mailing List - Non-Commercial Discussion
Assunto: Re: [asterisk-users] RES: How to invoke a binary file from the dial
plan?

 Ok. Thanks for the hint.

 But, what exactly is a System() dialplan application? Is it a kind
 of command that i can call in dial plan?

 I will look for System() related to dial plans.

From the Asterisk CLI type:
core show application System

It will print out the syntax for the command. One of the easier dialplan 
applications.

exten = 1234,1,System(echo This is a test  /var/log/asterisk/test.txt)

That line would use the Linux echo command to place the text This is a test 
into a file named test.txt located in the /var/log/asterisk directory.

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


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

2015-06-03 Thread Kevin Larsen
 Hi Kevin.
 
 Thank you very much for the hint! It worked very well!
 
 Your example ' exten = 1234,1,System(echo This is a test  /
 var/log/asterisk/test.txt) ' executes when the SIP client (my 
 softphone Jitsi) sends  a SIP INVITE to asterisk.  So, the softphone
 tries to establish a session with target 1234.
 
 Now, lets suppose my softphone rings and I answer a call. During the
 call, the caller asks me to execute a command (ex: to open a door or
 gate). In this case, what have I to program in dial plan to Asterisk
 execute System() again? Is it possible to execute a dial plan even 
 during an ongoing call?
 
 Finally, lets suppose I want to use my softphone to execute a dial 
 plan, even without establishing a call (no session with target 
 1234). For example, If I decide to open a dor or gate using my 
 softphone, without existing an ongoing call, what have I to program 
 in dial plan to Asterisk executes System(). Is this idea possible?
 
 Any hint will be very hepful!

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.-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users