Module: sems Branch: master Commit: 43aab77c7150708f638fe76b009b6740904f9569 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=43aab77c7150708f638fe76b009b6740904f9569
Author: Stefan Sayer <[email protected]> Committer: Stefan Sayer <[email protected]> Date: Sat Dec 21 19:23:38 2013 +0100 sbc:dsm: next_hop options for addCallee with new call mode --- apps/dsm/mods/mod_sbc/ModSbc.cpp | 16 ++++++++++++++++ apps/sbc/call_control/dsm/SBCDSMParams.h | 5 +++++ doc/dsm/dsm_sbc_syntax.txt | 9 +++++++++ 3 files changed, 30 insertions(+), 0 deletions(-) diff --git a/apps/dsm/mods/mod_sbc/ModSbc.cpp b/apps/dsm/mods/mod_sbc/ModSbc.cpp index e1b2bec..474397c 100644 --- a/apps/dsm/mods/mod_sbc/ModSbc.cpp +++ b/apps/dsm/mods/mod_sbc/ModSbc.cpp @@ -452,6 +452,22 @@ EXEC_ACTION_START(MODSBCActionAddCallee) { if (it != sc_sess->var.end()) p.outbound_proxy = it->second; + it = sc_sess->var.find(varname+"." DSM_SBC_PARAM_ADDCALLEE_NEXT_HOP); + if (it != sc_sess->var.end()) + p.next_hop = it->second; + + it = sc_sess->var.find(varname+"." DSM_SBC_PARAM_ADDCALLEE_NEXT_HOP_1ST_REQ); + if (it != sc_sess->var.end()) + p.next_hop_1st_req = (it->second == DSM_TRUE); + + it = sc_sess->var.find(varname+"." DSM_SBC_PARAM_ADDCALLEE_NEXT_HOP_PATCH_RURI); + if (it != sc_sess->var.end()) + p.patch_ruri_next_hop = (it->second == DSM_TRUE); + + it = sc_sess->var.find(varname+"." DSM_SBC_PARAM_ADDCALLEE_NEXT_HOP_FIXED); + if (it != sc_sess->var.end()) + p.next_hop_fixed = (it->second == DSM_TRUE); + sbc_call_leg->addCallee(peer, hdrs); } else if (mode == DSM_SBC_PARAM_ADDCALLEE_MODE_LTAG) { string ltag; diff --git a/apps/sbc/call_control/dsm/SBCDSMParams.h b/apps/sbc/call_control/dsm/SBCDSMParams.h index 76a480e..e298b98 100644 --- a/apps/sbc/call_control/dsm/SBCDSMParams.h +++ b/apps/sbc/call_control/dsm/SBCDSMParams.h @@ -18,6 +18,11 @@ #define DSM_SBC_PARAM_ADDCALLEE_REMOTE_PARTY "remote_party" #define DSM_SBC_PARAM_ADDCALLEE_HDRS "hdrs" #define DSM_SBC_PARAM_ADDCALLEE_OUTBOUND_PROXY "outbound_proxy" +#define DSM_SBC_PARAM_ADDCALLEE_NEXT_HOP "next_hop" +#define DSM_SBC_PARAM_ADDCALLEE_NEXT_HOP_1ST_REQ "next_hop_1st_req" +#define DSM_SBC_PARAM_ADDCALLEE_NEXT_HOP_PATCH_RURI "next_hop_patch_ruri" +#define DSM_SBC_PARAM_ADDCALLEE_NEXT_HOP_FIXED "next_hop_fixed" + #define DSM_SBC_PARAM_ADDCALLEE_RTP_MODE "rtp_mode" #define DSM_SBC_PARAM_ADDCALLEE_TRANSPARENT_DLG_ID "transparent_dlg_id" diff --git a/doc/dsm/dsm_sbc_syntax.txt b/doc/dsm/dsm_sbc_syntax.txt index a547913..d9fdb35 100644 --- a/doc/dsm/dsm_sbc_syntax.txt +++ b/doc/dsm/dsm_sbc_syntax.txt @@ -202,6 +202,15 @@ sbc.addCallee(string mode, string varname) $varname.remote_party - remote party (To) in new call $varname.hdrs - headers in outgoing INVITE $varname.outbound_proxy - outbound proxy in new call + $varname.next_hop - next hop + $varname.next_hop_1st_req - next hop for 1st req, "true" or "false" + $varname.next_hop_patch_ruri - patch ruri with next hop, "true" or "false" + $varname.next_hop_fixed - fixed next hop + + $varname.outbound_proxy - outbound proxy in new call + $varname.outbound_proxy - outbound proxy in new call + $varname.outbound_proxy - outbound proxy in new call + $varname.transparent_dlg_id - "yes" or "no": use transparent dlg IDs for new call; default no - "no" very much advised if current leg was connected before! otherwise local tag in current leg will be overwritten on reply _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
