[reSIProcate] InviteSession assertion failed
I'm using
resiprocate resiprocate-0.9.0-5019
(gdb) bt
#0 0x009067a2 in
_dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x009467f5 in raise ()
from /lib/tls/libc.so.6
#2 0x00948199 in abort () from
/lib/tls/libc.so.6
#3 0x0093fdd1 in __assert_fail () from
/lib/tls/libc.so.6
#4 0x00cc95df in resip::InviteSession::reject
(this=0x8c281c8,statusCode=480, warning=0x0) at
InviteSession.cxx:370
#5 0x00cd9f30 in
resip::ServerInviteSession::reject (this=0x8c281c8,code=480, warning=0x0) at
ServerInviteSession.cxx:373
#6 0x00cd67b4 in
resip::ServerInviteSession::end (this=0x8c281c8) at
ServerInviteSession.cxx:289
#7 0x00cc9e80 in
resip::InviteSessionHandler::onAckNotReceived (this=0xbff5d364, handle={mHam =
0xbff5e048, mId = 29})at ../../resiprocate/dum/Handle.hxx:58
#8
0x00cc190d in resip::InviteSession::dispatch (this=0x8c281c8, timeout=@0x8bd99d8) at
InviteSession.cxx:548
#9 0x00cd6e78 in
resip::ServerInviteSession::dispatch (this=0x8c281c8, timeout=@0x8bd99d8) at
ServerInviteSession.cxx:531
#10 0x00cade15 in
resip::DialogUsageManager::internalProcess (this=0xbff5e048, msg={_M_ptr = 0x8bd99d8}) at ../../resiprocate/dum/Handle.hxx:58
#11
0x00cb63f9 in resip::DumThread::thread (this=0xbff5e264) at
/usr/lib/gcc/i386-redhat-linux/3.4.4/../../../../include/c++/3.4.4/memory:316
#12
0x001984a9 in threadWrapper (threadParm=0xbff5e264) at
os/ThreadIf.cxx:34
#13 0x00b66371 in start_thread () from
/lib/tls/libpthread.so.0
#14 0x009e69be in clone () from
/lib/tls/libc.so.6
The state of
the transaction is UAS_AcceptedWaitingAnswer which makes ServerInviteSession::end call
reject method, but in there it's not handled and causes the
assert.
I think that the
solution is just add the state state to the switch to send the 480
message and terminate. Would it be correct?
----------------------------------------------------------------
Sergio García
Murillo
Research & Development
.y dilo
Advanced Voice
Solutions