Whether or not the Call Flow name will be included in the forwarded Caller ID

show_original_caller_id

boolean

True

Whether the forwarded Caller ID will be the original Caller ID, or the called number

Call Flow Module

A Call Flow Module describes a step in the Call Flow. The type of module is indicated by the value of the 'module' key. All Call Flows must have a 'start' module which indicates the entry point into the Call Flow.

Start

The start module is the entry point and is required for every call flow.

{
"module" : "start",
"next" : "The key of the next module to route to"
}

Recording

The recording module enables call recording from this point forward in the call flow.

{
"module" : "recording",
"next" : "The key of the next module to route to"
}

Music On Hold

The music on hold module sets the hold music from this point forward in the call flow.

{
"module" : "musiconhold",
"class" : "The uuid of the playlist to use as hold music",
"next" : "The key of the next module to route to"
}

Caller ID Match

The caller id match module allows you to modify the routing based on the incoming Caller ID.

{
"module" : "calleridmatch",
"patterns" : "A list of regular expression patterns to match against, e.g. ['^44800', '9000$', '1483', 'anonymous', 'unavailable']",
"match" : "The key of the next module to route to if a match is found",
"nomatch" : "The key of the next module to route to if no match is found"
}

Play

The play module plays a sound to the caller

{
"module" : "play",
"sound" : "The uuid of the sound to play",
"next" : "The key of the next module to route to"
}

Extension

The extension module calls a SIP User, Hunt Group, or forwards to an external number.

{
"module" : "extension",
"duration" : "Optional: The ring duration in seconds. Default 30",
"noanswer" : "The key of the next module to route to if the call isn't answered",
"ringtone" : "Optional: The uuid of the sound or playlist used as a ringtone",
"announcement" : "Optional: The uuid of the sound used as a call whisper",
"extensions" : [
{
"type" : "sipuser",
"uuid" : "The uuid of the sip user to call"
},
{
"type" : "huntgroup",
"uuid" : "The uuid of the hunt group to call"
},
{
"type" : "forward",
"number" : "The number to forward to in e164 format"
}
]
}

Press Extension (IVR)

The press extension module will route to different modules based on the number pressed by the caller.

{
"module" : "pressextension",
"duration" : "Optional: The time to wait for a press in seconds. Default 10",
"sound" : "Optional: The uuid of the sound that will play to the caller",
"next" : {
"1" : "The key of the next module to route to if '1' is pressed",
"2" : "The key of the next module to route to if '2' is pressed",
"..." : "",
"invalid" : "The key of the next module to route to if the pressed number is invalid",
"timeout" : "The key of the next module to route to if nothing is pressed before the timeout duration"
}
}

DialByExtension

The dial by extension module will call a SIP User by their extension.

{
"module" : "dialbyextension",
"wait_duration" : "Optional: The time to wait for a press in seconds. Default 10",
"dial_duration" : "Optional: The ring duration in seconds. Default 30",
"noanswer" : "The key of the next module to route to, or 'sipuser_voicemail' to go to the dialled extension's personal mailbox",
"ringtone" : "The uuid of sound or or playlist used for hold music",
"sound" : "Optional: The uuid of the sound that will play to the caller",
"next" : {
"invalid" : "The key of the next module to route to if the pressed number is invalid",
"timeout" : "The key of the next module to route to if nothing is pressed before the timeout duration"
}
}

Busy

The busy module plays a busy tone and hangs up the call. This is a terminating module.

The conference module sends callers to a conference bridge. This is a terminating module.

{
"module" : "conference",
"pin" : "Optional: The 4 digit pin required to enter the conference",
"music" : "Optional: The uuid of the playlist used when there is only one person in the conference",
"announcement" : "Optional: The uuid of the sound played when joining the conference"
}

Trunk

The trunk module forwards the call to a trunk on the account. This is a terminating module.

{
"module" : "Trunk",
"uuid" : "The uuid of the Trunk the call is sent to"
}

Fax

The fax module allows the call flow to receive faxes. This should be the only module after 'start' if you wish to receive faxes.

Whether or not the Call Flow name will be included in the forwarded Caller ID

show_original_caller_id

boolean

True

Whether the forwarded Caller ID will be the original Caller ID, or the called number

Call Flow Module

A Call Flow Module describes a step in the Call Flow. The type of module is indicated by the value of the 'module' key. All Call Flows must have a 'start' module which indicates the entry point into the Call Flow.

Start

The start module is the entry point and is required for every call flow.

{
"module" : "start",
"next" : "The key of the next module to route to"
}

Recording

The recording module enables call recording from this point forward in the call flow.

{
"module" : "recording",
"next" : "The key of the next module to route to"
}

Music On Hold

The music on hold module sets the hold music from this point forward in the call flow.

{
"module" : "musiconhold",
"class" : "The uuid of the playlist to use as hold music",
"next" : "The key of the next module to route to"
}

Caller ID Match

The caller id match module allows you to modify the routing based on the incoming Caller ID.

{
"module" : "calleridmatch",
"patterns" : "A list of regular expression patterns to match against, e.g. ['^44800', '9000$', '1483', 'anonymous', 'unavailable']",
"match" : "The key of the next module to route to if a match is found",
"nomatch" : "The key of the next module to route to if no match is found"
}

Play

The play module plays a sound to the caller

{
"module" : "play",
"sound" : "The uuid of the sound to play",
"next" : "The key of the next module to route to"
}

Extension

The extension module calls a SIP User, Hunt Group, or forwards to an external number.

{
"module" : "extension",
"duration" : "Optional: The ring duration in seconds. Default 30",
"noanswer" : "The key of the next module to route to if the call isn't answered",
"ringtone" : "Optional: The uuid of the sound or playlist used as a ringtone",
"announcement" : "Optional: The uuid of the sound used as a call whisper",
"extensions" : [
{
"type" : "sipuser",
"uuid" : "The uuid of the sip user to call"
},
{
"type" : "huntgroup",
"uuid" : "The uuid of the hunt group to call"
},
{
"type" : "forward",
"number" : "The number to forward to in e164 format"
}
]
}

Press Extension (IVR)

The press extension module will route to different modules based on the number pressed by the caller.

{
"module" : "pressextension",
"duration" : "Optional: The time to wait for a press in seconds. Default 10",
"sound" : "Optional: The uuid of the sound that will play to the caller",
"next" : {
"1" : "The key of the next module to route to if '1' is pressed",
"2" : "The key of the next module to route to if '2' is pressed",
"..." : "",
"invalid" : "The key of the next module to route to if the pressed number is invalid",
"timeout" : "The key of the next module to route to if nothing is pressed before the timeout duration"
}
}

DialByExtension

The dial by extension module will call a SIP User by their extension.

{
"module" : "dialbyextension",
"wait_duration" : "Optional: The time to wait for a press in seconds. Default 10",
"dial_duration" : "Optional: The ring duration in seconds. Default 30",
"noanswer" : "The key of the next module to route to, or 'sipuser_voicemail' to go to the dialled extension's personal mailbox",
"ringtone" : "The uuid of sound or or playlist used for hold music",
"sound" : "Optional: The uuid of the sound that will play to the caller",
"next" : {
"invalid" : "The key of the next module to route to if the pressed number is invalid",
"timeout" : "The key of the next module to route to if nothing is pressed before the timeout duration"
}
}

Busy

The busy module plays a busy tone and hangs up the call. This is a terminating module.

The conference module sends callers to a conference bridge. This is a terminating module.

{
"module" : "conference",
"pin" : "Optional: The 4 digit pin required to enter the conference",
"music" : "Optional: The uuid of the playlist used when there is only one person in the conference",
"announcement" : "Optional: The uuid of the sound played when joining the conference"
}

Trunk

The trunk module forwards the call to a trunk on the account. This is a terminating module.

{
"module" : "Trunk",
"uuid" : "The uuid of the Trunk the call is sent to"
}

Fax

The fax module allows the call flow to receive faxes. This should be the only module after 'start' if you wish to receive faxes.