Vijay,
You are right -
A B2BUA needs to propagate some of the headers received in a request/response to the other endpoint.
Example: Require, Expires to name a few. This is because these headers actually are relevant end to end.
However, some of the other headers like Contact should be set by the B2BUA as itself.
Padma