Module: sip-router
Branch: master
Commit: 8402508053d83414ab3eea62a9a24731c4b23bd3
URL:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=8402508…
Author: Jan Janak <jan(a)iptel.org>
Committer: Jan Janak <jan(a)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