Hi Alex,

maybe you should start with the easier scenario first: what happens if the 
proxy does not insert a record-route header. In this case both UAs will send 
in-dialog request directly to each other. And they learned the target address 
of each other from the Contact headers. These haders is mandatory for 
requests and replies which establish a dialog.

So even if the proxy does record-route the Contact headers of the UAs will 
ensure that further in-dialog requests will be delivered to the right UA. 
Explaining the relation between the Route and the Contact header is a little 
bit long. Please refer to the Record-Route and Route sections of RFC3261 for 
the details.

Regards
  Nils Ohlmeier

On Wednesday 02 June 2004 21:50, Alex Bligh wrote:
> I have confused myself and am hoping someone can unconfuse me.
>
> Take a situation like this
>
>               /--------- B
>   A ------- P
>               \--------- C
>
> A is a UA initiating a call to a URI through P, which is a transaction
> stateful proxy. P forks the call (let's say sequentially to B then C). P
> also adds "Record-Route".
>
> Let us presume B is unavailable/busy/whatever so P then tries C, which
> OK's, and a dialogue is initiated between A and C, with the signalling
> still going via P due to the record route.
>
> How is this meant to work where P is transaction stateful but not dialog
> stateful? Specifically, what header fields supplied by A is P meant to
> process to ensure that future in-dialog transactions (such as BYE) are
> routed to C in the first instance and not B? Or, moreover, assuming the
> identification of C as a target was from ephemeral data (perhaps B has
> changed his call divert settings whilst the call is still in progress) how
> is P then meant to route dialog messages to C at all?
>
> Should it be recording the information as a parameter in the record-route
> header (as per 4 of 16.6 of RFC3261 to store state effectively in the
> dialog message rather than on the proxy)? Should it rely on B or C
> inserting a Contact: header and use that if there are no further Route:
> headers? Have I missed the point entirely (I expect so)? What's the
> easiest / recommended way to do this?
>
> Alex
> _______________________________________________
> Sip-implementors mailing list
> [EMAIL PROTECTED]
> http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to