inline...
2006/9/28, Mark Kent <mark(a)noc.mainstreet.net>et>:
Thanks, this is exactly the kind of answer I need...
> Because OPENSER-ONE is not a middle-man, is
the proxy responsible for
> the AoR present in the Route|Req-URI and therefore it must not relay
> it but recognize it as a request targeted to one of its users.
>
> It must process Route Header And after that check the Req URI and send
> the BYE to the right user, probably using lookup and related...
OK, but this Route Header processing you are talking about is done
inside openser itself, and not driven by my openser.cfg, isn't it?
This routing is "exactly" what loose_route does...that's why you have
if(loose_route){} as one of the first checks of your config file, to
process in-dialog requests (~those having Route: headers).
If the requests goes beyond the loose_route check, it means that there
are no more Route headers (and therefore the in-dialog request is
suposed to have reached the end-point) and then you have to check the
Req-URI to forward the request to the right destination.
I know, I know, someone knowledgeable on this list
likes to post
something like "openser doesn't do anything without you telling it to
do it" but that's not really 100% true, the tm module does do some
things for you... doesn't it?
It does RFC 3261 (+RFC 3263) routing....
So, are you basically saying that my BYE handler is going to be
about as complex as my INVITE and/or REGISTER handlers?
And then the same for ACK?
Not at all!!! If you have record-routed the first INVITE then further
messages will be processed by the loose_route...
I don't understand this:
> It shouldn't be that way because the BYE
should contain the Contact:
Are you saying that the BYE's I'm getting are flawed for some reason
as they do not contain any Contact:
The entity responsible for the BYE req-URI is the UA that closed the
session. It's the one that must place the Contact of the INVITE in the
Req-URI of the following in-dialog requests.
BTW, sort of a separate but related question: when
would I get a BYE
or ACK with loose_route() true, and when would I get one with
loose_route() false?
see above...
Thanks,
-mark