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

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


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