← Volver al índice de módulos

cplc

cplc modules implements a CPL (Call Processing Language) interpreter. Support for uploading/downloading/removing scripts via SIP REGISTER method is present.
🛠️ Utilidades y Varios Kamailio 6.1 30 parámetros 6 funciones

Descripción general

cplc modules implements a CPL (Call Processing Language) interpreter. Support for uploading/downloading/removing scripts via SIP REGISTER method is present. CPL is an IETF specification detailed in RFC3880 (https://tools.ietf.org/html/rfc3880).

Documentación oficial: https://www.kamailio.org/docs/modules/stable/modules/cplc.html
Código fuente: https://github.com/kamailio/kamailio/tree/master/src/modules/cplc

Parámetros de configuración

ParámetroTipoDescripción
db_url string 3.2. db_table (string) 3.3. username_column (string) 3.4. domain_column (string) 3.5. cpl_xml_column (string) 3.6. cpl_bin_column (string) 3.7. cpl_dtd_file (string) 3.8. log_dir (string) 3.9. proxy_r
db_table string 3.3. username_column (string) 3.4. domain_column (string) 3.5. cpl_xml_column (string) 3.6. cpl_bin_column (string) 3.7. cpl_dtd_file (string) 3.8. log_dir (string) 3.9. proxy_recurse (int) 3.10. prox
username_column string 3.4. domain_column (string) 3.5. cpl_xml_column (string) 3.6. cpl_bin_column (string) 3.7. cpl_dtd_file (string) 3.8. log_dir (string) 3.9. proxy_recurse (int) 3.10. proxy_route (string) 3.11. case_se
domain_column string 3.5. cpl_xml_column (string) 3.6. cpl_bin_column (string) 3.7. cpl_dtd_file (string) 3.8. log_dir (string) 3.9. proxy_recurse (int) 3.10. proxy_route (string) 3.11. case_sensitive (int) 3.12. realm_pr
cpl_xml_column string 3.6. cpl_bin_column (string) 3.7. cpl_dtd_file (string) 3.8. log_dir (string) 3.9. proxy_recurse (int) 3.10. proxy_route (string) 3.11. case_sensitive (int) 3.12. realm_prefix (string) 3.13. timer_avp
cpl_bin_column string 3.7. cpl_dtd_file (string) 3.8. log_dir (string) 3.9. proxy_recurse (int) 3.10. proxy_route (string) 3.11. case_sensitive (int) 3.12. realm_prefix (string) 3.13. timer_avp (string) 3.14. lookup_domain
cpl_dtd_file string 3.8. log_dir (string) 3.9. proxy_recurse (int) 3.10. proxy_route (string) 3.11. case_sensitive (int) 3.12. realm_prefix (string) 3.13. timer_avp (string) 3.14. lookup_domain (string) 3.15. lookup_appe
log_dir string 3.9. proxy_recurse (int) 3.10. proxy_route (string) 3.11. case_sensitive (int) 3.12. realm_prefix (string) 3.13. timer_avp (string) 3.14. lookup_domain (string) 3.15. lookup_append_branches (int) 3.16
proxy_recurse int 3.10. proxy_route (string) 3.11. case_sensitive (int) 3.12. realm_prefix (string) 3.13. timer_avp (string) 3.14. lookup_domain (string) 3.15. lookup_append_branches (int) 3.16. use_domain (integer) 3.
proxy_route string 3.11. case_sensitive (int) 3.12. realm_prefix (string) 3.13. timer_avp (string) 3.14. lookup_domain (string) 3.15. lookup_append_branches (int) 3.16. use_domain (integer) 3.17. redirect_route (string)
case_sensitive int 3.12. realm_prefix (string) 3.13. timer_avp (string) 3.14. lookup_domain (string) 3.15. lookup_append_branches (int) 3.16. use_domain (integer) 3.17. redirect_route (string) 3.18. ignore3xx (integer)
realm_prefix string 3.13. timer_avp (string) 3.14. lookup_domain (string) 3.15. lookup_append_branches (int) 3.16. use_domain (integer) 3.17. redirect_route (string) 3.18. ignore3xx (integer)
timer_avp string 3.14. lookup_domain (string) 3.15. lookup_append_branches (int) 3.16. use_domain (integer) 3.17. redirect_route (string) 3.18. ignore3xx (integer)
lookup_domain string 3.15. lookup_append_branches (int) 3.16. use_domain (integer) 3.17. redirect_route (string) 3.18. ignore3xx (integer)
lookup_append_branches int 3.16. use_domain (integer) 3.17. redirect_route (string) 3.18. ignore3xx (integer)
use_domain integer 3.17. redirect_route (string) 3.18. ignore3xx (integer)
redirect_route string 3.18. ignore3xx (integer)
ignore3xx integer 3.1. db_url (string)
db_url string A SQL URL have to be given to the module for knowing where the database containing the table with CPL scripts is locates. If required a user name and password can be specified for allowing the module
db_table string Indicates the name of the table that store the CPL scripts. This table must be locate into the database specified by “db_url” parameter. For more about the format of the CPL table please see the modul
username_column string Indicates the name of the column used for storing the username.
domain_column string Indicates the name of the column used for storing the domain.
cpl_xml_column string Indicates the name of the column used for storing the XML version of the cpl script.
cpl_bin_column string Indicates the name of the column used for storing the binary version of the cpl script (compiled version).
cpl_dtd_file string Points to the DTD file describing the CPL grammar. The file name may include also the path to the file. This path can be absolute or relative (be careful the path will be relative to the starting dire
log_dir string Points to a directory where should be created all the log file generated by the LOG CPL node. A log file per user will be created (on demand) having the name username.log.
proxy_recurse int Tells for how many time is allow to have recurse for PROXY CPL node If it has value 2, when doing proxy, only twice the proxy action will be re-triggered by a redirect response; the third time, the pr
proxy_route string Before doing proxy (forward), a script route can be executed. This parameter indicates the name of the route called. All modifications made by that route will be reflected only for the current branch.
case_sensitive int Tells if the username matching should be perform case sensitive or not. Set it to a non zero value to force a case sensitive handling of usernames.
realm_prefix string Defines a prefix for the domain part which should be ignored in handling users and scripts.

Funciones exportadas

cpl_run_script(type, mode[, uri])

4.2. cpl_process_register() 4.3. cpl_process_register_norpl()

cpl_process_register()

4.3. cpl_process_register_norpl()

cpl_process_register_norpl()

4.1. cpl_run_script(type, mode[, uri])

cpl_run_script(type, mode[, uri])

Starts the execution of the CPL script. The user name is fetched from new_uri or requested uri or from To header -in this order- (for incoming execution) or from FROM header (for outgoing execution). Regarding the stateful/stateless message processin

cpl_process_register()

This function MUST be called only for REGISTER requests. It checks if the current REGISTER request is related or not with CPL script upload/download/ remove. If it is, all the needed operation will be done. For checking if the REGISTER is CPL related

cpl_process_register_norpl()

Same as “cpl_process_register” without internally generating the reply. All information (script) is appended to the reply but without sending it out.

Autores y contribuidores

Bogdan-Andrei IancuVoice Sistem SRLFrederic Gaisnon <frederic.gaisnon@gmail.com>

Copyright © 2003 FhG FOKUS
Copyright © 2021 MomentTech

Módulos relacionados

auth_web3 auth_xkeys avp avpops benchmark blst call_control call_obj