sipservlet-spec
  1. sipservlet-spec
  2. SIPSERVLET_SPEC-25

Clarification on how to handle Replaces in JSR 289

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0-pr
    • Labels:
      None

      Description

      RFC 3891 states this when an INVITE is received with a Replaces header: "If no match is found, the UAS rejects the INVITE and returns a 481 Call/Transaction Does Not Exist response. likewise, if the Replaces header field matches a dialog which was not created with an INVITE, the UAS MUST reject the request with a 481 response. "

      JSR 289 states that:
      "1) If a container supporting [RFC 3911] or [RFC 3891] receives an initial INVITE request with Join or Replaces header, the container must first ensure that the request passes the RFC-defined validation rules."

      JSR 289 also states that:
      "If no SipSession matching the tuple is found, the container MUST pass the request to the Application Router as an untargeted request, i.e., where the SipTargetedRequestInfo argument to getNextApplication() is null."

      This is a contradiction between the RFC and the JSR. So its not clear if the SIP container needs to override the validation rules of the RFC. If the request is routed to a UAS application, and there is no match, is it the applications responsibility to respond with a 481?

        Activity

        bpulito created issue -
        binod made changes -
        Field Original Value New Value
        Assignee binod [ binod ]
        Hide
        binod added a comment -

        Right, it is the applications responsibility to respond with 481, if a match for replaces header is not found. To clarify this, we can add a note saying that

        "However, if the container does not find a dialog matching Join or Replaces header, then the container will not respond with 481 directly. Applications may choose to respond to the request with 481".

        Show
        binod added a comment - Right, it is the applications responsibility to respond with 481, if a match for replaces header is not found. To clarify this, we can add a note saying that "However, if the container does not find a dialog matching Join or Replaces header, then the container will not respond with 481 directly. Applications may choose to respond to the request with 481".
        Hide
        binod added a comment -

        This is now part of 0.8 version distributed.
        https://java.net/projects/sipservlet-spec/downloads/directory/v0.8

        Show
        binod added a comment - This is now part of 0.8 version distributed. https://java.net/projects/sipservlet-spec/downloads/directory/v0.8
        binod made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 2.0 [ 16851 ]
        Resolution Fixed [ 1 ]
        binod made changes -
        Fix Version/s 2.0-pr [ 16895 ]
        Fix Version/s 2.0 [ 16851 ]

          People

          • Assignee:
            binod
            Reporter:
            bpulito
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: