The examples below look like some sort of conformance test, rather than 
cases that would actually be encountered in practice. If so, I suppose 
either you are implementing the tester and looking for what response to 
expect, or else you have failed a conformance test and are looking for 
an argument about why the tester is wrong.

For the most part 3261 does not mandate behavior for non-conforming 
cases. So in general for the cases you describe almost any behavior 
would be ok. It then becomes a "quality of implementation" issue, not a 
conformance issue.

Also, you have two kinds of cases below:
- repetition of headers that are only permitted to occur once
   (e.g. To, From, Call-ID)
- repetition of headers that can appear more than once, but in a
   form that makes little sense. (E.g. Via)

In the former case, the recipient might notice the duplication and 
object to it. Or it might not notice, and just process one of the 
instances of the header. Either is ok.

In the latter case, you need to look into the details. E.g. for Via, as 
long as the vias get cleaned up while routing the response, and the 
response gets where it should, then all is well.

        Thanks,
        Paul

On 11/30/11 9:46 PM, Keerthi Srinivasan wrote:
> Hi All,
>
> If the SIP stack receives the duplication Mandatory SIP Header then the SIP
> will send failure response or successful response.
>
> Ex:
> Scenario 1:
>
> Registrar receives the REGISTER request with *duplication of multiple From
> Header like*
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Max-Forwards: 70
>         To: Bob<sip:b...@biloxi.com>
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         Call-ID: 843817637684230@998sdasdh09
>         CSeq: 1826 REGISTER
>         Contact:<sip:bob@192.0.2.4>
>         Expires: 7200
>         Content-Length: 0
>
> Scenario 2:
>
> Registrar receives the REGISTER request with *duplication of multiple To
> Header *
>
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Max-Forwards: 70
>         To: Bob<sip:b...@biloxi.com>
>         To: Bob<sip:b...@biloxi.com>
>         To: Bob<sip:b...@biloxi.com>
>         To: Bob<sip:b...@biloxi.com>
>         To: Bob<sip:b...@biloxi.com>
>         To: Bob<sip:b...@biloxi.com>
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         Call-ID: 843817637684230@998sdasdh09
>         CSeq: 1826 REGISTER
>         Contact:<sip:bob@192.0.2.4>
>         Expires: 7200
>         Content-Length: 0
>
> Scenario 3:
>
> Registrar receives the REGISTER request with *duplication of multiple Via
> Header *
>
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Max-Forwards: 70
>         To: Bob<sip:b...@biloxi.com>
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         Call-ID: 843817637684230@998sdasdh09
>         CSeq: 1826 REGISTER
>         Contact:<sip:bob@192.0.2.4>
>         Expires: 7200
>         Content-Length: 0
>
> Scenario 4:
>
> Registrar receives the REGISTER request with* duplication of multiple
> Call-ID Header *
>
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Max-Forwards: 70
>         To: Bob<sip:b...@biloxi.com>
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         Call-ID: 843817637684230@998sdasdh09
>         Call-ID: 843817637684230@998sdasdh09
>         Call-ID: 843817637684230@998sdasdh09
>         Call-ID: 843817637684230@998sdasdh09
>         Call-ID: 843817637684230@998sdasdh09
>         CSeq: 1826 REGISTER
>         Contact:<sip:bob@192.0.2.4>
>         Expires: 7200
>         Content-Length: 0
>
> Scenario 5:
>
> Registrar receives the REGISTER request with *duplication of multiple Cseq
> Header *
>
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Max-Forwards: 70
>         To: Bob<sip:b...@biloxi.com>
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         Call-ID: 843817637684230@998sdasdh09
>         CSeq: 1826 REGISTER
>         CSeq: 1826 REGISTER
>         CSeq: 1826 REGISTER
>         CSeq: 1826 REGISTER
>         CSeq: 1826 REGISTER
>         Contact:<sip:bob@192.0.2.4>
>         Expires: 7200
>         Content-Length: 0
>
> Scenario 6:
>
> Registrar receives the REGISTER request with *duplication of multiple
> Max-Forwards Header *
>
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Max-Forwards: 70
>         Max-Forwards: 70
>         Max-Forwards: 70
>         Max-Forwards: 70
>         Max-Forwards: 70
>         To: Bob<sip:b...@biloxi.com>
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         Call-ID: 843817637684230@998sdasdh09
>         CSeq: 1826 REGISTER
>         Contact:<sip:bob@192.0.2.4>
>         Expires: 7200
>         Content-Length: 0
>
>
> Scenario 6:
>
> Registrar receives the REGISTER request with *duplication of multiple
> Expires: Header *
>
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Max-Forwards: 70
>         To: Bob<sip:b...@biloxi.com>
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         Call-ID: 843817637684230@998sdasdh09
>         CSeq: 1826 REGISTER
>         Contact:<sip:bob@192.0.2.4>
>         Expires: 7200
>         Expires: 7200
>         Expires: 7200
>         Expires: 7200
>         Expires: 7200
>         Content-Length: 0
>
>
> Scenario 7:
>
> Registrar receives the REGISTER request with *duplication of multiple
> Content-Length Header *
>
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Max-Forwards: 70
>         To: Bob<sip:b...@biloxi.com>
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         Call-ID: 843817637684230@998sdasdh09
>         CSeq: 1826 REGISTER
>         Contact:<sip:bob@192.0.2.4>
>         Expires: 7200
>         Content-Length: 0
>         Content-Length: 0
>         Content-Length: 0
>         Content-Length: 0
>         Content-Length: 0
>         Content-Length: 0
>
>
> Scenario 8:
>
> Registrar receives the REGISTER request with *duplication of multiple
> request-line Header *
>
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         REGISTER sip:registrar.biloxi.com SIP/2.0
>         Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
>         Max-Forwards: 70
>         To: Bob<sip:b...@biloxi.com>
>         From: Bob<sip:b...@biloxi.com>;tag=456248
>         Call-ID: 843817637684230@998sdasdh09
>         CSeq: 1826 REGISTER
>         Contact:<sip:bob@192.0.2.4>
>         Expires: 7200
>         Content-Length: 0
>
> Please anyone can say, how registrar will respond for the above message.
>
> Thanks in advance.
>
>

_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to