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.
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().
Cheers,