dialog.c File Reference

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/time.h>
#include "../../sr_module.h"
#include "../../db/db.h"
#include "../../dprint.h"
#include "../../error.h"
#include "../../ut.h"
#include "../../pvar.h"
#include "../../mod_fix.h"
#include "../../script_cb.h"
#include "../../faked_msg.h"
#include "../../mem/mem.h"
#include "../../mi/mi.h"
#include "../tm/tm_load.h"
#include "../rr/api.h"
#include "dlg_hash.h"
#include "dlg_timer.h"
#include "dlg_handlers.h"
#include "dlg_load.h"
#include "dlg_cb.h"
#include "dlg_db_handler.h"
#include "dlg_req_within.h"
#include "dlg_profile.h"
#include "dlg_var.h"
#include "dlg_transfer.h"

Include dependency graph for dialog.c:

Go to the source code of this file.

Functions

static int child_init (int rank)
static int fixup_dlg_bridge (void **param, int param_no)
static int fixup_dlg_bye (void **param, int param_no)
static int fixup_dlg_refer (void **param, int param_no)
static int fixup_get_profile2 (void **param, int param_no)
static int fixup_get_profile3 (void **param, int param_no)
static int fixup_profile (void **param, int param_no)
int load_dlg (struct dlg_binds *dlgb)
struct mi_rootmi_dlg_bridge (struct mi_root *cmd_tree, void *param)
static void mod_destroy (void)
static MODULE_VERSION int mod_init (void)
static int pv_get_dlg_count (struct sip_msg *msg, pv_param_t *param, pv_value_t *res)
static int w_dlg_bridge (struct sip_msg *, char *, char *, char *)
static int w_dlg_bye (struct sip_msg *, char *, char *)
static int w_dlg_get (struct sip_msg *, char *, char *, char *)
static int w_dlg_isflagset (struct sip_msg *msg, char *flag, str *s2)
static int w_dlg_manage (struct sip_msg *, char *, char *)
static int w_dlg_refer (struct sip_msg *, char *, char *)
static int w_dlg_resetflag (struct sip_msg *msg, char *flag, str *s2)
static int w_dlg_setflag (struct sip_msg *msg, char *flag, char *s2)
static int w_get_profile_size (struct sip_msg *, char *, char *, char *)
static int w_is_in_profile (struct sip_msg *, char *, char *)
static int w_set_dlg_profile (struct sip_msg *, char *, char *)
static int w_unset_dlg_profile (struct sip_msg *, char *, char *)

Variables

stat_varactive_dlgs = 0
int active_dlgs_cnt = 0
static cmd_export_t cmds []
struct rr_binds d_rrb
struct tm_binds d_tmb
static int db_fetch_rows = 200
static unsigned int db_update_period = DB_DEFAULT_UPDATE_PERIOD
static str db_url = str_init(DEFAULT_DB_URL)
static int default_timeout = 60 * 60 * 12
str dlg_bridge_controller = {"sip:controller@kamailio.org", 27}
int dlg_enable_stats = 1
str dlg_extra_hdrs = {NULL,0}
static int dlg_flag = -1
static int dlg_hash_size = 4096
stat_varearly_dlgs = 0
int early_dlgs_cnt = 0
stat_varexpired_dlgs = 0
struct module_exports exports
stat_varfailed_dlgs = 0
static mi_export_t mi_cmds []
static pv_export_t mod_items []
static param_export_t mod_params []
static stat_export_t mod_stats []
stat_varprocessed_dlgs = 0
static char * profiles_nv_s = NULL
static char * profiles_wv_s = NULL
static char * rr_param = "did"
static int seq_match_mode = SEQ_MATCH_STRICT_ID
pv_spec_t timeout_avp
static str timeout_spec = {NULL, 0}


Function Documentation

static int child_init ( int  rank  )  [static]

static int fixup_dlg_bridge ( void **  param,
int  param_no 
) [static]

Definition at line 949 of file dialog.c.

References E_BUG, fixup_spve_null(), and LM_ERR.

static int fixup_dlg_bye ( void **  param,
int  param_no 
) [static]

Definition at line 897 of file dialog.c.

References E_BUG, E_CFG, LM_ERR, and pkg_free.

static int fixup_dlg_refer ( void **  param,
int  param_no 
) [static]

Definition at line 923 of file dialog.c.

References E_BUG, E_CFG, fixup_spve_null(), LM_ERR, and pkg_free.

static int fixup_get_profile2 ( void **  param,
int  param_no 
) [static]

Definition at line 294 of file dialog.c.

References E_SCRIPT, fixup_profile(), fixup_pvar(), LM_ERR, PVT_AVP, PVT_SCRIPTVAR, and _pv_spec::type.

Referenced by fixup_get_profile3().

static int fixup_get_profile3 ( void **  param,
int  param_no 
) [static]

Definition at line 314 of file dialog.c.

References fixup_get_profile2(), and fixup_profile().

static int fixup_profile ( void **  param,
int  param_no 
) [static]

int load_dlg ( struct dlg_binds dlgb  ) 

Definition at line 328 of file dialog.c.

References register_dlgcb(), and dlg_binds::register_dlgcb.

Referenced by load_dlg_api().

struct mi_root * mi_dlg_bridge ( struct mi_root cmd_tree,
void *  param 
) [read]

static void mod_destroy ( void   )  [static]

static int mod_init ( void   )  [static]

static int pv_get_dlg_count ( struct sip_msg msg,
pv_param_t param,
pv_value_t res 
) [static]

static int w_dlg_bridge ( struct sip_msg msg,
char *  from,
char *  to,
char *  op 
) [static]

Definition at line 853 of file dialog.c.

References dlg_bridge(), fixup_get_svalue(), _str::len, LM_ERR, NULL, and _str::s.

static int w_dlg_bye ( struct sip_msg msg,
char *  side,
char *  s2 
) [static]

Definition at line 794 of file dialog.c.

References dlg_bye(), dlg_bye_all(), DLG_CALLEE_LEG, DLG_CALLER_LEG, dlg_get_ctx_dialog(), and NULL.

static int w_dlg_get ( struct sip_msg msg,
char *  ci,
char *  ft,
char *  tt 
) [static]

Definition at line 960 of file dialog.c.

References current_dlg_pointer, fixup_get_svalue(), get_dlg(), _str::len, LM_ERR, NULL, and _str::s.

static int w_dlg_isflagset ( struct sip_msg msg,
char *  flag,
str s2 
) [static]

Definition at line 751 of file dialog.c.

References dlg_get_ctx_dialog(), fixup_get_ivalue(), LM_ERR, NULL, and dlg_cell::sflags.

static int w_dlg_manage ( struct sip_msg msg,
char *  s1,
char *  s2 
) [static]

static int w_dlg_refer ( struct sip_msg msg,
char *  side,
char *  to 
) [static]

static int w_dlg_resetflag ( struct sip_msg msg,
char *  flag,
str s2 
) [static]

Definition at line 730 of file dialog.c.

References dlg_get_ctx_dialog(), fixup_get_ivalue(), LM_ERR, NULL, and dlg_cell::sflags.

static int w_dlg_setflag ( struct sip_msg msg,
char *  flag,
char *  s2 
) [static]

Definition at line 710 of file dialog.c.

References dlg_get_ctx_dialog(), fixup_get_ivalue(), LM_ERR, NULL, and dlg_cell::sflags.

static int w_get_profile_size ( struct sip_msg msg,
char *  profile,
char *  value,
char *  result 
) [static]

static int w_is_in_profile ( struct sip_msg msg,
char *  profile,
char *  value 
) [static]

Definition at line 652 of file dialog.c.

References is_dlg_in_profile(), _str::len, LM_WARN, NULL, pv_printf_s(), and _str::s.

static int w_set_dlg_profile ( struct sip_msg msg,
char *  profile,
char *  value 
) [static]

Definition at line 592 of file dialog.c.

References _str::len, LM_ERR, LM_WARN, NULL, pv_printf_s(), _str::s, and set_dlg_profile().

static int w_unset_dlg_profile ( struct sip_msg msg,
char *  profile,
char *  value 
) [static]

Definition at line 622 of file dialog.c.

References _str::len, LM_ERR, LM_WARN, NULL, pv_printf_s(), _str::s, and unset_dlg_profile().


Variable Documentation

Definition at line 94 of file dialog.c.

Referenced by bye_reply_cb(), dlg_onreply(), dlg_onroute(), and dlg_ontimeout().

int active_dlgs_cnt = 0

Definition at line 92 of file dialog.c.

Referenced by child_init(), and load_dialog_info_from_db().

cmd_export_t cmds[] [static]

Definition at line 131 of file dialog.c.

struct rr_binds d_rrb

Definition at line 101 of file dialog.c.

Referenced by add_dlg_rr_param(), dlg_onroute(), and mod_init().

struct tm_binds d_tmb

int db_fetch_rows = 200 [static]

Definition at line 86 of file dialog.c.

Referenced by mod_init().

unsigned int db_update_period = DB_DEFAULT_UPDATE_PERIOD [static]

Definition at line 106 of file dialog.c.

Referenced by mod_init().

str db_url = str_init(DEFAULT_DB_URL) [static]

Definition at line 105 of file dialog.c.

int default_timeout = 60 * 60 * 12 [static]

Definition at line 81 of file dialog.c.

Referenced by dlg_onroute(), get_dlg_timeout(), init_dlg_handlers(), and mod_init().

str dlg_bridge_controller = {"sip:controller@kamailio.org", 27}

Definition at line 88 of file dialog.c.

str dlg_extra_hdrs = {NULL,0}

Definition at line 85 of file dialog.c.

int dlg_flag = -1 [static]

Definition at line 79 of file dialog.c.

Referenced by dlg_onreq(), init_dlg_handlers(), and mod_init().

int dlg_hash_size = 4096 [static]

Definition at line 77 of file dialog.c.

Referenced by mod_init().

Definition at line 98 of file dialog.c.

Referenced by dlg_onreply().

int early_dlgs_cnt = 0

Definition at line 93 of file dialog.c.

Referenced by child_init(), and load_dialog_info_from_db().

Definition at line 96 of file dialog.c.

Definition at line 245 of file dialog.c.

Definition at line 97 of file dialog.c.

mi_export_t mi_cmds[] [static]

Definition at line 220 of file dialog.c.

pv_export_t mod_items[] [static]

Definition at line 231 of file dialog.c.

Definition at line 168 of file dialog.c.

Definition at line 209 of file dialog.c.

Definition at line 95 of file dialog.c.

char* profiles_nv_s = NULL [static]

Definition at line 84 of file dialog.c.

Referenced by mod_init().

char* profiles_wv_s = NULL [static]

Definition at line 83 of file dialog.c.

Referenced by mod_init().

char* rr_param = "did" [static]

Definition at line 78 of file dialog.c.

Referenced by mod_init().

int seq_match_mode = SEQ_MATCH_STRICT_ID [static]

Definition at line 82 of file dialog.c.

Referenced by dlg_new_dialog(), dlg_onroute(), init_dlg_handlers(), mod_init(), and w_dlg_manage().

Definition at line 102 of file dialog.c.

str timeout_spec = {NULL, 0} [static]

Definition at line 80 of file dialog.c.

Referenced by mod_init().


Generated on Tue May 22 16:00:38 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6