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