On Oct 18, 2008, at 12:17 PM, Orsic, Milo (Milo) wrote:

Hi Dean,
Pertaining to Paul's posting below:
------------------------------
Well, the multiple flows are there for redundancy, right?
If one of the flows fails, the whole point is that things should continue. If the UA gets upset receiving in-dialog messages on a different flow, then things aren't working right.

Thanks,
Paul
======================

The UA will not get upset, since it may not receive the message. Assume:

1. First registration between (UA's address) IP#1 via edge proxy#1 establishes the binding in the NAT/reflexive-firewall (and flow#1) - as required by the draft.

2. Second registration between (UA's address) IP#2 via edge proxy#2 is used for redundancy, establishes the binding in the NAT/reflexive- firewall (and flow#2) - as required by the draft.

3. Dialog is established using this flow#1 (and Route for this dialog includes the edge proxy#1).

There was never a registration between IP#2 via proxy#1. Hence, any in-dialog request (destined for the UA) sent from edge proxy#1 (since it is in the Route) to IP#2 will be filtered by the NAT/ reflexive-firewall.

As you can see by this example, the second registration - as required by the draft - doesn't really creates a redundant flow.

IMHO, the draft should restrict the "redundancy" to a single contact address (reached via different edge proxies).


Flow 1 goes from contact 1 through edge proxy 1, flow 2 goes from contact 2 through edge proxy 2. Both flows are attached to a single instance-id. The home proxy/registrar keeps track of the keepalive status of each flow, and the keepalives keep the NAT binding open for each flow.

Presume flow 1 is in-use for a dialog, and the flow fails. The home proxy must then re-route the dialog to flow 2. This requires a fair bit of mechanism in the proxy, mechanism that is not completely defined in the outbound draft, but that can be readily inferred.

Another way to look at it is that Outbound routes to the "instance", not to the "contact".

I think there is a little bit of confusion about gruu. Without Outbound, the gruu is an alias for the conact. With Outbound, Is the gruu an alias for the contact or the instance ? From a semantic- clarity model, I think gruu needs to be an alias for the instance. This however, is not completely clear to me in the current spec set.

--
Dean

_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [EMAIL PROTECTED] for questions on current sip
Use [EMAIL PROTECTED] for new developments on the application of sip

Reply via email to