[sr-dev] How to change the reply msg in the onreply_route
Andrei Pelinescu-Onciul
andrei at iptel.org
Fri Feb 19 17:55:57 CET 2010
On Feb 19, 2010 at 17:33, Min Wang <wang at basis-audionet.com> wrote:
> Hi
>
> I have following scenario:
>
> u1---> p1 --> u2
>
> u1 calling u2, u2 reply with 200 OK,
>
> The p1 need to check something, and decide to send ACK/Bye to u2,
> and 488 to u1:
>
> onreply_route[1]
> {
> if (my_function_check("")) {
> release_call_onreply("");
> }
>
> }
>
> The question is : How to do implement release_call_onreply correctly?
>
> The pseudo codes is like:
>
> t=tmb.t_gett();
> send_request(method_ACK);
> send_request(method_BYE);
> reason_code = 488
> tmb.t_reply(t->uas.request,reason_code,reason_text);
> (Not sure if t_reply can be called here or not.)
>
> The ACK/Bye is sent to U2, 488 is sent to U1,
>
> But the issue is it seems the original 200 OK is forwarded to U1 as
> well.
>
> How to avoid it?
You need either to DROP the reply (add drop in the script after your
function), or use the generic onreply_route ( [0] or unnamed).
Anyway you would need to modify t_reply, or it won't work from the
onreply_route (at least not in sr 3.*).
>
> Or should the Data lumps function be used here to modify the 200 reply
> msg instead of using t_reply here?
No, you won't be able to change the reply code that way.
Andrei
More information about the sr-dev
mailing list