Upgrade 3CX to v18 and get it hosted free!

OpenSER module exec

Author image

exec module allows to start an external command from an OpenSER script. The commands may be any valid shell commands–the command string is passed to shell using “popen” command. OpenSER 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.

In OpenSER 1.2.0, the commands to be executed can be composed with pseudo-variable, in this way is possible to give arguments to command.


# print From URI in file 'caller.log'
exec_msg("echo '$fu' >caller.log");

exec_msg() can be used to execute command, the output of command being ignored. exec_dset() gets each line from command output and sets destination set (R-URI and branches). exec_avp() gets each line from command output and add as AVPs.

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.