Hi Manoj
Here I have put the example in detail how Record-Route, Route plays a
role in message routing and how it affects Req-URI.
Also a small description on Via.

Endpoint A sends a request say INVITE to proxy1, proxy1 forwards it to
proxy2 and proxy2 gives that INVITE to endpoint B.
Each proxy adds its Record-route at the start of the record-route
header, when called party
gets request, last proxies record-route token is the at the start of
record route header. Unlike Via, the record route is not deleted by
respective proxies in return path. At calling party, whole record route
is received.

Now lets see how route set is prepared.

When the request is arrived at UAS, the route set is prepared from
record-route header taken in order. 
If record-route is absent, route set is set to NULL.

When the response received at UAS, route set is prepared at UAS by
taking RR in reverse order.

In next transactions because of Route set request URI may be affected.
If route set is empty, the UAC must place remote target URI into the
Request-URI. 

If first route URI in route set contains lr parameter (loose routing),
then request-URI is not affected.. However if first route URI does not
contain lr parameter, then UA should put the first route to request-URI,
then put the route set in order, and finally adds remote target to Route
header at the end. 

2. Via
Via is used by UAS to to determine target to send immediate response.
All proxies in path adds corresponding Via at the start of Via header.
Say there are N proxies.
So Via at called party looks at  proxy(n).via;proxy(n-1).via....
Calling-phone-via

So when UAS responds back, it sends all Via without any modification.
Now each proxy deletes its corresponding via, finally when response is
received at endpoint , endpoint sees its own via only.

Regards,
Kamal
Cisco, Bangalore
India

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
Rajani
Sent: Wednesday, December 09, 2009 11:52 PM
To: 'Manoj Priyankara [TG]'; [email protected]
Subject: Re: [Sip-implementors] differences between Via,Record-Route and
Route headers


Refer the below link for a detailed explanation of the header fields.
(Thanks to Jan)

http://www.openser.org/pipermail/users/2005-September/000839.html

Thanks & Regards,
Rajani

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
Manoj Priyankara [TG]
Sent: Wednesday, December 09, 2009 10:51 PM
To: [email protected]
Subject: [Sip-implementors] differences between Via, Record-Route and
Route headers


Dear All,
Can anyone explain the differences between Via, Record-Route and Route
headers?
Further, are there any other routing related Headers associated with
SIP?

Thanks!
BR,
Manoj
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to