[OpenSIPS-Devel] [OpenSIPS/opensips] 881acb: [b2b_entities] Proper handling of overlaping trans...
Bogdan Andrei IANCU
noreply at github.com
Thu Sep 14 06:37:40 UTC 2023
Branch: refs/heads/master
Home: https://github.com/OpenSIPS/opensips
Commit: 881acb3e03fe8573cd9541a77dce2171bceda0e1
https://github.com/OpenSIPS/opensips/commit/881acb3e03fe8573cd9541a77dce2171bceda0e1
Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
Date: 2023-09-14 (Thu, 14 Sep 2023)
Changed paths:
M modules/b2b_entities/dlg.c
Log Message:
-----------
[b2b_entities] Proper handling of overlaping transactions
As per RFC3261, Section 14.2 :
A UAS that receives a second INVITE before it sends the final
response to a first INVITE with a lower CSeq sequence number on the
same dialog MUST return a 500 (Server Internal Error) response to the
second INVITE and MUST include a Retry-After header field with a
randomly chosen value of between 0 and 10 seconds.
A UAS that receives an INVITE on a dialog while an INVITE it had sent
on that dialog is in progress MUST return a 491 (Request Pending)
response to the received INVITE.
Changes:
* 491 is now generated when receiving a request while already having an outbound one - the old code was generating 491 upon receiving a request while having another INCOMING one :-/
* generate the 500 reply when receiving a new request while handing another incoming one.
More information about the Devel
mailing list