Hi,

This is regarding branches in CANCEL & INVITE. Section 9.1 of RFC says

"9.1 Client Behavior

...

The CANCEL request MUST NOT contain any Require or Proxy-Require

header fields."

 

Consider the following scenario

UAC sends INVITE to P1.

P1 forwards it statlessley to UAS.

UAC sends CANCEL to P1 (to cancel the INVITE).

P1 forwards CANCEL also to UAS.

 

Let INVITE request have Proxy-Require header.

While handling INVITE,

P1 calculates the VIA's loop-detection part using the Proxy-Require header.

(The unique part would be calculated using a combinatronic function.) So the

INVITE's VIA would reflect the contents of the proxy-require header.

While handling CANCEL,

P1 calculates the VIA's loop-detection part without the Proxy-Require header,

As CANCEL would not have it.

At UAS:

INVITE & CANCEL would have different top-most via branches.

Thanks

Sachin

 

 

 

Reply via email to