Thank you very much for all your replies. I think now I got an idea about
the significance of the branch value, though even with out that;  things
work fine.
If anyone knows any means to add branch parameter to the SIP Via header in
RTC Client API, please do let me know. I searched a lot in forums, the same
problem was mentioned by several other people, but didnt see any replies to
those. Guess it is not provided by the API.

Thanks again.
regards,
Hasini.

On Thu, Jan 15, 2009 at 8:50 PM, Rockson Li (zhengyli)
<[email protected]>wrote:

>
> In most of th cases, it would be fine.
> However, I think branch value is strongly recommended.
>
> Suppose a stateful proxy, which doing parallel forking by push a new top
> route header to retrain the original Req-URI.
>
> A -----F1------------->proxy --------F2-------->INVITE original Req-uri
>                                                          Route target1
>                                    --------F3-------->INVITE original
> Req-uri
>                                                          Route target2
>
> Therefore, if there was no branch value.
>
> Per sec 17.2.3 of RFC3261 if there's no branch value, the transaction
> match would be done as follows,
>
> <snip>
>   The INVITE request matches a transaction if the Request-URI, To tag,
>   From tag, Call-ID, CSeq, and top Via header field match those of the
>   INVITE request which created the transaction.
> </snip>
>
> So based on above criteria, F2 and F3 would be regarded as
> retransmission of each other,
> However, they are different forking INVITEs.
>
> There would be  no issue if different branch values are used for F2 and
> F3
>
> My 2 $0.02
> -Rockson
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> Serbang, Nabam (Nabam)
> Sent: Thursday, January 15, 2009 7:34 PM
> To: BONNAERENS Ben; Hasini Gunasinghe
> Cc: [email protected]
> Subject: Re: [Sip-implementors] SIP INVITE message with no
> branchparameterinits via header
>
>
> Hi Ben,
>
> I agree with you. Though RFC3261 mandates "branch",  BNF still permits
> and so parser will.  Thanks for pointing out. Since SUBSCRIBE is a
> non-dialog creating method, I guess absence of branch doesn't make much
> difference apart from protocol compliance. This is just my thought.
>
>
> Thanks and regards
> Nabam Serbang
>
>
>
>
> -----Original Message-----
> From: BONNAERENS Ben [mailto:[email protected]]
> Sent: Thursday, January 15, 2009 4:01 PM
> To: Serbang, Nabam (Nabam); Hasini Gunasinghe
> Cc: [email protected]
> Subject: RE: [Sip-implementors] SIP INVITE message with no branch
> parameterinits via header
>
> Hello,
>
> >With REGISTER, branch is not mandatory.
>
> This is incorrect. RFC3261 mandates the Via branch in every request.
>
> The predecessor of RFC3261 being RFC2543(bis) did not mandate the Via
> branch.
> The reason why software without Via branch still works is because
> RFC3261
> mandates backward compatibility with RFC2543 implementations not having
> the Via branch (+ magic cookie)
>
> The Via branch + magic cookie should always be used in order to allow
> easier,faster transaction matching (RFC3261 chapter 17.2.3)
>
> Best regards,
>
> Ben.
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> Serbang, Nabam (Nabam)
> Sent: donderdag 15 januari 2009 11:21
> To: Hasini Gunasinghe
> Cc: [email protected]
> Subject: Re: [Sip-implementors] SIP INVITE message with no branch
> parameterinits via header
>
>
> Hi Hasini,
>
> It will create  prboblem when INVITE request is forked, med-dialog
> transaction involves such as answer-offer, reliable response, conference
> , transfer (most likely) etc.
>
> With REGISTER, branch is not mandatory.
>
>
>
> Thanks and regards
> Nabam Serbang
>
>
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> Hasini Gunasinghe
> Sent: Thursday, January 15, 2009 3:34 PM
> To: [email protected]
> Subject: [Sip-implementors] SIP INVITE message with no branch parameter
> inits via header
>
> Hi all,
>
> I am implementing a SIP Soft Phone application using the RTC Client API.
> In both cases of initiating calls, that is; direct IP to IP and through
> asterisk SIP proxy, RTC Client does not include a branch parameter in
> its Via SIP header.
> But the calls are connected, media exchanged and calls are disconnected
> without any problem.
>
> My concern is, though RFC 3261says "The Via header field value MUST
> contain a branch parameter. This parameter is used to identify the
> transaction created by that request. This parameter is used by both the
> client and the server.", even without that, my app works fine so far.
> Can anybody please tell me when an error could occur if branch parameter
> is not present. And also is this parameter is taken in to consideration
> with lot of care in processing a REGISTER/INVITE requests?
>
> Thank you.
> regards,
> Hasini.
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
>
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
>
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to