<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; " class=""><BR style=""><DIV style=""><DIV style="">On Dec 14, 2005, at 1:17 PM, Jose Solares wrote:</DIV><BR class="Apple-interchange-newline" style=""><BLOCKQUOTE type="cite">According to this : <A href="http://bugs.digium.com/view.php?id=4506">http://bugs.digium.com/view.php?id=4506</A><BR style=""><BR style="">chanisavail is not intended to detect if a phone is in use or not at all, it's only intended to check if asterisk could send the call there.<BR style=""></BLOCKQUOTE><DIV style=""><BR class="khtml-block-placeholder" style=""></DIV><DIV style=""><FONT class="Apple-style-span" color="#000000"><SPAN class="Apple-style-span" style="background-color: transparent;">Well, that would go against all of the documentation that I have seen which indicates that passing 's' as an option will "Consider the channel unavailable if the channel is in use at all".</SPAN></FONT></DIV><DIV style=""><BR class="khtml-block-placeholder" style=""></DIV><DIV style="">&lt;<A href="http://www.voip-info.org/wiki/index.php?page=Asterisk+cmd+ChanIsAvail">http://www.voip-info.org/wiki/index.php?page=Asterisk+cmd+ChanIsAvail</A>&gt;</DIV><DIV style=""><BR class="khtml-block-placeholder"></DIV><DIV style="">Regardless, that still does not explain why the return code is 0 - I would expect 2 (in use) or 3 (busy) if the channel had an active call.</DIV><DIV style=""><BR class="khtml-block-placeholder"></DIV><DIV style="">I think I will file a bug to try and get some clarification.</DIV><DIV style=""><BR class="khtml-block-placeholder"></DIV><DIV style="">Thanks for the alternate suggestion, I will look in to that.</DIV><DIV style=""><BR class="khtml-block-placeholder"></DIV><DIV style=""> - Scott</DIV><DIV style=""><BR class="khtml-block-placeholder"></DIV><BR style=""><BLOCKQUOTE type="cite">I tried using call-limit and chanisavail, but it's broken in SIP. inuse gets applied only to peers, and when it gets an incomming call that is not answered it gets decremented and doesnt stay the same, which is a bug. <BR style=""><BR style="">You should consider using groups, <A href="http://www.voip-info.org/wiki-Asterisk+cmd+SetGroup">http://www.voip-info.org/wiki-Asterisk+cmd+SetGroup</A><BR style=""><BR style=""><BR style=""><DIV style=""><SPAN class="gmail_quote">On 12/14/05, <B class="gmail_sendername"> Scott Maier</B> &lt;<A href="mailto:scott@omnigroup.com">scott@omnigroup.com</A>&gt; wrote:</SPAN><BLOCKQUOTE class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <BR style="">Hi everyone,<BR style=""><BR style=""><BR style="">I have started trying to use ChanIsAvail() to detect when a phone is<BR style="">in use (on any call) and my results are disappointing.<BR style=""><BR style="">Here are some examples out output to the console followed by the <BR style="">meaning of the return status code based on what I have found in the<BR style="">comments on this page: &lt;<A href="http://www.voip-info.org/wiki/index.php">http://www.voip-info.org/wiki/index.php</A>?<BR style="">page=Asterisk+cmd+ChanIsAvail&gt; <BR style=""><BR style=""><BR style="">Test using a real extension (224) that I know is in use at the time<BR style="">of the test.  Calling from 227:<BR style=""><BR style="">-- Executing Playback("SIP/227-c825", "silence/1") in new stack<BR style="">-- Playing 'silence/1' (language 'en') <BR style="">-- Executing ChanIsAvail("SIP/227-c825", "SIP/224|sj") in new stack<BR style="">-- Executing NoOp("SIP/227-c825", "SIP/224-08ce|SIP/224|0") in new stack<BR style="">-- Executing Dial("SIP/227-c825", "SIP/224|10") in new stack <BR style="">-- Called 224<BR style="">-- SIP/224-4fc4 is ringing<BR style=""><BR style="">/* 0 AST_DEVICE_UNKNOWN */ "Unknown", /* Valid, but unknown state */<BR style=""><BR style=""><BR style="">Test using a fake extension (333) that doesn't exist and is not<BR style="">defined anywhere.  Calling from 227: <BR style=""><BR style="">-- Executing Playback("SIP/227-e4d2", "sales") in new stack<BR style="">-- Playing 'sales' (language 'en')<BR style="">-- Executing ChanIsAvail("SIP/227-e4d2", "SIP/333|sj") in new stack<BR style="">-- Executing NoOp("SIP/227-e4d2", "||4") in new stack <BR style="">-- Executing Hangup("SIP/227-e4d2", "") in new stack<BR style=""><BR style="">/* 4 AST_DEVICE_INVALID */ "Invalid", /* Invalid - not known to<BR style="">Asterisk */<BR style=""><BR style=""><BR style="">Test using a real extension (206) that is defined, but not <BR style="">registered.  Calling from 227:<BR style=""><BR style="">-- Executing Playback("SIP/227-8a76", "sales") in new stack<BR style="">-- Playing 'sales' (language 'en')<BR style="">-- Executing ChanIsAvail("SIP/227-8a76", "SIP/206|sj") in new stack <BR style="">-- Executing NoOp("SIP/227-8a76", "||5") in new stack<BR style="">-- Executing Hangup("SIP/227-8a76", "") in new stack<BR style=""><BR style="">/* 5 AST_DEVICE_UNAVAILABLE */ "Unavailable", /* Unavailable (not <BR style="">registred) */<BR style=""><BR style=""><BR style="">This all seems to be fine, except for the 1st example where I am<BR style="">testing a known, registered, in use Polycom 501.<BR style=""><BR style="">Does anyone have any idea why Asterisk is returning 0 for that test? <BR style="">Is anyone else using ChanIsAvail() successfully?<BR style=""><BR style="">This is with Asterisk 1.2.0.<BR style=""><BR style=""><BR style="">  - Scott<BR style=""></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR style=""></BODY></HTML>