Hello
We need to implement this scenario:
client -> proxy --> provider
The provider sends 183 with SDP and we need to drop it and send 180 instead. I managed to
do it like this:
1- on_reply block, I catch the 183 if it comes, call a route block named
"DROP_180" then drop it:
if ($rs == "183")
{
route(DROP_180);
drop();
}
2- on the new route block "DROP_180" I use the command send_reply(180,
"Ringing")
route[DROP_180] {
xlog("L_INFO","mylog: On Route DROP_180.");
send_reply(180,"Ringing");
}
I had to do it on a separate block because the send_reply command could not be used on the
same on_reply block, also I had to send the 180 first before the 183 is dropped because
the drop() apparently stops the script execution and the 180 was not sent
The idea works fine, BUT the To tag on the locally generated 180 is not the same as the
one on the original 183 message. After the progress (183 message), it comes the 200 OK,
which we forward downstream unaltered. Now, the client seems to ignore the 200 OK, (there
is no ACK), we think that since the To tag on the original 183 and the 200 OK does not
match the one on the 180 that is why the customer is processing the 200 OK. Any ideas
here?
txs a lot