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

Reply via email to