Module: kamailio
Branch: master
Commit: 4e91dc3222d9bb6e41317d4ca0eabe95a933c45a
URL: 
https://github.com/kamailio/kamailio/commit/4e91dc3222d9bb6e41317d4ca0eabe95a933c45a

Author: Daniel-Constantin Mierla <[email protected]>
Committer: GitHub <[email protected]>
Date: 2019-03-28T17:17:57+01:00

Merge pull request #1914 from marcocapetta/master

Small fixes to dialplan module when an avp is used as subst_exp

---

Modified: src/modules/dialplan/dp_repl.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/4e91dc3222d9bb6e41317d4ca0eabe95a933c45a.diff
Patch: 
https://github.com/kamailio/kamailio/commit/4e91dc3222d9bb6e41317d4ca0eabe95a933c45a.patch

---

diff --git a/src/modules/dialplan/dp_repl.c b/src/modules/dialplan/dp_repl.c
index 06762ce6d2..06534a9dab 100644
--- a/src/modules/dialplan/dp_repl.c
+++ b/src/modules/dialplan/dp_repl.c
@@ -432,7 +432,7 @@ int rule_translate(sip_msg_t *msg, str *instr, dpl_node_t 
*rule,
                /*search for the pattern from the compiled subst_exp*/
                if (pcre_exec(subst_comp, NULL, instr->s, instr->len,
                                        0, 0, ovector, 3 * (MAX_REPLACE_WITH + 
1)) <= 0) {
-                       LM_ERR("the string %.*s matched "
+                       LM_DBG("the string %.*s matched "
                                        "the match_exp %.*s but not the 
subst_exp %.*s!\n",
                                        instr->len, instr->s,
                                        rule->match_exp.len, rule->match_exp.s,
@@ -700,7 +700,7 @@ int dp_translate_helper(sip_msg_t *msg, str *input, str 
*output, dpl_id_p idp,
                }
        }
        if(rulep->tflags&DP_TFLAGS_PV_SUBST) {
-               re_list = dpl_dynamic_pcre_list(msg, &rulep->match_exp);
+               re_list = dpl_dynamic_pcre_list(msg, &rulep->subst_exp);
                if(re_list==NULL) {
                        /* failed to compile dynamic pcre -- ignore */
                        LM_DBG("failed to compile dynamic pcre[%.*s]\n",
@@ -721,6 +721,13 @@ int dp_translate_helper(sip_msg_t *msg, str *input, str 
*output, dpl_id_p idp,
                        pkg_free(re_list);
                        re_list = rt;
                } while(re_list);
+               if(rez<0) {
+                       LM_ERR("the string %.*s matched "
+                               "the match_exp %.*s but not the subst_exp 
%.*s!\n",
+                               input->len, input->s,
+                               rulep->match_exp.len, rulep->match_exp.s,
+                               rulep->subst_exp.len, rulep->subst_exp.s);
+               }
        }
        else {
                if(rule_translate(msg, input, rulep, rulep->subst_comp, 
output)!=0){


_______________________________________________
Kamailio (SER) - Development Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to