Call Flow
Definition
Call Flow is set of rules on how a call should behave when it is trying to reach a device.
Call Flow can be reached by clicking Call Flow link in device details:
A call has several states that can be seen from this image:
- Before Call – call has not reached device.
- Call – call to device is in progress.
- Answered – call was answered.
- No Answer – call was not answered and ended after timeout.
- Busy – callee was busy.
- Failed – call to device failed.
Actions
We can take actions for several call states: Before Call, No Answer, Busy and Failed.
The possible actions are:
- Empty
- Forward
- Voicemail
- Fax detect (only for the Before Call state)
Empty
Empty – means no action should be taken. It is the default in most cases.
Forward
Call can be forwarded to Local device or External number:
Device Timeout is only available in the No Answer state. It decides for how long a device should ring before the system decides that it is unreachable (when to activate the No Answer state).
The system owner (admin) can select any device he likes. If a user edits his devices' Call Flow, he can only select his own devices.
Using the "forward" action it is easy to implement:
- Unconditional forward – when forward is used in the Before Call state.
- Forward on no answer/busy/failed – when forward is used in No Answer, Busy or Failed states.
CallerID options
The following options are available to manage CallerID for a forwarded call:
- From device - puts CallerID for the device that is forwarding the call.
- Same as comes - unchanged - leaves the CallerID as it comes from the original caller.
- From DID - selects a CallerID from available DIDs.
- Custom - enters any CallerID.
Forwarding example
Let's make a chain of forwards: when someone calls to a device (extension) and until the device timeout there is no answer the call is forwarded to another device, if there is still no answer then forwared to the next extension.
In Forward to select the second extension. Then go to Devices main page and make the same call flow to that second extension just in Forward to select the third extension:
the number of rings before forwarding can be changed in /etc/asterisk/indications.conf
.
Voicemail
This action sends the call directly to voicemail. It's simple. Put in Before Call, and if a call never reaches a device, it will go directly to voicemail.
You can put it in the No Answer/Busy/Failed state to achieve a different functionality.
Fax detect
This action can be set ONLY in the Before Call state and only if a Fax device is enabled in Settings:
You can select only a FAX device to route the call if a Fax is detected. MOR will use fax detection when this action is set.
If a fax is detected, it routes calls to the set fax device. Otherwise, they go to the basic device.
NOTE: Fax over VoIP is not reliable and this setting should be used only for testing.