#include <stdio.h>#include <string.h>#include <stdlib.h>#include "../../dprint.h"#include "../../ut.h"#include "../../trim.h"#include "../../mem/mem.h"#include "../../mem/shm_mem.h"#include "../../parser/parse_from.h"#include "../../parser/msg_parser.h"#include "../tm/tm_load.h"#include "dlg_req_within.h"#include "dlg_transfer.h"

Go to the source code of this file.
Defines | |
| #define | DLG_HOLD_CT_HDR "Contact: <sip:kamailio.org:5060>\r\nContent-Type: application/sdp\r\n" |
| #define | DLG_HOLD_CT_HDR_LEN (sizeof(DLG_HOLD_CT_HDR)-1) |
| #define | DLG_HOLD_SDP "v=0\r\no=kamailio-bridge 0 0 IN IP4 0.0.0.0\r\ns=kamailio\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\nm=audio 9 RTP/AVP 8 0\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:0 PCMU/8000\r\n" |
| #define | DLG_HOLD_SDP_LEN (sizeof(DLG_HOLD_SDP)-1) |
Functions | |
| int | dlg_bridge (str *from, str *to, str *op) |
| void | dlg_bridge_tm_callback (struct cell *t, int type, struct tmcb_params *ps) |
| static int | dlg_refer_callee (dlg_transfer_ctx_t *dtc) |
| void | dlg_refer_tm_callback (struct cell *t, int type, struct tmcb_params *ps) |
| int | dlg_transfer (struct dlg_cell *dlg, str *to, int side) |
| void | dlg_transfer_ctx_free (dlg_transfer_ctx_t *dtc) |
Variables | |
| str | dlg_bridge_controller |
| #define DLG_HOLD_CT_HDR "Contact: <sip:kamailio.org:5060>\r\nContent-Type: application/sdp\r\n" |
| #define DLG_HOLD_CT_HDR_LEN (sizeof(DLG_HOLD_CT_HDR)-1) |
| #define DLG_HOLD_SDP "v=0\r\no=kamailio-bridge 0 0 IN IP4 0.0.0.0\r\ns=kamailio\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\nm=audio 9 RTP/AVP 8 0\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:0 PCMU/8000\r\n" |
$Id$
Copyright (C) 2009 Daniel-Constantin Mierla (asipto.com)
This file is part of kamailio, a free SIP server.
kamailio is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version
kamailio is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Definition at line 39 of file dlg_transfer.c.
Referenced by dlg_bridge().
| #define DLG_HOLD_SDP_LEN (sizeof(DLG_HOLD_SDP)-1) |
Definition at line 278 of file dlg_transfer.c.
References d_tmb, dlg_bridge_tm_callback(), DLG_HOLD_CT_HDR, DLG_HOLD_CT_HDR_LEN, DLG_HOLD_SDP, DLG_HOLD_SDP_LEN, dlg_transfer_ctx_free(), _dlg_transfer_ctx::from, _str::len, LM_DBG, LM_ERR, NULL, _str::s, shm_free, shm_malloc(), tm_binds::t_request, and _dlg_transfer_ctx::to.
Referenced by mi_dlg_bridge(), and w_dlg_bridge().
| void dlg_bridge_tm_callback | ( | struct cell * | t, | |
| int | type, | |||
| struct tmcb_params * | ps | |||
| ) |
Definition at line 190 of file dlg_transfer.c.
References hdr_field::body, build_new_dlg(), sip_msg::callid, tmcb_params::code, sip_msg::cseq, dlg_cell::cseq, _dlg_transfer_ctx::dlg, DLG_CALLEE_LEG, DLG_CALLER_LEG, dlg_refer_callee(), dlg_set_leg_info(), dlg_transfer_ctx_free(), empty, get_cseq, get_from, get_to, HDR_CALLID_F, HDR_CSEQ_F, HDR_TO_F, _str::len, LM_DBG, LM_ERR, NULL, tmcb_params::param, parse_from_header(), parse_headers(), hdr_field::parsed, populate_leg_info(), tmcb_params::rpl, s, shm_free, sip_msg::to, and trim().
Referenced by dlg_bridge().
| static int dlg_refer_callee | ( | dlg_transfer_ctx_t * | dtc | ) | [static] |
Definition at line 132 of file dlg_transfer.c.
References build_dlg_t(), CRLF, CRLF_LEN, d_tmb, _dlg_transfer_ctx::dlg, DLG_CALLEE_LEG, dlg_refer_tm_callback(), free_tm_dlg(), _str::len, LM_DBG, LM_ERR, NULL, pkg_free, pkg_malloc, _str::s, tm_binds::t_request_within, and _dlg_transfer_ctx::to.
Referenced by dlg_bridge_tm_callback(), and dlg_transfer().
| void dlg_refer_tm_callback | ( | struct cell * | t, | |
| int | type, | |||
| struct tmcb_params * | ps | |||
| ) |
Definition at line 79 of file dlg_transfer.c.
References build_dlg_t(), tmcb_params::code, d_tmb, _dlg_transfer_ctx::dlg, DLG_CALLEE_LEG, dlg_transfer_ctx_free(), free_tm_dlg(), LM_DBG, LM_ERR, NULL, tmcb_params::param, and tm_binds::t_request_within.
Referenced by dlg_refer_callee().
Definition at line 341 of file dlg_transfer.c.
References build_new_dlg(), dlg_cell::callid, dlg_cell::contact, dlg_cell::cseq, _dlg_transfer_ctx::dlg, DLG_CALLEE_LEG, DLG_CALLER_LEG, dlg_refer_callee(), dlg_set_leg_info(), dlg_transfer_ctx_free(), empty, _dlg_transfer_ctx::from, dlg_cell::from_uri, _str::len, LM_ERR, NULL, dlg_cell::route_set, _str::s, shm_free, shm_malloc(), dlg_cell::tag, _dlg_transfer_ctx::to, and dlg_cell::to_uri.
Referenced by w_dlg_refer().
| void dlg_transfer_ctx_free | ( | dlg_transfer_ctx_t * | dtc | ) |
Definition at line 47 of file dlg_transfer.c.
References dlg_cell::cseq, _dlg_transfer_ctx::dlg, DLG_CALLEE_LEG, DLG_CALLER_LEG, _dlg_transfer_ctx::from, NULL, _str::s, shm_free, dlg_cell::tag, and _dlg_transfer_ctx::to.
Referenced by dlg_bridge(), dlg_bridge_tm_callback(), dlg_refer_tm_callback(), and dlg_transfer().
1.5.6