<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 20, 2016 at 9:58 AM, Faheem Muhammad <span dir="ltr"><<a href="mailto:faheem2084@gmail.com" target="_blank">faheem2084@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">Hi,<div>I'm facing a strange dialplan issue with a PJSIP_DIAL_CONTACTS. </div><div><br></div><div>When I try to call an offline endpoint with PJSIP_DIAL_CONTACTS, the dial command breaks and the call control go to hangup block instead of next priority. The error in CLI says "<b style="background-color:rgb(255,0,0)">Dial requires an argument (technology/resource)</b>".</div><div>This error seems legit as there are no contacts for an offline endpoint. The dialplan should jump to the next priority.</div><div><br></div><div><div>exten => 1001,1,Dial(${PJSIP_DIAL_CONTACTS(${EXTEN})})</div><div>exten => 1001,2,,NoOP(${DIALSTATUS})<br></div><div>exten => 1001,3,<code style="line-height:20px;font-size:14px;white-space:nowrap;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;border-radius:0px!important;border:0px!important;float:none!important;min-height:auto!important;margin:0px!important;outline:0px!important;overflow:visible!important;padding:0px!important;vertical-align:baseline!important;width:auto!important;min-height:auto!important;color:rgb(0,0,0)!important;background:none!important">Dial(PJSIP/mytrunk/sip:${mob</code><code style="line-height:20px;font-size:14px;white-space:nowrap;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;border-radius:0px!important;border:0px!important;float:none!important;min-height:auto!important;margin:0px!important;outline:0px!important;overflow:visible!important;padding:0px!important;vertical-align:baseline!important;width:auto!important;min-height:auto!important;color:rgb(0,0,0)!important;background:none!important">}</code><code style="line-height:20px;font-size:14px;white-space:nowrap;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;border-radius:0px!important;border:0px!important;float:none!important;min-height:auto!important;margin:0px!important;outline:0px!important;overflow:visible!important;padding:0px!important;vertical-align:baseline!important;width:auto!important;min-height:auto!important;color:rgb(128,128,128)!important;background:none!important">@<a href="http://10.0.0.1" target="_blank">10.0.0.1</a></code><code style="line-height:20px;font-size:14px;white-space:nowrap;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;border-radius:0px!important;border:0px!important;float:none!important;min-height:auto!important;margin:0px!important;outline:0px!important;overflow:visible!important;padding:0px!important;vertical-align:baseline!important;width:auto!important;min-height:auto!important;color:rgb(0,0,0)!important;background:none!important">)</code></div><div><br></div><div>exten => h,1,NoOp()</div><div>exten => h,n,NoOP(${DIALSTATUS})</div></div><div><br></div><div>-----------------------------------------------------------------------</div><div>If i try to dial the same offline endpoint with the below code snippet, it jumps to next prirorty. </div><div><div><div>exten => 1001,1,Dial(PJSIP/${EXTEN})</div><div>exten => 1001,2,,NoOP(${DIALSTATUS})<br></div><div><div>exten => 1001,3,<code style="line-height:20px;font-size:14px;white-space:nowrap;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;border-radius:0px!important;border:0px!important;float:none!important;min-height:auto!important;margin:0px!important;outline:0px!important;overflow:visible!important;padding:0px!important;vertical-align:baseline!important;width:auto!important;min-height:auto!important;color:rgb(0,0,0)!important;background:none!important">Dial(PJSIP/mytrunk/sip:${mob</code><code style="line-height:20px;font-size:14px;white-space:nowrap;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;border-radius:0px!important;border:0px!important;float:none!important;min-height:auto!important;margin:0px!important;outline:0px!important;overflow:visible!important;padding:0px!important;vertical-align:baseline!important;width:auto!important;min-height:auto!important;color:rgb(0,0,0)!important;background:none!important">}</code><code style="line-height:20px;font-size:14px;white-space:nowrap;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;border-radius:0px!important;border:0px!important;float:none!important;min-height:auto!important;margin:0px!important;outline:0px!important;overflow:visible!important;padding:0px!important;vertical-align:baseline!important;width:auto!important;min-height:auto!important;color:rgb(128,128,128)!important;background:none!important">@<a href="http://10.0.0.1" target="_blank">10.0.0.1</a></code><code style="line-height:20px;font-size:14px;white-space:nowrap;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;border-radius:0px!important;border:0px!important;float:none!important;min-height:auto!important;margin:0px!important;outline:0px!important;overflow:visible!important;padding:0px!important;vertical-align:baseline!important;width:auto!important;min-height:auto!important;color:rgb(0,0,0)!important;background:none!important">)</code></div></div><div><code style="line-height:20px;font-size:14px;white-space:nowrap;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;border-radius:0px!important;border:0px!important;float:none!important;min-height:auto!important;margin:0px!important;outline:0px!important;overflow:visible!important;padding:0px!important;vertical-align:baseline!important;width:auto!important;min-height:auto!important;color:rgb(0,0,0)!important;background:none!important"><br></code></div><div>exten => h,1,NoOp()</div><div>exten => h,n,NoOP(${DIALSTATUS})</div></div></div><div><br></div><div>The endpoint may register from multiple device, so I always have to dial it all contacts. Did anyone else face such problem?</div></div></blockquote><div><br></div><div>You need to examine if the returned dial string is empty in your dialplan.  PJSIP_DIAL_CONTACTS returns<br>an '&' separated list of available contacts.  If there are no contacts the list is empty.  Dial doesn't like an<br></div><div>empty list.<br></div><div><br></div><div>Richard<br></div></div><br></div></div>