Hi Klaus,
On 05/26/2010 11:56 AM, Klaus Darilion wrote:
Hi Miklos!
How can the reply status be changed?
there should be some other function added, what tm module does is only
checking for the change. If you need it then I can add the function to
modules_s/textops for instance.
If it is changed in reply-route, will failure route have the changed-one?
Yes.
Miklos
Thanks
Klaus
Am 26.05.2010 11:38, schrieb Miklos Tirpak:
Module: sip-router
Branch: master
Commit: 4cca625ce8229c5513451d135c09d9701c80dcd7
URL:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=4cca625…
Author: Miklos Tirpak<miklos(a)iptel.org>
Committer: Miklos Tirpak<miklos(a)iptel.org>
Date: Wed May 26 11:31:51 2010 +0200
tm: support for changing the reply status in the script
The reply status code is re-read after the onreply_route block
is executed which makes possile to change the status code from the
script.
The status code shall be rewritten directly in
the message buffer
and in the parsed structure, and the class of provisional and
positive final replies cannot be changed.
---
modules/tm/t_reply.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/modules/tm/t_reply.c b/modules/tm/t_reply.c
index 9ad1d0e..2e6fd55 100644
--- a/modules/tm/t_reply.c
+++ b/modules/tm/t_reply.c
@@ -2129,6 +2129,17 @@ int reply_received( struct sip_msg *p_msg )
stop_rb_timers(&uac->request);
}
#endif /* TM_ONREPLY_FINAL_DROP_OK */
+ /* Re-read the status code, it can be changed in the route
block. */
+#ifdef EXTRA_DEBUG
+ /* The class of provisional and positive final replies
cannot be
changed. */
> + if (((msg_status< 300) || (p_msg->REPLY_STATUS< 300))
> + && (msg_status/100 != p_msg->REPLY_STATUS/100)
> + ) {
> + LOG(L_ERR, "ERROR: The class of provisional and "
> + "positive final replies should not be changed!\n");
> + }
> +#endif /* EXTRA_DEBUG */
> + msg_status=p_msg->REPLY_STATUS;
> }
> #ifdef USE_DST_BLACKLIST
> /* add temporary to the blacklist the source of a 503 reply */
>
>
> _______________________________________________
> sr-dev mailing list
> sr-dev(a)lists.sip-router.org
>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev