[OpenSER-Users] newbie questions

Nicolas Palix nicolas.palix at labri.fr
Thu Feb 7 09:34:05 CET 2008


On Feb 7, 2008, at 4:52 AM, Alex Balashov wrote:

> Doug,
>
> Doug McLetchie wrote:
>
>> I've been reading manuals & sip specs all day, and I think that I  
>> found
>> my answer, and it really is an easy one.  here's my own answer to my
>> question, can you let me know if this sounds right?
>>
>> When a message is send from a user agent (on the public internet)  
>> to my
>> gatweway & then to the proxy (on a private network), the gateway will
>> add a via on to the message.  that's how open SER (or any other  
>> proxy)
>> can send a response message back to user agent on the public internet
>> via the gateway.
>>
>> It's really the same thing as setting up a registrar, or any other  
>> kind
>> of proxy/user agent that's going to communicate via a SBC of any  
>> kind.
>> So, it that right?  is that how the SIP via header is used?
>
>  The Via: header is used to indicate to the receiving endpoint / next
> hop the route the message took to get there.  In and of itself, it  
> does
> nothing to require that the message be passed back through any of the
> intermediate elements detailed in the Via: header stack - by  
> default, it
> will circumvent it and go back to the endpoint associated with the
> source URI.

Via header indicates how the proxy MUST send the responses. It could  
not be circumvent.
"Each proxy uses the Via header field to determine where to send the  
response and removes its own address from the top." (RFC 3261 - p13)
8.1.3.3 Vias If more than one Via header field value is present in a  
response, the UAC SHOULD discard the message. The presence of  
additional Via header field values that precede the originator of the  
request suggests that the message was misrouted or possibly corrupted.
8.2.6.2 The Via header field values in the response MUST equal the Via  
header field values in the request and MUST maintain the same ordering.

>
>
>  If you want to capture the responses at the proxy as well, that is
> done by having it append a Route: field, which instructs the receiving
> endpoint that all further messages in this dialog should be relayed  
> back
> through it.  In OpenSER, that is done with record_route().
>
Record Route header is used to capture the route that must be used for  
future requests within a existing dialog.

The route simplication is done by sending future requests of a dialog  
to the contact uri received in the INVITE response. But the recorded  
route must be respected. Otherwise, statefull proxy will be muddled.
"While the Via header field tells other elements where to send the  
response, the Contact header field tells other elements where to send  
future requests." (RFC3261 - p12)

> Cheers,
>
> -- 
> Alex Balashov
> Evariste Systems
> Web    : http://www.evaristesys.com/
> Tel    : (+1) (678) 954-0670
> Direct : (+1) (678) 954-0671
> Mobile : (+1) (706) 338-8599
>
> _______________________________________________
> Users mailing list
> Users at lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/users

-- 
Nicolas Palix
nicolas.palix at labri.fr
http://phoenix.labri.fr/people/palix/








More information about the sr-users mailing list