Module: sip-router Branch: master Commit: 8402508053d83414ab3eea62a9a24731c4b23bd3 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=84025080...
Author: Jan Janak jan@iptel.org Committer: Jan Janak jan@iptel.org Date: Sun Mar 29 17:53:58 2009 +0200
Introducing run_top_route function
Function run_top_route can be used to initialize the environment before a SIP message starts processing in *_route blocks. Internally it resets the script flags, resets the select buffer, initializes the environment using init_run_actions_ctx and passes control to the specified route section.
---
action.c | 11 +++++++++++ action.h | 4 +--- 2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/action.c b/action.c index 82812d7..b4758a5 100644 --- a/action.c +++ b/action.c @@ -67,6 +67,7 @@ #include "ut.h" #include "lvalue.h" #include "sr_module.h" +#include "select_buf.h" #include "mem/mem.h" #include "globals.h" #include "dset.h" @@ -1268,3 +1269,13 @@ error: h->rec_lev--; return ret; } + + +int run_top_route(struct action* a, sip_msg_t* msg) +{ + struct run_act_ctx ctx; + setsflagsval(0); + reset_static_buffer(); + init_run_actions_ctx(&ctx); + return run_actions(&ctx, a, msg); +} diff --git a/action.h b/action.h index 9739d34..05b68cf 100644 --- a/action.h +++ b/action.h @@ -59,8 +59,6 @@ struct run_act_ctx{ int do_action(struct run_act_ctx* c, struct action* a, struct sip_msg* msg); int run_actions(struct run_act_ctx* c, struct action* a, struct sip_msg* msg);
- - - +int run_top_route(struct action* a, sip_msg_t* msg);
#endif