Hi All,
I have a scenario where I have 2 asterisk media servers that, when
calling a registered sip account, will forward off the invite to a
location server, who looks up the contact information, then forwards the
invite off to the proxy that the user registered against (done via the
path module). This all appears to work perfectly until the us hangs up
the call. The BYE message does not make it all the way back to the
originating asterisk media server, it makes it back to the location
server that looked up the registration information.
To overcome this issue, I add a "Record-Route" header specifying the
address of the asterisk media server that the request originated from.
However, when I add the custom header, the Invite shows up as fragmented
packet my wire-shark trace at the end-user's soft-phone. The call sets
up properly and when I hang up it looks like the BYE message makes it
all the way back to the media server, but when it is relayed on the the
caller, the sip proxy then fails the call with a message too big. If I
remove the line that adds the record-route header, then all looks fine,
except that I am unable to tear down calls from sip end-points.
The specific line I'm using to add the header is as follows:
insert_hf("Record-Route:
<sip:$si:$sp;lr=on>\r\n","Record-Route");
I do remove this from the route header on in-dialog replies as
loose-route does not remove the header on the original location server
as it does not see the route header as local, so I manually remove it.
Has anyone come across this particular issue? I'm using Kamailio 3.1.2.
Am I going about this is the wrong way? I've been reading the module
docs for registrar/usrloc/rr/path/textops to see if there is something
I've missed but cannot see it.
Any tips/suggestions would be greatly appreciated.
Thanks