#include "../../parser/msg_parser.h"#include "../../str.h"#include "../../pvar.h"#include "../tm/t_hooks.h"#include "dlg_timer.h"


Go to the source code of this file.
Defines | |
| #define | MAX_DLG_RR_PARAM_NAME 32 |
| #define | SEQ_MATCH_FALLBACK 1 |
| #define | SEQ_MATCH_NO_ID 2 |
| #define | SEQ_MATCH_STRICT_ID 0 |
Functions | |
| void | destroy_dlg_handlers (void) |
| int | dlg_new_dialog (struct sip_msg *msg, struct cell *t) |
| void | dlg_onreq (struct cell *t, int type, struct tmcb_params *param) |
| void | dlg_onroute (struct sip_msg *req, str *rr_param, void *param) |
| void | dlg_ontimeout (struct dlg_tl *tl) |
| void | init_dlg_handlers (char *rr_param, int dlg_flag, pv_spec_t *timeout_avp, int default_timeout, int seq_match_mode) |
| int | pv_get_dlg_lifetime (struct sip_msg *msg, pv_param_t *param, pv_value_t *res) |
| int | pv_get_dlg_status (struct sip_msg *msg, pv_param_t *param, pv_value_t *res) |
| #define MAX_DLG_RR_PARAM_NAME 32 |
| #define SEQ_MATCH_FALLBACK 1 |
| #define SEQ_MATCH_NO_ID 2 |
Definition at line 44 of file dlg_handlers.h.
Referenced by dlg_new_dialog(), dlg_onroute(), mod_init(), and w_dlg_manage().
| #define SEQ_MATCH_STRICT_ID 0 |
| void destroy_dlg_handlers | ( | void | ) |
Definition at line 112 of file dlg_handlers.c.
References shutdown_done.
Referenced by mod_destroy().
Definition at line 434 of file dlg_handlers.c.
References add_dlg_rr_param(), hdr_field::body, build_new_dlg(), sip_msg::callid, current_dlg_pointer, d_tmb, cell::dialog_ctx, DLG_CALLER_LEG, dlg_enable_stats, DLG_FLAG_TOBYE, dlg_onreply(), sip_msg::first_line, get_dlg_timeout(), get_from, get_to, dlg_cell::h_entry, dlg_cell::h_id, HDR_CALLID_F, HDR_TO_F, if_update_stat, _str::len, link_dlg(), LM_ERR, METHOD_CANCEL, NULL, parse_from_header(), parse_headers(), populate_leg_info(), profile_cleanup(), tm_binds::register_tmcb, msg_start::request, run_create_callbacks(), _str::s, s, seq_match_mode, SEQ_MATCH_NO_ID, shm_free, TMCB_RESPONSE_FWDED, TMCB_RESPONSE_PRE_OUT, sip_msg::to, trim(), msg_start::u, unref_dlg(), unref_new_dialog(), and update_stat.
Referenced by dlg_onreq(), and w_dlg_manage().
| void dlg_onreq | ( | struct cell * | t, | |
| int | type, | |||
| struct tmcb_params * | param | |||
| ) |
Definition at line 414 of file dlg_handlers.c.
References current_dlg_pointer, dlg_flag, dlg_new_dialog(), sip_msg::flags, NULL, and tmcb_params::req.
Referenced by mod_init().
Definition at line 615 of file dlg_handlers.c.
References active_dlgs, hdr_field::body, sip_msg::callid, dlg_cell::callid, dlg_cell::cbs, CURR_DLG_ID, CURR_DLG_LIFETIME, CURR_DLG_STATUS, current_dlg_pointer, d_rrb, d_tmb, DB_MODE_REALTIME, default_timeout, dlg_cell::dflags, DLG_CALLEE_LEG, DLG_CALLER_LEG, dlg_db_mode, DLG_DIR_NONE, DLG_DIR_UPSTREAM, dlg_enable_stats, DLG_EVENT_REQ, DLG_EVENT_REQACK, DLG_EVENT_REQBYE, DLG_EVENT_REQPRACK, DLG_FLAG_CHANGED, dlg_seq_down_onreply(), dlg_seq_up_onreply(), DLG_STATE_CONFIRMED, DLG_STATE_CONFIRMED_NA, DLG_STATE_DELETED, DLGCB_REQ_WITHIN, DLGCB_RESPONSE_WITHIN, DLGCB_TERMINATED, sip_msg::first_line, get_dlg(), get_dlg_timeout(), rr_binds::get_route_param, get_to, dlg_cell::h_entry, dlg_cell::h_id, HDR_TO_F, sip_msg::id, if_update_stat, _str::len, dlg_cell::lifetime, LM_CRIT, LM_DBG, LM_ERR, LM_WARN, lookup_dlg(), match_dialog(), METHOD_ACK, METHOD_BYE, METHOD_PRACK, next_state_dlg(), NULL, parse_dlg_rr_param(), parse_headers(), pre_match_parse(), ref_dlg(), tm_binds::register_tmcb, remove_dialog_from_db(), remove_dialog_timer(), msg_start::request, run_dlg_callbacks(), _str::s, seq_match_mode, SEQ_MATCH_NO_ID, SEQ_MATCH_STRICT_ID, set_current_dialog(), dlg_cell::start_ts, dlg_cell::tag, timeout, dlg_cell::tl, TMCB_RESPONSE_FWDED, sip_msg::to, dlg_head_cbl::types, msg_start::u, unref_dlg(), unreference_dialog(), update_cseqs(), update_dialog_dbinfo(), and update_dlg_timer().
Referenced by mod_init(), and w_dlg_manage().
| void dlg_ontimeout | ( | struct dlg_tl * | tl | ) |
Definition at line 823 of file dlg_handlers.c.
References active_dlgs, dlg_cell::callid, dlg_cell::dflags, dlg_bye_all(), DLG_CALLEE_LEG, DLG_CALLER_LEG, dlg_db_mode, DLG_DIR_NONE, dlg_enable_stats, DLG_EVENT_REQBYE, DLG_FLAG_TOBYE, dlg_set_ctx_dialog(), DLG_STATE_CONFIRMED, DLG_STATE_CONFIRMED_NA, DLG_STATE_DELETED, DLGCB_EXPIRED, exec_post_req_cb(), exec_pre_req_cb(), faked_msg_next(), get_dlg_tl_payload, if_update_stat, _str::len, LM_DBG, LM_WARN, next_state_dlg(), NULL, remove_dialog_from_db(), REQUEST_ROUTE, rlist, RT_NO, run_dlg_callbacks(), run_top_route(), _str::s, set_route_type, dlg_cell::state, dlg_cell::tag, dlg_cell::toroute, and unref_dlg().
Referenced by mod_init().
| void init_dlg_handlers | ( | char * | rr_param, | |
| int | dlg_flag, | |||
| pv_spec_t * | timeout_avp, | |||
| int | default_timeout, | |||
| int | seq_match_mode | |||
| ) |
Definition at line 97 of file dlg_handlers.c.
References default_timeout, dlg_flag, _str::len, _str::s, and seq_match_mode.
Referenced by mod_init().
| int pv_get_dlg_lifetime | ( | struct sip_msg * | msg, | |
| pv_param_t * | param, | |||
| pv_value_t * | res | |||
| ) |
Definition at line 884 of file dlg_handlers.c.
References CURR_DLG_ID, CURR_DLG_LIFETIME, _pv_value::flags, sip_msg::id, int2str(), _str::len, NULL, pv_get_null(), PV_TYPE_INT, PV_VAL_INT, PV_VAL_STR, _pv_value::ri, _pv_value::rs, and _str::s.
| int pv_get_dlg_status | ( | struct sip_msg * | msg, | |
| pv_param_t * | param, | |||
| pv_value_t * | res | |||
| ) |
Definition at line 908 of file dlg_handlers.c.
References CURR_DLG_ID, CURR_DLG_STATUS, _pv_value::flags, sip_msg::id, int2str(), _str::len, NULL, pv_get_null(), PV_TYPE_INT, PV_VAL_INT, PV_VAL_STR, _pv_value::ri, _pv_value::rs, and _str::s.
1.5.6