<div dir="ltr"><div><div>There's some example code in the Dial-Users context of the basic-pbx samples that might be of use in implementing it.<br><br></div>They are checking a DEVICE_STATE to see if a phone is BUSY, You could change it to be a database call or implement custom device states and check those.<br><br></div>wrapping your test case in an ExecIF statement that uses the DB_EXISTS function to see if the database field you are checking is valid so you don't get errors about non existent entries.<br><br><a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Function_DB_EXISTS">https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Function_DB_EXISTS</a><br><br><a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Function_DB">https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Function_DB</a><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 10, 2018 at 11:19 AM, Atux Atux <span dir="ltr"><<a href="mailto:atuxnull@gmail.com" target="_blank">atuxnull@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">That is the general idea. But how do i make it work? is there somewhere ready?<br><br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 10, 2018 at 6:39 PM, John Kiniston <span dir="ltr"><<a href="mailto:johnkiniston@gmail.com" target="_blank">johnkiniston@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Define your *72 and *73 extensions in your internal context, Have them set a value in the ASTDB that you then check when dialing your handsets.<br><br></div>The same can be done for call forwarding, store a number in the ASTDB and check if it's present, if it is forward the call to that number.<br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_415151765286957004h5">On Wed, Jan 10, 2018 at 12:18 AM, Atux Atux <span dir="ltr"><<a href="mailto:atuxnull@gmail.com" target="_blank">atuxnull@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_415151765286957004h5"><div dir="ltr"><div dir="ltr"><div class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-cooked"><p>Hi. i am running asterisk 11 and i would like to 
have features access codes in my system such as call waiting(all types) 
(enable/disable), call forward (enable/disable) and DND. my dialplan is 
pretty simple and it is the following</p>
<pre><code class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-ini"><span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-section">[DefaultPlan]</span>
<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-attr">exten</span> => _XXXXXXXXXX,<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-number">1</span>,Dial(SIP/VoipGat<wbr>e/<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-variable">${EXTEN}</span>,<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-number">120</span>,Tt)
<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-attr">exten</span> => _XXXXXXXXXX,<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-number">1</span>,Busy()

<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-attr">exten</span> => _4XX,<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-number">2</span>,Answer()
<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-attr">exten</span> => _4XX,<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-number">3</span>,VoiceMail(<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-variable">${EXTEN}</span>@<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-literal">Off</span>i<wbr>ce,su)
<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-attr">exten</span> => _4XX,<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-number">4</span>,HangUp()
<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-attr">exten</span> => _4XX,<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-number">102</span>,Answer()
<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-attr">exten</span> => _4XX,<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-number">103</span>,VoiceMail(<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-variable">${EXTEN}</span>@<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-literal">Of<wbr>f</span>ice,sb)
<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-attr">exten</span> => _4XX,<span class="m_415151765286957004m_1530490640429697949m_-3536862434445656027gmail-m_-454014356774517603gmail-hljs-number">104</span>,HangUp()
</code></pre>
<p>i would like to enable/disable call waiting by typing eg. *70/*71<br>
DND for the extension *72 enable, *73 to disable.</p>
<p>Regarding call waiting, at the moment it is disabled (default value).
 Now if an extension is busy, a busy message is send back to the caller.
 I would like have the following behavior:<br>
-in the event were the extension is busy, then send a message indication
 to the extension and the caller to hear from the SIP provider the 
default early media for call waiting due to busy. Then after some period
 of time eg 30 secs send busy.<br>
-in the event where the extension is busy, send the early media to the 
caller and waiting indication to the extension. If the extension decides
 to get the call then get the 2nd call and send the 1st to hear moh.</p>
<p>My phones are mainly softphones (zoiper), a few IP phones and 2 SPA3000 for analog devices.</p>
<p>could someone help me please with this task, please?</p></div></div></div>
<br></div></div><span class="m_415151765286957004HOEnZb"><font color="#888888">--<br>
______________________________<wbr>______________________________<wbr>_________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
Check out the new Asterisk community forum at: <a href="https://community.asterisk.org/" rel="noreferrer" target="_blank">https://community.asterisk.org<wbr>/</a><br>
<br>
New to Asterisk? Start here:<br>
      <a href="https://wiki.asterisk.org/wiki/display/AST/Getting+Started" rel="noreferrer" target="_blank">https://wiki.asterisk.org/wiki<wbr>/display/AST/Getting+Started</a><br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" rel="noreferrer" target="_blank">http://lists.digium.com/mailm<wbr>an/listinfo/asterisk-users</a><br></font></span></blockquote></div><span class="m_415151765286957004HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br><div class="m_415151765286957004m_1530490640429697949gmail_signature" data-smartmail="gmail_signature">A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.<br>---Heinlein</div>
</font></span></div>
<br>--<br>
______________________________<wbr>______________________________<wbr>_________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
Check out the new Asterisk community forum at: <a href="https://community.asterisk.org/" rel="noreferrer" target="_blank">https://community.asterisk.org<wbr>/</a><br>
<br>
New to Asterisk? Start here:<br>
      <a href="https://wiki.asterisk.org/wiki/display/AST/Getting+Started" rel="noreferrer" target="_blank">https://wiki.asterisk.org/wiki<wbr>/display/AST/Getting+Started</a><br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" rel="noreferrer" target="_blank">http://lists.digium.com/mailm<wbr>an/listinfo/asterisk-users</a><br></blockquote></div><br></div>
</div></div><br>--<br>
______________________________<wbr>______________________________<wbr>_________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
Check out the new Asterisk community forum at: <a href="https://community.asterisk.org/" rel="noreferrer" target="_blank">https://community.asterisk.<wbr>org/</a><br>
<br>
New to Asterisk? Start here:<br>
      <a href="https://wiki.asterisk.org/wiki/display/AST/Getting+Started" rel="noreferrer" target="_blank">https://wiki.asterisk.org/<wbr>wiki/display/AST/Getting+<wbr>Started</a><br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" rel="noreferrer" target="_blank">http://lists.digium.com/<wbr>mailman/listinfo/asterisk-<wbr>users</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.<br>---Heinlein</div>
</div>