Merge pull request #1185 from grumvalski/core_rpc_fmt
authorFederico Cabiddu <federico.cabiddu@gmail.com>
Wed, 12 Jul 2017 08:52:25 +0000 (10:52 +0200)
committerGitHub <noreply@github.com>
Wed, 12 Jul 2017 08:52:25 +0000 (10:52 +0200)
Adapt some core rpc command to json

src/modules/cplc/README
src/modules/cplc/cplc.c
src/modules/cplc/doc/cplc_admin.xml

index 58d17ec..903fa0f 100644 (file)
@@ -32,7 +32,7 @@ Bogdan-Andrei Iancu
               3.7. cpl_dtd_file (string)
               3.8. log_dir (string)
               3.9. proxy_recurse (int)
-              3.10. proxy_route (int)
+              3.10. proxy_route (string)
               3.11. case_sensitive (int)
               3.12. realm_prefix (string)
               3.13. timer_avp (string)
@@ -99,7 +99,7 @@ Chapter 1. Admin Guide
         3.7. cpl_dtd_file (string)
         3.8. log_dir (string)
         3.9. proxy_recurse (int)
-        3.10. proxy_route (int)
+        3.10. proxy_route (string)
         3.11. case_sensitive (int)
         3.12. realm_prefix (string)
         3.13. timer_avp (string)
@@ -168,7 +168,7 @@ Chapter 1. Admin Guide
    3.7. cpl_dtd_file (string)
    3.8. log_dir (string)
    3.9. proxy_recurse (int)
-   3.10. proxy_route (int)
+   3.10. proxy_route (string)
    3.11. case_sensitive (int)
    3.12. realm_prefix (string)
    3.13. timer_avp (string)
@@ -293,17 +293,17 @@ modparam("cpl-c","log_dir","/var/log/kamailio/cpl")
 modparam("cpl-c","proxy_recurse",2)
 ...
 
-3.10. proxy_route (int)
+3.10. proxy_route (string)
 
    Before doing proxy (forward), a script route can be executed. All
    modifications made by that route will be reflected only for the current
    branch.
 
-   Default value of this parameter is 0 (none).
+   Default value of this parameter is NULL (none).
 
    Example 1.10. Set proxy_route parameter
 ...
-modparam("cpl-c","proxy_route",1)
+modparam("cpl-c","proxy_route","1")
 ...
 
 3.11. case_sensitive (int)
index 5a2b897..cb47ffc 100644 (file)
@@ -62,6 +62,7 @@ static str db_table        = str_init("cpl");  /* database table */
 static char *dtd_file      = 0;  /* name of the DTD file for CPL parser */
 static char *lookup_domain = 0;
 static str  timer_avp      = STR_NULL;  /* name of variable timer AVP */
+static str  proxy_route    = STR_NULL;
 
 
 struct cpl_enviroment    cpl_env = {
@@ -132,7 +133,7 @@ static param_export_t params[] = {
        {"db_table",       PARAM_STR, &db_table                        },
        {"cpl_dtd_file",   PARAM_STRING, &dtd_file                          },
        {"proxy_recurse",  INT_PARAM, &cpl_env.proxy_recurse             },
-       {"proxy_route",    INT_PARAM, &cpl_env.proxy_route               },
+       {"proxy_route",    PARAM_STR, &proxy_route                     },
        {"log_dir",        PARAM_STRING, &cpl_env.log_dir                   },
        {"case_sensitive", INT_PARAM, &cpl_env.case_sensitive            },
        {"realm_prefix",   PARAM_STR, &cpl_env.realm_prefix            },
@@ -232,6 +233,14 @@ static int cpl_init(void)
                goto error;
        }
 
+       if (proxy_route.len>0) {
+               cpl_env.proxy_route=route_lookup(&main_rt, proxy_route.s);
+               if (cpl_env.proxy_route==-1) {
+                       LM_CRIT("route <%s> defined in proxy_route does not exist\n",proxy_route.s);
+                       goto error;
+               }
+       }
+
        /* fix the timer_avp name */
        if (timer_avp.s && timer_avp.len > 0) {
                if (pv_parse_spec(&timer_avp, &avp_spec)==0
index ac832a1..9d7ed77 100644 (file)
@@ -280,7 +280,7 @@ modparam("cpl-c","proxy_recurse",2)
                        </example>
                </section>
                <section>
-                       <title><varname>proxy_route</varname> (int)</title>
+                       <title><varname>proxy_route</varname> (string)</title>
                        <para>
                                Before doing proxy (forward), a script route can be executed.
                                All modifications made by that route will be reflected only for
@@ -288,14 +288,14 @@ modparam("cpl-c","proxy_recurse",2)
                        </para>
                        <para>
                                <emphasis>
-                                       Default value of this parameter is 0 (none).
+                                       Default value of this parameter is NULL (none).
                                </emphasis>
                        </para>
                        <example>
                                <title>Set <varname>proxy_route</varname> parameter</title>
                                <programlisting format="linespecific">
 ...
-modparam("cpl-c","proxy_route",1)
+modparam("cpl-c","proxy_route","1")
 ...
 </programlisting>
                        </example>