Hello everyone!
I have my system based on ser 0.9.6. Internal calls work just fine.
I am now trying to interop with another system. It has a sort of
asterisk functionality, but it is not asterisk, it is a private
software company product.
my.phone ---------> my.ser.proxy -------------> external.proxy
-------------> external phone
10.111.0.119 10.111.0.50 10.111.0.20
10.111.0.144
There is no firewall or nat in the way.
The problem, i think, is that the external.proxy is buggy. I told
that to the company, but who knows when they will fix this.
* Look at the OK (message #9 and #10). My.ser.proxy record-routes all
invites. The Record-route headers reach the external.phone, which
copies them in the OK
message, sends the OK to the external.proxy ... and when this forwards
it to my.ser.proxy, they are gone! The OK reaches my.phone, but then
it generates my
problem: the ACK. It contains NO ROUTE headers and the r-uri is also
simply pointing to the external.proxy.
If the ACK had the ROUTE headers, my.ser.proxy would loose_route the
message and voila!
But as loose_route() returns false, my (maybe bad) config file gets
confused and treats it like a "new" call ... so it lookup("location")
of the ACK r-ruri fails,
and the ACK is dropped.
Should i modify the config file so that ACK, if not loose_route'd, are
simply t_relay'd?
* They also modify the contact field. The reason is because behind the
external.proxy could be H323 or SIP phones, so they sort of want to be
a termination as far as signalling is concerned.
I attach the message flow, hope it helps ... Thanks!
Cesc