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











                                          
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to