#include <stdlib.h>#include <string.h>#include "../../dprint.h"#include "../../ut.h"#include "../../db/db.h"#include "../../config.h"#include "../../socket_info.h"#include "../tm/dlg.h"#include "../tm/tm_load.h"#include "../../mi/tree.h"#include "dlg_timer.h"#include "dlg_hash.h"#include "dlg_req_within.h"#include "dlg_db_handler.h"

Go to the source code of this file.
Defines | |
| #define | MAX_FWD_HDR "Max-Forwards: " MAX_FWD CRLF |
| #define | MAX_FWD_HDR_LEN (sizeof(MAX_FWD_HDR) - 1) |
Functions | |
| dlg_t * | build_dlg_t (struct dlg_cell *cell, int dir) |
| static int | build_extra_hdr (struct dlg_cell *cell, str *extra_hdrs, str *str_hdr) |
| void | bye_reply_cb (struct cell *t, int type, struct tmcb_params *ps) |
| int | dlg_bye (struct dlg_cell *dlg, str *hdrs, int side) |
| int | dlg_bye_all (struct dlg_cell *dlg, str *hdrs) |
| int | free_tm_dlg (dlg_t *td) |
| struct mi_root * | mi_terminate_dlg (struct mi_root *cmd_tree, void *param) |
| static int | send_bye (struct dlg_cell *cell, int dir, str *hdrs) |
Variables | |
| str | dlg_extra_hdrs |
| #define MAX_FWD_HDR "Max-Forwards: " MAX_FWD CRLF |
| #define MAX_FWD_HDR_LEN (sizeof(MAX_FWD_HDR) - 1) |
Definition at line 66 of file dlg_req_within.c.
References dlg_cell::bind_addr, dlg_id::call_id, dlg_cell::callid, dlg_cell::contact, dlg_cell::cseq, DLG_CALLEE_LEG, DLG_CALLER_LEG, DLG_CONFIRMED, free_tm_dlg(), dlg_cell::from_uri, dlg::id, dlg_seq::is_set, _str::len, LM_ERR, dlg::loc_seq, dlg_id::loc_tag, dlg::loc_uri, NULL, parse_rr_body(), pkg_malloc, dlg_id::rem_tag, dlg::rem_target, dlg::rem_uri, dlg::route_set, dlg_cell::route_set, _str::s, dlg::send_sock, dlg::state, str2int(), dlg_cell::tag, dlg_cell::to_uri, and dlg_seq::value.
Referenced by dlg_refer_callee(), dlg_refer_tm_callback(), send_bye(), and send_notify_request().
| static int build_extra_hdr | ( | struct dlg_cell * | cell, | |
| str * | extra_hdrs, | |||
| str * | str_hdr | |||
| ) | [inline, static] |
Definition at line 199 of file dlg_req_within.c.
References _str::len, LM_ERR, MAX_FWD_HDR, MAX_FWD_HDR_LEN, pkg_malloc, and _str::s.
Referenced by dlg_bye(), and dlg_bye_all().
| void bye_reply_cb | ( | struct cell * | t, | |
| int | type, | |||
| struct tmcb_params * | ps | |||
| ) |
Definition at line 129 of file dlg_req_within.c.
References active_dlgs, dlg_cell::callid, tmcb_params::code, DLG_CALLEE_LEG, DLG_CALLER_LEG, dlg_db_mode, DLG_DIR_NONE, dlg_enable_stats, DLG_EVENT_REQBYE, DLG_STATE_DELETED, DLGCB_TERMINATED, dlg_cell::h_entry, dlg_cell::h_id, if_update_stat, _str::len, LM_CRIT, LM_DBG, LM_ERR, LM_WARN, next_state_dlg(), NULL, tmcb_params::param, remove_dialog_from_db(), remove_dialog_timer(), tmcb_params::req, run_dlg_callbacks(), _str::s, dlg_cell::tag, dlg_cell::tl, and unref_dlg().
Referenced by send_bye().
Definition at line 343 of file dlg_req_within.c.
References build_extra_hdr(), dlg_cell::dflags, DLG_CALLER_LEG, DLG_FLAG_CALLEEBYE, DLG_FLAG_CALLERBYE, LM_ERR, pkg_free, _str::s, and send_bye().
Referenced by w_dlg_bye().
Definition at line 368 of file dlg_req_within.c.
References build_extra_hdr(), DLG_CALLEE_LEG, DLG_CALLER_LEG, LM_ERR, pkg_free, _str::s, and send_bye().
Referenced by dlg_ontimeout(), mi_terminate_dlg(), and w_dlg_bye().
| int free_tm_dlg | ( | dlg_t * | td | ) |
Definition at line 53 of file dlg_req_within.c.
Referenced by build_dlg_t(), dlg_refer_callee(), dlg_refer_tm_callback(), send_bye(), and send_notify_request().
Definition at line 281 of file dlg_req_within.c.
References d_table, dlg_bye_all(), init_mi_tree(), mi_node::kids, _str::len, LM_DBG, lookup_dlg(), MI_BAD_PARM_LEN, MI_BAD_PARM_S, MI_DIALOG_NOT_FOUND, MI_DIALOG_NOT_FOUND_LEN, MI_DLG_OPERATION_ERR, MI_DLG_OPERATION_ERR_LEN, MI_MISSING_PARM_LEN, MI_MISSING_PARM_S, MI_OK_LEN, MI_OK_S, mi_node::next, mi_root::node, NULL, _str::s, strno2int(), unref_dlg(), and mi_node::value.
Definition at line 236 of file dlg_req_within.c.
References build_dlg_t(), bye_reply_cb(), d_tmb, DLG_CALLER_LEG, free_tm_dlg(), LM_DBG, LM_ERR, NULL, ref_dlg(), tm_binds::t_request_within, and unref_dlg().
Referenced by dlg_bye(), and dlg_bye_all().
1.5.6