mod_abstraction links a new API function to another using a regular expression parser to adapt the provided arguments. It allows for simplified, standardized script replacement API.

You MUST reload mod_abstraction when changing the XML to add or remove an API, or else they won't be created or removed. Destination settings and parsing can be changed in real time.


This defines what API link should be created and what to do once executed.

<api name="user_name" description="Return Name for extension" syntax="<exten>" parse="(.*)" destination="user_data" argument="$1@default var effective_caller_id_name"/>


With mod_event_socket per-user API restriction, this can be useful to limit the capabilities a user can have over some API commands by restricting certain parameters a user can do.


Here are 2 examples:

tts_path(<text>) could be rewritten to python(tts2wav <text>)

user_password(<id>) could be rewritten to user_data(<id> param password)