[hard core internals of proxy follow]

In rev 13475, the RouteState class was modified to handle multiple
Record-Route headers that include route state.  These changes appear to
me to clone the state information into multiple copies of the header.

Based on the comments, I'm pretty confused about what this was meant to
support.  

I had been looking into changes that would allow one system (or multiple
systems in the same cluster) to add distinct route state information,
and use the host identifier in the route to distinguish them.  For
example, given a proxy whose IP address is 10.1.1.10 and whose SIP
domain is 'example.com', you might get headers like:
        
        Record-Route: <sip:example.com;sipXecs-rs=xxxxxxxxxxxxxxxxxxxxxxxxxx>
        Record-Route: <sip:10.1.1.10;sipXecs-rs=yyyyyyyyyyyyyyyyyyyyyyyy>
        
the 'upper' route means "any proxy in example.com" and the 'lower' one
means exactly the proxy needed to traverse a NAT, for example.  There
might even be a third using a different IP address for another NAT
traversal leg.

It looks as though the changes made in r13475 would force those headers
to be (in effect):
        
        Record-Route: 
<sip:example.com;sipXecs-rs=xxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyy>
        Record-Route: 
<sip:10.1.1.10;sipXecs-rs=xxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyy>

where the state information in each is duplicated into both.  This seems
pretty wasteful (and might cause errors, since we know of systems that
don't handle very long headers), but more importantly it seems
unnecessary.

I'd like to better understand why it was done this way before I go any
further...



_______________________________________________
sipx-dev mailing list [email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev
sipXecs IP PBX -- http://www.sipfoundry.org/

Reply via email to