Hi Klaus,
On 15/03/2011 07:27, Klaus Darilion wrote:
But back to the original issues. You said, that the
BYE (should be loose
routed) is not routed correctly back to the Asterisk server. Fix this -
as this is your real problem. Take a look at the contact headers and
in-dialog request URIs. Then you need not play around with faked
record-route headers.
I was looking at this a little more. If I remove the manually added RR
header, then, yes, the BYE message does not make it back to the
originating asterisk media server. The problem, I think, occurs when the
contact address is changed from the originating media server to the
location server, at the proxy. I think it does this because of the
"loose_route()" I force to load the "received" parameter from the
"Route" header as passed from the location server. So, for example:
[1] INVITE, from Asterisk, with contact address of "me@1.1.1.1:5060",
destined to location server "1.1.1.2:5060"
[2] INVITE looked up on location server, then forwarded on to Proxy
server "1.1.1.3:5060" with INVITE contact still "me@1.1.1.1:5060" and
"Route" parameter has
"<1.1.1.3:5060;lr;received="sip:55.55.55.55:1234>"
[3] When I perform the "loose_route" on the initial INVITE from location
server (to enforce the route), then the contact address changes from
"me@1.1.1.1:5060" to "me@1.1.1.2:5060". This is where I think the
issue
comes in why the BYE message only makes it back to the location server
and not the asterisk server.
The problem is, is that I dont know how else to load the "Route" as
defined in the route header. I have the "use_received" parameter set for
the path module, but it does not seem to change the destination uri to
that defined in the the received parameter of the route header on the
initial invite (unless I perform a loose_route, then it will load it).
The documentation for the path module seems to imply that it will use
the received parameter in the Route header that is for the local server.
But it does not seem to be doing that by default. Do I need to perform a
loose_route before relaying to load the route?