<div>Richard,</div><div><br></div>Thanks a lot for clarifying - I&#39;m using FreeSWITCH, I&#39;ll check if this can happen due to FS&#39;s code, and update :)<div><br></div><div>Thanks,</div><div>Abhinav<br><br><div class="gmail_quote">
On Tue, Jan 4, 2011 at 12:20 AM, Richard Mudgett <span dir="ltr">&lt;<a href="mailto:rmudgett@digium.com">rmudgett@digium.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">&gt; Hi,<br>
&gt;<br>
&gt;<br>
&gt; I&#39;m using the latest stable version of libpri 1.4.11.5 ( also<br>
&gt; reproducible on 1.4.11.4 ), and am noticing the following Issue in ALL<br>
&gt; of my hangups ( of all duration - 0, 30, 60 seconds and higher )<br>
&gt;<br>
&gt;<br>
&gt; 1. Say, the user ( leg A ) - Application sends a DISCONNECT to the<br>
&gt; network ( Leg B ). I&#39;m noticing that libpri destroys the call after<br>
&gt; receiving a DISCONNECT.<br>
&gt;<br>
&gt;<br>
&gt; 2. Next, A receives RELEASE from Leg B, with a call reference.<br>
&gt; However, this call reference is not there anymore, and has to be<br>
&gt; created. It gets created afresh - but as a newcall.<br>
&gt; So it has c-&gt;newcall = 1.<br>
&gt;<br>
&gt;<br>
&gt; 3. The post_handle_931_message function sees this c-&gt;newcall = 1, and<br>
&gt; calls q931_release_complete(ctrl, c, Q931_INVALID_CALL_REFERENCE),<br>
&gt; which leads to RELEASE COMPLETE always being delivered to LEG B with<br>
&gt; the message Invalid Call Reference (81).<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Is this a libpri bug or is there something wrong at my end ? The PRI<br>
&gt; Q.931 trace of the aforementioned call is at<br>
&gt; <a href="http://pastebin.com/VQ04hhgR" target="_blank">http://pastebin.com/VQ04hhgR</a> ( the relevant lines are highlighted<br>
&gt; towards the end ).<br>
<br>
</div>From your trace, a pri_destroycall()/q931_destroycall() seems<br>
to be called right after a call to pri_hangup() that sends the<br>
DISCONNECT message.  Libpri is not going to do this.  There<br>
are two places in Asterisk (v1.8) that will do this.  However,<br>
the code that does it is dealing with a link down situation<br>
when T309 is not enabled.  For the libpri version you mention,<br>
this will never happen since T309 is always enabled.<br>
<br>
Which version of Asterisk are you using?<br>
<br>
Richard<br>
<font color="#888888"><br>
--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
</font></blockquote></div><br></div>