[asterisk-dev] Libpri Hangup sends RELEASE COMPLETE with Invalid call reference value always.
virolord at gmail.com
Tue Dec 28 17:51:27 UTC 2010
I'm using the latest stable version of libpri 220.127.116.11 ( also reproducible
on 18.104.22.168 ), and am noticing the following Issue in ALL of my hangups (
of all duration - 0, 30, 60 seconds and higher )
1. Say, the user ( leg A ) - Application sends a DISCONNECT to the network (
Leg B ). I'm noticing that libpri destroys the call after receiving a
2. Next, A receives RELEASE from Leg B, with a call reference. However, this
call reference is not there anymore, and has to be created. It gets created
afresh - but as a newcall.
So it has c->newcall = 1.
3. The post_handle_931_message function sees this c->newcall = 1, and calls
q931_release_complete(ctrl, c, Q931_INVALID_CALL_REFERENCE), which leads to
RELEASE COMPLETE always being delivered to LEG B with the message Invalid
Call Reference (81).
Is this a libpri bug or is there something wrong at my end ? The PRI Q.931
trace of the aforementioned call is at http://pastebin.com/VQ04hhgR ( the
relevant lines are highlighted towards the end ).
Also, according to Q.931, RELEASE COMPLETE with an invalid references are to
be ignored and nothing is to be done - so could this lead to stalling of
calls for a further few seconds ? ( Leading to a slightly higher bill ) ? Or
is the billing meant to be stopped with the DISCONNECT message ( someone
helped with this on IRC ) itself, wanted to make sure.
Sending this without attachment this time..
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the asterisk-dev