Action URL

Action URLs are HTTP requests that the system sends out that are triggered by certain events. These URLs carry some action information (like a command and related parameters) within the URL, the headers and body to the receiving party which can then take action on it accordingly. For example, an event like "making a call" can trigger an action URL which informs a remote entity (say a billing system) that a call was made and also, who made the call to whom and for how long. Upon receiving the information, the billing system could log it for billing.

Outgoing Action URLs

The user can define almost any kind of HTTP request for each event. That way, the user is not tied to a specific protocol but can prepare messages (URLs, headers, body) based on the receiving system’s requirements by simply filling in the required message and using specific system variables to be filled in by the system.

  • Go to your selected domain in the Vodia PBX web interface.
  • Click on Action URL under Advanced as shown above.
  • Click on any of the Action URL you would like to work on and enter the details depending upon the Authentication Method you choose. Enter the Username and Password (if required) and the Address of Server of the system that will receive the action urls.
  • Press Save.

Configuring the Event Messages

Now that the credentials are saved, the user can prepare the action url messages triggered by the different events.

  • Click on the icon as shown, to expand the message settings for a specific event like: making a call, setting up wakeup call, clearing wakeup call, missing a wakeup call, setting dnd, clearing dnd, room cleaned, calling a set emergency number.
  • Enter the settings: Method, URL, Encoding, Additional Headers and Message Body according to the requirements of the receiving system for that event.
  • Use system variables in braces which will be filled in by the system. For example {address} coule be replaced by the address of the remote system that the user entered in the Address of Server above. Note: To use braces {} within the message, like JSON example shown, use escape character \ like \{ or \} in order to distinguish it from system variables.
  • Repeat the same process for each event for which you want to create a specific message.
  • Press Save.
  • Now when a particular event is triggered, the corresponding http request - based on the method, url, encoding, headers and body values stored for that event – will be sent to the specified address.
  • That way, the receiving system, like a property management system, can act according to the message.

Note: The room cleaned event will be triggered when the room cleaned star code (which can be set on the Star Codes page of the domain, the default is *57) is dialed.

Specific Message Types

Parameters for "When a trunk call was made"

When a wake-up call is entered by the user, the system can trigger a HTTP requests that may trigger further actions. The following variables are available:

  • {domain} The name of the domain in which the call happened.
  • {from} The "From" header for the call.
  • {to} The "To" header for the call.
  • {duration} The duration of the call, in full minutes.

Parameters for "When a wake-up call was programmed"

When a wake-up call is entered by the user, the system can trigger a HTTP requests that may trigger further actions. The following variables are available:

  • {domain} The name of the domain in which the call happened.
  • {extension} The extension ID of the user that missed the call.
  • {email_address} This contains the email address or addresses of the user.
  • {email_vmail} The setting that tells the PBX weather to send a voicemail to the user, and if to attach the WAV file.
  • {parm1/2/3} A copy of the parameters 1, 2 and 3 of the extension.

Parameters for "When a wake-up call was successfully delivered"

When a wake-up call was successfully delivered, the system can trigger a HTTP requests that may trigger further actions. The variables are the same like for the "When a wake-up call was programmed" call.

Parameters for "When a wake-up call is missed"

When a wake-up call failed, the system can trigger a HTTP requests that may trigger further actions. The variables are the same like for the "When a wake-up call was programmed" call.

Parameters for "When turning DND on"

When the user turned DND on, the system can trigger a HTTP requests that may trigger further actions. The following variables are available:

  • {domain} The name of the domain in which the call happened.
  • {extension} The extension ID of the user.

Parameters for "When turning DND off"

When the user turned DND off, the system can trigger a HTTP requests that may trigger further actions. The following variables are available:

  • {domain} The name of the domain in which the call happened.
  • {extension} The extension ID of the user.

Parameters for "When hotel room is cleaned"

When a room cleanup code was called, the system can trigger a HTTP requests that may trigger further actions. The following variables are available:

  • {domain} The name of the domain in which the call happened.
  • {extension} The extension ID of the user.

Parameters for "When someone is calling an emergency number"

This request is triggered when someone dials the emergency number. There are several variables available for this request:

  • {emergencynumber} The number that has been dialed.
  • {domain} The name of the domain in which the call happened.
  • {extension} The extension ID of the user.
  • {parm1/2/3} A copy of the parameters 1, 2 and 3 of the extension.
  • {location-name} The assigned name for the location, if available.
  • {location-street} The street for the location, if available.
  • {location-city} The city for the location, if available.
  • {location-state} The state for the location, if available.
  • {location-zip} The ZIP code for the location, if available.
  • {location-country} The country for the location, if available.

Parameters for "When a new call comes in"

This request is triggered when a new call is started. There are several variables available for this request:

  • {id} The internal ID for the call.
  • {domain} The name of the domain in which the call happened.
  • {from} The "From" header for the call.
  • {from-ani-raw} The username part of the "From" header as it was received.
  • {from-ani} The username part of the "From" header in the domain country code representation.
  • {from-ani-e164} The username part of the "From" header in E164 format.
  • {from-ani-nanpa} The username part of the "From" header in NANPA format.
  • {from-ani-plus} The username part of the "From" header in a global format.
  • {from-ani-row} The username part of the "From" header in ROW-format.
  • {from-display} The display-name part of the "From" header.
  • {to} The "To" header for the call.
  • {to-ani-raw} The username part of the "To" header as it was received.
  • {to-ani} The username part of the "To" header in the domain country code representation.
  • {to-ani-e164} The username part of the "To" header in E164 format.
  • {to-ani-nanpa} The username part of the "To" header in NANPA format.
  • {to-ani-plus} The username part of the "To" header in a global format.
  • {to-ani-row} The username part of the "To" header in ROW-format.
  • {to-display} The display-name part of the "To" header.
  • {callid} .
  • {lang} The language code that was assigned to the call.
  • {clip} true or false for CLIP.
  • {extension} The extension ID of the user that started the call, if available.
  • {trunk} The name of the trunk, if available.
  • {source} The source address for the call.
  • {target} The destination for the call in global format.
  • {target-ani} The target in the domain country code representation.
  • {target-ani-e164} The target in E164 format.
  • {target-ani-nanpa} The target in NANPA format.
  • {target-ani-plus} The target in a global format.
  • {target-ani-row} The target in ROW-format.

Parameters for "When a call connects to an agent"

This request is triggered when a call gets connected to an ACD agent. There are several variables available for this request:

  • {id} The internal ID for the call.
  • {domain} The name of the domain in which the call happened.
  • {from} The "From" header for the call.
  • {to} The "To" header for the call.
  • {callid} The Call-ID for the call.
  • {lang} The language code that was assigned to the call.
  • {clip} true or false for CLIP.
  • {extension} The extension ID of the agent.
  • {group} The ID of the agent group (ACD).

Parameters for "When a new mailbox message is available"

When a user in the domain has received a new mailbox message, the system can send out a ActionURL that contains information about the message. The following variables are available:

  • {domain} The name of the domain in which the call happened.
  • {extension} The extension ID of the user.
  • {display} The extension name of the user.
  • {title} The title for the user.
  • {from} The caller-ID of the one who left the message.
  • {to} The called number.
  • {start} A timestamp when the message was received.
  • {duration} The duration of the message.
  • {filename} The filename on the file system for the message-
  • {new} A flag that shows if the message was already read by the user or marked as read.
  • {attribute} The attribute for the message, e.g. "urgent" or "private".
  • {type} The type of the message, typically "msg" for a voicemail message.
  • {callid} The Call-ID of the message.
  • {cell} A list of the cell phone that was assigned to the user.
  • {email_address} This contains the email address or addresses of the user.
  • {email_vmail} The setting that tells the PBX weather to send a voicemail to the user, and if to attach the WAV file.
  • {parm1/2/3} A copy of the parameters 1, 2 and 3 of the extension.
  • {text} The text from the voice to text transcription (if available).

Parameters for "New Call"

When there is a new call arriving at the PBX, the action may reference the following variables:

  • {id} The internal ID for the call, usually a number.
  • {from} The "from" header for the call.
  • {to} The "to" header for the call.
  • {callid} The Call-ID for the call.
  • {domain} The name of the domain in which the call happened.
  • {lang} The language code for the call.
  • {clip} The CLIP state for the call (true or false).
  • {trunk} The trunk on which the call came in, or empty if the call did not occur on a trunk.
  • {extension} The extension on which the call came in, or empty if there was no extension.
  • {source} The source address where the call came from.
  • {target} The internal destination for the call.