documentation/content/applications/general/voip/axivox/dial_plan_advanced.rst
tiku-odoo fd883b8e43 [ADD] Misc: VoIP Axivox Dial Plan Edits
closes odoo/documentation#7653

X-original-commit: 5ea7d3aa16
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-02-06 20:40:13 +00:00

412 lines
19 KiB
ReStructuredText

===================
Advanced dial plans
===================
Typically, companies have a lot of incoming calls every day, but many do not want their teams to
answer calls 24 hours a day, 7 days a week.
By using Axivox advanced dial plan features, the process can be automated, and routing can be set up
for all scenarios. This way, customers are never left waiting, or frustrated, because they cannot
get in touch with anyone.
By utilizing the advanced elements in dial plans, companies can automate call routing for certain
days or times, like company holidays. Companies can also allow callers to enter extensions
themselves, and get transferred automatically using a digital receptionist. This way, an
administrative team does **not** have to be available around the clock.
There is even the option to route callers, depending on where they are calling from in the world,
thus maximizing efficiency.
.. important::
For more information on basic dial plans, and how to add elements, visit :doc:`dial_plan_basics`.
.. warning::
Using a browser add-on for spelling may hinder the use of the visual editor in dial plans. Do
**not** use a translator with the Axivox management console.
Advanced elements
=================
In Axivox dial plans (as described in :doc:`dial_plan_basics`), there are two advanced elements that
can be used.
- :guilabel:`Record`: recording feature is enabled (requires plan change, enabled in Axivox
settings).
- :guilabel:`Caller ID`: replace the caller ID by the called number or free text.
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
the left side of the `Axivox management console <https://manage.axivox.com>`_.
Next, click on the :guilabel:`Visual Editor` button to the right of the desired dial plan to edit
it. Finally, open the :guilabel:`New element` drop-down menu, select the element, and click
:guilabel:`Add`.
.. image:: dial_plan_advanced/visual-editor.png
:align: center
:alt: Visual editor for a dial plan in Axivox, with Add and the dispatcher element highlighted.
For more information, visit :ref:`voip/axivox/dial_plans`.
.. important::
The :guilabel:`Record` element records calls that are routed through this element, and requires
an additional plan change in Axivox.
To enable recording on Axivox, navigate to :guilabel:`Settings` in the `Axivox management console
<https://manage.axivox.com>`_. Then, go to the :guilabel:`Recording` drop-down menu, near the bottom
of the page. From there, select :guilabel:`Enabled` from the drop-down menu to enable recording
using the :guilabel:`Record` element in a dial plan.
.. tip::
If the :guilabel:`Recording` drop-down menu is unavailable and unable to change, then consult
Axivox to enable the feature.
The :guilabel:`Caller ID` element allows for the replacement of the caller ID downstream, after
routing.
Upon adding the :guilabel:`Caller ID` element to the dial plan, and double-clicking it to configure
it, two options appear.
The first is a :guilabel:`Free text` field, where any text can be input to replace the caller ID.
The second option is :guilabel:`Replace the caller ID by the called number`. This option replaces
the caller's ID with the :guilabel:`Incoming number`.
.. tip::
A company may want to use the :guilabel:`Caller ID` element to replace the :guilabel:`Incoming
number`, so employees, or outside transfers, cannot see the number, and information is kept
private.
Basic routing elements
======================
Basic routing elements in Axivox dial plans provide extension-based routing. This can be done by
adding either a *Menu* to numerically link the dial-by-numbers to an action, or by using a *Digital
Receptionist* to automatically route or listen for an extension, based on a key input from the
caller.
The main difference between the two elements is that the *Digital Receptionist* does **not** need to
be pre-configured numerically with actions. Instead, it acts as a virtual receptionist.
- :guilabel:`Menu`: add a dial-by-number directory and configured downstream actions (not
terminal). For example, a dial-by-numbers function could feature an element, wherein clicking '2'
takes the caller to the element linked to '2' on the Menu element in the dial plan.
- :guilabel:`Digital Receptionist`: attach a virtual dispatcher to listen for extensions.
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
the left side of the `Axivox management console <https://manage.axivox.com>`_. Next, click on the
:guilabel:`Visual Editor` button to the right of the dial plan, to edit the dial plan. Then, open
the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`.
For more information, visit :ref:`voip/axivox/dial_plans`.
Digital receptionist scenario
-----------------------------
The *Digital Receptionist* element is a listen-feature that accurately routes callers through a dial
plan, based on the extension they enter, via the key pad.
Set a *Digital Receptionist* to eliminate the need of a team, or live receptionist, to be on-call
all the time. With that element in place, calls now reach their destination, without a real person
interjecting.
After adding the :guilabel:`Digital Receptionist` element to a dial plan, connect the appropriate
endpoints, and double-click on the element to set the :guilabel:`Timeout` on the
:guilabel:`receptionist` pop-up window that appears.
The :guilabel:`Timeout` can be set in `5` second increments, from `5` seconds to `60` seconds.
.. important::
The :guilabel:`Digital Receptionist` element **requires** a :guilabel:`Play a file` element on
either side of it, to explain what action to take, and when a wrong extension is entered.
.. example::
While customizing a dial plan in a :guilabel:`Dialplan Editor` pop-up window, add a
:guilabel:`Menu` element, with a :guilabel:`Greeting message` that might read, `Press star to
dial an extension`.
Then, on the :guilabel:`Menu` element, for the :guilabel:`* (star)` option, link a
:guilabel:`Play a file` element, that plays an :guilabel:`Audio message` saying, 'Enter the
extension of the person you are trying to reach'.
Following the first :guilabel:`Play a file` element, add the :guilabel:`Digital Receptionist`
element, followed by another :guilabel:`Play a file` element, which states, 'That is not a valid
extension'.
This last element is in place to close the loop, should the caller not enter a correct extension.
Finally, this last :guilabel:`Play a file` element is looped back into the :guilabel:`Menu`
element.
.. image:: dial_plan_advanced/receptionist.png
:align: center
:alt: A digital receptionist element highlighted in an example dial plan.
.. important::
Dial plan elements can be configured by double-clicking them, and selecting different features
of the Axivox console to them.
For example, an :guilabel:`Audio message` needs to be made, and then selected in a
:guilabel:`Play a file` or :guilabel:`Menu` element.
For more information, see this documentation :ref:`voip/axivox/audio_messages`.
Advanced routing elements
=========================
Advanced routing elements route calls automatically as they are received into the incoming
number(s). This can be configured using geo-location, whitelisting, or time-based variables. Calls
pass through a filter prior to their final destination, and are routed, based on the set
variable(s).
The following are advanced routing elements:
- :guilabel:`Dispatcher`: create a call filter to route traffic, based on the geo-location of the
caller ID.
- :guilabel:`Access List`: create a tailored access list, with VIP customer preference.
- :guilabel:`Time Condition`: create time conditions to route incoming traffic around holidays, or
other sensitive time-frames.
.. tip::
Whitelisting is a technical term used to create a list of allowed numbers. Conversely,
blacklisting is used to create a list of denied numbers.
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
the left side of the `Axivox management console <https://manage.axivox.com>`_. Next, click on the
:guilabel:`Visual Editor` button to the right of the dial plan, to edit the dial plan. Then, open
the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`. For more
information, visit :ref:`voip/axivox/dial_plans`.
Dispatcher scenario
-------------------
A *Dispatcher* element is a dial plan feature that directs calls, based on region or geo-location.
In most cases, the :guilabel:`Dispatcher` element in a dial plan is linked to the :guilabel:`Start`
element, in order to filter or screen calls as they come into an incoming number.
Double-click the :guilabel:`Dispatcher` element in the :guilabel:`Dialplan Editor` pop-up window to
configure it.
This element checks numbers (routed through this element), according to regular expressions. To add
a regular expression, click :guilabel:`Add a line` on the bottom of the :guilabel:`Dispatcher`
pop-up window.
Then, under :guilabel:`Name`, enter a recognizable name to identify this expression. This is the
name that appears in the :guilabel:`Dispatcher` element on the dial plan showcased in the
:guilabel:`Dialplan Editor` pop-up window.
In the :guilabel:`Regular expression` field, enter the country code, or area code, which Axivox
should route for incoming calls. This is especially helpful when a company would like to filter
their customers to certain queues, or users based on the customer's geo-location.
To specify all numbers behind a certain country code, or area code, include `\d+` after the country
code, or country code + area code.
.. image:: dial_plan_advanced/dispatcher.png
:align: center
:alt: Dispatcher configuration panel, with name, regular expression and add a line highlighted.
.. example::
- `02\\d+`: validates the numbers starting with `02`
- `00\\d+`: validates all numbers beginning with `00`
- `0052\\d+` validates all numbers beginning with `0052` (Mexico country code)
- `001716\\d+`: validates all numbers beginning with `001716` (USA country code + Western New York
area code)
.. tip::
A regular expression (shortened to "regex" or "regexp"), sometimes referred to as a "rational
expression," is a sequence of characters that specifies a match pattern in text. In other words,
a match is made within the given range of numbers.
When the desired configurations are complete on the :guilabel:`Dispatcher` pop-up window, be sure to
click :guilabel:`Save`.
Upon doing so, the :guilabel:`Dispatcher` element appears with different routes available to
configure, based on the :guilabel:`Regular Expressions` that were set.
Attach these routes to any :guilabel:`New element` in the :guilabel:`Dialplan Editor` pop-up window.
By default, there is an :guilabel:`Unknown` path that appears on the :guilabel:`Dispatcher` element
after setting at least one :guilabel:`Regular Expression`.
Calls follow this route/path when their number does not match any :guilabel:`Regular Expression` set
on the :guilabel:`Dispatcher` element.
.. image:: dial_plan_advanced/dispatcher-element.png
:align: center
:alt: Dial plan with dispatcher element highlighted.
Time condition scenario
-----------------------
When a :guilabel:`Time Condition` element is added to a dial plan, it has a simple :guilabel:`True`
and :guilabel:`False` routing.
After adding the :guilabel:`Time Condition` element to a dial plan, double-click it to configure the
variables. :guilabel:`Hour/Minute`, :guilabel:`Days of the week`, :guilabel:`Day of the month`, and
:guilabel:`Month` can all be configured.
If the time which the caller contacts the incoming number matches the set time conditions, then the
:guilabel:`True` path is followed, otherwise the :guilabel:`False` path is followed.
.. example::
For a company that is closed yearly for the American Independence Day holiday (July 4th) the
following time conditions should be set:
- :guilabel:`Hour/Minute` - `0:0 to 23:59`
- :guilabel:`Day of the week` - `All to All`
- :guilabel:`Day of the month` - `From 4 to 4`
- :guilabel:`Month` - `July`
The :guilabel:`Time Condition` element is especially useful for holidays, weekends, and to set
working hours. When a caller reaches a destination where they can be helped, either with a real
person or voicemail, this reduces wasted time and hangups.
.. image:: dial_plan_advanced/time-condition.png
:align: center
:alt: Time condition element set in a dial plan on Axivox. Time condition is highlighted.
.. important::
To set the :guilabel:`Timezone` that the :guilabel:`Time Condition` operates under, navigate to
`Axivox management console <https://manage.axivox.com>`_, and click :guilabel:`Settings` in the
menu on the left. Then, set the :guilabel:`Timezone` using the second field from the bottom, by
clicking the drop-down menu.
Access list scenario
--------------------
An *Access List* element in a dial plan allows for the routing of certain numbers, and disallows
(denies) other numbers.
After adding an :guilabel:`Access List` element to a dial plan, it can be configured by
double-clicking on the element directly in the :guilabel:`Dialplan Editor` pop-up window.
Two fields appear where regular expressions can based in the :guilabel:`Allow` and :guilabel:`Deny`
fields of the :guilabel:`Access List` pop-up window.
.. example::
For a very important customer, their number can be set in the :guilabel:`Allow` field, and these
callers can be sent directly to management.
.. tip::
A regular expression (shortened to "regex" or "regexp"), sometimes also referred to as a
"rational expression," is a sequence of characters that specifies a match pattern in text.
.. image:: dial_plan_advanced/access-config.png
:align: center
:alt: Access list element configuration with the allow/deny fields highlighted.
.. example::
- `2\\d\\d`: validates numbers from `200 to 299`
- `02\\d*`: validates all numbers beginning with `02`
- `0017165551212`: validates the number (`0017165551212`)
After setting the :guilabel:`Allow` and :guilabel:`Deny` fields with regular expressions or numbers,
click :guilabel:`Save` on the :guilabel:`Access List` pop-up window.
Then, on the :guilabel:`Access list` element in the dial plan, three paths (or routes) are available
to link to further actions.
Unknown calls can be routed through the regular menu flow by adding a :guilabel:`Menu` element, and
connecting it to the :guilabel:`Unknown` path. :guilabel:`Refused` calls can be routed to the
:guilabel:`Hang up` element. Lastly, :guilabel:`Authorized` callers can be sent to a specific
extension or queue.
.. image:: dial_plan_advanced/access-list.png
:align: center
:alt: Access list element highlighted in an example dial plan.
Switches
========
A *Switch* element in Axivox is a simple activated/deactivated route action.
These can be activated or chosen quickly, allowing for quick routing changes, without altering the
dial plan.
Alternate routes can be configured, so that in a moments notice, they can be switched to. This could
be for new availability, or to adjust traffic flow for any number of reasons.
Axivox allows for a simple on/off switch, and a multi-switch, which can have several paths to choose
from.
- :guilabel:`Switch`: a manual on/off control that can divert traffic, based on whether it is opened
(on) or closed (off).
- :guilabel:`Multi-Switch`: a mechanism to create paths, and turn them on and off, to divert
incoming calls.
Basic switch
------------
A :guilabel:`Switch` can be set in the `Axivox management console <https://manage.axivox.com>`_ by
navigating to :guilabel:`Switches` in the left menu. To create a new switch click :guilabel:`Add a
switch` from the :guilabel:`Switches` dashboard, configure a :guilabel:`Name` for it, and click
:guilabel:`Save`.
Then, toggle the desired switch to either :guilabel:`On` or :guilabel:`Off`, from the
:guilabel:`State` column on the :guilabel:`Switches` dashboard.
This :guilabel:`On` / :guilabel:`Off` state automatically routes traffic in a dial plan, in which
this switch is set.
The traffic travels to the :guilabel:`Active` route when :guilabel:`On` is toggled in the switch.
The call traffic travels to the :guilabel:`Inactive` route when :guilabel:`Off` is toggled in the
switch.
Changes can be made on the fly, just be sure to click :guilabel:`Apply changes` to implement the
them.
Add a switch to dial plan
~~~~~~~~~~~~~~~~~~~~~~~~~
To add a :guilabel:`Switch` to a dial plan, navigate to `Axivox management console
<https://manage.axivox.com>`_, and click on :guilabel:`Dial plans` in the left menu. Then, click
:guilabel:`Visual Editor` next to the desired dial plan to open the :guilabel:`Dialplan Editor`
pop-up window.
Then, from the :guilabel:`New element` drop-down menu, select :guilabel:`Switch`, and then click
:guilabel:`Add`. Double-click on the element to further configure the :guilabel:`Switch` element.
.. image:: dial_plan_advanced/switch.png
:align: center
:alt: Switch configuration in a dial plan, with inactive and active routes highlighted.
Multi-switch
------------
A *Multi-Switch* element in Axivox is a switch where multiple paths can be configured, and switched
between.
To configure and set a :guilabel:`Multi-Switch` element, navigate to `Axivox management console
<https://manage.axivox.com>`_. Then, click on the :guilabel:`Switches` menu item in the left menu.
Toggle to the :guilabel:`Multi-switch` tab to create, or set, a pre-configured
:guilabel:`Multi-Switch` element.
To create a new :guilabel:`Multi-Switch`, click :guilabel:`Create new`. Then, enter a
:guilabel:`Name` for the element, and then enter the :guilabel:`Available choice`. Enter one
:guilabel:`Available choice` per line. Do **not** duplicate any entries.
Remember to click :guilabel:`Save` when done.
To select the :guilabel:`State` of the :guilabel:`Multi-Switch`, click the drop-down menu next to
the :guilabel:`Multi-Switch` name, under the :guilabel:`Multi-switch` tab on the
:guilabel:`Switches` dashboard.
The :guilabel:`State` chosen is the route that is followed in the dial plan. The :guilabel:`State`
can be edited on the fly, just be sure to click :guilabel:`Apply changes`.
Add a multi-switch to dial plan
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To add a :guilabel:`Multi-Switch` element to a dial plan, navigate to `Axivox management console
<https://manage.axivox.com>`_, and click :guilabel:`Dial plans` in the left menu.
Then, select or create a dial plan. Next, click :guilabel:`Visual Editor` on the desired dial plan.
On the :guilabel:`Dialplan Editor` pop-up window that appears, click on the :guilabel:`New element`
drop-down menu, and select :guilabel:`Multi-Switch`. Then, click :guilabel:`Add`. Double-click on
the element to further configure the :guilabel:`Switch` element.
.. image:: dial_plan_advanced/multi-switch.png
:align: center
:alt: Multi-switch configuration in a dial plan, with chosen route highlighted.