Call rules are the backbone of babblevoice. They appear very simple, but used in different ways can be as complex or as simple as you like.
Probably the most simple example is this one
When a call comes in on 01442299280 then ring group reception.
But can get a little more complex
When a call comes in on 01442299280 check my Google calendar email@example.com if I am busy then jump to extension weareopen otherwise jump to weareclosed.
This is then combined with your internal (private) rules
When a call comes in on weareopen then ring group reception.
When a call comes in on weareclosed then play the file weareclosed.wav then hangup the call with normal clearing.
Congratulations, you just configured your phone system to integrate with Google Calendar, now all you need to do to change the phone system for next week's bank holiday it to modify your Google Calendar.
The rules are broken down into several chunks
When a call comes in on weareclosed
This is the first chunk, the 'weareclosed' is editable. Once you have configured this you move onto the next chunk
then play the file weareclosed.wav
again, the filename is editable, and once complete then finally onto the last one
then hangup the call with normal clearing
Each chunk can be mixed and matched with other chunks and at the time of writing we have around 60 different chunks with an almost infinite number of ways of combining them to get the system to work the way you want it to.
Rules will be generally triggered when a call is made, these are the scenarios
- When someone calls a public phone number you have hosted with babblevoice
- When a babblevoice user dials a 'hash tag' rule which is assigned to your domain
- When a phone user on your domain dials an extension (or as seen above another rule jumps to that extension)
- When a call is hungup (useful to send out a text alert on low balance for example)
When the collection of rules start to grow for a domain it can be difficult to follow the possible route a call might take. The Flow viewer can help with that.