Skip to content

Commit

Permalink
Auto-updated gh-pages documentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
ironArt3mis authored and ironArt3mis committed Apr 12, 2024
0 parents commit 9e7913d
Show file tree
Hide file tree
Showing 18,464 changed files with 1,886,721 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
Empty file added .nojekyll
Empty file.
Binary file not shown.
Binary file added doc/sphinx/locale/es/LC_MESSAGES/api_rest.mo
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added doc/sphinx/locale/es/LC_MESSAGES/index.mo
Binary file not shown.
Binary file not shown.
Binary file added doc/sphinx/locale/es/LC_MESSAGES/user_portal.mo
Binary file not shown.
4 changes: 4 additions & 0 deletions en/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: bcd635071101f5348cbbbd61c035541b
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/.doctrees/api_rest/acls.doctree
Binary file not shown.
Binary file added en/.doctrees/api_rest/integrations.doctree
Binary file not shown.
Binary file added en/.doctrees/api_rest/introduction.doctree
Binary file not shown.
Binary file added en/.doctrees/api_rest/multilevel.doctree
Binary file not shown.
Binary file added en/.doctrees/api_rest/use_case.doctree
Binary file not shown.
Binary file added en/.doctrees/api_rest/web_client.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/.doctrees/basic_concepts/intro/about.doctree
Binary file not shown.
Binary file not shown.
Binary file added en/.doctrees/basic_concepts/intro/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/.doctrees/environment.pickle
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/.doctrees/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/.doctrees/user_portal/credentials.doctree
Binary file not shown.
Binary file added en/.doctrees/user_portal/features.doctree
Binary file not shown.
Binary file added en/.doctrees/user_portal/index.doctree
Binary file not shown.
Binary file added en/.doctrees/user_portal/urls.doctree
Binary file not shown.
Empty file added en/.nojekyll
Empty file.
Binary file added en/_images/access-token.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/asterisk_cli.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/conceptual.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/flows.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-clock.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-grub.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-intro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-ivozmenu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-language.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-location.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-mysql.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-mysqlpass.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-portallang.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-proxyaddr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-rootpass.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/installcd-warning.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/ivozprovider_logos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/kamtail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/operator_levels.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/operator_levels2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/response.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/sngrep_sample.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/spec.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/_images/web-client.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
.. _current day usages:

******************
Current day usages
******************

This section lists current day usage for each client in the brand:

Type
Type of client (vPBX, retail, residential or wholesale).

Name
Client name.

Today usage
Amount of spent money in today's external calls.

Max daily usage
When this threshold is reached, account is disabled. At midnight, it will be re-enabled.

Status
Whether account has been disabled or not.


.. note:: Client max daily usage is configured in **Clients configuration** with **Max daily usage** parameter.

.. tip:: If an account is disabled, increasing its counter above current day usages re-enables it. Otherwise, it will be
re-enabled at midnight.


.. error:: This is one of main :ref:`security` mechanisms available in IvozProvider. Use it to avoid toll fraud calls
(see :ref:`Current day max usage`).

This section shows runtime value obtained asking to CGRateS (value actually applying) that should be equal to the one
set editing the client itself. If data is shown in red, these values differ.
201 changes: 201 additions & 0 deletions en/_sources/administration_portal/brand/billing/destination_rates.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
.. _destination rates:

#################
Destination Rates
#################

A *Destination rate* groups some prefixes with their cost details.

They only have two fields:

Name
Name to reference the destination rate

Description
Additional details

Currency
All rates imported/added will use this currency

Deductible Connection Fee
Set to 'No' for typical fee charged at call establishment. Set to 'Yes' to enable
minimal-cost-alike behaviour (read below).

.. tip:: Destination rate names are not shown to the final client, you can use whatever makes sense to you.

****************************************
Deductible Connection Fee (Minimal Cost)
****************************************

When Destination Rate has *Deductible Connection Fee* set to yes, all rates' Connection Fee will behave like Minimal Cost.

This is underlying logic:

- When call is established, Connection Fee of matched prefix is charged.

- When call is hung up:

- Total cost without connection fee is calculated (CostWithoutConnectionFee):

- If is greater than connection fee, connection fee is subtracted from total cost.

- Final connection fee: 0

- Final cost: CostWithoutConnectionFee

- If is lower than connection fee, connection fee is adjusted so that total cost is equal to connection fee.

- Final connection fee: ConnectionFee - CostWithoutConnectionFee

- Final cost: ConnectionFee

- In both cases, cost difference is refunded to affected balances.


.. rubric:: Connection fee 0.01 - Total cost 0.21

- Cost without connection fee: 0.20

- As 0.20 > 0.01:

- Call cost is reduced to 0.20

- 0.01 is refunded to affected balances

.. rubric:: Connection fee 0.01 - Total cost 0.013

- Cost without connection fee: 0.003

- As 0.003 < 0.01:

- Call cost is reduced to 0.01

- 0.003 is refunded to affected balances


This setting guarantees a minimal cost of 0.01.

.. _add rates manually:

******************
Add rates manually
******************

Brand operator can add rates by hand, filling these fields (**List of rates** subsection):

Destination
Pre-created destination that specifies a concrete prefix.

Connection charge
The amount that is charged just for call establishment.

Interval start
When should the billing engine start rating the calls. If you set it to 10, first 10 seconds will be for free.

Per minute rate
Price per minute of conversation.

Charge period
Increase cost every seconds? Or in 10 second intervals? Or every minute?

.. note:: A call with less duration that the one defined in interval start will have the price of the **Connection fee**.

.. warning:: All decimals must use point as decimal delimiter. 4 decimals precision is used.

.. rubric:: How it works

Call cost/price is increased by (*Per minute rate* / 60 ) * *charge period* every *charge period* seconds:

- If *billing period* is set to 1, every second the price will be increased
*price per minute* divided by 60 (bill by seconds).

- If *billing period* is set to 60, every minute the price will be increased
*price per minute* (bill by minutes).

.. _importing a csv file:

********************
Importing a CSV file
********************

At this point, the brand operator may have noticed that adding thousands
of rates would be a really annoying and time consuming task, as there
are 254 countries, each of them with their mobile networks, landline networks,
special service numbers, etc.

That's why the creation of destination rates is done using a
`CSV <https://es.wikipedia.org/wiki/CSV>`_ file.

The first step is creating an empty *Destination rate* to import the prices in and using **Import rates** option.


We can select which column contains which field, in case we want to import a
`CSV <https://es.wikipedia.org/wiki/CSV>`_ file in a non-recommended format. We
can also decide whether to import the first line or discard it as it may have
titles instead of data.

.. hint:: The importing process is done in background, letting the brand operator
continue doing other stuff while it is finished.

CSV format
==========

Although the import window allows importing non-recommended format CSV files,
we encourage you to import a file in the proposed format, as it will make
this process much easier:

.. error:: Comma is the only allowed separator character.

.. error:: Single quotes are not supported.

You can find a sample CSV for importing `here <https://raw.githubusercontent.com/
irontec/ivozprovider/artemis/web/admin/samples/pricesSample.csv>`_.


The order of the columns should be:

- Destination name

.. warning:: If they contain any comma, they MUST be quoted with double quotes. Otherwise, double quotes are optional.

- Destination prefix

.. warning:: MUST start with + sign.

.. error:: If same prefix is used in multiple times in CSV file, import process will fail.

- Per minute rate
- Connection charge

.. warning:: MUST use point as decimal separator.

- Charge period

.. tip:: Given in seconds, only integers greater or equal 1 are supported.


Once the import process is over, we only have to include this destination rate into some
rating plan and bind it to the clients/carriers we want following the procedure explained in
:ref:`Rating plans`.

***********************
Re-importing a CSV file
***********************

Once a CSV (first.csv) is imported into an empty destination-rates row, you can **import another CSV** (second.csv).

However, it is **important to understand what happens** when you do so:

- Prefixes in both CSV will get its rate **updated** with second's CSV one.

- Prefixes existing only in the first CSV file will be **kept**.

- Prefixes existing only in the second CSV file will be **added**.


.. error:: Downloading CSV using *Imported file* option will always download **last imported CSV file** (no the
combination of both as described above).

Note that if both *first.csv* and *second.csv* contain exactly the same prefixes, resulting destination-rate will be as
we had only imported *second.csv*. And downloading *Imported file* will download *second.csv*, that is exactly the current
state of destination-rate.
12 changes: 12 additions & 0 deletions en/_sources/administration_portal/brand/billing/destinations.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
############
Destinations
############

*Destinations* section binds prefixes (always starting with +) with names.

.. tip:: These names will be used in invoices to identify matching destinations.

Adding destination by hand is only needed is you want to add *destination rates* by hand as explained in :ref:`Add rates manually`.

All non-existent prefixes found in CSV importing process described in :ref:`Importing a CSV file` will added to this list
automatically.
93 changes: 93 additions & 0 deletions en/_sources/administration_portal/brand/billing/index.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
.. _billing:

#######
Billing
#######

Billing a call is the **action of setting a price** to a call that implies cost.

Billing calls depends upon an automatic process:

- When a call is about to be established, IvozProvider verifies that it will be able to bill it.

.. error:: If with the current configuration (active and applicable rating plans for
a given client and for the specific destination) it won't be possible to
bill the call, IvozProvider will prevent its establishment.

- Once a call that implies cost is hung up and is parsed by an asynchronous process, it is listed in :ref:`external_calls`.

***************
Billing methods
***************

IvozProvider supports 3 different billing methods. Billing method is configured at client level via *Billing method* parameter.

.. _postpaid billing:

Postpaid billing
================

- Call rating is done after the call ends.

- No configurable limit or balances involved.


.. _prepaid billing:

Prepaid billing
================

- Call rating is done during the call.

- Clients with prepaid billing method have a preconfigured balance that will be decrement during the call.

- When the balance reaches zero, all established calls for the client will hang up.

- Clients cannot place new calls with zero or negative balance.

- Low balance email notifications can be configured.

.. _pseudo-prepaid billing:

Pseudo-prepaid billing
======================

- Call rating is done after the call ends.

- Clients with pseudo-prepaid billing method have a preconfigured balance that will be decrement after the call ends.

- Clients cannot place new calls with zero or below balance.

- Low balance email notifications can be configured.

.. warning:: Call duration is limited to the maximum duration possible with available balance at the moment of call establishment.

**************
Price and cost
**************

- Call **price** is the amount of money the brand operator will charge to its **client** for every call.

- Call **cost** is the amount of money the brand operator will be charged by the **carrier** for every call.

**Call cost calculation is optional**, as no every carrier has *Calculate Cost?* setting enabled. On the other hand, **call
price calculation is mandatory** for every outgoing call.

.. note:: Carrier call cost calculation, if enabled, is always done postpaid. Carriers with negative balance are allowed and
no call will be hung up when carrier balance reaches 0.

********
Concepts
********

This topic will cover every topic involved in the billing process:

.. toctree::
:maxdepth: 2
:titlesonly:

rating_plans
destination_rates
destinations
prepaid_balances
current_day_usages
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
****************
Prepaid balances
****************

This section displays the balance status for :ref:`Prepaid billing` and :ref:`Pseudo-prepaid billing` clients.

Following options are available for each client:

Balance Operations
==================

Brand administrators increase/decrease the balance of a given client using this option.

Balance Movements List
======================

Brand administrators can keep track the balance movements (increase or decrease) on this account and their status
after the movement.


Balance Notifications
=====================

Brand administrators can configure email notifications when the balance is below a given threshold. See
:ref:`Notification templates` to customize the sent email.
Loading

0 comments on commit 9e7913d

Please sign in to comment.