siptrace.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "../../sr_module.h"
#include "../../dprint.h"
#include "../../ut.h"
#include "../../ip_addr.h"
#include "../../mem/mem.h"
#include "../../mem/shm_mem.h"
#include "../../mi/mi.h"
#include "../../db/db.h"
#include "../../parser/parse_content.h"
#include "../../parser/parse_from.h"
#include "../../pvar.h"
#include "../tm/tm_load.h"
#include "../sl/sl_cb.h"
#include "../../str.h"

Include dependency graph for siptrace.c:

Go to the source code of this file.

Defines

#define NR_KEYS   10
#define trace_is_off(_msg)

Functions

static int child_init (int rank)
static void destroy (void)
static int mod_init (void)
 Initialize siptrace module.
static int sip_trace (struct sip_msg *, char *, char *)
static struct mi_rootsip_trace_mi (struct mi_root *cmd_tree, void *param)
 MI Sip_trace command.
static int siptrace_copy_proto (int proto, char *buf)
static strsiptrace_get_table (void)
static void trace_onreply_in (struct cell *t, int type, struct tmcb_params *ps)
static void trace_onreply_out (struct cell *t, int type, struct tmcb_params *ps)
static void trace_onreq_in (struct cell *t, int type, struct tmcb_params *ps)
static void trace_onreq_out (struct cell *t, int type, struct tmcb_params *ps)
static int trace_send_duplicate (char *buf, int len)
static void trace_sl_ack_in (unsigned int types, struct sip_msg *req, struct sl_cb_param *sl_param)
static void trace_sl_onreply_out (unsigned int types, struct sip_msg *req, struct sl_cb_param *sl_param)

Variables

static str callid_column = str_init("callid")
static cmd_export_t cmds []
 Exported functions.
static str date_column = str_init("time_stamp")
db_con_tdb_con = NULL
db_func_t db_funcs
static str db_url = str_init(DEFAULT_RODB_URL)
static str direction_column = str_init("direction")
struct sip_uridup_uri = 0
str dup_uri_str = {0, 0}
struct module_exports exports
 module exports
static str fromip_column = str_init("fromip")
static str fromtag_column = str_init("fromtag")
static str method_column = str_init("method")
static mi_export_t mi_cmds []
 MI commands.
static str msg_column = str_init("msg")
static param_export_t params []
 Exported parameters.
register_slcb_t register_slcb_f = NULL
static str siptrace_table = str_init("sip_trace")
static str status_column = str_init("status")
MODULE_VERSION struct tm_binds tmb
static str toip_column = str_init("toip")
int trace_flag = -1
static str trace_local_ip = {NULL, 0}
int trace_on = 0
int * trace_on_flag = NULL
static int_str trace_table_avp
static str trace_table_avp_str = {NULL, 0}
static unsigned short trace_table_avp_type = 0
static int_str traced_user_avp
static str traced_user_avp_str = {NULL, 0}
static unsigned short traced_user_avp_type = 0
static str traced_user_column = str_init("traced_user")


Detailed Description

siptrace module - helper module to trace sip messages

Definition in file siptrace.c.


Define Documentation

#define NR_KEYS   10

Definition at line 85 of file siptrace.c.

#define trace_is_off ( _msg   ) 


Function Documentation

static int child_init ( int  rank  )  [static]

Definition at line 308 of file siptrace.c.

References db_func::init, and LM_ERR.

static void destroy ( void   )  [static]

static int mod_init ( void   )  [static]

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

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

MI Sip_trace command.

MI command format: name: sip_trace attribute: name=none, value=[on|off]

Definition at line 1332 of file siptrace.c.

References add_mi_node_child(), init_mi_tree(), mi_node::kids, _str::len, MI_BAD_PARM, MI_INTERNAL_ERR, MI_OK, MI_SSTR, mi_root::node, NULL, _str::s, trace_on_flag, and mi_node::value.

static int siptrace_copy_proto ( int  proto,
char *  buf 
) [inline, static]

static str* siptrace_get_table ( void   )  [inline, static]

static void trace_onreply_in ( struct cell t,
int  type,
struct tmcb_params ps 
) [static]

static void trace_onreply_out ( struct cell t,
int  type,
struct tmcb_params ps 
) [static]

static void trace_onreq_in ( struct cell t,
int  type,
struct tmcb_params ps 
) [static]

static void trace_onreq_out ( struct cell t,
int  type,
struct tmcb_params ps 
) [static]

static int trace_send_duplicate ( char *  buf,
int  len 
) [static]

static void trace_sl_ack_in ( unsigned int  types,
struct sip_msg req,
struct sl_cb_param sl_param 
) [static]

Definition at line 1144 of file siptrace.c.

References LM_DBG, and sip_trace().

Referenced by mod_init().

static void trace_sl_onreply_out ( unsigned int  types,
struct sip_msg req,
struct sl_cb_param sl_param 
) [static]


Variable Documentation

str callid_column = str_init("callid") [static]

Definition at line 75 of file siptrace.c.

cmd_export_t cmds[] [static]

Initial value:

 {
   {"sip_trace", (cmd_function)sip_trace, 0, 0, 0,
      REQUEST_ROUTE|FAILURE_ROUTE|ONREPLY_ROUTE|BRANCH_ROUTE|LOCAL_ROUTE},
   {0, 0, 0, 0, 0, 0}
}
Exported functions.

Definition at line 113 of file siptrace.c.

str date_column = str_init("time_stamp") [static]

Definition at line 74 of file siptrace.c.

db_con_t* db_con = NULL

database connection

Definition at line 105 of file siptrace.c.

Database functions

Definition at line 106 of file siptrace.c.

Referenced by sd_lookup().

str db_url = str_init(DEFAULT_RODB_URL) [static]

Definition at line 72 of file siptrace.c.

str direction_column = str_init("direction") [static]

Definition at line 83 of file siptrace.c.

struct sip_uri* dup_uri = 0

Definition at line 91 of file siptrace.c.

str dup_uri_str = {0, 0}

Definition at line 90 of file siptrace.c.

module exports

Definition at line 168 of file siptrace.c.

str fromip_column = str_init("fromip") [static]

Definition at line 80 of file siptrace.c.

str fromtag_column = str_init("fromtag") [static]

Definition at line 82 of file siptrace.c.

str method_column = str_init("method") [static]

Definition at line 78 of file siptrace.c.

mi_export_t mi_cmds[] [static]

Initial value:

 {
   { "sip_trace", sip_trace_mi,   0,  0,  0 },
   { 0, 0, 0, 0, 0}
}
MI commands.

Definition at line 148 of file siptrace.c.

str msg_column = str_init("msg") [static]

Definition at line 77 of file siptrace.c.

param_export_t params[] [static]

Exported parameters.

Definition at line 123 of file siptrace.c.

stateless callback registration

Definition at line 108 of file siptrace.c.

Referenced by mod_init().

str siptrace_table = str_init("sip_trace") [static]

Definition at line 73 of file siptrace.c.

str status_column = str_init("status") [static]

Definition at line 79 of file siptrace.c.

MODULE_VERSION struct tm_binds tmb

TM bind

Definition at line 53 of file siptrace.c.

str toip_column = str_init("toip") [static]

Definition at line 81 of file siptrace.c.

int trace_flag = -1

Definition at line 87 of file siptrace.c.

Referenced by mod_init().

str trace_local_ip = {NULL, 0} [static]

Definition at line 103 of file siptrace.c.

int trace_on = 0

Definition at line 88 of file siptrace.c.

Referenced by mod_init().

int* trace_on_flag = NULL

Definition at line 93 of file siptrace.c.

Referenced by mod_init(), sip_trace(), and sip_trace_mi().

Definition at line 100 of file siptrace.c.

str trace_table_avp_str = {NULL, 0} [static]

Definition at line 101 of file siptrace.c.

unsigned short trace_table_avp_type = 0 [static]

Definition at line 99 of file siptrace.c.

Referenced by mod_init(), and siptrace_get_table().

Definition at line 96 of file siptrace.c.

str traced_user_avp_str = {NULL, 0} [static]

Definition at line 97 of file siptrace.c.

unsigned short traced_user_avp_type = 0 [static]

str traced_user_column = str_init("traced_user") [static]

Definition at line 76 of file siptrace.c.


Generated on Thu May 24 12:00:42 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6