Hi everyone,

I have run into an issue with a reliable messaging with PRACK not being
handled properly.  The UAC sends an invite with supported:100rel. The UAS
responds with both a 100 and a 183, the contact for the 183 has a SIP URI
and URI Parameter.  When the PRACK is being sent to the UAS the R-URI has
incorrectly added a URI-Port and no included the URI-Parameter.

>From 3261 I believe that the UAC MUST not add the URI-Port as it is not in
the contact, and MUST add the URI-Parameter even if it is unknown. This is
where I think the problem arises as the PRACK is not within the DIALOG
established by the 183.  But the developer of the UAC is complaining that
the UAS is not responding with a 481.  This mismatch of DIALOG is causing
183 and PRACK to continue to be sent back and forth without RAck or CSeq
being updated.  The UAC then sends a CANCEL at the session timeout even if
a 200OK for the call has been received from the UAS.

My questions are:

MUST the UAC send the URI-Parameter
MUST the UAC not add a URI-Port when there is none in the CONTACT
MUST the UAS respond with a 481 to a PRACK when the DIALOG does not match?

This is the section from 3262 in question:

A matching PRACK is defined as one within the same dialog as the
response, and whose method, CSeq-num, and
response-num in the RAck header field match, respectively, the method
from the CSeq, the sequence number from
 the CSeq, and the sequence number from the RSeq of the reliable
provisional response. If a PRACK request is received
by the UA core that does not match any unacknowledged reliable
provisional response, the UAS MUST respond to
the PRACK with a 481 response.




Thanks
--
Alex




    Request-Line: INVITE sip:[email protected]:5060 SIP/2.0
        Call-ID: [email protected]
        CSeq: 1 INVITE
        From: "Username"<sip:[email protected]>;tag=abcd
        To: "16032150000"<sip:[email protected]>
        Via: SIP/2.0/UDP 10.200.80.40:5060
;branch=z9hG4bK-2dff84-b3ae1d3b-7d156a5f
        Contact: <sip:[email protected]:5060>
        Supported: 100rel
        Max-Forwards: 69
        Session-Expires: 60
        Min-SE: 60
        Remote-Party-ID: <sip:[email protected]>;party=calling
        Content-Length:  192
        Content-Type: application/sdp


    Status-Line: SIP/2.0 100 Giving a try
        Call-ID: [email protected]
        CSeq: 1 INVITE
        From: "Username" <sip:[email protected]>;tag=abcd
        To: "16032150000" <sip:[email protected]>
        Via: SIP/2.0/UDP 10.200.80.40:5060
;branch=z9hG4bK-2dff84-b3ae1d3b-7d156a5f
        Server: VCSR
        Content-Length: 0

    Status-Line: SIP/2.0 183 Session Progress
         Via: SIP/2.0/UDP 10.200.80.40:5060
;branch=z9hG4bK-2dff84-b3ae1d3b-7d156a5f
         From: "Username" <sip:[email protected]>;tag=abcd
         To: "16032150000" <sip:[email protected]>;tag=gK02b20c22
         Call-ID: [email protected]
         CSeq: 1 INVITE
         Contact: <sip:11.100.90.72;did=d11.4a4ba2f1>
         Allow: INVITE, ACK, CANCEL, BYE, REGISTER, REFER, INFO, SUBSCRIBE,
NOTIFY, PRACK, UPDATE, OPTIONS
         Require: 100rel
         RSeq: 16283
         Content-Disposition: session; handling=required
         Content-Type: application/sdp
         Content-Length: 258



    Request-Line: PRACK sip:[email protected]:5060 SIP/2.0
        Call-ID: [email protected]
        CSeq: 2 PRACK
        From: "Username"<sip:[email protected]>;tag=abcd
        To: "16032150000"<sip:[email protected]>;tag=gK02b20c22
        Via: SIP/2.0/UDP 10.200.80.40:5060
        Max-Forwards: 70
        RAck: 16283 1 INVITE
        Content-Length:    0


<183 & PRACK repeat at regular intervals>

    Status-Line: SIP/2.0 200 OK
        Via: SIP/2.0/UDP 10.200.80.40:5060
;branch=z9hG4bK-2dff84-b3ae1d3b-7d156a5f
        From: "Username" <sip:[email protected]>;tag=abcd
        To: "16032150000" <sip:[email protected]>;tag=gK02b20c22
         Call-ID: [email protected]
        CSeq: 1 INVITE
        Accept: application/sdp, application/isup, application/dtmf,
application/dtmf-relay, multipart/mixed
        Contact: <sip:11.100.90.72;did=d11.4a4ba2f1>
        Allow: INVITE, ACK, CANCEL, BYE, REGISTER, REFER, INFO, SUBSCRIBE,
NOTIFY, PRACK, UPDATE, OPTIONS
        Supported: timer
        Session-Expires: 60;refresher=uas
        Content-Disposition: session; handling=required
        Content-Type: application/sdp
        Content-Length: 258
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to