[OpenSIPS-Devel] [OpenSIPS/opensips] 712c2f: [b2b_entities] Proper handling of overlaping trans...

Bogdan Andrei IANCU noreply at github.com
Thu Sep 14 07:13:07 UTC 2023


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 712c2f23e4ce1b9a7d28d1e7a5087c97c998c45d
      https://github.com/OpenSIPS/opensips/commit/712c2f23e4ce1b9a7d28d1e7a5087c97c998c45d
  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