Module: sip-router Branch: jason.penton/ims_ro_interface Commit: b8f2455b1911a88977e2327a13c6ca988d6041a4 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=b8f2455b...
Author: Jason Penton jason.penton@smilecoms.com Committer: Jason Penton jason.penton@smilecoms.com Date: Tue Mar 12 13:18:27 2013 +0200
dialog_ng: added few functions to API to access current dialog for example
---
modules/dialog_ng/dialog.c | 1 + modules/dialog_ng/dlg_cb.h | 2 -- modules/dialog_ng/dlg_load.h | 4 ++++ modules/dialog_ng/dlg_profile.c | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/modules/dialog_ng/dialog.c b/modules/dialog_ng/dialog.c index 748515d..acbeb02 100644 --- a/modules/dialog_ng/dialog.c +++ b/modules/dialog_ng/dialog.c @@ -252,6 +252,7 @@ int load_dlg(struct dlg_binds *dlgb) { dlgb->get_dlg_var = api_get_dlg_variable; dlgb->terminate_dlg = w_api_terminate_dlg; dlgb->get_dlg_expires = api_get_dlg_expires; + dlgb->get_current_dlg = get_current_dialog;
return 1; } diff --git a/modules/dialog_ng/dlg_cb.h b/modules/dialog_ng/dlg_cb.h index 2bed062..072e87a 100644 --- a/modules/dialog_ng/dlg_cb.h +++ b/modules/dialog_ng/dlg_cb.h @@ -70,8 +70,6 @@ typedef int (*set_dlg_variable_f)( str* callid, str* ftag, str* ttag, typedef str* (*get_dlg_variable_f)( str *callid, str *ftag, str *ttag, str* key);
-typedef struct dlg_cell* (*get_current_dlg_f)( struct sip_msg* msg); - #define DLGCB_LOADED (1<<0) #define DLGCB_CREATED (1<<1) #define DLGCB_FAILED (1<<2) diff --git a/modules/dialog_ng/dlg_load.h b/modules/dialog_ng/dlg_load.h index 80e97d6..ff2920a 100644 --- a/modules/dialog_ng/dlg_load.h +++ b/modules/dialog_ng/dlg_load.h @@ -38,6 +38,9 @@ typedef int (*terminate_dlg_f)(str *callid, str *ftag, str *ttag, str *hdrs, str /* get_dlg_lifetime function prototype */ typedef time_t (*get_dlg_expires_f)(str *callid, str *ftag, str *ttag);
+/* get_current_dlg function prototype */ +typedef struct dlg_cell* (*get_current_dlg_f)( struct sip_msg* msg); + struct dlg_binds { register_dlgcb_f register_dlgcb; register_dlgcb_nodlg_f register_dlgcb_nodlg; @@ -45,6 +48,7 @@ struct dlg_binds { set_dlg_variable_f set_dlg_var; get_dlg_variable_f get_dlg_var; get_dlg_expires_f get_dlg_expires; + get_current_dlg_f get_current_dlg; };
diff --git a/modules/dialog_ng/dlg_profile.c b/modules/dialog_ng/dlg_profile.c index b76fef4..ffca7c2 100644 --- a/modules/dialog_ng/dlg_profile.c +++ b/modules/dialog_ng/dlg_profile.c @@ -358,7 +358,7 @@ struct dlg_cell *get_current_dialog(struct sip_msg *msg) LM_DBG("Get Current Dialog: SIP Method - %.*s", msg->first_line.u.request.method.len, msg->first_line.u.request.method.s); /* use the per-process static holder */ if (msg->id==current_dlg_msg_id){ - LM_DBG("Message Id [%i] equals current dlg msg id [%i] - returning current dlg pointer", msg->id, current_dlg_msg_id); + LM_DBG("Message Id [%i] equals current dlg msg id [%i] - returning current dlg pointer [%p]", msg->id, current_dlg_msg_id, current_dlg_pointer); return current_dlg_pointer; } LM_DBG("Message Id [%i] not equal to current point dlg id [%i] - returning null", msg->id, current_dlg_msg_id);