[OpenSIPS-Devel] [OpenSIPS/opensips] 59a0af: [b2b_entities] Proper handling of overlaping trans...
Bogdan Andrei IANCU
noreply at github.com
Thu Sep 14 07:26:32 UTC 2023
Branch: refs/heads/3.3
Home: https://github.com/OpenSIPS/opensips
Commit: 59a0af2723be2fcb7da41f753e40e73a66805479
https://github.com/OpenSIPS/opensips/commit/59a0af2723be2fcb7da41f753e40e73a66805479
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.
(cherry picked from commit c4032f94f3993d1b62a0483eaae3ac0bd6c7c358)
More information about the Devel
mailing list