Exec module allows to start an external command from a Kamailio script. The commands may be any valid shell commands--the command string is passed to shell using “popen” command. Kamailio passes additionally lot of information about request in environment variables:

  • SIP_HF_<hf_name> contains value of each header field in request. If a header field occurred multiple times, values are concatenated and comma-separated. <hf_name> is in capital letters. Ff a header-field name occurred in compact form, <hf_name> is canonical.

  • SIP_TID is transaction identifier. All request retransmissions or CANCELs/ACKs associated with a previous INVITE result in the same value.

  • SIP_DID is dialog identifier, which is the same as to-tag. Initially, it is empty.

  • SIP_SRCIP is source IP address from which request came.

  • SIP_ORURI is original request URI.

  • SIP_RURI is current request URI (if unchanged, equal to original).

  • SIP_USER is userpart of current request URI.

  • SIP_OUSER is userpart of original request URI.

NOTE: The envirnment variables must be specified with double $ (e.g., $$SIP_OUSER) in the parameters given to exec functions. Otherwise they will be evaluated as Kamailio pseudo-variables, throwing errors.