RE: [reSIProcate] Missing non-INVITE request before BYE
It looks like the inbound INFO message at the start of your log - matches
with an existing transaction - this doesn't seem right. Maybe the branch
parameter in the INFO is not being properly modified by the other party.
STACK | 20050429-193535.779 | SipMgr | RESIP:TRANSACTION | 2216 |
TransactionState.cxx:155 | Found matching transaction for SipReq: INFO
5.6.7.8:5070 tid=4313 cseq=INFO / 5 from(wire) -> tid=4313 [
ServerNonInvite/Completed unreliable target=[ V4 1.2.3.4:5070 UDP received
on: Transport: [ V4 0.0.0.0:5070 UDP connectionId=0 ] connectionId=0 ]]
-----Original Message-----
From: Dmitry Semyonov [mailto:dsemyonov@xxxxxxx]
Sent: Tuesday, May 03, 2005 8:12 AM
To: resiprocate-devel@xxxxxxxxxxxxxxxxxxx
Subject: [reSIProcate] Missing non-INVITE request before BYE
Hello.
In case when remote UA sends BYE just after INFO not waiting for
termination of INFO transaction, reSIProcate misses the INFO
sometimes. The log is attached.
"Terminating a Session with a BYE Request" / "UAS Behavior" (15.1.2
section of SIP RFC) states:
The UAS MUST still respond to any pending requests received for
that dialog. It is RECOMMENDED that a 487 (Request Terminated)
response be generated to those pending requests."
Therefore, although remote UAs must not use overlapping transactions,
reSIProcate in turn must not miss them.
--
...Bye..Dmitry.