<tt><font size=2>asterisk-users-bounces@lists.digium.com wrote on 01/04/2016
08:55:40 AM:<br>
<br>
> My question:<br>
> <br>
> - two extensions: 1111 and 2222<br>
> - an active call on 1111<br>
> - incoming calls to 1111 should be forwarded to 1111 (call advice!)
and 2222<br>
> <br>
> I know how can I forward an incoming call to more than an extension,
 <br>
> but I have no idea how can I get the information, that 1111 has  <br>
> already an active call...<br>
> <br>
</font></tt>
<br><tt><font size=2>I am not sure if I completely understand what you
are trying to do, but it sounds like you want to query the DEVICE_STATE
function.</font></tt>
<br>
<br><tt><font size=2>For instance, my customer service department has this
thing against ever having their phone ring a call while they are already
on a call, so for these special little snowflakes, I have  the following
line:</font></tt>
<br>
<br><tt><font size=2>same => n(voice),GotoIf($["${DEVICE_STATE(sip/${EXTEN})}"
!= "NOT_INUSE"]?voicebusy)</font></tt>
<br>
<br><tt><font size=2>Basically, this little line looks at the extension
and if it shows anything other than free (NOT_INUSE), it jumps to the voicebusy
line in the dialplan. The voicebusy line just hits voicemail directly.</font></tt>
<br>
<br><tt><font size=2>You can use this same idea to branch your logic and
handle a variety of situations. In my case, I only want to actually perform
the dial if the phone is currently not in use, so my logic was fairly simple.</font></tt>
<br>
<br><tt><font size=2>See here for reference:</font></tt>
<br><a href="https://wiki.asterisk.org/wiki/display/AST/Device+State"><tt><font size=2>https://wiki.asterisk.org/wiki/display/AST/Device+State</font></tt></a>
<br clear="both">
______________________________________________________________________<BR>
This email has been scanned by the Symantec Email Security.cloud service.<BR>
For more information please visit http://www.symanteccloud.com<BR>
______________________________________________________________________<BR>