Professional Documents
Culture Documents
MOR X4 Manual
MOR X4 Manual
Kolmisoft 2006-2013
Contents
MOR X4 new features ........................................................................................................................ 6
Introduction ................................................................................................................................... 47
Who is this product designed for .................................................................................................... 47
Supported Business Models ........................................................................................................... 48
How to make first call ................................................................................................................... 48
Concepts/Definitions ....................................................................................................................... 55
MOR Terminology......................................................................................................................... 55
Billing Concepts ........................................................................................................................... 59
Billing Logic ................................................................................................................................. 60
Call explained .............................................................................................................................. 61
E.164
................................................................................................................................. 62
Rounding ................................................................................................................................. 62
Multi-Tax system ......................................................................................................................... 62
What is a PIN? ............................................................................................................................. 65
ASR/ACD ................................................................................................................................. 66
Margin and Markup ...................................................................................................................... 66
What are callgroups and pickupgroups ............................................................................................ 67
Balance and Credit ....................................................................................................................... 68
Why amounts are without VAT? ..................................................................................................... 69
Local Calls ................................................................................................................................. 69
Prepaid Logic ............................................................................................................................... 71
Authentication ............................................................................................................................. 73
Fax over VoIP .............................................................................................................................. 75
Configuration from GUI ................................................................................................................... 77
ReCAPTCHA................................................................................................................................. 84
Payments configuration ................................................................................................................ 89
Default device settings ................................................................................................................. 95
Default user ................................................................................................................................ 97
Accountant permissions ................................................................................................................ 98
Logo change ............................................................................................................................... 100
Currencies ................................................................................................................................ 101
Translations ............................................................................................................................... 104
Global date format ...................................................................................................................... 106
Remove Manual link from admin GUI ............................................................................................. 107
Voicemail ................................................................................................................................ 107
Multi Server support .................................................................................................................... 112
Email settings ............................................................................................................................. 116
Number Manipulation ..................................................................................................................... 121
Localization ................................................................................................................................ 121
Provider Rules ............................................................................................................................ 127
DID handling by Localization ........................................................................................................ 131
Users ........................................................................................................................................... 139
User Details ............................................................................................................................... 139
Warning balance ......................................................................................................................... 141
User Blocking ............................................................................................................................. 142
Blocking
................................................................................................................................ 144
Hide Users ................................................................................................................................ 146
Why MOR does not allow to delete users ........................................................................................ 148
How to create User and Device ..................................................................................................... 149
How to change Admin details........................................................................................................ 149
MOR forgot user password ........................................................................................................... 150
Kolmisoft 2006-2013
Kolmisoft 2006-2013
And it is possible to make actions for these types of MOR Objects or send notification about it:
Users
o All
o Postpaid
o Prepaid
o One User
Providers
Devices
Destinations
o One Destination by prefix.
o Few Destinations by prefix and % sign. Eg. 93%, 3706% and so on.
Destinations Groups
Kolmisoft 2006-2013
Usage
Go to ADDONS > Monitorings > Alerts
Here you can see list of all created Alerts and their main information like is Alert active? When
it was Raised/Cleared last time? What value was at Alert/Clear...
Click on
Alert.
Kolmisoft 2006-2013
General
Kolmisoft 2006-2013
Alert
Alert if <= indicate Parameter value when system should raise Alert if value is less than
written.
Alert if >= indicate Parameter value when system should raise Alert if value is more
than written.
Disable Object check if you want to disable selected Object on Alert.
LCR on Alert select LCR which one should be used after Alert
Notify On Alert via Email check if you want that specified Group will receive an email
notifications about Alerts.
Clear
Period
You can select different time periods for each alert.
Note: period has no effect when parameter SIMULTANEOUS CALLS is chosen.
Comment additional notes.
Examples
Send notification and change LCR on Alert
Parameter: TOTAL CALLS
Object Type: User
Object Name: Prepaid
Alert if >=: 300
Clear if <=: 200
LCR on alert: secondary LCR
LCR on clear: Restore Original
Group to Notify: support group
Notify on Alert via Email: checked
Period: 1h
Kolmisoft 2006-2013
This Alert monitors all Calls done by Prepaid Users. If a Prepaid User makes more than 300 Calls
during one hour period, his LCR will be changed to secondary LCR and Email notification will be
sent to every contact on support group.
If User's Call count drops below 200 calls during one hour period, his LCR will be restored to
original LCR
Block user when simultaneous calls are detected
Parameter: SIMULTANEOUS CALLS
Object Type: User
Object Name: All
Alert if >=: 2
Group to Notify: administration
Notify on Alert via Email: checked
Disable Object: checked
Disable Clear: checked
This Alert monitors simultaneous calls done by all Users. If a User makes more than (or equal
to) 2 simultaneous Calls to the same destination, his account will be suspended and Email
notification will be sent to every contact on administration group. This alert will no be cleared
automatically and user will stay suspended even if no more simultaneous calls are present.
False ANSWER
Description
If you are using GREY routes (not legal) be ready to experience false Answer or false RING.
Shortly it is FAS. FAS is commonly referred to as False Answer Supervision and for a
regular user this phenomenon means incorrect extra billing of calls: the billing starts earlier
than the called party actually picks up the phone.
False ANSWER
That means that in some way between caller and callee some "grey" provider answers the call but
still plays ringing sounds to fake the call.
Kolmisoft 2006-2013
10
The call will be marked as ANSWERED but in reality nobody will answer.
To avoid this - talk with your provider or use "white" routes.
False/Fake RING
When caller presses dial button - he immediately hears ringing signal - this is Fake (False) Ring.
One of the providers in the chain are generating it.
Solution - talk to provider to fix this or change provider.
Why it happens only sometimes - because call is routed through bad provider using different
rules - sometimes all others are busy, sometimes it is cheaper and so on - that's Least Cost
Routing or similar technology - in short - call is not routed over bad provider all the times.
MOR has function to set Fake Ring per device basis.
Kill Call if PDD more than set this value if you want to terminate calls that have high
pdd value (this could indicate a bad quality of provider). Zero value means that FAS
control functionality is off.
Kill Call if PDD less than set this value if you want to terminate calls that have low pdd
value (this could indicate that provider uses FAS). Zero value means that FAS control
functionality is off.
11
Useful to know
Betamax
This is very often happens with Betamax company group providers: http://backsla.sh/betamax
Voice Trading
http://www.voicetrading.com/
This provider supports 3 quality routes:
Call Queues
Description
Call queue is a feature that allows an unlimited number of callers to wait for an available sales
representative or for resources to become accessible to assist them. This allows you to provide
each customer with the same quality service. In addition, it ensures your customers wont end up
in voicemail.
Queues consist of:
Usage
Queue Options
Queue Name name of Queue.
Assigned DID(s) quantity of DIDs, which are assigned to current Queue.
Extention a short number by which this queue can be reached; must be unique in the
Kolmisoft 2006-2013
12
system.
Server allows to choose server in multiple servers system. Server id on which server queue
application will be executed.
Ring Strategies Calls are distributed among the members handling a queue with one of
several strategies:
Queue Weight for comparing with other queues, higher weights get first shot at available
channels when the same channel is included in more than one queue.
Autofill makes sure that when the waiting callers are connecting with available members in a
parallel fashion until there are no more available members or no more waiting callers.
Skip Busy Agents lets do not send calls to members whose devices are known to be 'in
use'(Note: only the SIP channel driver currently is able to report 'in use').
Fail Over Actions set action what to do after Queue:
Hangup
Transfer to Extension
Transfer to DID
Transfer to Device
Agent Options
CID Name Prefix The CID Name Prefix is used to prefix the caller ID of callers in the queue with
the value entered in this field. This is often used when agents are members of multiple queues so
that they know which department a person has called (for example, a CID may be prefixed with
"Sales" or "Tech Support").
Report Hold Time If you wish to report the caller's hold time to the member before they are
connected to the caller, set this to yes.
Agent Announcement An announcement announce may be specified which is played for
the member as soon as they answer a call, typically to indicate to them which queue this call
hould be answered as, so that agents or members who are listening to more than one queue
can differentiated how they should engage the customer
Agent Delay If you wish to have a delay before the member is connected to the caller (or
Kolmisoft 2006-2013
13
before the member hears any announcement messages), set this to the number of seconds to
delay.
Agent Timeout This timeout specifies the amount of time to try ringing a member's phone
before considering the member to be unavailable.
Retry How long do we wait before trying all the members again?
Wrap-Up-Time After a successful call, how long to wait before sending a potentially free
member another call (default is 0, or no delay)
Allow hangup by * allow callee to hang up by pressing
Static Agents
To add Static Agent click on Add new Static Agent link and choose Device and Penalty.
Penalties
Queue members can be defined as having a penalty - e.g. member => SIP/200,1 member =>
SIP/201,2 member => SIP/202,3 member => SIP/203,2 If the strategy is defined as 'ringall', then
only those available members with the lowest priorities will ring. In the example above, if 200 is
not busy, then only 200 will ring. If 200 is busy, then only 201 and 203 will ring. If 200, 201 and
203 are busy, then 202 will ring.
NOTE that if extension 200 does not pick up it will not automatically go to extension 201. It will
keep ringing 200 until they pick up. It will only go to the next extension if the current extension is
either busy or unavailable.
Caller Options
Max Callers Maximum number of people waiting in the queue (0 for unlimited).
Join Announcement The Join Announcement drop-down menu is used to select a sound file
to be played back to the caller before they are dropped into the queue. This file must be prerecorded or uploaded to the system. This announcement is optional, but will usually state that
the caller is being placed into a queue, and that their call will be answered in priority sequence.
Ringing instead of MOH ring instead of playing MOH.
Music On Hold Class Musicclass sets which music applies for this particular call queue.
Ring at once when Agent is ringing stops MOH and rings once an agent is ringing (Asterisk
Trunk).
Kolmisoft 2006-2013
14
Join Empty This setting controls whether callers can join a queue with no members.
Leave When Empty if you wish to remove callers from the queue when new callers cannot join,
set this setting to one of the same choices for 'Join Empty' described above.
Allow hangup by * allow caller to hang up by pressing *
IVR Brake-Out Menu A context may be specified, in which if the user types a SINGLE digit
extension while they are in the queue, they will be taken out of the queue and sent to that
extension in this context.
Max Wait Time 'timeout' sets the time in seconds that a call will wait in the queue before it is
routed to the next priority in the dialplan. It defaults to 300 seconds (5 minutes).
Caller Announcements
Repeat Frequency How often to announce queue position and/or estimated holdtime to caller.
Min. Announce Frequency The absolute minimum time between the start of each queue
position and/or estimated holdtime announcement This is useful for avoiding constant
announcements when the caller's queue position is changing frequently (see announcefrequency).
Announce Position Queue position announce? Valid values are "yes," "no," "limit," or "more." If
set to "no," then the caller's position will never be announced. If "yes," then the caller's position in
the queue will be announced to the caller. If set to "more," then if the number of callers is more
than the number specified by the announce-position-limit option, then the caller will hear that
there are more than that many callers waiting (i.e. if a caller number 6 is in a queue with the
announce-position-limit set to 5, then that caller will hear that there are more than 5 callers
waiting). If set to "limit," then only callers within the limit specified by announce-position-limit
will have their position announced.
If you have specified "limit" or it "more" for the announce-position option, then the following
value is what is used to determine what announcement to play to waiting callers. If you have set
Kolmisoft 2006-2013
15
the announce-position option to anything else, then this will have no bearing on queue
operation.
Announce Hold Time Should we include estimated hold time in position announcements?
Either yes, no, or only once. Hold time will be announced as the estimated time, or "less than 2
minutes" when appropriate.
Round Seconds What's the rounding time for the seconds? If this is non-zero, then we
announce the seconds as well as the minutes rounded to this value.
Periodic Announcements
This block allows a message like "Thank you for holding, your call is important to us." to be
played at regular intervals while a caller is in the queue.
Repeat Frequency How often to make any periodic announcement (see periodic-announce)
Random Should the periodic announcements be played in a random order? Default is no.
Relative If set to yes, the periodic announcment frequency will be timed from the end of each
announcment rather than from the start of each announcment. This defaults to off.
Announcment sound message
Vizualization
Kolmisoft 2006-2013
16
From Accountant
Accountant can manage Admins Queues if there are set Manage Queues permission in
Accountant permissions.
Such functionality is not planned, because MOR is not proper solution for Call Center
environment with high-load. Queues in MOR are mainly for small office use.
This can change due to high-demand from our Clients.
Music on Hold
Description
It is recorded music being played to fill the silence that would be heard by telephone callers who
have been placed on hold. It is especially common in situations involving customer service. Any
caller will hear music if it is set so.
Usage
Go to ADDONS > PBX functions > External DIDs > Music On Hold.
Here you can see the list of current sound files added which will be played while the caller is
on hold:
Kolmisoft 2006-2013
17
Add new and type in name, description, choose ivr sound files
folder and select if files in that folder are played randomly or in order:
icon.
When you have created Music on Hold, you can now assign the selected class to a Queue. Simply
go to Settings > DIDs > PBX functions > Queues and assign class by selecting it from
dropdown in Caller Options section:
Server is overloaded
Description
MOR constanty monitors it's servers for various performance stats:
Hard disk IO
CPU
MOR according to the complexity of the task may sometimes not allow you to do some tasks
during high workloads with this error message:
Server is overloaded, please try later.
This means that your server(-s) are busy and you should retry the tasks later.
Kolmisoft 2006-2013
18
Configuration
Go to SETTINGS > Setup > Settings
Click on Server load tab and you will see settings:
Here you can set parameters which defines when Server is overloaded. Those Settings will be
applied to GUI and Database Servers. Set 0 if you want to disable checking.
Blacklist functionality
Description
Blacklist functionality Dynamic Routing based on smart logic which puts a 'score' on the call by
its SRC, DST or RTP IP and allows routing call with high score over different route. This
functionality gives you an ability to define LCR as Blacklist Providers group. These Providers
works like any other Provider in MOR system. MOR reroutes all the calls, that have a score more
than a defined threshold, to this Blacklist LCR.
Kolmisoft 2006-2013
19
This functionality is useful when system owner wants to route 'suspect' calls through different
route than 'normal' calls.
Example: calls from such countries as Nigeria, Sudan, etc, based on their IP/CallerID can be
marked as 'suspects' and routed to some IVR or to the dead-end.
Configuration
You can manage
20
This feature is designed to stop the score manipulation done by the blacklisting script
(Intelligence). This feature is used in the situation where we want to disable the score number
manipulation done by the blacklisting script but still keep the blacklist functionality.
As an example, maybe we will notice in the future that we have incorrectly setup the blacklisting
script rules and as a result we are getting some false positives into our blacklist. In this case we
don't want to completely disable the blacklisting feature but just disable the blacklisting script
until we have had enough time to go back to the CDR analyses and figure out the correct values
that need to be defined for the correct functioning of the blacklisting script.
If the Use default blacklisting rules is set to no then the MOR system should continue to add
source numbers, destination numbers and source IP addresses to the blacklist database, but the
blacklist script should not run and change the database values.
21
= SRC-Score + SRC-v2
If a source_IP_number was calling more than SRC-IP-n1 times within SRC-IP-t1 minutes then
SRC-IP-Score = SRC-IP-Score + SRC-IP-v1
If a source_IP_number was calling more than SRC-IP-n2 times within SRC-IP-t2 hours then
SRC-IP-Score = SRC-IP-Score + SRC-IP-v2
Variables like DST-n1 to SRC-IP-v2 need to be defined manually.
Example
If a destination_number was called more than 5 times within 60 minutes then DST-Score = DSTScore + 100
or
If a source_IP_number was calling more than 40 times within 5 hours then SRC-IP-Score = SRCIP-Score + 100
NOTE: if you want to create such script, please contact Kolmisoft, we will consult how to do this,
will provide necessary database info and all other details.
Webphone addon
About
Webphone addon lets users make calls directly from browser.
Kolmisoft 2006-2013
22
Just Google Chrome (from version 27.0.1453.94), Mozilla Firefox (from version 21), Opera (from
version 12.15) and Internet Explorer (from version 10) are supported.
Settings
To use this addon you have to install Java! You will find Webphone addon in: ADDONS ->
Webphone:
"Encoded SIP Server" and "Encoded Logo URL" are provided by Kolmisoft staff. Webphone will
not work if these lines will be filled with plain text.
NOTE: Webphone can be used for calls just by user user type.
Kolmisoft 2006-2013
23
except Encoded SIP Server - this option can be set just by Admin. Webphone usage for reseller
users is same as Admins Users.
Calls Archiving
Description
When there are many old calls that are no longer useful, they can be archived and moved from
Last Calls page to STATISTICS > Calls > Archived Calls.
When old calls are in another database table, normal system's work increases tremendously.
Here you can see similar table to Last Calls, so you can check calls information at anytime you
want. You can find more information about each field in Last Calls
Settings
Archiving options can be set in SETTINGS -> Setup -> Settings -> Various tab.
Kolmisoft 2006-2013
24
Archive Calls older than - this is the number of days. When call is older than the number you
set, it will be archived and moved to Archived Calls.
Archive Calls every day at - this is the time when Background Task takes place and calls from
Last Calls are moved to Archived Calls.
Archive Calls till - if there are many old calls, it will take time to archive all of them. You may
need to set the time when background task no longer proceeds and the action is done.
NOTE: you can check the completion of calls archiving process and other information in
Background Tasks.
Time Format
Starting fomr MOR X4 time format can be changed to market standard.
Showing time in mm:ss instead of hh:mm:ss, for example, not 02:13:42 but 133:42.
Aggregate
Description
Aggregate statistics provide brief information about terminators and originators, ASR, ACD. Only
calls routed via Terminators are included. Every call made from every user to every different
terminator is in the statistic so there may be the same prefixes repeated if grouping by prefix is
not selected.
NOTE: search by Admin is not available because Admin's function to make calls is deprecated.
Usage
Go to STATISTICS > Calls > Aggregate
Kolmisoft 2006-2013
25
In search filter you can choose time period, which originator and/or terminator you want to see.
Also you can search statistics by prefix. To see results at least one option Orig. or Term. of
Customer must be checked.
Available details
If Destination is checked, the destination countries are shown in statistics sorted by prefix.
If Orig. is checked, calls are additionally grouped by user.
If Term. is checked, calls are additionally grouped by terminator.
If Orig. Price is checked, show additional collum with originator price.
If Term. Price is checked, show additional collum with terminator price.
If Orig. Billed time is checked, show additional collum with originator billsec.
If Term. Billed time is checked, show additional collum with terminator billsec.
If Destination is checked, show additional collum with Destination name.
Kolmisoft 2006-2013
26
Group by direction - calls are grouped by destinations subcode. If Orig. and Term. are
unchecked and Group by direction selected, calls are grouped by country.
Time period defines the exact time period LCR will be active. There is a limit of five periods in one
LCR. Rest of the time will be used main LCR.
Examples
1. Select Date from 1 of January to 28 of February and choose Hour : Minute from 09:00 to
18:59. Selected LCR will be used from 1 of January till 28 of February at time from 09:00 till
18:59.
2. Select just Hour : Minute from 19:00 to 08:59 and selected LCR will be used every day at
time from 19:00 till 08:59.
3. Select Weekday from Monday to Friday and choose Hour : Minute from 13:00 to 15:59.
Selected LCR will be used every week from Monday till Friday at time from 13:00 till 15:59.
Kolmisoft 2006-2013
27
Choose Original LCR reseller and Cloned LCR reseller and click Clone button.
Please note that LCR will not be allowed to copy if reseller B is not allowed to use Providers which
are used by Reseller A.
CPS Limitation
New option in device settings to limit the number of calls during defined time period.
Provider sends you a bill/ invoice for the calls and you can check if it is correct. Amount
shown in Provider billing section should match the invoice from your provider (this can be
applied in all VoIP business models where you use some voice traffic suppliers).
Provider is your client and supplier. In the end of the month according to bilateral
agreements you just check the overall balance (this is usually applied in VoIP Wholesale
business).
Kolmisoft 2006-2013
28
If you use GSM gateways for termination, adding the time limit per day allows you to
avoid clients hearing that the SIM card balance expired as MOR automatically routes the
call to the next available GSM gateway (this is used in VoIP Termination business using
GSM gateways/SIM banks)
Balances
To see all Providers balances, go to ADDONS -> Provider billing.
By clicking Edit you will be lead to Provider's edit window. In General Providers settings you
can set Provider balance limit. It is the limit of balance that can be reached by the provider. After
he reaches the specified balance, calls aren't sent through this provider anymore
Provider has balance which increases when call goes over this Provider. E.g. Provider receives
money for the calls over him.
If Provider is assigned to the User then such Provider can make calls. When Provider (which is
assigned to the User) makes calls, such calls goes over other Providers and User's (to which
Provider is assigned) balance is decreased.
IMPORTANT! Provider's balance and User's balance are two different values. They are not
connected and do not impact each other. They change independently of each other.
Kolmisoft 2006-2013
and you
29
Click Proceed:
Click Confirm. You will be redirected to Payments window and see this payment if everything
is correct.
Please note that adding positive Amount will decrease provider's balance and adding negative
will increase it. Balance - amount = new balance.
Reseller can use this feature only on that reseller's providers.
Kolmisoft 2006-2013
30
If the limit is exceeded that provider is disabled which means it is not available to make calls
through it anymore. If you add a value of zero, no limit will be applied.
To apply this functionality to device go to SETTINGS -> Setup -> Default device and see
Advanced block.
This functionality is available only if provider billing addon is enabled.
Usage
To add some quick changes for Providers go to SETTINGS > Billing > Providers > Quick
Changes.
Here you can see a list of all Providers and update some of their details:
Changes will be applied just for those Providers, which you can see in current page.
Kolmisoft 2006-2013
31
Data import
User/Device/DID/CLI import
You must import the data in the following order from CSV files:
1. Users data
2. Devices data
3. DIDs data
Import Devices from CSV link is disabled while Users data is not imported. Import DIDs from
CSV link is disabled while Devices data is not imported.
CLIs data can be imported for already existing Devices by Device ID or for just imported Devices
by Temporary Device ID (which is in SETTINGS -> Users -> Import).
For example:
We have a CSV file named example.csv with the contents:
"id", "username", "password", "e-mail"
1, "username1", "verySecretPassword", example@example.com
Kolmisoft 2006-2013
32
Kolmisoft 2006-2013
33
In the first column is a Temporary User's ID; the other columns represent other data. As
mentioned above, it does not matter in which order your data is represented in the CSV file.
It only matters that each column (the data between commas) represents the same data value (id,
email, password or other).
Devices CSV file example:
38,38,76824435,"3676586421","asddsau.12","jamaica","7ewfw@sip.example.com",TRUE,
"dynamic","sip",TRUE,"NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL",
"NULL", "NULL", "NULL","NULL","NULL"
45,45,76846301,"3676886421","fghhgfu.","ergerSiP","76886421@sip.example.com",TRUE,
"dynamic","sip",TRUE,"NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL",
"NULL","NULL","NULL","NULL","NULL"
2138,2138,76505921,"3676505921","jkllkju.12","treK","6654@sip.example.com",FALSE,"dynamic",
"sip",TRUE,"NULL",FALSE,FALSE,10,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE, ,FALSE
The first column here represents "id", the second "user_id", and the others represent other data.
YOUR ORDER CAN BE DIFFERENT. The main thing is that each type of data (email, password, id...)
must be in the same column. When you are asked to provide data when importing, be sure to
assign the correct data from CSV for each column and MOR will know which column represents
which data.
Dids CSV file example:
37067531061,38,38
37065431061,45,22
37062431031,2138,2138
In this example I have used the first column for DID, the second for Temporary User ID, and the
third for Temporary Device ID. Your data order can be completely different. You just need to
select the correct values when asked.
Importing data
Firstly, from the MOR Graphical User Interface (GUI), navigate to: Settings -> Users ->
Import.
Kolmisoft 2006-2013
34
Importing users
To import users, click on the "Import Users from CSV" link:
Now locate the CSV file in your local system by clicking the "Browse" button. As indicated above,
don't click the "Include first line?" checkbox if you have used the first line for commenting on the
fields.
Kolmisoft 2006-2013
35
In next menu, please fill in the requested data (you should select the correct field from your CSV
file). You must select a field for each selection box marked with an asterisk (*) symbol.
Having finished, press the "Assign columns" button.
On the next page, check whether all the data was assigned correctly. If not, click the "Back"
button and correct the mistakes. If all the data was assigned correctly, click the "Confirm
columns" button. After the "Columns assigned" notification informs you that data successfully
imported.
NOTE: When you are going to import CSV file, which includes Tariff and/or LCR, the IDs of Tariff
and LCR should be specified in CSV file.
Where to find ID of Tariff or LCR? Just go to some of them and press on edit icon, where Browser
navigator bar will show full link with location, last number is ID.
Kolmisoft 2006-2013
36
Having completed all these steps, you should see a page similar to this:
Importing devices
Click on the "Import Devices from CSV" link and follow the same procedure for uploading a CSV
file as in the "Importing users" section. That is, locate the CSV file in your local system by clicking
the "Browse" button. As stated before, don't click the "Include first line?" checkbox if you have
used the first line for commenting on the fields. Click on the "Upload file" button. Now you
should see a menu similar to this:
Kolmisoft 2006-2013
37
In this menu, once again select a matching field from your CSV file for each selection box. It is
very important to correctly select Temporary User ID and Temporary Device ID, because
these fields are necessary to map DIDs to Devices and Devices to Users.
NOTE: When you are going to import CSV file, which includes Location, the name of Location
should be specified in CSV file.
Having finished selecting the fields, press the "Assign columns" button.
Once the columns are assigned, check whether all the data is correct. If not, press the "Back"
button and correct the mistakes. Now, if you haven't made any mistakes, you should see two
tables similar to these:
Importing DIDs
Click on the "Import Devices from CSV" link and follow the same steps for uploading a CSV file as
in the "Importing users" section. That is, locate the CSV file in your local system by clicking the
"Browse" button. As stated before, don't click on the "Include first line?" checkbox if you have
used the first line for commenting on the fields. Click on the "Upload file" button. Now you
Kolmisoft 2006-2013
38
Select all matching fields from your CSV here. It is very IMPORTANT to select the CORRECT
Temporary User ID and Temporary Device ID! Having selected everything correctly, click the
"Assign columns" button. In the next page, if all imported data is assigned correctly, click the
"Confirm columns" button. If you haven't made any mistakes, you should now see a "DIDs
successfully imported" message.
Importing CLIs
CLIs data can be imported for already existing Devices by Device ID or for just imported Devices
by Temporary Device ID.
Click on the "Import CLIs from CSV" link and follow the same steps for uploading a CSV file as in
the "Importing users" section. That is, locate the CSV file in your local system by clicking the
"Browse" button. As stated before, don't click on the "Include first line?" checkbox if you have
used the first line for commenting on the fields. Click on the "Upload file" button. Now you
Kolmisoft 2006-2013
39
Select all matching fields from your CSV here. It is very IMPORTANT to select the CORRECT
Device ID (if it is selected "Use Device ID") or Temporary Device ID(if it is selected "Use
Temporary Device ID")! Having selected everything correctly, click the "Assign columns" button.
In the next page, if all imported data is assigned correctly, click the "Confirm columns" button. If
you haven't made any mistakes, you should now see a "CLIs successfully imported" message.
You can now check whether all your data has been imported.
To check users, go to: SETTINGS > Users.
To check devices, go to: SETTINGS > Users > Devices.
To check DIDs, go to: SETTINGS > Billing > DIDs.
To check CLIs, go to: SETTINGS > Billing > Devices > CLIs.
Explanation of IDs
Many users find it difficult to understand what User_ID or Device_ID mean in Data Import.
These are temporary IDs created only for import purposes. These IDs have NO relation to User
ID/Device ID in the Users/Devices windows of the MOR system.
Kolmisoft 2006-2013
40
Only end users can create Mass SMS campaigns, actions, edit, delete them and import
numbers.
Admin and reseller can check their users' campaigns and view actions, but cannot edit
them.
Configuration
For user to be able to use Mass SMS, he first has to be subscribed to SMS Addon.
Kolmisoft 2006-2013
41
Here have to subscribe User to SMS Service, just select user from dropdown and press Subscribe.
If you want unsubscribe user from SMS Service click icon. Click on icon to change Users LCR
or Tariff for SMS Service.
Reseller also has to have SMS Addon and SMS permission enabled.
Kolmisoft 2006-2013
42
Usage
From Admin/Reseller
Go to ADDONS -> SMS -> Mass SMS.
Here you can see the list of campaigns created by the end users. You can see the number of
phone numbers imported, actions created, campaign status, profit from campaign and other
information.
campaign.
From User
Go to PERSONAL MENU -> SMS -> Mass SMS:
The main window shows the user's campaigns. Here is more information and available settings
that admin/reseller has:
Kolmisoft 2006-2013
43
The user can Activate or Stop the Campaign by clicking the or button near the Campaign's
status.
A Campaign can only be Activated if it has free numbers AND some Actions.
So please, before activating a Campaign, import some Numbers and create Actions.
Campaigns
Add campaign allows you to add a new campaign:
Numbers
Click on
The user can import phone numbers from a TXT file. Numbers should be in correct dialing format
and not duplicated.
Kolmisoft 2006-2013
44
After uploading the file, you will see status of imported numbers:
You can delete all numbers by clicking Delete all numbers. Also you can export details by
clicking Export IVR/poll results to CSV
If a number is Completed, it is possible to reactivate it (tell the system to call it again) by clicking
the icon near the number.
Kolmisoft 2006-2013
45
Actions
Click
Here user can choose actions for the campaign. There is currently one type of action for Mass
SMS:
SEND SMS the specified sms will be sent to all numbers in the campaign.
Improvements
Important Changes
Only User will be able to make calls. E.g. Admin, Accountant and Reseller will not be able
to make calls anymore. They will have to create separate User to make calls.
API will be adjusted, method names changed (keeping backwards-compatibility),
responses and parameters fixed
Monitorings are converted into Alerts, old Monitorings window is removed
Kolmisoft 2006-2013
46
Introduction
Kolmisoft VoIP Softswitch with Billing and Routing MOR is an advanced system that enables
alternative telecoms to provide flexible voice services, effectively manage service offerings and
grow their voice businesses due to the systems stability and high traffic scalability. Kolmisoft
System MOR integrates the core AAA functions Authentication, Authorization, and Accounting
with vital functions that facilitate the effective management of all billing/routing-related
processes:
Customers
Services
Finance
Services distribution
Reporting
Traffic partners
User rights
On the business side, Kolmisoft System MOR makes possible the deployment of services with
high-quality and flexibility within any VoIP business model; on the technical side the system
maintains seamless performance at high and rapidly increasing traffic volume. The optimal
combination of functions, the adaptability to every VoIP business model and rate-plan settings,
as well as its stability, make Kolmisoft System MOR the absolute billing/routing and customer
care solution for Voice Over Broadband/ IP businesses worldwide.
Kolmisoft 2006-2013
47
Create a tariff
Tariffs are a set of rates (prices) to different destinations.
Go to SETTINGS -> Billing -> Tariffs and click
Kolmisoft 2006-2013
New tariff
48
Enter the name (you will use it to recognize tariff (price list) in variuos system places). Choose
currency in which you will pay for providers/suppliers. Select what type of tariff do you want and
click Create.
In this example tariffs have rates/prices from your Providers. These prices are paid TO Providers
when they terminate calls FROM your system to PSTN. This is self-cost for you, e.g. you buy calls
using these prices, as it is written next to the blue information icon.
Rates
However if you choose other type than Providers you will have to either import rates from CSV or
fill them in manually by clicking Rates -> New rate. The most important fields in Rates are
Prefix and Rates.
Create a provider
Go to SETTINGS -> Billing -> Providers and click
New provider
Select Technology, from a dropdown list assign Tarrif you have created, select the server and click
Create.
Kolmisoft 2006-2013
49
Provider configuration
Right after creating a provider you will see this window:
Edit setting you need to edit and click Edit or leave it as it is configured.
Kolmisoft 2006-2013
50
Create a LCR
Go to SETTINGS -> Billing -> LCR and click
New LCR
Enter the name. From a dropdown list select the order. If you select order of providers by price
the cheapest way to dial a destination will be used. If you select by priority the call will be routed
by a predetermined order. Routing by percent is similar to routing by priority. After you selected
click Create.
You will see that there are no providers assigned to this created LCR.
Click
Providers.
Kolmisoft 2006-2013
51
Assign created provider from the dropdown list and click Add.
Please note that Save changes button is only for failover providers, not for providers in general.
Adding a user
To add a user go to SETTINGS -> Users. Click
Add user.
Assign created LCR and click Create at the bottom of the page.
Kolmisoft 2006-2013
52
). In the
Softphone
To make a real call, you will need a softphone for a quick test.
You can use your own if it supports the SIP or IAX2 protocols.
For the sake of simplicity, we will show how to configure Idefisk 1.37 , which is very small and
easily configurable.
First, download it from our server (http://www.kolmisoft.com/packets/idefisk137
_installer.exe) and install it. (It is for Windows OS.)
Kolmisoft 2006-2013
53
Dialing
Next, enter a phone number into your softphone and try to dial.
NOTE: enter the number in international (E.164) format. Do not use any international prefixes use country code + area code + number.
For example, a Lithuanian number is 37063042439, where 370 is the country code, 6 is the area
code (MOB network), and all the rest is the number itself.
NOTE: USA/Canada numbers should start with 1 (which is the USA/Canada country code).
Call logs
After the call, you can check your call in the system.
Go to: STATISTICS -> Calls -> Last Calls and you will see your call.
It will be already billed.
Kolmisoft 2006-2013
54
Concepts/Definitions
MOR Terminology
1. Accountant [http://wiki.kolmisoft.com/index.php/Accountant_permissions] a type of user
which has more rights than simple user in MOR, but still not enough to fully manage all
configuration of MOR system. His rights can be adjusted at any time.
2. Action log [http://wiki.kolmisoft.com/index.php/Action_log] detailed report about user
activity.
3. Addons [http://wiki.kolmisoft.com/index.php/MOR_Addons] a special feature group for MOR
which adds additional functionality.
4. Admin [http://wiki.kolmisoft.com/index.php/Users] most powerful user account in MOR (just
like root in UNIX systems).
5. Aggregate [http://wiki.kolmisoft.com/index.php/MOR_Manual#Reporting] advanced report
on calls.
6. API [http://wiki.kolmisoft.com/index.php/MOR_API] - application programming interface is an
interface implemented by a software program to enable interaction with other software, similar
to the way a user interface facilitates interaction between humans and computers.
7. Asterisk [http://en.wikipedia.org/wiki/Asterisk_(PBX)]- PBX free software, multi platform,
published under license GPL per Spencer Mark of the Digium company.
8. Auto Dialer [http://wiki.kolmisoft.com/index.php/Auto-Dialer_Addon] this addon allows to
call an array of numbers automatically and when answered plays back a prerecorded message to
the receiving end of the call.
9. Backup [http://wiki.kolmisoft.com/index.php/Backup_system] - a backup or the process of
backing up refers to making copies of data so that these additional copies may be used to
restore the original after a data loss event.
10. Browser title most top of web browser.
11. Callback [http://wiki.kolmisoft.com/index.php/Callback] in telecommunications, a callback
(also written as call-back) occurs when the originator of a call is immediately called back in a
second call as a response.
12. Call tracing [http://wiki.kolmisoft.com/index.php/Call_Tracing] used for checking the setup
of MOR in order to be sure user will be able to dial out to specified destination number.
13. Calling cards [http://wiki.kolmisoft.com/index.php/Calling_Cards_Addon] an addon to MOR
billing which adds Calling Card functionality.
14. CDR call data (detail) records are computer records produced by a telephone
exchange containing details of a call that passed through it.
15. Click2Call [http://wiki.kolmisoft.com/index.php/Click2Call] the technology which virtually
always refers to a means for a web consumer to ask a website operator to call her. In
Kolmisoft 2006-2013
55
56
57
53. Router [http://en.wikipedia.org/wiki/Router] - a device that forwards data packets from one
local area network (LAN) or wide area network (WAN) to another. Poorly configured device also
leads to voice and traffic problems.
54. Service - product which can be sold to the client. That can be various types of services. For
example: monthly fee, line rent, phone rent, internet plan.
55. Site your MOR website.
56. SMS Addon [http://wiki.kolmisoft.com/index.php/SMS_Addon] this addon adds SMS
sending option through and from MOR.
57. SSH [http://en.wikipedia.org/wiki/Secure_Shell] secure shell for completely controlling
server from remote location.
58. Subscription - users can subscribe for some services. When they do so they get Subscription
for some service.
59. Supplier [http://wiki.kolmisoft.com/index.php/Providers] see meaning of Provider.
60. Terminate end call in specified end.
61. Terminator [http://wiki.kolmisoft.com/index.php/Providers] a final destination point where
call be terminated.
62. Trunk [http://wiki.kolmisoft.com/index.php/Trunks] - other server/PBX which can be
connected to the MOR system.
63. User [http://wiki.kolmisoft.com/index.php/Users] your customer.
64. Voicemail [http://wiki.kolmisoft.com/index.php/Voicemail] - Voicemail (or voice mail,
voicemail, vmail or VMS, sometimes called message bank is a centralized system of
managing telephone messages for a large group of people. The term is also used more broadly,
to denote any system of conveying voice message, including the answering machine.
65. VOIP [http://en.wikipedia.org/wiki/VOIP] - general term for a family of transmission
technologies for delivery of voice communications over IP networks such as the Internet or
other packet-switched networks.
66. Voucher [http://wiki.kolmisoft.com/index.php/Vouchers] this function allows to enter
voucher number over phone and top up user's balance.
67. Web callback [http://wiki.kolmisoft.com/index.php/WEB_Callback] - technology where a
person can enter his or her telephone number in a form on a web site.
68. Wholesale tariff [http://wiki.kolmisoft.com/index.php/Wholesale_Tariff] in wholesale tariff
you can set price for each prefix, while in retail you cannot, but retail has its own advantages.
69. ZAP/Zaptel series of drivers for telephony hardware devices (later renamed to DAHDI).
Kolmisoft 2006-2013
58
Billing Concepts
This section deals with the billing system. It breaks down the actual call-flow from user to
Provider(s).
The billing system is quite complex and there are a lot of concepts to grasp.
There are a number of main categories of billing in MOR. The most important are:
Providers
Least Cost Route (LCR)
Directions
Destinations
Rates
Tariffs
Users
Devices
Providers - In the old PSTN world, these were called Trunks. They are your routes to the outside
world (out of your VoIP network). Providers can be of several types: Zap, SIP, IAX2, and H323. The
type determines which technology is used to connect to the Provider.
Least Cost Route (LCR) - LCR describes how calls may go through several Providers and the
order in which they go. The order can be determined by the call route's price, quality or manual
priority.
Directions - This term refers to countries, or perhaps to satellite networks. It simply describes the
direction in which the call is routed.
Destinations - Destinations are the specific steps that make up the course of the call. Let's say
we are dialing number 37068547771. From this number, MOR knows that the Direction is
Lithuania, and the Destination is the mobile network Bite. Destinations are determined by Prefix,
and each destination has a unique Prefix. The Prefix in this example is 370685.
Rates - These are the prices for the Destinations. They have many properties, which determine
they way they are calculated.
Tariffs - These are groups of Rates. Sometimes they are called Price Lists.
Kolmisoft 2006-2013
59
Users - This term refers to the actual user of the system the client who dials out or receives
calls. User may represent a single person or a whole company, but it is main unit in the system.
Most of the settings are associated with Users.
Devices - Each user can have many devices. A device represents the end-point to which voice
traffic should be sent. For example, a device might be a:
VoIP phone
VoIP softphone
PSTN phone (connected through FXS port).
Billing Logic
In order to use MOR successfully for dialing out and billing, some rules must be followed.
The best way to show this is by example.
This example provides only a basic illustration of how the billing system works. The whole
process in MOR is much more complex.
Kolmisoft 2006-2013
60
Call explained
Duration - the time from when the caller enters the number until the end of the call.
Billsec - the time from when the callee answers until the end of the call.
Kolmisoft 2006-2013
61
E.164
What is an E.164 format number? In short, it's a number without an international prefix that starts
with the country code. For further details, check Wikipedia [http://en.wikipedia.org/wiki/E.164].
Every destination inside MOR should be in the E.164 format. That is one of the most important
rules of MOR. If the destination is not in the E.164 format, it can't be billed correctly.
All DIDs in MOR should also be in this format. Do not include international prefixes for DIDs.
Enter them in E.164 format.
In Australia, for instance, the local number 08 6311 3000 would be converted under E.164 to
61863113000. More information on how MOR works with E.164 can be found at Number
Manipulation.
Rounding
Rounding in MOR GUI is done only when showing the final result.
Values are not rounded in the database. Why not? For example: 0.027 + 0.027 = 0.054. Rounded,
this comes to 0.05. But if you are rounding each step, then you get: 0.03 + 0.03 = 0.06. This figure
is not so accurate as 0.05.
Multi-Tax system
All prices and rates in MOR are without TAXES. That's a rule. Each user has a TAX percent. The
user is charged by this TAX percent when he makes payments or views his rates.
The Multi-Tax system provides for several taxes in the final reports for users.
62
When Compound tax is checked, multiple taxes are calculated in following way:
Amount with Compound Taxes = (((X + T1%) + T2%) + T3%) + T4%
If Compound tax is disabled, then:
Amount with Simple Taxes = X + (T1% + T2% + T3% + T4%)
63
If you change taxes, you can assign this to all Users/Calling Cards by pressing the buttons below:
Kolmisoft 2006-2013
64
What is a PIN?
Description
A PIN is a Personal Identification Number used to authenticate Devices or Calling Cards in MOR.
Calling Cards
An example of how a PIN is used in Calling Cards can be found here: Calling Card logic.
Kolmisoft 2006-2013
65
ASR/ACD
ASR - Answer-Seizure Ratio
The Answer-Seizure Ratio (ASR) is calculated by dividing the number of successfully answered
calls by the total number of calls attempted, which are known as "seizures". Since busy signals
and other rejections by the called number count as call failures, the calculated ASR value can vary
depending on user behavior. (http://www.voip-info.org/wiki/view/ASR)
60-70% is considered a very good ASR in the VoIP world.
In other words:
Margin = PROFIT's part in the SELL price, or the part profit makes up in the sell price.
Markup = the increase from the BUY price to the SELL price, or how much the SELL price
has increased from the BUY price, in percent.
Kolmisoft 2006-2013
66
A common misconception
Callgroups are not intended to call a group of phones. All a callgroup entry does is help define
who is permitted to perform a pick-up for particular calls.
Call pick-up is the function that allows a user to pick up his phone, enter a predefined number,
and take a call from another phone that is currently ringing. It is useful in situations when
somebody has called your colleague and you do not want to jump up from your desk and run to
his desk in order to answer his phone. Instead you pick up your own phone, enter the predefined
number, and take the call on your own phone.
Kolmisoft 2006-2013
67
These fields act differently and have a slightly different meaning for postpaid and prepaid users.
Postpaid users
The balance can be any value:
< 0 the user owes you money for your services. He will get an invoice at the end of the
month, and when he pays that invoice, his balance will increase.
> 0 the user has overpaid you (you owe the user).
== 0 nobody owes anything to anyone (this is usual when the user is new or has just
paid his invoice and has not yet made further calls or used other services).
> 0 the user can make calls and use other services until he reaches credit, e.g. if his
credit = 10 USD, he can make calls (and use other services) to a total amount of 10 USD.
His balance starts at 0 and goes down to -10 USD. When the balance reaches -10 USD, the
user will not be able to make any more calls.
== - the user can make unlimited calls and use any service without restriction. All the
charges will be included in the invoice.
Kolmisoft 2006-2013
68
Prepaid users
The balance for prepaid users should ALWAYS be more than zero. Otherwise, the prepaid user
will be unable to dial-out.
Credit for prepaid users is ALWAYS zero.
Note: balance and credit are set for users, not devices. For example, if a user has several devices
and his balance/credit does not allow him to make any more calls, he will be unable to use any of
his devices.
Local Calls
Description
A Local Call is a call made when a device which is connected directly to the system dials the
extension of another device connected directly to the system.
Kolmisoft 2006-2013
69
Billing
MOR does not bill Local Calls.
MOR does not serve local calls when users are using extensions, so no reports are available to
see such calls.
If one user dials another user using DID, then it is possible to see reports about such calls.
The same applies to billing local calls. If one extension dials another using DID, then it is possible
to bill such a call.
Local Calls are billed using DID Rates, not Tariffs.
See also
Kolmisoft 2006-2013
70
Prepaid Logic
Explanation
Prepaid Logic applies only to Prepaid users.
In /etc/asterisk/mor.conf value, frozen_time describes the maximum time for calls by prepaid
users.
When a user makes a call, his balance is frozen by the amount which is necessary to make the
maximum length of the call (frozen_time).
If the user talks for less time, his part of the balance is unfrozen and the correct amount is
deducted.
If the user talks for a time which is equal to frozen_time, then his call ends automatically after the
frozen_time minutes are up.
Example
/etc/asterisk/mor.conf frozen_time = 3
A call minute to Lithuania MOB costs 0.2 EUR/min.
A prepaid user has 8 EUR in his balance.
When the user makes his first call to Lithuania MOB:
When the user makes a second call to Lithuania MOB (the first call is in progress):
MOR freezes the remaining 2 EUR from the user's unfrozen balance.
Now the user has 8 EUR frozen balance and 0 left as unfrozen.
The call limit for this call is 10 min (2 EUR / 0.2 EUR/min).
Kolmisoft 2006-2013
71
When the user makes a third call to Lithuania MOB (the first and second calls are in progress):
The call is dropped because there is no free balance to cover the call.
When the user hangs up his first call, let's say after 12 minutes:
If the user hangs up his second call, say with a length of 9 minutes and there is no fourth call, we
have this situation:
If the user talks for 10 minutes in the second call, this call is automatically ended by the system.
This logic prevents any loss to the system owner. It applies stricter rules, but this pays off in the
long run.
Special case
When only one simultaneous call is allowed for the device and/or user (Call Limit = 1), then
frozen_balance is not used.
Example #1: If User/Device is limited to only one call at a time, he can use all his remaining
balance for the call (if the user is prepaid).
Example #2: Call will last till balance runs out.
NOTE: Two hours is the hardcoded call limit for all calls. Even if the balance allows longer calls
than two hours, the call will still be limited to two hours.
If the user has Call Limit not 1, but his one device (D1) has Call Limit == 1 and another device
(D2) Call Limit not 1, then device D1 will be able to make 1 simm. call two hours in duration, and
ONLY if the balance is sufficient to cover for frozen_time. Device D2 calls will be limited to
frozen_time.
Kolmisoft 2006-2013
72
Calling Card calls are always limited to one call - that is, a calling card can make only one call (for
whole available balance) at a time.
Questions
Q. What would happen if a user has a balance lower than the cost of a "maximum duration" call?
A. The user will be allowed to talk only for the time that is covered by his balance. Example:
maximum duration = 2 hours. If a user has enough balance for one hour, his call will be limited to
one hour. After one hour, his call will end (the system will terminate it) and you will not take any
loss.
See also
Hangupcause Codes
MOR authorize: Balance too low for more simultaneous calls!
Authentication
There are two types of authentication in MOR: IP authentication, and using login and password.
IP authentication means accepting calls from a given IP automatically, without requesting any
additional login data.
To use login and password authentication, the sender needs to register his phone or pbx to MOR
before sending calls, otherwise MOR will reject them.
Note: IP and login/password authentication cannot work together for the same device or
provider.
Kolmisoft 2006-2013
73
IP Authentication
This example shows how to configure device to use IP Authentication. Important parts are
marked in RED:
Kolmisoft 2006-2013
74
See also
Configuration
mor.conf
This file is in /etc/asterisk/ and describes some values for the app_mor.so application, which is
the main MOR core working in the Asterisk environment.
hostname, dbname, user, password, port, sock All these values describe connections
to the database.
Kolmisoft 2006-2013
75
min_frozen Minimum credit left to allow simultaneous calls. If the user's balance is
lower, he will not be able to make simultaneous calls (default 10); Not used starting from
MOR 0.7.
frozen_time How much balance to be frozen in terms of minutes if the user is prepaid
(default 30). If the user makes several simultaneous calls and is prepaid, we need to
"freeze some amount to be safe. A more detailed explanation is in Prepaid Logic.
show_notice, show_warning, show_error Sets debug level for the app_mor.so
application in Asterisk CLI.
zap_change Change ZAP into something else in Asterisk to permit the use of some
custom-made channels based on Zaptel.
server_id Unique number for server identification.
active_calls Tells app_mor.so to update info to DB related to calls currently on the
system.
dial_out_settings Global settings for Dial() command in Asterisk (rTt or similar).
serial Serial key for activating app_mor.so.
use_lcr_partials - Should MOR be able to use LCR by destinations? Default 1.
global_call_timeout - Global timeout for calls in seconds, default 7200 seconds (2h).
check_banned_clis - Should MOR check for banned CLIs? Default 1, Enables/Disables
ANI/CLI ban system (available from MOR 8).
use_flat_rates - Should MOR use Flat-Rates, default 1.
use_speed_dials - Should Speed Dials be enabled.
server_ip - external server IP, default 127.0.0.1 (Used in P-Asserted-Identity).
play_hgc_audio - Should we play audio with error message when call fails? (default 0 if
not set).
o If it is equal to 1, then sound files will be played for error codes 200 and higher
o If it is equal to 2, then sound files will be played for ALL error codes (sound files for
these error codes are not included into MOR)
clean_destination - MOR cleans destination and leaves only numeric values. Example, if
destination is entered as 1234.56789, only 1234 is left after cleaning. Default 1
pass_pai - When PAI comes from Caller should we pass it to Callee automatically? default
no (0)
record_not_answered_calls - save audio to the file while the channel is not answered (not
bridged), default 0 (by default records only answered calls)
hgcX = code, sets ISDN code for MOR HGC, where X >= 200 and code - some integer
value, from ISDN codes, example: hgc203 = 34 sets ISDN code 34 for MOR HGC 203. If no
values are set - default ones will be used.
log_only_last_cdr - Default 0. If 1, then Core logs only last CDR for the Call, e.g. it does
not log failed attempts to use first providers in the LCR until call goes over the last one.
E.g. only one CDR is logged for the call.
In order to activate changes made to this file, you need to restart Asterisk or reload app_mor.so
Kolmisoft 2006-2013
76
Reload app_mor.so
1. Login to Asterisk CLI
2. Make sure there are no active calls using command: show channels. Wait till they end or
kill them using soft hangup command.
3. Issue: module unload app_mor.so
4. Then: module load app_mor.so
See also
Global
SETTINGS > Setup > Settings > Global
Kolmisoft 2006-2013
77
Registration
SETTINGS > Setup > Settings > Registration
See also
Default user
Invoices
SETTINGS > Setup > Settings > Invoices
Invoice configuration is divided into Prepaid and Postpaid.
Settings
Kolmisoft 2006-2013
78
Details
Address format changes field positioning in the invoice for the address.
Address line 1-4 address info.
Bank details line 1-5 bank details info.
Invoice balance line - line for balance (e.g. "Your current balance is")
Invoice to pay Line
End title a title for the end of your invoice.
Additional
Show additional details on separate page - enables additional custom page at the end
of the invoice.
Additional details - the information to be displayed in a custom page at the end of the
invoice.
WEB Callback
SETTINGS > Setup > Settings > WEB Callback
Kolmisoft 2006-2013
79
Emails
SETTINGS > Setup > Settings > Emails
Sending enabled if this is checked, you will be able to use Mass Mailing and the system
will send emails upon user registration.
SMTP server hostname of the server.
Port - port of SMTP server.
Login username to your SMTP server.
Password password to your SMTP server.
Batch size value for Mass Mailing, oe how many emails to send at once.
From - email address to put into From: field in email.
Test email sending - save settings and press this to test email sending. Do not forget to
save settings first!
P.S. Remember to set admin's e-mail in admin's personal settings. Without this test
email sending will not work!
See also
Mass Emails
Email variables
Various
SETTINGS > Setup > Settings > Various
Days for DID to close - how long to keep DID closed before making it free.
Agreement number length - number length in digits.
Change Zap - Sometimes this is used to change "Zap" to something else in GUI, e.g. to
"PSTN", mainly because not everybody knows what Zap stands for. PSTN is more
common.
Device PIN length - length for automatically generated PIN codes for devices.
Device range MIN - from which extension automatic extension assigning starts.
Device range MAX - till which extension automatic extension assigning goes.
o For example, from this interval: [Device range MIN, Device range MAX] MOR will
select extensions for newly created Devices.
Kolmisoft 2006-2013
80
Tax
SETTINGS > Setup > Settings > Tax
Settings are explained in Multi-Tax system
Google Maps
SETTINGS -> Setup -> Settings -> Google Maps
Fullscreen - should we show Google Maps in full-screen (for example, remove the menu
from the template)?
Reload Time - how often to refresh in seconds
Width - width for the GMaps window in pixels
Height - height for the GMaps window in pixels
Key - GMaps key.
o Instructions on how to get it here.
o More about Google Maps integration.
Backups
SETTINGS > Setup > Settings > Backups
Configuration is explained here: Backup system
Kolmisoft 2006-2013
81
API
SETTINGS > Setup > Settings > API
Functionality
SETTINGS > Setup > Settings > Functionality
FAX
CSV
CSV Column Separator - how columns are separated in imported/exported CSV files.
CSV Decimal Separator - how decimal parts in numbers are separated in
imported/exported CSV files.
Archive CSV file when size reaches - if CSV file reaches a certain size, the system will
archive it to save time to download it (0 means to archive always)
Active Calls
How many maximum Active Calls to show in GUI - how many Active Calls to show in
GUI
Active Calls refresh interval - Active Calls refresh interval in seconds
Kolmisoft 2006-2013
82
Show Active Calls for Users - tick if you want to allow users to see Active Calls
Show Servers in Active Calls
Tariffs/Rates
Show rates for users - tick if you want to allow users to see rates
Show rates without Tax - tick if you want to see rates without TAX
Show Advanced Rates for users - tick if you want to allow users to see Advanced Rates
Privacy
SETTINGS > Setup > Settings > Privacy
Settings are explained here: Privacy to hide Destination ends
Kolmisoft 2006-2013
83
Visual
SETTINGS > Setup > Settings > Visual
Items per page - the number of items to display per one page
Default date format - System default time format
Number digits - how many digits to display after a comma
Hide Quick Stats - hide Quick stats from start page
Hide device passwords for users - do not display device passwords for users
Hide HELP banner - hide HELP banner in GUI
Hide "I want to" help links
Hide "Manual" link - hides "Manual" link
Show logo on first page - unselect to hide logo on the start page
Show Full Source (CallerID Name and Number)
Hide payment options for postpaid users
Show advanced Device settings
Hide non-completed payments for user - hides non-completed payments (the ones
which are started in MOR, but are not completed in a payment gateway website)
Show only main page - this is a very advanced feature for those who want to hide
default MOR menu tree on the left so that they could build their own menu using
advanced techniques without modifying MOR GUI sources.
Hide Recordings for all users - hides recordings for all system users from menu and
device settings.
Show only main page - this is a very advanced feature for those who want to hide
default MOR menu tree on the left so that they could build their own menu using
advanced techniques without modifying MOR GUI sources.
Hide Recordings for all users - hides recordings for all system users from menu and
device settings.
ReCAPTCHA
A CAPTCHA [http://recaptcha.net/captcha.html] is a program that
can tell whether its user is a human or a computer. You've probably
seen them colorful images with distorted text at the bottom of
Web registration forms. CAPTCHAs are used by many websites to prevent abuse from "bots," or
automated programs usually written to generate spam. No computer program can read distorted
text as well as humans can, so bots cannot navigate sites protected by CAPTCHAs.
Kolmisoft 2006-2013
84
Implementation in MOR
reCAPTCHA is disabled by default in MOR.
To enable it, go to SETTINGS > Setup > Settings > Registration.
Here
mark
reCAPTCHA
enable
and
press
[https://admin.recaptcha.net/accounts/signup/?next=]
on
Get
reCAPTCHA
keys
Here enter your domain name, or your IP if you do not have a domain - for example:
http://22.33.44.55 (put your IP here! Do not leave support.kolmisoft.com or 22.33.44.55 <- these
are just examples!)
Kolmisoft 2006-2013
85
Kolmisoft 2006-2013
86
Kolmisoft 2006-2013
87
Now, on the registration page, the user should enter valid words to complete registration.
And in the registration page, the user will see captcha:
Kolmisoft 2006-2013
88
Payments configuration
Where can I find Payments configuration menu?
You can find Payments configuration menu by navigating to:
SETTINGS -> Setup -> Settings -> Payments:
Vouchers
Kolmisoft 2006-2013
89
PayPal
Kolmisoft 2006-2013
90
WebMoney
Kolmisoft 2006-2013
91
LinkPoint
Enabled yes or no
Test testing mode
Allow HTTP requests yes or no
LinkPoint StoreID enter LinkPoint StoreID
LinkPoint Currency select currency
Default Amount - amount to show for customer when he tries to enter payment. User can
change this amount.
Min. Amount - the minimum amount a user can send you.
Kolmisoft 2006-2013
92
Cyberplat
Kolmisoft 2006-2013
93
Ouroboros
Kolmisoft 2006-2013
94
Kolmisoft 2006-2013
95
Kolmisoft 2006-2013
96
Default user
What is Default User settings?
These are the default settings which are applied to all new users.
For more details about available options in default user settings please refer to user details.
Kolmisoft 2006-2013
97
Accountant permissions
Description
By default Accountants have only read-only rights.
It is possible to allow them to make some changes to the system by changing their permissions.
Accountants belong to some Accountant Groups with different permissions.
This makes it possible to create separate Accountant types, such as:
Accountant Groups
SETTINGS -> Setup -> Settings -> Accountant permissions
Create groups here:
Kolmisoft 2006-2013
98
Create permissions:
Kolmisoft 2006-2013
99
Logo change
What is a LOGO?
LOGO (shortcut of "logotype") is a picture that represents your company. For more information
see logotype.
Kolmisoft 2006-2013
100
You can do this by clicking Choose file, navigating to the file in your operating system and
pressing Upload logo.
See also
Currencies
SETTINGS -> Setup -> Settings -> Currencies
Here is a list of supported currencies.
MOR operates in one and only one currency.
Default Currency
It is necessary to decide in which currency the software will operate and set such currency as the
default before starting to work with the software.
That means that all operations inside MOR will be done in this default currency.
Kolmisoft 2006-2013
101
You can fin a video which demonstrates how to change the default currency here
[http://wiki.kolmisoft.com/index.php/Currencies]
Currencies window
In the Currencies window, we see a list of currencies.
The first one is the default and the most important currency.
Exchange rate is equal to Default Currency DIVIDED BY some other currency, e.g. EUR
Exchange rate when Default Currency is USD is equal (in 2009-03-24) 0.7351, e.g.
USD/EUR.
Last Update is for informational purposes.
Active? - shows if this Currency is used in GUI (to create Tariffs, Payments, view Stats, etc).
Update? - if checked, this currency (its exchange rate) will be updated from
finances.yahoo.com at midnight.
Yahoo - update this currency (its exchange rate) from finances.yahoo.com right now.
Edit - this option is accessible when Update? is OFF. You can then enter Exchange Rate
manually for this currency.
Update currencies from web - updates all currencies marked as to be updated from the
web.
Add/Remove Currency
There is a main set of currencies that cannot be removed from MOR.
You can add own currency - just make sure it is not in the list already.
To add a currency, fill data at the bottom of the Currencies table and click the Add icon.
For a newly added currency, you will need to set the Exchange Rate manually. Updating from
Yahoo is not possible.
A manually added currency can be deleted, that is, removed from MOR.
Kolmisoft 2006-2013
102
PYG Paraguayan-Guarani
EUR Euro
Kolmisoft 2006-2013
103
Translations
If you want to change the translation of the MOR GUI, you can click on the selected flag in the
upper right corner of the window.
In order to manage Translations of the MOR, you should go to SETTINGS > Setup > Settings
-> Translations.
Here you will see a window with all the available translations.
In the first column, you can Drag & Drop a translation to its new place. This column is dedicated
to managing the order of translations.
The second column is for activating/deactivating translations. Simply click on the desired
translation to activate/deactivate it. When disabled, it is grayed out.
If you want to see changes instantly, click the icon at the bottom. The page will be reloaded and
you will not need to logout/login to see the changed translation order in the upper right corner
of your window, where translations are represented as flags.
The first translation is the DEFAULT translation. If you want to change the default translation,
Drag&Drop the other translation to the very top of the translations list.
The default translation is the translation that is active when the user comes to the page for the
first time.
You can find a video which shows you how to change the default translation here
[http://wiki.kolmisoft.com/index.php/Translations]
Language trick
Also, there is a little trick with language translations. Sometimes, such situation can happen
(example for admin user) when you need to check something in the page with another language,
which you removed from language bar on the top of the page. It would be a "long" way, while
enabling the language, check what you need and disable it back.
To avoid such or relative situation user can use ?lang= annex which can be added to the link.
This is also the way to show registration page in preferred language when you are
redirecting user to registration page from some other external website.
Kolmisoft 2006-2013
104
Example
User is editing Provider Edit and the link is http://SER.VER.I.P/billing/providers/edit/12, he can
add ?lang=ru (http://SER.VER.I.P/billing/providers/edit/12?lang=ru) and the page will be
translated to Russian language immediately. This trick can be done with every language MOR
system supports. Instead of "ru" just add code of language you need. For English - en, for French
- fr and etc.
See also
Kolmisoft 2006-2013
105
See also
GUI configuration
More info about date formats on Wikipedia
Kolmisoft 2006-2013
106
Voicemail
Description
Voicemail (or voice mail, voice-mail, vmail or VMS, sometimes called messagebank) is a
centralized system of managing telephone messages for a large group of people. The term is also
Kolmisoft 2006-2013
107
used more broadly, to denote any system of conveying voice messages, including the answering
machine. [http://en.wikipedia.org/wiki/Voicemail]
Voicemail is automatically sent to a user's email if the email address is specified in the device
details.
An audio recording in WAV format is attached to the email.
One minute of audio takes approx. 100 Kb.
Configuration
This section can be found in SETTINGS > Billing > DIDs > PBX Functions > VoiceMail:
Kolmisoft 2006-2013
108
VoiceMail Extension (local) - describes which local extensions a local user can dial to
retrieve his voicemail (the system will ask him to enter his voicemail password, which can
be set in the device's details).
If you want to setup VoiceMail (VM) on a different server, then the following settings are
important:
VoiceMail Server active - turns VM server on/off. When on, all VM requests will go to
distant VM server; when off, VM will be handled locally on Asterisk.
VoiceMail Server connection/device - describes connection to VM server.
VoiceMail Retrieve Extension (local) - which extension to dial on a distant VM server to
retrieve voicemail for an extension.
Example:
Let's say we have our server on IP 23.45.67.89 connected with SIP to our Asterisk.
We create a separate user/device (vm_device) to describe this connection. Device's type is
SIP, IP = 23.45.67.89; set other settings also (codecs/etc).
VoiceMail Retrieve Extension (local) = 999.
Kolmisoft 2006-2013
109
This means that the server on 23.45.67.89 will receive a call to extension 201. The server SHOULD
BE configured so that it will process VM correctly when it receives such a call.
Again, the distant server should know how to process such a request.
Let's say we have a distant VM server based on Asterisk.
So in our example its configuration in /etc/asterisk/extensions.conf should look like this:
[incoming]
# to retrieve VM
exten => _999#.,1,VoiceMailMain(${EXTEN:4})
exten => _999#.,2,Hangup
# to record VM
exten => _X.,1,VoiceMail(${EXTEN})
exten => _X.,2,Hangup
Kolmisoft 2006-2013
110
FROM string
To change the Voicemail email sending FROM field, edit the /etc/asterisk/voicemail.conf file line:
;fromstring=The Asterisk PBX
to:
fromstring=SOME OTHER LINE
serveremail
This setting can be used to identify the source of a voicemail notification message.
;serveremail=asterisk
to:
serveremail=SOME OTHER LINE
OR:
;serveremail=asterisk@linux-support.net
to
serveremail=YOUR COMPANY@YOUR COMPANY.net
Kolmisoft 2006-2013
111
See also
Kolmisoft 2006-2013
112
Gateway - determines whether the server acts as a Gateway for SIP Proxy. This option is
available only when you have Carrier Class Edition. It means that the SIP Proxy will use this
server to send calls through.
Active - determines whether the server is active, e.g. whether MOR should 'talk' to this
server in order to update provider/device information. Disabling the server does not disable
its use, only the updating of changes from GUI.
URL - a special URL for some third-party software, or sometimes for server stats.
AMI Username/AMI Secret - settings to connect to a server over AMI. These are the
most important settings in this window! They should match the values in the
server /etc/asterisk/manager.conf
SIP Port - the port Asterisk uses to listen to SIP; used in Carrier Class Edition.
Kolmisoft 2006-2013
113
NOTE! If you want to connect another Asterisk server which will not bill calls, then
configure it as Device/Trunk.
VERY IMPORTANT! IF YOU HAVE ONLY ONE ASTERISK SERVER OR DO NOT UNDERSTAND
WHAT THESE SETTINGS ARE FOR - DO NOT CHANGE THEM AT ALL!
Providers
Where to find providers of a specific Asterisk server?
1. Go to Asterisk Severs
2. To get to providers list of a specific Asterisk server press the marked icon:
This
window
Kolmisoft 2006-2013
shows
accessible
from this
Server.
114
Call Flows
Lets say we have:
Provider provA and Device devA configured on Asterisk server ast1;
Provider provB and Device devB configured on Asterisk server ast2;
Provider provC configured on both Asterisk servers (ast1 and ast2).
Possible call flows are:
devA makes call through provA (user > ast1 > provA);
devB makes call through provB (user > ast2 > provider);
devA makes call through provB (user > ast1 > ast2 > provB);
devB makes call through provA (user > ast2 > ast1 > provA);
devA makes call through provC (user > ast1 > provC);
devB makes call through provC (user > ast2 > provC).
Server Version/Uptime
These values are updated automatically by MOR. Not possible to change them manually.
Additional Notes
Kolmisoft 2006-2013
115
Email settings
Please check Configuration from GUI for information how to setup email sending.
Emails
What are Emails?
This function is used to send emails to your clients. It can be used to send commercials, notes
about service unavailability or anything else maybe Christmas greetings!
Here you see emails which are templates for emails about various system messages. The 'test'
email is created for demo purposes for mass-mailing.
Kolmisoft 2006-2013
116
Next is how to
Edit email. Creating email and editing it are very similar processes. Here is how
to edit:
The Name and Subject fields are simple. The most important field is Message text. Here you enter
message for the user. Also, you can use the following variables here:
<%= server_ip %> - Server IP where your users should register their SIP/IAX2 devices.
<%= device_type %> - Used on user registration - shows the device type the user has selected.
<%= device_username %> - Used on user registration - shows the device's username.
<%= device_password %> - Used on user registration - shows device's password.
<%= login_url %> - GUI login url.
<%= login_username %> - User's username to login to GUI.
<%= login_password %> - User's password to login to GUI.
<%= username %> - same as login_username.
<%= first_name %> - First name of the user.
<%= last_name %> - Last name of the user.
<%= full_name %> - First name and last name of the user.
Click on Change to save any of these variables.
Full list of MOR supported email variables can be found in Email variables page.
Kolmisoft 2006-2013
117
In the main window (SETTINGS > Setup > Emails), you can press on
recipients to send this email:
Additional Notes
Email variables
Every email
<%= server_ip %> - server IP where your users should register their SIP/IAX2 devices.
<%= device_type %> - shows the user's primary device type. (The device is set as the
primary device after user registration).
<%= device_username %> - shows the user's primary device username. (The device is
set as the primary device after user registration).
<%= device_password %> - shows the user's primary device password. (The device is set
as the primary device after user registration).
<%= login_url %> - GUI login url.
<%= login_username %> - user's username to login to GUI.
<%= username %> - same as login_username.
<%= first_name %> - first name of the user.
<%= last_name %> - last name of the user.
<%= full_name %> - first name and last name of the user.
<%= balance %> - user's balance.
Kolmisoft 2006-2013
118
After registration
Kolmisoft 2006-2013
119
Example
This template:
Hello, <%=full_name%>
Your balance in MOR has fallen below <%= nice_warning_email_balance %>
currency %> and now is <%= nice_balance %> <%= currency %>.
Please login to <%= login_url %> and replenish it.
Yours sincerely,
KOLMISOFT
Illegal usage
You will get an error when you try to use non-existent variables.
Also, you cannot use something like this: <%= "www.kolmisoft.com" %>
See also
Email Configuration
Mass Emails
Kolmisoft 2006-2013
120
<%=
Number Manipulation
Localization
Description
Localization transforms received number to E.164 format number.
The main idea of localization is: No matter how the user dials the number (destination), when
localized it should be in E.164 format.
Localization has nothing in common with numbers you send to providers. It operates with
numbers received from the caller.
Depends on the location of the user (or his device), it is often important to allow users to dial
differently formatted numbers to reach a destination. For this purpose, each device has a field
Location, which describes the physical location of the device and provides rules for how th3
device can dial a destination. In other words each device IS in (or belongs to) some Location
where specific dialing rules apply.
Location describes where a caller IS - not where he is calling to!
By default, a device has the location Global. Global rules apply to ALL devices. If a user belongs to
some other location and his dialed destination has some rule for his destination, then global rules
are not activated they have a lower priority in location rules.
You can access Localization settings in SETTINGS > Billing > Functions > Localization.
In the main window you can see available Locations:
At first there is only the Global location. You can't delete this location. It's the default for all
devices.
Kolmisoft 2006-2013
121
You can add a new Location by entering this Location's name in the field at the bottom of the
table:
and clicking
Kolmisoft 2006-2013
122
Max Len the maximum length of number to which the rule is being applied.
Change User Tariff to this Tariff - which Tariff to apply when this rule is applied. It is
used in special cases, for example here. Leave this empty in most cases.
Change User LCR to this LCR - which LCR to apply when this rule is applied. It is used in
special cases, example here. Leave this empty in most cases.
Route to DID allows to route calls to DID according to localization rules.
Change Call's owner - changes the owner of the call depending on the incoming tech
prefix.
When you have entered all the necessary values (Cut or Add can be left empty), click
For example:
icon or
Kolmisoft 2006-2013
123
click on
Here all Devices with a selected location are listed. Choose other locations for the selected Device
and click on icon to activate this change. The device will be assigned to the selected Location.
NOTE: It's possible to change a device's Location in the Device settings (SETTINGS > Users >
Devices).
Now our device belongs to Location "Lithuania Vilnius". And if we dial a mobile number in the
Lithuanian format, for example 863042438, MOR cuts 86 (leaving 3042438) and adds 3706. The
result is: 37063042438, which is E.164 compatible and can be billed correctly by MOR.
NOTE: make sure that after localization your number is always E.164 compatible. Call Tracing can
help you do this.
NOTE: you cannot delete rule if it is assigned to device.
Kolmisoft 2006-2013
124
Special cases
Cut everything till Hash
With rule Cut: *# it is possible to cut everything till # (# included) in the dialed destination:
For example:
Please note that if Dialed number will be #37063042439, call will not go through, because MOR
rejects
destinations
with
#
in
front
of
it.
This function can be used in fancy MNP (Mobile Number Portability) schemes and perhaps
elsewhere.
NOTE: The Add value still can be used to add any value after Cut is used on the Destination.
Reseller localizations
Starting from MOR 10 reseller is not using admin's global localization rules. Instead now he can
copy the rules and modify them according to his needs. All new created resellers have those
global rules copied automatically from admin. This feature can be disabled by admin.
Kolmisoft 2006-2013
125
IMPORTANT: Fields "Change User Tariff to this Tariff" and "Change User LCR to this LCR" will not
be copied.
Default location does not act as Global location on reseller's account. Only the rules set in the
device's settings will be applied.
Route to DID
Admin and Reseller PRO users are can route calls to a DID according to localization rules.
Start typing the DID number and you will see all the DIDs that start with that number. If the DID
you need is not there, enter more digits - only first 20 DIDs starting with that number is shown
Open the localization menu to find the "Change Call's Owner" field.
Enter the incoming prefix that needs to be cut in the "Cut" section.
Kolmisoft 2006-2013
126
Afterwards, choose a user from the drop down list and the device to which the call should
be assigned:
Provider Rules
Provider Rules transforms an E.164-compatible number to any number format the Provider
requires.
Description
Different providers expect different number formats from you. You can send them whatever they
want using Provider Rules.
Provider Rules can be reached by clicking the
We see a similar window as the one in Localization. The rules to manage Provider Rules are
identical to those for Localization management, which are covered in number manipulation page.
Kolmisoft 2006-2013
127
Let's say our provider expects to get a number with the technical prefix 89765#. We can do this in
following way:
That's it very simple. Now every number that is sent to this provider will be transformed by
adding our created tech. prefix.
For example, if 37063042438 should be sent to this provider, this rule will be activated and the
number 89765#37063042438 will be sent to provider.
REMINDER: You can check whether Provider Rules are applied correctly in Call Tracing
Special cases
Cut everything till Hash
With rule Cut: *# it is possible to cut everything till # (# included) in the dialed destination:
Kolmisoft 2006-2013
128
For example:
This function can be used in fancy MNP (Mobile Number Portability) schemes and perhaps
elsewhere.
NOTE: Add value still can be used to add any value after Cut is used on the Destination.
In this example, all calls going to this Provider will have CallerID = 9999999999
Kolmisoft 2006-2013
129
That way, the same number that comes to MOR also leaves MOR:
Replacement
If you want to replace one prefix with another you have to Cut the original prefix and Add' the
new one. For example:
If the number is 306936525113 and you want to replace 30 with 6516 this is how the rule should
look:
Only one rule can be applied, the one that fits the number the best.
Kolmisoft 2006-2013
130
Special Case
CallerID overwrite for Provider
Sometimes Providers only accept calls with CallerID.
It is possible to overwrite any CallerID before sending a call to such a Provider.
In Provider
Rules (for
this
Provider)
set
up
the
Rule:
In this example, all calls going to this Provider will have CallerID = 9999999999
Kolmisoft 2006-2013
131
To do this, each Provider also has a Location. This means that Location rules can be created and
applied for the Provider. You can do this in the Provider settings window:
For example, you have DID 37052058393 and the provider sends you 0037052058393. You need
to strip this international prefix with the following rule:
Kolmisoft 2006-2013
132
See also
Number Manipulation
o Localization
o Provider Rules
o Number Manipulation Examples
Kolmisoft 2006-2013
133
Examples
Example 1 -
Italy
The numbers that clients dial are 10 digits in length. For more info about the Italian
number format, see: http://en.wikipedia.org/wiki/%2B39
'+' is not used. It should be changed to '00'.
Example 2 -
USA/
Canada
Localization rules:
Kolmisoft 2006-2013
134
Now the call should be sent to the provider which accepts numbers in following format:
Example 3
Example 4
Brasil
Spain
Kolmisoft 2006-2013
135
NOTE: Such a rule will route calls to Empty LCR, where they will be dropped.
If you want to allow some short numbers to pass, you need to create more granular rules to
handle your situation.
This example is very strict and is only for demo purposes to illustrate the principle.
Make sure you understand Number Manipulation to proceed with rules for your case.
See also
Number Manipulation
o Localization
o Provider Rules
o DID handling by Localization
o Number Manipulation Examples
Kolmisoft 2006-2013
136
You can find more info on how to make rules in Number Manipulation.
Example
Lets say we have a provider that provides three quality routes: bad-cheap/normal/goodexpensive.
The bad-cheap route is selected when dialing an E.164 number with prefix 00.
The normal route is dialed when dialing the normal E.164 number.
The good-expensive route is selected when dialing the E.164 number with the prefix 000.
Kolmisoft 2006-2013
137
That's it.
Now when the user dials E.164 numbers, he will be using the normal route; when 00, the bad
route; and when 000, the good route.
Kolmisoft 2006-2013
138
Users
User Details
Where to find user details?
1. Navigate to users list
SETTINGS > Users
Kolmisoft 2006-2013
139
3.
Kolmisoft 2006-2013
140
General
Warning balance
Description
This function allows a number of actions to be taken when a user's balance drops lower than the
set value.
You can edit Warning Balance in User Details.
Kolmisoft 2006-2013
141
Additionally, you can play an audio message whenever the user makes a call.
Check Play before every call and select the audio file to play.
Use this with caution - not many users will like this!
User Blocking
Definition
When a User is blocked, he is unable to make outgoing calls.
NOTE: the User is still able to receive calls. Unassign DID for him to keep him from receiving
incoming calls.
Direct blocking
Mark User Blocked or Not Blocked to instantly block/unblock him.
Kolmisoft 2006-2013
142
Unconditional blocking
Conditional blocking
Under this option, select day of the month when to perform check.
The check is done at night at 00:00:00.
Kolmisoft 2006-2013
143
On the day the user is checked, the following questions are asked:
Is he POSTPAID ?
Is his BALANCE < 0 ?
Has he UNPAID INVOICES ?
See also
Monitoring Addon
Blocking
Various options for User Blocking.
Invoices
Kolmisoft 2006-2013
144
Generate Invoice - should we generate an invoice for this user when we choose to
generate invoices for a period?
Invoice, Detailed, By CallerID, By Destinations and PDF/CSV show various types of invoices
which should be sent to the user as an email attachment.
Show zero Calls - if the call price = 0, should such calls appear in the invoice or not?
Payments
Cyberplat - check this option if you want to allow the user to use this payment gateway.
Details
Self-explanatory.
Taxes
Here tax parameters are entered for the user.
The tax system is explained in Multi-tax system page.
Registration Address
Self-explanatory.
Recordings
This section is available when the Recordings Addon is installed in the system.
Kolmisoft 2006-2013
145
Hide Users
Why should I hide users?
As it is not allowed to delete users who have at least 1 call, after some time such 'non-active'
users accumulate and we need to do something about them to have a clear control panel.
For this reason, we just Hide them. They remain active - nothing changes for them - except that
we do not see them in the GUI.
Kolmisoft 2006-2013
146
Additional Notes
The same icon can be found in user's details. It works the same way.
Also you can hide user by selecting an option Hidden in user's details in General section
See also
Users
Create a User and a Device
o Why MOR does not allow to delete users?
o User Details
Block User
o (SECURITY) How to change Admin username and password
Providers
o Hide a Provider
o
Kolmisoft 2006-2013
147
WHY?
The answer is simple - because it would ruin the billing.
P.S. Because of this reason you are also not allowed to delete providers and devices.
Simple example
Let's say we have 2 (TWO) users U1 and U2 and 1 (ONE) provider P1.
During the month, one user U1 dialed 20,000 calls and the other user U2 dialed 10,000.
For the sake of simplicity, 1 call = 1 EUR.
So user U1 should pay you 20,000 EUR and user U2 should pay you 10,000 EUR. Total 30,000
EUR.
You sell with 100% margin, so that way you have to pay 15,000 EUR to your provider P1 for the
calls.
And 15,000 EUR is your profit.
Imagine now what happens if you delete user U1 from the system with all his calls.
We have this situation:
During the month user U2 made calls worth 10,000 EUR and you see that you should pay
provider 50% of that = 5,000 EUR to your provider P1.
BUT!!!! Provider P1 sees that he sent 30,000 EUR worth of calls and not 10,000 as you say. And
these calls are worth 15,000 EUR.
So you will be at -10.000 EUR (MINUS 10.000 EUR) after one month!
Kolmisoft 2006-2013
148
What to do?
Hide users if you don't want to see them any more in your system. Note: currently it's not
possible to hide devices.
A description how to hide providers can be found in Hide Provider page
See also
Users
Devices
See also
Users
Kolmisoft 2006-2013
149
Kolmisoft 2006-2013
150
If the entered email matches with the one that already exists in the system - the password will be
sent.
Requirements
"Forgot password" functionality is visible only if:
1. Email settings are entered
2. Email sending is enabled
3. You have MOR 9 or newer
For more information about emails in MOR please read here:
http://wiki.kolmisoft.com/index.php/Configuration_from_GUI#Emails
"Forgot password" functionality can be used only if:
4. User has an email set in his user details
Kolmisoft 2006-2013
151
Kolmisoft 2006-2013
152
Select Enabled? as shown in the picture. Now you can set the minimum charge and select since
when the setting will be valid. If you can't see those fields it is possible that your chosen user is
prepaid. This feature is only available for postpaid users.
Specialties
If clients total billing is below the set charge he will have to pay the minimum amount
anyway
If clients total billing is above the set charge he will have to pay the whole amount
Minimum time period per which you can set Minimum contract billing is 1 month
Minimum contract billing starts to be valid only since the first day of the month. It means
if today is February 15 and you set Minimum charge for calls date current years February,
client will start to be billed for it since 1st of March anyway.
Can only be applied for postpaid users
Can only be applied for voice calls
An invoice includes the line with the difference between the minimum amount and the
total amount.
Tariffs
Directions and Destinations
About
Directions refers to countries, or perhaps to a satellite network. The term merely describes the
direction in which the call is routed.
Directions can be found in SETTINGS > Billing > Directions. You can see all Directions with
their details in the main window.
Destinations - these are more concrete concepts of the calls course. Let's say we are dialing
number 37068547771. From this number MOR knows that the Direction is Lithuania, but the
Destination is the mobile network Bite. Destinations are determined by Prefix. Each destination
has a unique Prefix. The Prefix from the example is 370685.
Kolmisoft 2006-2013
153
IMPORTANT NOTE: When adding new destinations, make sure you include them in some
Destination Group. Otherwise you will get corrupted invoices if the user uses a retail tariff.
NOTE: You can get a CSV file with all Destinations in the Tariffs window. It is suitable for
rate entering and importing back to MOR.
Destinations Groups
In order to make life easier and to manage prices for destinations, destinations are grouped.
With grouped destinations, one price applies for a group of destinations, rather than for
destinations separately. (A group can contain one destination also.)
Destinations groups are for users, not for providers, because providers need to have very exact
rates for each destination.
You can edit Destination Groups settings in SETTINGS > Billing > Directions > Groups.
NOTE: A destination can belong to only one group at a time.
HINT: If you want to split a Destination Group, remove all Destinations from it, delete the old
Destination Group, and create new ones. Then add the removed Destinations to the newly
created Destination groups.
Kolmisoft 2006-2013
154
Kolmisoft 2006-2013
155
2. In Localization Global Rule, add a rule for your prefix and set it to route to Empty LCR:
Now, when the user dials a number with this prefix (Destination), the call will be routed to the
empty LCR, which is to say it will be dropped.
(In this example we are blocking UK numbers starting with 44, change in your system
accordingly).
Bulk management
Starting from MOR 10 you can reassign multiple destinations to other direction by specifying a
regexp pattern:
1. Go to SETTINGS > Billing > Directions
2. Press Bulk management
Kolmisoft 2006-2013
156
3. Enter a prefix regexp which destinations should be reassigned, select a group to assign to and
specify type:
4. Press Reassign
5. Now MOR shows you which destinations are going to be reassigned:
6. If you want to proceed - press Reassign at the bottom of the window again and the
destinations will be reassigned.
Kolmisoft 2006-2013
157
will
match
numbers
3701xxxxxxxx,
3703xxxxxxxx
and
3709xxxxxxxx
Day setup
MOR lets you set different dates for different types of days. There are two types of days: work
days (WD) and free days (FD).
Saturday and Sunday are counted as Free days by default.
Mondays to Fridays are Work days.
National holidays and other days that do not meet the default settings should be set manually.
This can be done in SETTINGS > Billing > Tariffs > Day setup:
Kolmisoft 2006-2013
158
Rates:
Kolmisoft 2006-2013
159
Click on
delete a rate or
Edit it:
Here you can add a different End Time for different rates in a time period and change other
values that are simpler than Advanced Rates.
NOTE: if there are no rates for some destinations, the user will not be able to dial these
destinations using the provider to which the tariff is assigned. This is usual gotcha when call does
not go through always use Call Tracing if you have problems dialing-out!
Kolmisoft 2006-2013
160
New Rate
This way lets you add many rates for selected countries by first letter - for example, for all
Destinations starting with A:
Enter Rates and click the Update button to add the desired Rates.
Kolmisoft 2006-2013
161
Kolmisoft 2006-2013
162
Prefix
Price
Kolmisoft 2006-2013
163
Value Separator and Decimal Separator MUST be set correctly in SETTINGS -> Setup ->
Settings -> Functionality:
File and CSV separator settings should match. If they do not, you will get errors when trying to
import file.
Kolmisoft 2006-2013
Destinations CSV.
164
Description
It is very tedious work to add several thousand rates by hand, so you can import them from a
CSV file.
There are seven steps for importing rates from a CSV file:
1.
2.
3.
4.
5.
6.
7.
File upload
Column assignment
Column confirmation
Analysis
Creating destinations
Updating rates
Creating new rates
Import from CSV for the Tariff you want to import rates.
Then click on Browse and select CSV file with rates. Click Upload file:
Kolmisoft 2006-2013
165
Column assignment
The file is uploaded and the first five lines of the file are available to check:
Kolmisoft 2006-2013
166
This helps us in the next step, to assign CSV file's columns to MOR's variables. We have the
following window:
Here we must assign columns from the CSV file. Prefix and Rate are mandatory fields. All other
fields can be empty. Connection Fee, Increment and Min. Time have their defaults. If you wish,
you can enter values manually for them. Manually entered values have the highest priority.
If you omit them, then MOR inserts values from the CSV file. If there is no assigned column
for these fields, then default values will be added to database (DB).
There are a group of values under the name USA specifics. These are only for USA/Canada. Users
from these countries need to use these fields with their CSV files.
You can also import Ghost Percent with the rates. It works the same way as the Ghost minute
percent in the Calling Cards Groups: it is a value to trick the user into thinking he has more
minutes when he really has less.
Kolmisoft 2006-2013
167
In the following example, we select fields which match our CSV file. Also entered are some
manual values for Increment and Min.Time. We count time by 30s increments and minimum
time for the call is 60s, with these settings:
This way of selecting CSV rows and assigning them to MOR values lets us import various CSV file
formats.
Kolmisoft 2006-2013
168
Column confirmation
The next step is to review our selection and confirm that everything is correct. We can go Back or
forward to the next step:
Kolmisoft 2006-2013
169
Analysis
It will take some time to accomplish this step. MOR checks many things from DB and CSV files: it
compares rates, searches for duplicates, fixes small errors and so on. After the analysis is
completed, we get something like this:
The most interesting line is 9 bad destination(s). We click on the List to check them. In the new
window, we can see which destinations are bad and we can decide what to do with them. Is it
possible that there are no directions for them, MOR doesn't know to which country to assign this
destination, or maybe these destinations have duplicates in CSV file? You have to fix this if you
want to import the whole file. Here you can stop and fix your CSV file, or you can ignore these
errors and continue.
We continue the demo by clicking Proceed.
The following steps are separated to avoid excessive demands on processing power if a rate file
is huge. This keeps the browser from crashing and allows it to successfully import 160.000+
destinations from one CSV file (this has been tested).
Kolmisoft 2006-2013
170
Creating destinations
MOR creates new destinations here. These destinations are necessary for the rates, which will be
added in step 7. This window is just informative, no decisions here:
MOR creates only Destinations for prefixes which are not yet in MOR's DB and determines
whether it is possible to find out the Direction (Country) for these new prefixes (Destinations).
This may be done in two ways:
1. The system checks the available prefixes for the best match and selects found Direction as a
basis for the new prefix (Destination).
For example: if you try to import the rate for prefix 370630 and this prefix is unknown to MOR,
MOR checks the longest matching prefix - 3706 in this case - and finds out that it is Lithuania
MOB. So it creates a new Destination with Prefix 370630 in which the Direction will be Lithuania
and the subcode MOB (mobile network).
2. If Country code is available in the imported file, MOR assigns this Direction to the newly
created Destination.
For example: if again you try to import 370630 and it is unknown to MOR, but you have LTU in
same CSV line for Country Code field, MOR will create such a Destination with Direction =
Lithuania.
Updating rates
Here MOR updates rates with the values from CSV files. These rates already exist in DB. Just click
Proceed:
Kolmisoft 2006-2013
171
NOTES
Rate import is VERY CPU-intensive.
If there are a lot of rates, please be patient and let MOR finish its job. It may take some time to
count everything and come back to life.
At some point it may seem that browser is not responding. That is not the case it is just working
very hard, importing your very own rates from the CSV file.
If you get a timeout error, try to import the file in smaller pieces.
172
Wholesale Tariff
What is a Wholesale Tariff?
This tariff is a price list which you get from your provider, later you can transform this tariff into
retail or user wholesale tariffs. Without a transformation this tariff cannot be assigned to user.
Min Time
Min(imal) Time is the minimum time that will be billed if a call is answered.
For example:
10
10
...
10
10
10
10
11
11
Kolmisoft 2006-2013
173
Increment
An Increment is the amount of time in which a call is billed. It is counted in seconds.
For example, assume that:
Then:
If the increment is 1, then the call length will be counted as 15s and the call price will be
0.25 EUR (1/60*15). As the increment is 1, the call can be 1, 2, 3... in length. 15s is the exact
length of the call.
If the increment is 10, then the call length will be counted as 20s and the call price will be
0.333 EUR (1/60*20). As the increment is 10, the call can be 10, 20, 30... in length. 20s is
nearest to 15.
If the increment is 20, then the call length will be counted as 20s and the call price will be
0.333 EUR (1/60*20). As the increment is 20, the call can be 20, 40, 60... in length. 20s is
nearest to 15.
See also
Tariffs
Kolmisoft 2006-2013
174
Here you can enter Rate and Round by values for every rate. If you finished entering what you
want, click Update at the bottom of the page. All rates will be updated.
View shows you the Destinations which belongs to this particular group.
Click on
Here you can click on Split to Work Days and Free Days to split the rate into two parts - for Work
Days and Free Days.
Now we have control over different types of days: Work Days and Free Days. We can enter
different rates for these days.
We can also set different rates for different times in the day. For this, we need to create hour
intervals. To do so, select a time in the column End Time and click on .
In order to manage Rate, click on the Details icon
And here you should add/edit/delete Advanced rates as described in Advanced Rates.
Kolmisoft 2006-2013
175
Kolmisoft 2006-2013
176
Advanced Rates
Description
Advanced Rates are used ONLY for Retail Tariffs.
Please see video below where to find and edit advanced rates.
In order to manage rates for destinations more easily, destinations are grouped, so that one rate
applies for a group of destinations, not for one destination separately. (A Group can contain only
one destination if necessary.) Destinations groups are for users, not providers, because providers
need to have very exact rates for every destination.
Each group of destinations consists of several destinations described by prefixes. As an example,
let's take Albania MOB. Here we have three destinations described by prefixes: 35538, 35568 and
35569. Each of these destinations is Albania MOB. Usually users do not care which MOB network
they are calling, and for the less popular countries providers usually put one price on all
destinations in that direction. It's the same here: We can put one price on all these three
destinations grouped as "group Albania MOB".
Each rate for a destination group may have many rate details. This means: a destination group
may have one rate, but this rate has many rate details (sub-rates). Each rate detail describes one
interval of the call. If the first rate detail is RD1, the second is RD2, and so on, all calls can be
expressed as RD1 + RD2 + .. + RDn. The number is finite. The rate detail can be seen as the time
intervals for all call durations. The time interval could also be zero length. It is explained further
below.
Each rate detail consists of the following parts:
The type 'minute' describes an interval that lasts some time. This time is billed by rate and
rounded accordingly. An Interval starts at FROM and lasts for DURATION seconds. The type
'event' describes a zero-length interval, which we call EVENT. This might, for example, be a
connection fee. If the type is 'event', the rate detail has no DURATION (it's always zero) or
ROUND BY fields.
NOTE: The same rules apply to Custom Rates for users.
Kolmisoft 2006-2013
177
Examples
Example #1
The call should have 0.2 connection fee (regardless of the currency) and all other time must be
billed by 6-second intervals with a rate of 0.1 per minute. Such a rate should be described like
this:
FROM DURATION TYPE
ROUND BY RATE
event
0.2
minute 6
0.1
Example #2
The first 30 seconds of the call cost 0.1, the next time till 5 minutes is billed at rate 0.05 rounded
by 30 seconds, and the remaining time is billed by rate 0.02 and rounded by 1 second.
FROM DURATION TYPE
ROUND BY RATE
30
minute 30
0.2
31
300
minute 30
0.05
301
minute 1
0.01
ROUND BY RATE
event
0.1
30
minute 30
31
300
minute 30
0.05
301
minute 1
0.01
Kolmisoft 2006-2013
178
Example #3
The rate for the call is 0.01 per minute rounded by 1s. The maximum price for call is 0.1.
ROUND BY RATE
600
minute 1
0.01
601
minute 1
Example #4
The rate for the call is 0.01 per minute rounded by 1s. The first 15 seconds of the call are not
billed.
ROUND BY RATE
15
minute 1
16
minute 1
0.01
Kolmisoft 2006-2013
179
Additional Notes
Allow users to see advanced rates
See also
Tariffs
Destinations Groups
Custom Rates
Custom Rates are rates that differ from a default user's tariff.
For example: users A and B both have the tariff 'GOLD', but customer A has a rate to Russia of 0.5
and customer B has a tariff to Spain of 0.6. 'GOLD' rates for these destinations are 0.7 and 0.8. Put
new values for each customer in their Custom Rates and the new rates will be used instead of the
default tariff rates. This makes it possible to assign different rates for different customers, without
creating a new tariff for everyone.
Most of the time, customers are only interested in calling a few destinations. Nobody needs
complete A-Z destinations. With Custom Rates, it is possible to adjust rates to the relevant
destinations.
You can reach Custom Rates by clicking the yellow coins icon in the Users window.
From the drop-down list, select the Destination Group for which you want to create a Custom
Rate and click the green Plus Add icon.
NOTE: Custom Rates are available for users whose main Tariff type is Retail.
Kolmisoft 2006-2013
180
Tariff Transformation
Wholesale tariffs can be transformed to user retail tariffs. This can be done in the main tariffs
window by clicking on Make user retail tariff or Make wholesale Tariff (these links appear
when a tariff has at least one rate):
Enter the values you want to add to change from a wholesale tariff to a retail tariff. Let's say X is
the wholesale rate. There are three possible ways of making the change:
1. Enter value Y into the Add amount field. The retail rate will be X + Y.
2. Enter value Z into the Add percent field. The retail rate will be X + (X/100 * Z).
3. Enter value Y into the Add amount field AND Z into Add percent field. The retail rate will be
(X + Y) + ((X + Y) / 100 * Z).
NOTE: When performing this transformation, the largest value from the wholesale tariff is taken
for the Destination group in the retail tariff (by prefix). For a more detailed explanation, check
Make Retail Tariff from Wholesale Tariff explained.
HINT: This function can be used when importing a user retail tariff. First you create a fake
wholesale Tariff, then import Rates into it, and finally transform to the user retail Tariff with values
0/0.
See also
Kolmisoft 2006-2013
181
Inner mechanics
The wholesale tariff line will have these values:
connection_fee
min_time
increment_s
Kolmisoft 2006-2013
182
DURATION
TYPE
ROUND BY RATE
Comments
event
connection_fee
minute min_time
rate
connection_fee
min_time
min_time
increment_s
min_time
+1
-1
(means
minute increment_s rate
'infinity')
This record
created.
is
always
Kolmisoft 2006-2013
183
Devices
Kolmisoft 2006-2013
184
Each device can have many settings. The screenshot shows settings for IAX2 device. These
settings are similar to those for other device types as well.
There are several groups of settings: General, Authentication, CallerID, Network Related, Groups,
Voicemail, Codecs, Allowed Addresses, Advanced, Tell Options, Debug and Recordings.
Allowed addresses
You can enable multiple allowed addresses however this option should be turned on to be visible
in main device settings window. Go to SETTINGS -> Setup -> Settings -> Various tab and
choose Yes for Enable
"Allowed
addresses"
option
for
Devices:
Kolmisoft 2006-2013
185
Now
you
will
see
an
additional
section
in
Devices
edit
window:
General
Authentication
For dahdi devices:
Channel which channel (or channel group) to use on PRI/BRI/PSTN card. Channels and
groups should be configured in zapata.conf.
Kolmisoft 2006-2013
186
CallerID
A CallerID consists of two parts: Name and Number. The "Number" part is transferred by default
by all technologies (GSM, PSTN, SIP etc), but the "Name" part is transferred only by some. The
number you see on your mobile phone when someone is calling you is the "Number" part.
NOTE: if you leave these fields empty, the user can set the CallerID by himself. Usually it is not
advisable to allow the user do it on his own.
Number from DID - use the DID as the CallerID (only available when the device has
DIDs), this option just sets CallerID Number to be equal to DID. Next time you
will edit Device's settings, first option - Number will be checked.
Control by DIDs (CID from DIDs) only available when the device has DIDs.
This setting lets you control what a CID user can enter in his devices. CID numbers should be
from the set of the device's DIDs. They are mainly used when the user's PBX is connected over
Trunk and many DIDs are routed to this Trunk. Calls coming out from this PBX must have a
Kolmisoft 2006-2013
187
CallerID Number from the set of DIDs assigned to this Trunk (PBX). If "CID from DIDs" is checked,
the system checks whether the device's CID number is from DIDs assigned to this device. If no
DIDs are assigned, this value is ignored. In order for this setting to be active, CID Name/Number
fields must be empty to allow the user to enter any CID number he wants. If "CID from DIDs" is
checked and user enters any CID (not from his DIDs), the system will change his CID by his first
available DID (selected from database by lowest ID).
Control by CIDs - system checks incoming CallerID (Device's CallerID which is set on the
Device). If CallerID matches one of the Device's CIDs - then such CallerID will be allowed. If
it does not match - it will be changed to the selected CID.
1. system checks Destination and checks DIDs assigned to calling Device. Then it finds
'nearest' DID to the Destination by subtracting DID from Destination in numerical form (Example,
DID: 11111, Destination: 11112, |DID-Destination|=|1111-11112|=1) If Device has several DIDs the lowest value is selected and this
DID is set as CallerID.
2. If Device has no DIDs - then User DIDs are used.
3. If Device does not have DIDs and User has no DIDs, then CallerID set in Number field
will be used.
4. If nothing is set here - CallerID coming from Device will be used.
Network Related
Host the device IP or hostname; the value can be "dynamic", which means that device
should register (it should be like this most of the time). Subnetting is supported.
IP Address should be the device's IP, or disabled if the device is "dynamic". Subnetting
is supported.
Port the port used to connect to the device (the defaults are 5060 for SIP, and 4569 for
IAX2). If host = dynamic, this field is updated by Asterisk when the device registers. It is
the port from where the call is coming (from the device).
Last time registered when device was last time registered to the Asterisk server.
Media control can reinvite/transfer. Do you want your server to stay in media path
between your clients and your provider? Please note that this option will work only if it is
supported from both, device and provider, sides and it allows to handle SIP packets only.
Moreover, no codec mismatch between device and provider is available. Default value is
No. WARNING: This option can cause incorrect billing.
NAT the available options are: yes, no, never, route. For a detailed explanation of these
settings, refer to here [http://www.voip-info.org/wiki/view/Asterisk+sip+nat].
Kolmisoft 2006-2013
188
Qualify how often to "ask" the device about availability. More details here
[http://www.voip-info.org/wiki/view/Asterisk+sip+qualify] for SIP devices and here
[http://www.voip-info.org/wiki/view/Asterisk+iax+qualify] for IAX2 devices.
IAX2 Trunking Mode - enable/disable trunking mode, which allows multiple voice
streams to share a single "trunk" to another server, reducing overhead created by IP
packets.
Groups
Voicemail
Codecs
Choose the codecs your provider uses.
NOTES:
When no fields are checked, all codecs are available for example, settings in sip.conf or
iax.conf are effective.
If the Provider and the Device do not have similar codecs, no call can be established.
Allowed Addresses
IP, MASK permits traffic from this IP only. You can find a detailed explanation here.
[http://www.voip-info.org/wiki/index.php?page=Asterisk+sip+permit-deny-mask]
If you do not clearly understand what these settings are used for, leave them with default values.
Kolmisoft 2006-2013
189
Advanced
Fromuser/Fromdomain used when calling TO this peer FROM Asterisk. If you're using
_register=>_ with another SIP proxy, this setting can come in handy since some SIP
networks only allow users in the right domain with the correct user name.
Trustrpid defines whether or not Remote-Party-ID is trusted. It's defined in
http://tools.ietf.org/id/draft-ietf-sip-privacy-04.txt.
Sendrpid defines whether a Remote-Party-ID SIP header should be sent. The default
setting is "no". This field is often used by wholesale VoIP providers to provide calling party
identity regardless of the privacy settings (the From SIP header).
Insecure [http://www.voip-info.org/wiki/index.php?page=Asterisk+sip+insecure]
o port: ignore the port number where request came from.
o invite: don't require authentication of incoming INVITEs.
o port, invite: don't require initial INVITE to authenticate and ignore the port where
the request came from.
T.38 support - Asterisk does not have good T.38 support, so use this option just for
testing.
SIP 302 Reinvite support - SIP Reinvite support for the device. Disabled by default.
Progressinband:
o yes - when "RING" event is requested, always send 180 Ringing (if it hasn't been
sent yet) followed by 183 Session Progress and in-band audio.
o no - send 180 Ringing if 183 has not yet been sent, establishing an audio path. If
the audio path is established already (with 183), then send in-band ringing (this is
the way Asterisk historically behaved because of buggy phones like Polycom's).
o never - whenever ringing occurs, send "180 ringing" as long as "200 OK" has not
yet been sent. This is the default behavior of Asterisk.
Video support does your provider support Video over IP? More info here
[http://www.voip-info.org/wiki/view/Asterisk+video].
Allow duplicate calls - the default setting is "no".
Language - sets IVR language
Use ANI (if available) for CallerID: - When the call comes the information about who is
calling is found in CallerID field. This field is used to determine who is calling. When the
call comes through PRI/SS7 channels - then additional information is available who is
calling in ANI field (in call's data channel) so sometimes CallerID might be empty or
anonymous, but the caller can be found in ANI field. This option allows to use ANI field as
CallerID to determine and recognize who is calling.
Incoming Call CallerID Presentation - sets CallerID Presentation. More information can
be found here [http://www.voip-info.org/wiki/view/Asterisk+cmd+SetCallerPres] and here
[http://www.voip-info.org/wiki/view/Asterisk+cmd+CallingPres]
Change Failed Code To - if call fails change Hangup Cause Code to this value. This works
only for outgoing calls from device. Not for Incoming.
Kolmisoft 2006-2013
190
Forward DID - it allows to forward call to DID which is assigned to Authorization by PIN
or Calling Cards dial plan. After user enters PIN of any device or card, call gets connected
with destination.
Transport - lets you choose protocol(s) for data transfer. Appears only if device is SIP and
when Asterisk 1.8 is enabled. Default value: udp.
Tell Options
Tell rate before call - should MOR tell announce minute price (rounded to cents) before
every call. Default value is "no".
Tell balance before call should MOR tell the user his balance every time he tries to
dial? The default setting is "no".
Tell time - should MOR tell the user his remaining time every time he tries to dial? The
default setting is "no".
Time is told in MINUTES only. Currently it is not possible to tell both in minutes and
seconds.
Tell remaining time when left when some time is left, MOR will tell the remaining time
to talk (in seconds).
Repeat remaining time when left repeats the remaining time when some time is left
(in seconds).
Debug
Process SIPCHANINFO - shows SIP channel info in Asterisk CLI and saves this information
on database.
Save Call Log - saves whole call log on database. Log can be overviewed by click
in
Last calls.
NOTE: debug should be enabled only if you are experiencing any problems. It should be disable
in any other cases, because it stores lot of information on database.
Recordings
This section is available when Recordings Addon is installed in the system.
Kolmisoft 2006-2013
191
Kolmisoft 2006-2013
192
Extension lines
In device settings, you can select
This information is for people who have a deeper understanding of Asterisk internals.
Kolmisoft 2006-2013
193
Trunks
"Trunk" refers to another server/PBX that can be connected to the MOR system.
When calling such a device, we send the full number that has already been dialed.
For example, when dialing a simple device, we would use:
Dial(SIP/some_device)
This lets Trunk decide to which device (connected to the Trunk) to route the call.
If you want to make a device Trunk, just mark it as Trunk in the device details:
ANI.
No/Yes/Yes with
Kolmisoft 2006-2013
194
can
turn
IAX2
Trunking
Mode
on
in
device
edit
window.
Kolmisoft 2006-2013
195
You can reach the main CLI window in device settings by selecting
CLIs:
When no IVR is selected, the call ends with the CONGESTION tone.
When an IVR is selected, it is played for the user who tries to dial.
As example IVR might say: "Sorry, but your account is blocked because..."
Kolmisoft 2006-2013
196
Kolmisoft 2006-2013
197
Kolmisoft 2006-2013
198
This setting allows you to decide whether you want to allow a user to use a provider if the
provider's rate to a destination is lower than the user's rate.
By allowing such a call, you will pay more to the provider than the user pays you for it, meaning
that you will take a loss on the call.
If this setting is unchecked (the default setting), cheaper providers will not be used in dialing.
Kolmisoft 2006-2013
199
Resellers
Resellers can check this setting for their own users.
When a Reseller checks this setting for his users, the user is allowed to dial out even when his
rate is lower than the rate that the reseller is paying the system admin.
See also
Device groups
It is possible to group devices. This feature is intended for branches of a company, so that each
device will belong to a single company group.
This functionality is not widely used and we do not recommend using it unless you really need it.
To access groups for each user in the Users window, click
Dev.Groups:
In this window you see all device groups for the selected user. Under each group, you see devices
assigned to the group.
Once new groups are added, they can be deleted. However, the primary group cannot be
deleted.
Edit Details lets you a change group's name and address.
Kolmisoft 2006-2013
200
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
A call has several states that can be seen from this image:
Kolmisoft 2006-2013
201
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:
Kolmisoft 2006-2013
202
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:
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.
Kolmisoft 2006-2013
203
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:
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.
Kolmisoft 2006-2013
204
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.
Kolmisoft 2006-2013
205
G.711 A-law
G.711 u-law
G.723.1
G.726
G.729
GSM
iLBC
LPC10
Speex
ADPCM
16 bit Signed Linear PCM
Video:
H.261
H.263
H.263+
H.264
Audio codecs
Most commonly used are:
G711
G729
G711
PSTN quality codec which is supported in 99% of all devices/providers (but often disabled to save
traffic).
It has best quality but highest bandwidth (64kbps + ~20 kbps overhead ~= 84kbps to one
direction).
It comes in 2 flavours - G711u (ulaw) - used in USA, and G711a (alaw) - used mostly in Europe
and other countries.
Kolmisoft 2006-2013
206
G729
Little worse quality but is often used because it saves traffic (~8kbps + ~20kbps overhead ~=
28kbps to one direction).
It takes a lot of CPU power to transcode so total call count on the server is greatly reduced using
this codec.
It needs to be installed separately and it is not free.
G722
G.722 is a ITU-T standard 7 kHz wideband speech codec operating at 48, 56 and 64 kbit/s.
64 kbit/s (comprises 48, 56 or 64 kbit/s audio and 16, 8 or 0 kbit/s auxiliary data)
HD VoIP in the Asterisk world involves selecting the G722 codec for VoIP calls.
The nice thing about it is that it does not require any more bandwidth than G711.
The difference is that G722 employs compression combined with a higher sample: rate to
obtain a practical acoustic bandwidth of 50 Hz-7000 Hz as opposed to G711 which has a
practical acoustic bandwidth of 200-3000 Hz.
Instead of sounding like you are talking into a tin can it now sounds like the other person
is in the same room.
You can hear more subtle nuances in the persons voice and certain letters/syllables that
are hard to distinguish on regular calls become much easier.
If one endpoint is using G722 and the other is using G711, the endpoint using G722 will
hear better sound quality from the other end but the G711 end will not notice much if any
difference.
Kolmisoft 2006-2013
207
Transcoding overhead between G722 and g711 is minimal. Roughly equivalent to half the
transcoding overhead between G711 and GSM. G.722 patents have expired, so it is freely
available.
Video
Read manual for your device to check which codec is supported on your device.
H263/H264 are most popular.
Make sure same codec is chosen between devices you are trying to communicate.
Fax
If your system/provider/devices does not support T38 you should use G711 codec for fax
transmitting/receiving.
Notes
Make sure you have always selected audio codec! Otherwise you will not be able to place calls!
See also
More
about
codecs:http://www.cisco.com/en/US/tech/tk652/tk698/technologies_tech_note09186a008
0094ae2.shtml
G711 vs G729:http://irockasterisk.blogspot.com.es/2011/02/g711-vs-g729-which-one-tochoose.html
Kolmisoft 2006-2013
208
In this example only the codec G.711 A-law is enabled. Remember to tick other codecs you
want to be enabled.
Additional Notes
Codecs priority can be adjusted in Setup -> Settings -> Default Device (this
configuration will be applied to all new devices)
Codecs priority can be adjusted for a single device also: just navigate to a required device
edit and change the priority. You can find all Devices in Users -> Devices (hint: you can
use search from this menu). Also you can navigate to required device by user - go to
users list and select the Device icon, then select the required device for that user.
In MOR 8 and older versions you can only enable/disable codecs. You can't prioritize
codecs in older versions.
Kolmisoft 2006-2013
209
Authentication
There are two types of authentication in MOR: IP authentication, and using login and password.
IP authentication means accepting calls from a given IP automatically, without requesting any
additional login data.
To use login and password authentication, the sender needs to register his phone or pbx to MOR
before sending calls, otherwise MOR will reject them.
Note: IP and login/password authentication cannot work together for the same device or
provider.
Kolmisoft 2006-2013
210
IP Authentication
This example shows how to configure device to use IP Authentication:
Kolmisoft 2006-2013
211
Restrictions
You cannot create/edit Provider if you already have Device with same IP and port
combination. However, you can have two Providers with same IP and port combination.
You cannot have two Devices with same IP and port combination.
NOTE: if you need to send and receive calls from same IP and port, please Configure Provider
which can make calls.
Registration Status
About
This feature was developed to make MOR administrators life easier. With this feature an
administrator is able to track SIP device status from GUI and solve problems faster.
Device must try to register or someone should call to that device in order that device
status would be visible.
Example:
If a device is assigned to a server A but registers to server B - status will not be shown (devices
must register to the server they are assigned to).
Status
OK - Device is registered, all is OK
Kolmisoft 2006-2013
212
Device list
Kolmisoft 2006-2013
213
Device edit
/usr/local/mor/mor_retrieve_peers
/etc/cron.d/mor_minute_actions
Logs
If you want to get a lot of logs put DEBUG = 1 in mor.conf
Logs for this feature can be found here:
/var/log/mor/ami_debug.log
Kolmisoft 2006-2013
214
Device rules
Device Rules transforms an E.164-compatible number to any number format
the Device requires.
Description
Different Devices expect different number formats from you. You can send them whatever they
want using Device Rules.
Device Rules are only used when Device is reached over DID. Local calls between Devices will not
use Device Rules.
Device Rules can be reached by clicking the
IMPORTANT: Device Rules are applied ONLY to those devices which are accessible over
DID!
We see a similar window as the one in Localization. The rules to manage Device Rules are
identical to those for Localization management, which are covered in Number Manipulation
page.
Kolmisoft 2006-2013
215
Let's say our device/trunk expects to get a number with the international prefix 00. We can do
this in following way:
That's it very simple. Now every number that is sent to this Device will be transformed by
adding our created int. prefix.
For example, if 37063011111 should be sent to this Device, this rule will be activated and the
number 0037063011111 will be sent to Device.
Special cases
Cut everything till Hash
With rule Cut: *# it is possible to cut everything till # (# included) in the dialed destination:
Kolmisoft 2006-2013
216
For example:
This function can be used in fancy MNP (Mobile Number Portability) schemes and perhaps
elsewhere.
NOTE: Add value still can be used to add any value after Cut is used on the Destination.
Destination same as received
If you want to send a number to a Device exactly as it was received, set Cut = '-' (minus sign as
shown in the screenshot).
That way, the same number that comes to MOR also leaves MOR:
Kolmisoft 2006-2013
217
In the example bellow we will add international prefix to every CallerID sent to this Device:
Special case
CallerID overwrite
Sometimes Trunks only accept calls with special format CallerIDs.
It is possible to overwrite any CallerID before sending a call to such a Device.
In Device Rules (for this Device) set up the Rule:
In this example, all calls going to this Device will have CallerID = 37063033333.
Kolmisoft 2006-2013
218
Providers
Description
In the old PSTN world, Providers were called Trunks. Providers are your route out of your VoIP
network to the outside world.
Providers can be one of several types: ZAP, SIP, IAX2, and H323. The type determines which
technology is used to connect to the Provider.
At the very start, you need to create a Provider through which you will dial out to PSTN or other
VoIP networks.
Every Provider will charge you for calling a destination through his service (although the rate
might be zero). The rate to every destination is different. Because of this, we need to have a Tariff
(or Price List) for each Provider. This Tariff will tell our billing what price we will pay to a
destination when using this Provider's services. In other words, this will be our Selfcost.
Providers' configurations can be found in SETTINGS -> Billing -> Providers.
Kolmisoft 2006-2013
219
Click New Provider to create new Provider, enter the Name for a new Provider, select
its Technology, Tariff, Asterisk server which should be used for this provider and click
Create.
Click icon to change settings for old Provider.
Click icon to disable Provider and it will not be used while it is cross in Active column.
Click icon to enable Provider if you want to use it again.
NOTE:
You can't create a new Provider if there are no Tariffs available for Providers.
A Provider is also able to send calls, not just receive them. More info here. In case you
want to sell services to a provider you have to create such a provider.
Kolmisoft 2006-2013
220
Settings
General
Kolmisoft 2006-2013
221
Balance limit this is the limit of balance that can be reached by the provider. After he
reaches the specified balance, calls aren't sent through this provider anymore. Balance
limit value of zero means that balance is unlimited.
Authentication
For ZAP providers
Channel which channel (or channel group) to use on a PRI/BRI/PSTN card. Channels and
groups should be configured in zapata.conf.
Provider CallerID
CallerID consists of two parts: Name and Number. The "Number" part is transferred by default
on all technologies (GSM, PSTN, SIP etc), but the "Name" part only on some. The number you see
on your mobile phone when someone is calling you is the "Number" part.
NOTE: If you have this configured all incoming call from this provider will have that CallerID. If
you leave these fields empty, calls coming from this provider will have CallerID set by the
Provider. It should almost always be this way.
Network related
Kolmisoft 2006-2013
222
Port port used to connect to the provider (default: 5060 for SIP, 4569 for IAX2, 1720 for
H323).
Media control canreinvite/transfer. Do you want your server to stay in the media path
between your clients and your provider? Disable if you have a lot of 1-second answered
calls.
NAT the available options are: yes, no, never, and route. For a detailed explanation of
these settings, refer to here.
IAX2 Trunking Mode enable/disable trunking mode, which allows multiple voice
streams to share a single "trunk" to another server, reducing overhead created by IP
packets. More details here
Qualify how often to "ask" the provider about availability. More details here for SIP
providers and here for IAX2 providers.
Servers
Allows to select on which Asterisk servers this provider should be used.
Codecs
Choose the codecs your provider uses.
NOTE: When no fields are checked, all codecs are available. (
or iax.conf are effective).
Advanced
Grace time if call duration is less than Grace Time, it will not be accounted.
Kolmisoft 2006-2013
223
Progressinband:
o yes when "RING" event is requested, always send 180 Ringing (if it hasn't been
sent yet) followed by 183 Session Progress and in-band audio.
o no send 180 Ringing if 183 has not yet been sent, establishing an audio path. If
the audio path is established already (with 183), then send in-band ringing (this is
the way Asterisk historically behaved because of buggy phones like Polycom's).
o never whenever ringing occurs, send "180 ringing" as long as "200 OK" has not
yet been sent. This is the default behavior of Asterisk.
Video support does your provider support Video over IP? More info here.
Allow duplicate calls the default setting is "no".
Interpret NO ANSWER as FAILED default option is no (This will change the provider in
LCR like it is failed, in last calls you will see the real hangupcause no answer)
Interpret BUSY as FAILED default option is no (This will change the provider in LCR like
it is failed, in last calls you will see the real hangupcause busy)
Fake Ring should system generate Fake Ring or not? Use only if your Device/Provider
has bad protocol implementation and does not send RING signal properly.
Common Use Provider can be used by Resellers which are able to create their own
Providers. Reseller will be billed using this Provider. If provider is marked as common use
and is used in one of reseller's LCR or is in Terminators list - admin is not allowed to
delete this provider or remove common use option.
Transport lets you choose protocol [tcp, udp] for data transfer. Appears only if Provider
is SIP and when Asterisk 1.8 is enabled. Default value: udp.
SIP Specific
Kolmisoft 2006-2013
224
Debug
Save Call Log when this option is enabled you can access Call info information in last
calls page.
Failover provider
You can also assign a failover provider to a LCR by selecting No in Use only one provider (Turn off
failover). Default value is Yes.
Failover provider is a provider used only in case of emergency. If all the other providers fail
(returns FAILED error code) a failover provider is used.
If Provider returns NO ANSWER or BUSY - it means, that call not FAILED.
If you think that NO ANSWER/BUSY == FAILED, then you can use NO ANSWER/BUSY
interpretation for providers setting.
See also
Kolmisoft 2006-2013
225
Terminators
A Terminator is a group of Providers (in MOR's terms).
In reality, a Terminator is a company that sells/buys traffic to/from you. Then Providers (in MOR's
terms) are gateways of this Terminator.
Terminators are used in reporting - in Aggregate and Summary reports.
Kolmisoft 2006-2013
226
Good response:
Bad response:
NOTE the NOTE!
Kolmisoft 2006-2013
227
Kolmisoft 2006-2013
228
For example:
Let's say the provider gives you the access number 1234.
When somebody wants to dial a destination (let's say 22234567890), he enters on his
phone: 123422234567890.
22234567890 comes from the provider to your MOR box.
Because the provider is with ANI, we check the user's CLI.
If CLI is found, we know which user is dialing.
Before he dials out, we change the CallerID of this call to the CallerID found in our
database - that's a minor job, but it's part of the algorithm.
After that, the call is sent to 22234567890.
IMPORTANT!!! - Do not check ANI for Provider if this description does not match your
working scenario!
Example:
If your DID is 234567890 and you want to dial dst: 987654321 on (for example) your mobile
phone, you enter:
234567890p987654321
That way the call will reach MOR. When p (pause) is reached, MOR will play "Please enter
destination" and 987654321 will be sent by DTMF to MOR.
Kolmisoft 2006-2013
229
How mor handles balance for users that are also providers?
The provider's balance increases only when there is a call made through this provider. If provider
is assigned
to user then when same provider is making a call, user's balance - to which provider is assigned decreases.
And there is no difference if you have Provider billing add-on or not.
Kolmisoft 2006-2013
230
For example:
Kolmisoft 2006-2013
231
When your device registers, the current IP address of the device will be in in the IP Address field.
Do not change it!
Provider
Call limit - describes how many simultaneous calls the provider can make. 0 (zero) means that
calls are unlimited.
Hangupcause code 223 means that the provider can't make more simultaneous calls.
This limit is for outgoing calls through this provider.
Kolmisoft 2006-2013
232
User
Call limit - describes how many simultaneous calls the user can make. 0 (zero) means that calls
are unlimited. This limit is for outgoing calls made by this user.
Hangupcause code 220 means that the user can't make more simultaneous calls.
Hangupcause code 222 means that a reseller (as a user) can't handle (allow to his users to make)
more simultaneous calls.
Kolmisoft 2006-2013
233
Device
Call limit - describes how many simultaneous calls the device can make. 0 (zero) means that calls
are unlimited.
Hangupcause code 221 means that the device can't make more simultaneous calls.
This limit is for outgoing calls made by this device.
DID
Kolmisoft 2006-2013
234
Call limit - describes how many simultaneous calls DID can receive. 0 (zero) means that calls are
unlimited.
Hangupcause code 219 means that DID can't receive more simultaneous calls.
This limit is for incoming calls made to this DID.
Special case
When DID points to a device and the limit is reached, calls will be routed to the device via BUSY Call Flow. This will ring another device or send a call to VoiceMail when the main device already
has a call.
NO ANSWER when calls are not answered after a certain period (timeout).
BUSY when a recipient is busy (talking with somebody else).
ANSWERED when a call has been answered and ends.
FAILED when an error occurs.
However, providers sometimes cheat (or do not have technical skills to make this correctly). For
example, if they can't deliver a call to a destination because of some problem in their network or
something similar, they may send the NO ANSWER or BUSY signal for a FAILED call. And then our
routing breaks. If we have several more providers in our LCR, our LCR will not try to send call the
over the remaining providers and will end the call.
This often happens for GREY (illegal) routes.
Kolmisoft 2006-2013
235
To partly solve this problem, MOR provides a workaround: "NO ANSWER/BUSY interpretation for
providers".
This makes it possible to set a NO ANSWER and/or BUSY interpretation as FAILED.
That means, if a provider reports NO ANSWER and/or BUSY, MOR treats this as FAILED and the
next provider in LCR (if there are further providers) is tried to send the call.
These options can be set in Providers Settings:
Kolmisoft 2006-2013
236
Net2phone configuration
Kolmisoft 2006-2013
237
Broadvoice configuration
Kolmisoft 2006-2013
238
Eutelia
Kolmisoft 2006-2013
239
As Eutelia sends calls from different IPs, we need to configure it as a second provider:
Kolmisoft 2006-2013
240
Configuring DIDWW
DID World Wide, International DIDs forwarded to PSTN and VoIP by SIP, IAX, H323, Skype, Gtalk,
MSN Messenger. Origination services, SIP DIDs.
CallerID does not come in E.164 format - only in the local format.
Kolmisoft 2006-2013
241
Kolmisoft 2006-2013
242
3. Afterwards, enter any IP (or leave blank) in Provider Network settings, and write down Provider
Device ID value, you will need it later.
Kolmisoft 2006-2013
243
4.
Now
connect
to
your
server
over
ssh
/etc/asterisk/extensions_mor_didww.conf and find these lines:
and
locate
this
file
[from-didww]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=0)
exten => _X.,2,Goto(mor,${EXTEN},1)
Now you need to change (ACCOUNTCODE)=0 value (0) to Provider Device ID value as follows:
exten => _X.,1,Set(CDR(ACCOUNTCODE)=8)
exten => _X.,2,Goto(mor,${EXTEN},1)
5. Make sure, file /etc/asterisk/sip.conf has this line included:
#include sip_didww.conf
6. Restart Asterisk
Now your system is updated with all the DIDWW IP addresses that are listed in their
recommendations.
Now there is no need to create one Provider for each IP
DID configuration
Then:
Kolmisoft 2006-2013
244
Configuration in www.didww.com
We will assign a Thailand, Bangkok number to our server:
First we need to create "mapping", that is, the route to our server:
Kolmisoft 2006-2013
245
Troubleshooting
Watch Asterisk CLI to see what's happening.
Maybe you have DID in the wrong format - for example, not E.164 compatible?
Vitelity
http://www.vitelity.com/
Kolmisoft 2006-2013
246
Vono
http://www.falevono.com.br/
Kolmisoft 2006-2013
247
Getting connected
Technical details which Voicetrading provides to you:
Username: Your VoiceTrading username
Password: Your password
SIP/Proxy registrar: sip.voicetrading.com
We support the following codecs:
G.711 (64 kbps)
G.726 (32 kbps)
G.729 (8 kbps)
G.723 (5.3 & 6.3 kbps)
GSMFR (13 kbps)
iLBC (20ms & 30ms)
If you cannot connect by using Username & Password, we can also authenticate your fixed IP
address(es).
Kolmisoft 2006-2013
248
After we authenticated your IP, you can connect by using the following IP-adresses:
For SIP: 77.72.169.129 or 77.72.169.131
For H323: 77.72.170.132
Kolmisoft 2006-2013
249
Fill fields login/Username, password with details your Provider provided to you.
Kolmisoft 2006-2013
250
Kolmisoft 2006-2013
251
Provider configuration
Make sure you do not have Device with same username/password as for your
Provider!
Kolmisoft 2006-2013
252
NOTE: password field is empty - somehow in our tests Portech refused to register with
password.
Create LCR, assign Provider to it, assign LCR to user, and do all other necessary steps.
Kolmisoft 2006-2013
253
Portech configuration
Configure Portech to register to MOR:
Kolmisoft 2006-2013
254
Port settings
Set different ports for separate SIMs:
Do not forget to route these ports on the firewall if your Portech is under NAT!
Problems
We do not recommend these devices because they are unpredictable and unstable. They may
stop working without notice at any time!
Some examples:
http://lists.digium.com/pipermail/asterisk-users/2009-November/241371.html
Kolmisoft 2006-2013
255
Call Routing
LCR
LCR (Least Cost Routing) is a set of Providers that should be used to send a call when trying to
dial any destination - for example, by the cheapest rate.
The correct name for such a function is a Routing Table, because the function supports other
ways of routing, not just finding the cheapest route.
LCR supports fail-over. That is, if one provider fails, the next one is dialed. This is completely
invisible for the caller and lets you increase the chances of the user reaching his destination. If
one Provider is not capable of delivering a call, the system will try to use the remaining Providers.
The LCR window can be found in SETTINGS > Billing > LCR.
Supported routing modes:
The user has one base LCR, so that all his calls are routed by some preset rule.
It is possible to route different destinations for a User using Call routing per destination basis.
Kolmisoft 2006-2013
256
Choose Original LCR reseller and Cloned LCR reseller and click Clone button.
Please note that LCR will not be allowed to copy if reseller B is not allowed to use Providers which
are used by Reseller A.
See also
LCR Logic
How to add Provider to LCR
Call Routing by priority (Manual LCR)
Call routing per destination basis
LCR/Tariff change based on call prefix
Routing by Percent or Weight-based routing
Why was a call not routed through another provider/trunk?
Make Tariff MIN/MAX from LCR Providers to CSV
Kolmisoft 2006-2013
257
LCR Logic
Here simple LCR (Least Cost Routing) is explained.
Example
We have two providers, A and B.
The dialed destination is 921XXXXXXXXXX.
Provider A has the following rate for the prefix (destination):
92 rate 0.1
92 rate 0.05
921 rate 0.2
MOR first dials through Provider A. If the call fails, Provider B will be used to send the call.
If the call through Provider A is ANSWERED, BUSY or there's NO ANSWER, the call ends, and
Provider B is not used.
Provider B is used ONLY when the call fails through CONGESTION.
Kolmisoft 2006-2013
258
Kolmisoft 2006-2013
259
Usage
1. Go to SETTINGS -> Billing -> LCR
2. Create new LCR by pressing the New LCR
Advanced Options
Do not use next available provider if the price is higher than x%
Use this feature when you do not want to use a provider when the price between the cheapest
and next available provider is higher when x %. The call will simply fail if no other providers meet
the requirement.
Usage
1. Go to LCR list: SETTINGS -> Billing -> LCR
2. Press Edit on LCR by price LCR:
Kolmisoft 2006-2013
260
Example 1
Provider A has a price of 0.10 and provider B 0.11 and we set x=20%
so if call cant be establish by provider A then system will try with provider B (0.11<0.10+20%)
Example 2
Povider A has a price of 0.10 and provider B 0.30 and we set x=20%
so if call cant be establish by provider A then the system wil NOT try with provider B
Kolmisoft 2006-2013
261
To set this feature, you need to set the type of priority in LCR:
You can go to Providers and click on Change Order to change the order of Providers for this LCR:
Video at [http://wiki.kolmisoft.com/index.php/Change_Provider_order_by_Drag%26Drop_video]
demonstrates how to do that.
Click Back when you are finished. Assign this LCR to users and route calls manually.
Kolmisoft 2006-2013
262
Example
We take Paraguay as example, because this country has a small number of destinations.
Let's say we have three providers (in LCR: Primary), and we use them all together for all our
destinations. The route is picked by the least cost route, that is, the LCR order is by Price:
Then we have the situation that calls to Paraguay (except those to Mobiles) do not go through
the provider Eutelia.
Kolmisoft 2006-2013
263
To handle this situation we create a new LCR: Secondary, in which the order is Priority. It excludes
Eutalia and has only two providers:
Kolmisoft 2006-2013
264
Explanation
Now when the user dials any Paraguay FIX number, the call will be routed using LCR Secondary
with order priority:
We can click on Active destinations and will see for which prefixes such an LCR applies:
As we know that Eutalia can route calls to Mobile networks of Paraguay, so MOB destinations will
be handled by old LCR:
Kolmisoft 2006-2013
265
We can click on Active destinations and will see for which prefixes such an LCR applies:
Kolmisoft 2006-2013
266
You can find more info on how to make rules in Number Manipulation.
Example
Lets say we have a provider that provides three quality routes: bad-cheap/normal/goodexpensive.
The bad-cheap route is selected when dialing an E.164 number with prefix 00.
The normal route is dialed when dialing the normal E.164 number.
The good-expensive route is selected when dialing the E.164 number with the prefix 000.
Kolmisoft 2006-2013
267
That's it.
Now when the user dials E.164 numbers, he will be using the normal route; when 00, the bad
route; and when 000, the good route.
Kolmisoft 2006-2013
268
Prefix finder
About
Navigate to STATISTICS -> Various -> Prefix Finder:
Prefix finder is very useful tool when you want to get a country prefix in E.164 format knowing
only a country name.
Prefix - refers to the first digits of a telephone number.
These digits are a way to identify the area that the phone number is located in.
Functions
Prefix finder has two functions:
1) You can enter prefix to get destination name. For example you can enter 370 and get
destination name Lithuania, tariff and rates for this destination.
2) You can enter Destination name and get prefix. For example you can enter Lithuania and get a
prefix 370.
Kolmisoft 2006-2013
269
Routing by Percent
This type of routing selects a route by percentage value of Providers. It is similar to Priority-based
routing, except that here Providers are selected randomly with greater or lesser probability.
Example 1
For example, we have three providers with the following preferences:
A - 50%
B - 30%
C - 20%
This means that:
Kolmisoft 2006-2013
270
Example 2
To better illustrate the method, let's take a simpler situation. We have two providers with these
percentages:
A - 99%
B - 1%
Provider A will be selected first 99% of the time, so that when we have many ordered lists, they
will look like:
A-B, A-B, A-B, A-B, A-B, ........., B-A, A-B,........A-B, ..........
The probability that the provider order will be B-A is just 1%.
Fail-over
This LCR ordering still keeps Fail-Over intact.
That is, after we have ordered the provider list, if the first provider in the list fails, the second will
be dialed and so on.
Kolmisoft 2006-2013
271
In provided example all devices (phones), e.g. 1, 1-2, 1-3, 2, 2-1, 2-3, 3, 3-2, 3-3 can talk between
each other.
Kolmisoft 2006-2013
272
See also
Kolmisoft 2006-2013
273
DIDs
DID Management
Description
What is a DID?
In short it is an external number to have incoming calls to your VoIP network reach a particular
device. (This is a very simplified explanation that will serve for the moment. For a more extensive
explanation, please check here [http://www.voip-info.org/wiki/view/DID] ).
VERY IMPORTANT RULE: DIDs in MOR MUST be in E.164 format.
You can reach the DIDs window in SETTINGS > Billing > DIDs:
Since MOR 12 you can choose different tone zones. Tone zone is a different ring tone depending
on destination (country).
Here you can see all DIDs and their info.
User/Dial Plan and Device show who will answer when dialing this DID.
Clicking on User or Device brings you to their DID settings. If you click on the
to the device's Call Flow window.
Kolmisoft 2006-2013
274
Status
Status is very important. For every just-created DID, the status is Free.
A DID can have several statuses:
Free this status means that the DID is free to be reserved for
any user/device. You can also Terminate it.
Reserved the DID is reserved but NOT actually used for a
user. "Reserved" is useful at the negotiation stage before
signing a contract. When a user decides to sign up, we Activate
the DID. We can also make the DID Free.
Active the DID is assigned to a Device and is functional. We
can Close it.
Closed the DID is no longer functional, so that all calls going
to this DID will get Hangup. One important feature of this state:
when a DID is Closed, it will be closed for a set time (the default
is 90 days) in case the user changes his mind and decides to use this DID again. This is
useful when a user is not paying for services, as we can suspend the DID by using Closed.
MOR will make it Free after the Closed period runs out. You can manually make it Free or
Terminate this DID.
Terminated the DID is no longer used in MOR. It remains only for historical purposes.
You can make it Free if you want.
Kolmisoft 2006-2013
275
Settings
If you want to edit a DID's settings, click on the
icon:
276
When a DID is assigned to a Device (Reserve for User first), you have a few different choices:
Change provider/language.
Assign DID to a different device (for the same user).
Assign DID to Trunk.
Stop a DID subscription and reserve the DID for 90 days (by default) to this user in case he
changes his mind and wants to get the DID back.
When DID is assigned to Dial Plan, the choices are almost identical.
Kolmisoft 2006-2013
277
When you have Quickforward Rule for this DID, in DID edit you will see additional notice:
See also
Kolmisoft 2006-2013
278
Timeout Digit
The maximum amount of time permitted between digits when the user is typing in a number.
When this timeout expires after the user has started to type in a number, the number will be
considered complete, and will be interpreted (sent to the system). Works both with entering
destination and ANI/PIN.
Kolmisoft 2006-2013
279
Timeout Response
The maximum amount of time permitted for user to START entering a number. If the user does
not begin typing a number in this amount of time, system will notify that nothing was entered.
Once the user begins to type a number, system will wait for Digit Timeout to be reached, and
Response Timeout has no effect no more.
Kolmisoft 2006-2013
280
Kolmisoft 2006-2013
281
Kolmisoft 2006-2013
New DID:
282
In this window, you can add one DID or series of DIDs. Also, you should select the provider which
sold you this DID.
Delete DID
At first, mark it as "not used" (Free). Then terminate it. When you do, you will see
DID in the main DID window. By clicking on it, you can delete the DID.
next to the
Kolmisoft 2006-2013
283
Kolmisoft 2006-2013
284
3. Enter DID interval you want to assign to trunk and select the marked option:
Kolmisoft 2006-2013
285
See also
Trunks
DID management
286
3. An External Number.
7. So summed up, MOR can forward a DID to:
1. Dial Plan (CallBack, Calling Cards, Authorization by PIN, IVR).
2. A Local Device.
3. VoiceMail.
4. An External Number.
8. Call -> Provider -> PSTN/SIP/IAX2 -> DID -> Your Asterisk -> MOR -> (Dial Plan or
Local Device, Voicemail, External Number) -> ...
DID Billing
Description
DIDs can be billed. DID billing is quite complex, as they have three types of rates. That means
three prices are counted for one call. DID rates can be reached in the main DIDs window by
clicking the Rates icon for the selected DID:
Kolmisoft 2006-2013
287
Incoming rate
For incoming calls, when the Incoming rate is greater than zero, the rate is paid to the system
owner by the user who is dialing to that DID. It represents a profit for the system owner.
If the rate is less than zero, the price is paid TO the dialing user for the DID usage.
The dialing user is the user in MOR, and this rate applies only then when MOR recognizes the
dialing user (by PIN/ANI).
Owner rate
For incoming calls, when the Owner rate is greater than zero, this rate is paid to the MOR system
owner by the DID owner. This represents a profit for the system owner.
If the rate is less than zero, this price is paid TO the DID owner.
This rate is charged even if the local user dials another local user using DID with Owner Rate set.
DID usage is not allowed if this rate is > 0 and the DID owner does not have a large enough
balance to cover call costs.
DID owner rate is not applied to the DID's owner - that is, the owner of the DID will be not
charged when dialing his own DID.
If a DID is assigned to a Dial Plan, then its Owner can be selected in the DIDs settings and any
user can be considered as the 'owner' of the DID and can be billed at this rate when anybody
dials this DID.
Kolmisoft 2006-2013
288
Select "Device" to see calls to this DID near this Device's calls:
Provider rate
For incoming calls, when the Provider rate is greater than zero, this rate is paid to the system
owner by the Provider. It represents a profit for the system owner.
If the rate is less than zero, this price is paid TO the Provider for the DID usage.
See also
Kolmisoft 2006-2013
289
Here:
So:
Kolmisoft 2006-2013
290
DIDs Usage
STATISTICS -> Various -> DIDs -> Usage
This page shows current DIDs status and Actions with DIDs in a selected period:
Personal DIDs
PERSONAL MENU > Various > DIDs
This page shows DIDs which are associated with a User. No changes to configuration can be
made in his window.
Kolmisoft 2006-2013
291
We want:
To dial the DID 02180995165 using our mobile phone and ring Device SIP/201.
Kolmisoft 2006-2013
292
To dial the DID 02180995165 using the local Device SIP/202 in order to ring Device
SIP/201 (local SIP-SIP call not going to PSTN).
Configuration
Plan
1.
2.
3.
4.
5.
Kolmisoft 2006-2013
293
Create Provider
Create Provider in MOR GUI.
Do not forget to set Location: UK for this Provider.
Register Provider
IF your Provider asks you to register it, do so.
Kolmisoft 2006-2013
294
Create/Configure DID
Create DID in E164 format
Kolmisoft 2006-2013
295
That's it.
Kolmisoft 2006-2013
296
Answer:
When you configure your Calling Card Dial Plan (DP), you should assign it to a DID.
Let's say your Calling Card DP DID is 12345. Configure your Voxbone DID to call to:
12345@sip.server where sip.server is your server's IP or hostname.
NOTE: 12345 is an EXAMPLE! DO NOT CREATE 12345 as your DID - create a real one!
Make sure you have Voxbone configured properly in your system.
Create a User/Device.
In the Device's Call Flow, in the Before Call section, select Forward.
Enter the External Number to which you want to forward the call (make sure the number is
in E.164 format).
Assign your DID to this User/Device.
Now when a call comes to the DID, it will be forwarded to the External Number.
Video example how to forward DID to external number can be found here:
[http://wiki.kolmisoft.com/index.php/Forward_DID_to_External_Number]
Video example how to charge DID on a monthly basis can be found here:
[http://wiki.kolmisoft.com/index.php/How_to_charge_DID_on_a_monthly_basis]
Kolmisoft 2006-2013
297
For example, you have DID 37052058393 and the provider sends you 0037052058393. You need
to strip this international prefix with the following rule:
Kolmisoft 2006-2013
298
Special case: In some countries when E1 is connected to the server, only the four last digits of
the number reach MOR. Localization should be used here to add the remaining part of the
number.
DID Blocking
If a customer is not paying or you want to block calls to his DIDs for any other reason, go to the
DID window and Close DIDs which belong to this customer.
"Blocking" in the User EDIT menu will not block his DIDs. It will only block dialing, so that the user
will not be able to dial out.
Dial Plans
Dial Plan is the name for a specific functionality in MOR. Currently it has the following types:
Authorization by PIN
Authorization by ANI
Calling Card Dial Plan
Callback Dial Plan
IVR Dial Plan
Authorization by ANI + CallCard on one DID
You can find all dial plans in SETTINGS > Billing > DIDs > Dial Plans:
Kolmisoft 2006-2013
299
Authorization by PIN
Description
This function is for customers who can dial an access number and enter their device PIN number
in order to get a dial tone and enter a destination number. It is used in some countries to get
cheaper calls abroad.
The algorithm for the Authorization by PIN dial plan is seen in the following image:
Kolmisoft 2006-2013
300
IMPORTANT! Check the Use ANI? field otherwise it will create a different type of Dial Plan.
Ask Number/PIN (times) how many times the user can try to enter the PIN.
Ask destination (times) how many times the user can try to enter the destination.
Click on
to create this dial plan. The first step is complete we have created our dial plan:
Now we need to assign a DID to this Dial Plan. To do this, in the DIDs edit window we assign the
selected DID to the Dial Plan:
Kolmisoft 2006-2013
301
In the main DIDs window we see that this DID is now pointing to our dial plan:
That's it. Very simple. Now, dialing 37063042439, we reach our Dial Plan. Here we hear a message
that asks us to enter our device PIN. If the PIN is correct, we can dial the desired destination.
Save original CallerID into CallerID Name field
Sometimes the CallerID of the original Caller is changed by the CallerID set in MOR. To see the
real CallerID in CDR, it can be saved in the CallerID Name field.
Enable this setting if you want to save it:
See also
Dial Plans
Kolmisoft 2006-2013
302
Authorization by ANI
Authorization by Automatic Number Identification (ANI) is a variant of the Auth. by PIN method
that makes the system act in a different way. If you check the Use ANI? field in the Dial Plan
creation window, the user's CallerID will be checked automatically when he dials in, and he will
only be asked to enter his PIN if his CallerID is not found.
CallerIDs are entered for every device in Device Settings using the
icon.
Kolmisoft 2006-2013
303
All other details are the same as for Authorization by PIN dial plan, and the dial plan is created in
the same way. Just check Use ANI?:
Note the difference between Auth. by PIN and Auth. by ANI dial plans.
Assigning a DID is similar to Auth. by PIN method.
ATTENTION! Be careful because it is very easy to fake a CallerID.
Default device
Kolmisoft 2006-2013
304
End IVR
When making an authorization by PIN dial plan you must set and end IVR to it. You can change
the IVR by clicking
Edit.
Troubleshooting
If the system asks for a PIN to be entered
This occurs if the CallerID comes in a different format from that which is entered in the Device
CID. Use Last Calls to check it and Number Manipulation to fix it.
See also
Dial Plans
Kolmisoft 2006-2013
305
In this image, we see an existing Dial Plan for a Calling Card Group.
Let's review each field:
Kolmisoft 2006-2013
306
Assigned DID(s) just for informational purposes, to see which DID(s) are assigned to
this Dial Plan.
If Card balance is lower than - self explanatory.
Balance IVR - a Balance IVR will play.
When creating a new Dial Plan, you will need to enter the correct Number and PIN length values
of an existing Calling Card Group. Otherwise you will not be able to create the Dial Plan.
Kolmisoft 2006-2013
307
We click on the
We select our Dial Plan and click the confirmation icon to assign our Dial Plan to this DID:
Now the user can dial number 12026911622 (in the example) and he will be able to reach IVR
and use his Calling Card.
Options
Ask for Card data after callback
This option only applies to Calling Card Callback. You can ignore it if your Callback Dial Plan is
not for Calling Cards.
Kolmisoft 2006-2013
308
Mark it to ask for Calling Card Number/PIN only after system calls back to the caller who initiated
callback.
By default, the system asks for the caller to enter a Number/PIN at the point when he tries to
initiate the callback.
This function is useful when Providers check Destination and CallerID and block the call when
they match. For example, without this function it is not possible to use Callback in the Telus
Mobility network in USA/Canada.
Original CallerID for callback
Starting from MOR 10 you can enable setting to use an original CallerID. To do this:
1. Create a CallBack Dial Plan
2. Go to CallBack Dial Plan edit
Kolmisoft 2006-2013
309
310
Accounting
Accounting in MOR is implemented to keep track of all payment activity. It is also possible to
create various services, make subscriptions for them, and generate invoices for the clients.
Services
A Service is a product that can be sold to the client. There are various types of services. For
example:
Monthly fee.
Line rent.
Phone rent.
Internet plan.
Example:
You can create an unlimited number of Services. All of them can be found in SETTINGS >
Accounting > Services:
Kolmisoft 2006-2013
311
Service types
One time fee - user is charged only once for this service.
Flat-Rates - user is charged every month for this service and can dial a certain number of
minutes to certain destinations.
Selfcost
It allows you to include all your expenses to track the real profit correctly.
Example:
You have a subscription to charge your clients for internet connection by 10 EUR, but it cost 6
EUR for you. Client pays 10 EUR to you, but real profit is 4 EUR.
Selfcost functionality allows you to see a real profit in statistics.
Subscriptions
Users can subscribe for some services. When they do, they get a service Subscription. Service
Subscriptions can be found for each user in the Users main window by clicking the icon
for the
selected user:
Subscriptions can have a Memo (if you sell a DID, for example, you can make a note of its
number here). Subscriptions also has the important fields Activation start and Activation end.
Kolmisoft 2006-2013
312
This data interval will be billed in the invoice, but dates before and after this interval will not be
billed.
You can add/edit/delete subscriptions for the user.
It is not recommended to delete subscriptions, or the user will not be billed for that subscription.
If the user stops using a service, set the Activation end value to the date when he does so.
NOTE: A service is billed from Activation Start till Activation End, and from the start till the end of
the invoice period. The time period that fits within both the previous periods is the actual period
that will be billed.
Every month a subscription about all subscriptions made in the system during the month is sent
to admin. Also resellers' subscriptions are also sent to admin.
Example of email with subscriptions
Charging for subscriptions.
Date: 2012-5
1 User: Test User #1(101):
Service: Test_periodic_service - 10.0000
Service: Test_periodic_service - 10.0000
2 User: User Resellers(user_reseller):
Service: res_1 - 110.0000
Subscription calculation
Subscriptions are calculated by the following rules:
When a Subscription is assigned to a Prepaid user, the price for the first month is deducted
from the user's balance instantly (and an appropriate Payment with type = subscription is
created).
*If the Prepaid user does not have enough balance to cover this subscription, the
subscription fails.
Kolmisoft 2006-2013
313
When a Subscription is assigned to a Postpaid user, no changes are made to his balance
instantly.
Every month day 1, 00:10:00, an action is executed which performs the following calculations
(blocked users are skipped).
Prepaid users
For Prepaid users, the balance subtracts the Subscription price for this new month.
A New Payment is created, with type = 'Subscription', to mark the user's balance deduction (only
for Prepaid users).
If a Prepaid user's balance becomes negative, this user is blocked and receives a notification
email (as does his owner).
Allow prepaid users balance to drop below zero
SETTINGS -> Setup -> Settings -> Various -> Do not allow prepaid user balance drop
below zero
If this option is not enabled - then MOR allows user balance to drop below zero. If this option is
enabled - user is blocked when there is not enough money for a subscription - both user and
admin are informed about this by email.
Postpaid users
For Postpaid users, the balance subtracts the Subscription price for the previous month.
If the Postpaid user's balance + credit < 0, he is blocked and receives a notification email (as
does his owner).
Kolmisoft 2006-2013
314
Subscriptions scheme
Example 1: user balance is -4.00 USD, credit = 5.00 USD. Balance + credit = 1 USD, so user will
still be able to call.
Example 2: user balance is -4.00 USD, credit = 4.00 USD. Balance + credit = 0 USD, so user will
not be able call.
Credit can be changed in user details
Balance is an amount of money user already paid you, but have not been spent yet on
services you provide (can make calls using this money). Current user balance can be
checked in user details
Kolmisoft 2006-2013
315
Example
A user is postpaid.
On the first day of his first month
-$75 is for calls. Also, the user has to pay $475 for subscriptions.
The system calculates the subscription price and deducts $475 from his balance.
Invoices
Configuration
All settings for Invoices can be set in the Invoices section of the Configuration window.
Kolmisoft 2006-2013
316
Invoices can be viewed and created in SETTINGS > Accounting > Invoices. In the main
window, you can see all the invoices:
The icons
Click on the
and
Here you can view the details of all invoices and click on the
in PDF or CSV formats accordingly.
Kolmisoft 2006-2013
or
317
Invoice generation
In the main Invoices window, click
Select for which users to generate invoices. Prepaid and Postpaid users can have separate details.
Also, you can check to generate an invoice for only one particular user.
Kolmisoft 2006-2013
318
Invoice recalculation
An invoice cannot be modified after being sent. But if you want to allow recalculations after
sending invoices, go to: Settings -> Setup -> Settings. Then click on the tabs: Invoices ->
Functionality.
Kolmisoft 2006-2013
319
Recalculate invoices:
Kolmisoft 2006-2013
320
PDF invoices
The layout of PDF invoices is not customizable.
Logos are not supported in PDF invoices.
You can print your invoices on paper with a pre-printed logo if you want to send paper invoices.
Invoice comment
Sometimes it is useful to add a comment to the invoice:
Kolmisoft 2006-2013
321
Invoice language
Default language in MOR is English. However, you can send invoices in different languages (click
on the flag icon on the top of the page).
See also
Accounting
Invoice configuration
Pay Invoice with balance deduction
Invoice by CallerID
MOR API invoices
Cannot generate Invoice
Invoice configuration
In User's settings it is possible to configure some invoice settings for this user:
Kolmisoft 2006-2013
322
Generate Invoice
This option marks whether an Invoice for this user should be generated.
PDF/CSV Options
Here, checks decide what kind of invoices (as attachments) should be sent to users by email.
See also
Then in invoices (SETTINGS - Accounting - Invoices), we see an invoice for this user:
Kolmisoft 2006-2013
323
Click Details to see the invoice details. Check Create payment for completed invoice and click the
red cross icon above to mark the invoice as completed and paid:
In
user details, we see that the user's balance has decreased:
... and in Payments (SETTINGS - Accounting - Payments), we see that payment for invoice is
created:
Other notes
Note: if you want to revert all changes, it is enough to click the green check mark in Invoice
details. The user balance will be decreased, payment deleted, and the invoice marked as not
processed.
Kolmisoft 2006-2013
324
Invoice by CallerID
This type of invoice groups all calls by CallerID.
Only outgoing calls are included in this invoice.
It looks like this:
Client number: 37052058393
Number Date Duration Rate Price Destination
37063042439 2007-12-01 16:21:03 00:00:20 0.7597 0.2532 Lithuania
...
37068723423 2007-12-14 12:50:17 00:00:22 0.7597 0.2785 Lithuania
Lithuania 150.4886 LTL (Without TAX)
Total: 150.4886 LTL (Without TAX)
Client number: 37063042438
Number Date Duration Rate Price Destination
37068723423 2007-12-01 14:45:14 00:03:20 0.7597 2.5322 Lithuania
...
37065017476 2007-12-13 21:31:14 00:04:11 0.7597 3.1779 Lithuania
Lithuania 26.9805 LTL (Without TAX)
Total: 26.9805 LTL (Without TAX)
Monthly fee - test memo2 10.0000 LTL (Without TAX)
TOTAL TO PAY: 187.4692 LTL
Kolmisoft 2006-2013
325
Request
If a user has 'admin' rights, he will get ALL invoices from the selected period. If user has 'user'
rights, he will get only HIS invoices from the selected period.
HTML POST:
http://<SERVER
IP>/billing/api/invoices?u=username&p=password&from=1188604800&till=1191196799&lang=
en
Here:
from/till - time period for invoices in Unix Epoch Time format. Invoice's period start
should be >= from and period end <= till.
o http://www.epochconverter.com/ can help to convert time for testing.
lang - choose the language in which you want to get invoice details (mainly 'Calls').
Example result
<Invoices from="2007-09-01" till="2007-10-01">
<Invoice agreementnumber="0000000000" user_id="0" clientid="240887380">
<Product>
<Name>Monthly fee - test</Name>
<Quantity></Quantity>
<Price>10.0</Price>
<Date_added>2012.02.02</Date_added>
<Issue_date>2012.02.02</Issue_date>
</Product>
</Invoice>
<Invoice agreementnumber="0000000000" user_id="0" clientid="240887380">
<Product>
<Name>Calls</Name>
Kolmisoft 2006-2013
326
<Quantity>65</Quantity>
<Price>112.3324</Price>
<Issue_date>2010.01.01</Issue_date>
</Product>
</Invoice>
</Invoices>
Errors
<Error>user not found</Error>
<Error>no invoices found</Error>
Credit notes
About
We can say that Credit notes functionality is opposite to invoices. If "paid invoice" means that
users balance decreased then "paid credit note" means that users balance increased. Sometimes
due to various inaccuracies user pays more than he should. That is why this functionality useful to correct those inaccuracies by paying the money back to the user.
Kolmisoft 2006-2013
327
Issue day - by default it is the day credit note was created. But you can choose different date.
User - select a user from dropdown for which you are making this credit card.
Number - same as with invoices, you can enter any symbol or symbols here.
Price - enter price without tax you want to transfer to user.
Comment - your comment.
Click Create.
A user whom you made and paid a credit note will see this in his Payments:
Kolmisoft 2006-2013
328
Possible errors
Kolmisoft 2006-2013
329
Payments
Definition
A Payment is created when a user pays the system owner for some Service:
Kolmisoft 2006-2013
330
Manual payments
Sometimes customers send money through a bank or other means, or they might use some
online gateway not implemented in MOR. To handle such transactions, MOR has Manual
Payments.
When a user sends an amount to you as the owner, you need to enter this amount into MOR
using the Manual Payment window, which can be found in
SETTINGS > Accounting >
Payments > Add manual payment.
The first window lets you choose the user and enter the amount (with TAX) in the selected
currency:
Next, click Proceed to see the calculated values for this Payment:
Kolmisoft 2006-2013
331
Click Confirm to enter this payment, which can be seen in the Payments window:
By clicking
After payment is entered, the user's balance will increase and he will see the payment in his
Payment sections.s
The Administrator can delete this payment by the user. After it is deleted, the user's account will
decrease accordingly.
Use negative payment to remove money from a user's balance.
Initial balance
Initial balance is the balance that was added to user during its creation. Initial balance is valid for
registered users (via GUI or API), users created by admin and users created by reseller.
Initial balance lets you see user's primary balance without CLI.
See also
Accounting
Kolmisoft 2006-2013
332
Vouchers
What is vouchers?
Vouchers are used to fill the balance of a user. You can sell vouchers printed on paper, or sell
them over the Internet. When a user logs in and enters a voucher number, his balance will
increase by the value issued for this voucher.
All voucher configuration options are in the Vouchers section of the Configuration window.
You can view created vouchers in SETTINGS > Accounting > Vouchers:
Kolmisoft 2006-2013
333
This window show the status of the voucher. Active? shows whether we can use the voucher. All
other information is self-explanatory.
In order to add new vouchers, click
Add vouchers:
Here you can enter the necessary information to generate an array of vouchers.
The tag field is only used to mark a series of vouchers. It is just for informational purposes or for
easier search.
Click
Kolmisoft 2006-2013
334
2. Select tab vouchers and ensure that option Vouchers enabled is enabled.
When a user logs in, he sees vouchers icon on the main page:
He can click it and enter the voucher number. He can try up to X times, where X is set in
configuration menu. If he fails to enter the correct voucher number X times (the maximum
number he is allowed), he will not be allowed to enter the voucher number again for a set period
of time. The values for how many times he can try and for how long to disable attempts to enter
are configurable in the Configuration menu.
When the user enters a correct voucher number, his balance will increase, he will get a new
payment record, and this voucher will be marked as used.
335
Flat-Rates
Description
Flat-Rates means a service plan under which a Client can dial a number of minutes to certain
Destinations for a fixed amount. After the user has used all his flat-rate minutes, all additional
minutes are charged at the normal rate.
Setup
1.
2.
3.
4.
5.
Acknowledgments
Kolmisoft 2006-2013
336
Reporting
Active Calls
Description
In Quick Stats in the main window, it is possible to see Active Calls. These are the calls that are in
the system at the moment.
It is possible to click and open a new window with detailed Active Calls. You can get to this
window in STATISTICS > Calls > Active Calls.
In this window all active calls are presented with more details, such as Start Date, Duration, Src,
Dst.
In order to see the correct duration on multi-server systems, the time should be synchronized on
all of the servers.
It is possible to reset statistic by clicking the "Reset active calls information" button. As the text
next to the information icon says, it will not affect your calls in any way.
Kolmisoft 2006-2013
337
NOTE: local calls are not visible on MOR GUI, only calls to/from outside.
Kolmisoft 2006-2013
338
Users/Resellers will now be able to see an Active Calls selection in their Personal menus:
System requirements:
This functionality shows which codec is used and PDD for active calls in real time.
When call is in ringing stage when system shows information of Leg A.
When call is answered it shows information of codec used for LegA and LegB and call time.
Kolmisoft 2006-2013
339
Kolmisoft 2006-2013
340
Last Calls
STATISTICS > Calls > Last Calls shows the most recent calls in the system. It is used in
Troubleshooting.
Please note that when occurs a call where DID is involved it consists of two legs (call from DID to
MOR and call from MOR to Destination). They will be shown seperately in Last Calls list.
Search
Starting from MOR 9 a search bar was added for Last Calls statistics.
Kolmisoft 2006-2013
341
CSV
Using the "Export to CSV" icon you can export your currently displayed calls into CSV
PDF
Using the "Export to PDF" icon you can export your currently displayed calls into PDF
342
from UAS to destination another UAC (LEG B). Many call legs may be created depending on
routing rules and whether call to destination was succesfull. For instance:
1. User A dials user B
there we have one failed call and one call leg (LEG A - OK, LEG B - FAILED)
user B answers
there we have three call legs, two of them were bridged and we would say that there was
only one call which was connected.
If user A is interested only in calls made, information, about how many attempts were made to
call user B, has no interest for him. Majority of users will be interested only in call duration, who
terminated the call etc.
Kolmisoft 2006-2013
343
Hence this is how call information is represented in call statistics, trying not to overwhelm users
with too much technical details, only information about successful call is presented, ignoring
details about made call legs (FAILED or NOT, etc). Provided you want to check the information on
FAILED and connected call LEGS, you can use the Call Info page.
Users Calls
This report shows all the calls a user has made in a selected period. It is possible to export this list
to PDF or CSV format.
To find this report go to STATISTICS > Calls and click on
Kolmisoft 2006-2013
icon.
344
Users Finances
The Finances window lets you view a user's entire financial situation in one window. It can be
reached in STATISTICS > Finances:
DIDs Report
This page allows you to check how much profit each DID accumulated and how much you owe to
DID providers.
To find DIDs Report go toSTATISTICS -> Various -> DIDs -> Summary.
Kolmisoft 2006-2013
345
This window shows you loss making calls in the selected period. If you click on the user or
provider rate, you will go directly to the rate's edit window and be able to edit it.
Providers Statistics
You can reach this report in STATISTICS > Various > Providers. This report shows all
providers' statistics at once:
Kolmisoft 2006-2013
346
In the selected period, you can check various statistics about all the providers in your system. If
you click on a number in the Answered/No Answer/Busy/Failed columns, you will open a window
where these calls are listed.
While making a prefix search, if you want to see all prefixes starting with a certain combination,
you should enter % at the end. For example, if you want to see all prefixes starting with 37 you
will have to enter 37%. If you enter only 37 you will only see this prefix.
Kolmisoft 2006-2013
347
Providers Calls
1. Go to SETTINGS > Billing > Providers:
Here you can see all calls for the selected provider in the selected time period. You can change
the type of the call.
You can also export the selected calls to
Kolmisoft 2006-2013
PDF or
CSV format.
348
Aggregate
About
Aggregate statistics can be found here: STATISTICS -> Calls -> Aggregate
These statistics provide brief information about terminators and originators, ASR, ACD. Only calls
routed via Terminators are included. Every call made from every user to every different terminator
is in the statistic so there may be the same prefixes repeated if grouping by prefix is not selected.
Available details
If Destination is checked, the destination countries are shown in statistics sorted by prefix.
If Orig. Billed time is checked, show additional collum with originator billsec.
If Term. Billed time is checked, show additional collum with terminator billsec.
Kolmisoft 2006-2013
349
If Orig. and Term. are unchecked and Group by direction selected, calls are grouped by
country.
You can also search statistics by prefix. To see results at least one option Orig. or Term. of
Customer
must
be
checked.
Kolmisoft 2006-2013
350
First Activity
This window shows the User's First Call, if the call was made in the selected period.
NOTE: It does not necessarily show the first call the user made! It only shows the first call of the
user in the selected period. The first call of the user may have been made outside the selected
period. In that case, it will not be shown here.
Quick Stats
These stats are seen on the Main Page just after Login.
Kolmisoft 2006-2013
351
These are stats for all calls made in the system in this month.
Admin calls are counted same way as user calls, i.e. profit from then = user price - provider price.
Click on the Active Calls value to go to the Active Calls page for more details.
Kolmisoft 2006-2013
352
Other notes
If you have a big database quick stats might degrade your server performance. If you have
a big database it is recommended to hide quick stats.
Kolmisoft 2006-2013
353
These stats help to check and find how the server is loaded during a certain time period.
Direction:
Provider - a provider that was used to send calls, not receive them.
Kolmisoft 2006-2013
354
Calls by Source
Description
This window shows from which Destination calls have come.
NOTE: Unknown calls are calls for which the CallerID length is < 11 digits or for which the
number is invalid (does not match the E164 format).
Window is empty!
This happens when MOR cannot determine the destination calls have come from (for example,
when there are no correct CallerIDs).
MOR tries to determine the origin by CallerID. So, if we have calls like these in Last Calls:
Kolmisoft 2006-2013
355
See also
Last Calls
Login Stats
Login statistics can be viewed by the admin under STATISTICS > Calls and clicking the
It shows in which periods the User was logged into the MOR GUI.
Kolmisoft 2006-2013
356
icon.
Profit Stats
It is important to know at any moment what profit your system is generating for you.
The profit can be seen in STATISTICS > Finances > Profit:
All fields are self-explanatory. You can check your profit by period and by selected user.
The PDF report shows the same information.
Country Stats
This report shows calls by countries.
Kolmisoft 2006-2013
357
Kolmisoft 2006-2013
358
Troubleshooting
If rates does not seem right, check Destinations Groups because based on Prefixes included in
these Groups are accounted in this report.
You can find a demo for Google Maps at Google Maps integration wiki page
Go to Google.
Write your site in the text box below. Note that http://1.2.3.4 differs from
http://yoursite.com, so enter the hostname that you will use to access your site.
Press "Generate API key" and Google will give you your key.
Insert this key in SETTINGS > Setup > Settings > Google Maps > Key.
Click Save changes.
Kolmisoft 2006-2013
359
Balance in phone
Some phones and softphones support displaying your account balance on their screens.
For example, we will use iaxLite
[http://iaxtalk.com/index.php?main_page=product_info&cPath=6&products_id=7].
Download link [http://www.kolmisoft.com/packets/iaxlite_setup.zip]
In SETTINGS > Setup > Settings > Various > Allow devices to check balance over HTTP,
check to allow this functionality:
Log in as the user you want to check your balance:
Kolmisoft 2006-2013
360
Optionaly you can send api request and specify currency, valid values are USER, in that case
balance is returned in user's currency. And currency code(EUR, USD etc.)
HTML POST:
http://<SERVER_IP>/billing/api/simple_balance?id=UNIQUEHASH¤cy={USER|CURRENCY_C
ODE}
Kolmisoft 2006-2013
361
Kolmisoft 2006-2013
362
Global Settings
In SETTINGS > Setup > Settings > Privacy, it is possible to set Global settings for all Users
that will be used by default:
Kolmisoft 2006-2013
363
How it looks
When Destination is set to be hidden, it looks like this:
Troubleshooting
Action log
In this window you can check what actions were done on the system at which time and who did
what.
Action Name
User
login
Target
logout
shows
which
Data 1
Data 2
Data 3
Comment
from which IP
user
logged out
bad_login
entered
to log in
username/pass
from which IP
word
user_balance_chang
the
ed
balance changed
balance
previous
the
balance
warning_balance_se
which
nd
(Admin/reseller)
new
Shows
that
Admin
has
Kolmisoft 2006-2013
send
364
email_send
(Admin/reseller)
error
which
send
error, example:
error
happened
"Can't
description,
send
email"
example:
"getaddrinfo:
Name
or
service
not
known"
backup_created
shows
which
user
what
created a backup
was
backed up
return values: 0
- success, 1 error
device_created
shows
which
user
created a device
which
device it
is
device_pin_changed
shows
which
user
which
the
device it
is
device_secret_chang
shows
ed
changed
which
the
user
Device
secret
which
device it
is
device_voice_mail_p
shows
which
the
assword_changed
device it
voicemail
voicemail
voicemail password
is
did_assigned
which
user
old
password
password
user
which DID it is
which dialplan
which DID it is
shows
which
assigned a DID
did_closed
new
it is
a DID
did_created
shows
which
user
which DID it is
user
which DID it is
which DID it is
created a DID
did_deleted
shows
which
deleted a DID
did_edited
a DID
did_edit_provider
which DID it is
a DID provider
did_made_available
which provider
it is
which DID it is
which DID it is
which rate it is
user
which DID it is
which user it is
user
which dialplan it
a DID rate
did_reserved
shows
which
reserved DID
dp_created
shows
which
created a dialplan
dp_deleted
shows
which
is
user
deleted a dialplan
dp_edited
first_call
shows
which
which dialplan it
is
user
which dialplan it
changed a dialplan
is
a first call
invoice_deleted
hacking_attempt
shows
which
user
which
users
deleted invoice
invoice it was
which user
request URL
Kolmisoft 2006-2013
request remote
which
365
address
paramet
ers
logged
entering
direct
in
or
by
links
in
this
action
is
which user
payment status,
example :
"Payment
completed: 5.8
EUR"
SMS_callback
which user
which
SMS
SMS
example : "003"
status,
clicatell charge,
SMS
example :
charge
been received
"3.000"
status,
for
example
:
"0
user
balance
was not
charged
", or "1 user
balance
was
charged.
"
system_validated
Admin
tariff_import
shows
which
user
'Tariff_was_impo
imported tariff
user_created
shows
rted_from_CSV'.
which
user
created a user
which
user was
created
user_edited
shows
which
user
changed a user
which
user was
changed
user_tariff_changed
shows
which
user
changed a tariff
Device
send
asterisk
to
shows
created
user
name
user
which
device user ID
updated
device
which
/
which
device
Confline changed
shows
created
which
/
user
which
updated
device
device user ID
from MOR 11
device
Kolmisoft 2006-2013
366
User actions
By pressing the 'User Log' button in the User window:
As it is seen in the picture, you can mark all the actions as reviewed.
Call Tracing
Overview
This function is for checking the setup of MOR in order to be sure a user will be able to dial out.
To set MOR up isn't simple, but we are trying to make it easier with this manual and with
improvements to GUI. It often happens that users miss some important detail while trying to
make everything work. Call Tracing will save a lot of head-scratching, and we hope it will be
helpful for beginners.
Important! This function is for testing Dialing OUT. DID testing is not yet implemented.
Kolmisoft 2006-2013
367
This function can be found in SETTINGS > Billing > Function > Call Tracing. It can be
quickly accessed in the Users menu (SETTINGS Users) as well. Just click on the icon for a user.
In the first window, we have to select which user we want to check:
User testing
The next window shows us whether we have configured everything properly for the selected user.
Let's look at each section separately.
The first section shows information special to the user:
Here we see four errors that prevent the user from operating. Let's say we want to allow a user
to make calls. We will go through each of the errors and fix them.
1. This error tells us that the user is Blocked and so unable to make calls. We should go to User
Details and unblock him.
Kolmisoft 2006-2013
368
2. Balance and Credit for this user are empty, and the user type is Prepaid. That means he has no
funds to cover the call fees. There are several ways to go about fixing this:
If the user is postpaid, he should use some payment method to increase his balance.
PayPal and Manual Payment, among others, are good ways to do this.
We can change the user type to postpaid and then we should adjust his credit. Maybe it is
unlimited, maybe some limit exists. But this will allow the user to dial out.
3. We see that the user has assigned a tariff and a type of tariff. The type of tariff is just for
informational purposes. Here 'Explanation' tells us that Tariff is empty. That is the reason why the
user is not able to dial out. In addition, the user can dial out only to those destinations which
have rates. Currently none of them has. You need to add some rates to the existing tariff or
assign a non-empty tariff to this user.
4. The user has no devices. A Device is necessary in order to dial out. Just create one for this user.
After solving all these issues, we should see:
Kolmisoft 2006-2013
369
It tells us that the LCR we assigned to the user has no Providers. We should fix this. When at least
one Provider is in the LCR assigned to the User, we should see:
This error happens when all providers in LCR are disabled. We need to have at least one active
provider for the user to be able to dial out:
Another problem is that none of our active providers has any rates. We should add rates to the
provider's tariff. We can click directly on the Tariff to go to its rates and add some of them. After
that, we should see:
Kolmisoft 2006-2013
370
To summarize this whole section, you should check for and read the error descriptions. After
fixing the errors, you should see . That means the problem is solved and you can proceed. If at
the bottom of the page, you see:
... that means you still have unresolved issues. After all the issues are resolved, you should see:
When you see this green message, you know that your user is configured properly. He is not
blocked, he has enough money in his balance to pay for the call, his tariff has rates for some
destinations (so only these destinations are available to dial), and he has some devices to use for
dialing. Also, his LCR has active providers with tariffs that are not empty.
You can proceed.
Device testing
The following section lets us choose a device and a call date, and enter the destination we want
to test. For example:
This data means that we are testing a virtual call from device SIP/1004 to number 863042438 on
2009 August 26th 00:00.
Kolmisoft 2006-2013
371
When we click Press this button to continue, we will go to the next page and we will see
something like:
The Details section shows us just routine information. We already knew this information, so it is
not important.
If you see direction as Unknown, it means your number is not in E.164-compatible format. Edit
Localization rules to transform your number to E.164 number format.
The Localization section is much more important.
Here we see the device's Location and Applied rule, and the result after localization.
IMPORTANT! Software can't read a user's mind, so it can't know where a user is dialing.
This can be illustrated by this example:
A User dials 863042438. After Localization, we see that number is still 863042438 - which means
it's somewhere in China. But this is wrong, because the user dialed a Lithuanian number in local
format! What does this mean? It means that Localization is not configured properly. MOR can't
show you an error here because there's no way to tell whether it's okay or not.
You should decide for yourself. All MOR can do is show you all the information it can get from
the call, and it does that.
So in order to proceed with the example, we have to set a correct Localization rule for this
Kolmisoft 2006-2013
372
Now everything is okay. The localized destination is E.164 compatible. Now MOR understands
that it's Lithuania.
If we get the following window:
... it means we do not have rates or custom rates for the dialed destination. After adding them,
we should see:
This window also shows us that we do not have a custom rate for this destination. But it's enough
to have a simple rate for a destination to be able to dial out or vice versa.
Kolmisoft 2006-2013
373
We can see that our provider does not have a rate for this destination. After fixing it we should
see:
Conclusion
To summarize Call Tracing, it is very important to configure Localization properly.
You will see using Call Tracing what is happening and where the call is going.
When rates for user and provider are checked using localized destination, and when all data are
in place, there's no obstacle to prevent the call from being sent to the provider.
IMPORTANT! The green message at the end of Call Tracing does not mean the call will be
successful! It only means that MOR will send the call to the provider. The last table shows what
Kolmisoft 2006-2013
374
string it will send to the provider. Applied Provider Rule parameters (Cut and Add) are also visible
in the table.
MOR can't know whether the provider accepts your dial string or not. That depends on how you
configured Provider Rules. Call Tracing shows you the formatted number which is sent to the
provider, but you should decide whether or not it is correct.
If a call fails, check Users Calls or Providers Calls and check Hangupcause Codes to find the
reason.
Integrity Check
This window tests various properties of the billing system and tells where potential problems may
be.
It can be reached in SETTINGS > Setup > Integrity Check.
Kolmisoft 2006-2013
375
IMPORTANT: if you have Destinations not assigned to Destination Groups, your Detailed
Invoices will have incorrect call amounts!
Actions errors
Shows actions which requires attention and possibly changes in configuration. It reports about
issues such as unsent emails and suspicious activity on accounts. Click "Fix" to see the list.
Insecure devices
Shows a list of devices which have Dynamic IP and Insecure Invite options enabled. Such
combination allows to make call with incorrect device password.
See also
Destinations Groups
Kolmisoft 2006-2013
376
Hangupcause Codes
MOR application saves hangupcause codes (HGC in MOR terminology) to the database, so it is
easy to check what the error was and why the call failed.
These codes can be seen in the Calls window (Hangup Cause column) when selected to show
'All', 'Busy', 'No Answer', 'Failed' or 'Missed' calls.
MOR
specific
codes
Code Cause
221
200
222
201
User is blocked
223
202
Reseller is blocked
224
203
225
CallerID is banned
204
226
DID is free
205
227
206
server_id is not set in mor.conf file - this error code is not used
anymore
228
229
DID is reserved
207
230
208
231
209
232
210
233
211
234
Internal Loop
212
235
213
236
214
237
215
238
216
239
217
240
218
241
219
DID has reached call limit. No more calls allowed to this DID
242
220
Kolmisoft 2006-2013
377
ISDN code
SIP code
208
34
210
34
211
34
212
34
213
34
214
34
215
34
216
34
219
34
220
34
221
34
222
34
223
34
226
229
233
66
403 Forbidden
199 ( >=200 )
See also
Hangupcause Sounds
H323 hangupcause codes
SIP Error Codes
Kolmisoft 2006-2013
378
Hangupcause Sounds
Description
MOR returns error codes when a call fails.
The codes are written in Asterisk CLI. The codes are visible in the Call List near each call.
To make it even simpler, MOR can play associated audio when some error happens. To enable
the audio, make play_hgc_audio = 1 in mor.conf and restart Asterisk.
If this setting is equal to 2, then sound files will be played for ALL error codes (sound files for
these error codes are not included into MOR) (This option is available starting from MOR 10.)
This setting is available to help new users start with MOR and get instant feedback about failed
calls.
Sound files are stored in /var/lib/asterisk/sounds/mor/hgc.
IMPORTANT! For production use this setting should be disabled, because a call has to be
answered in order to play these sounds and the dialer has to pay for the call.
How to disable
In order to disable these audio prompts in mor.conf set:
play_hgc_audio = 0
and restart Asterisk.
To check whether this setting is disabled, you can enter in Asterisk CLI:
mor show status
It should show as disabled:
CLI> mor show status
MOR billing and Routing application status
Version: 8.1.10
Kolmisoft 2006-2013
379
Server ID: 1
Active calls now/limit: 0/1000
Global call timeout: 7200 s
Use LCR Partials: 1
Check banned CLIs: 1
Use Speed Dials: 1
>>> Play HGC Audio: 0 <<<
Use Flat-Rates: 1
How to change
Sound files are stored in /var/lib/asterisk/sounds/mor/hgc. Overwrite them with sound files
(converted to Asterisk readable format).
See also
Hangupcause Codes
H323 hangupcause codes
I do not want to hear an error message at the end of the call
Kolmisoft 2006-2013
380
Call Info
This window gives detailed info about the call.
It can be accessed from various pages by clicking on the icon
Kolmisoft 2006-2013
381
Kolmisoft 2006-2013
382
Call Log
See also
Kolmisoft 2006-2013
383
When it is checked and the Device Type is SIP, then in Asterisk CLI you can see something like:
In GUI, hold the mouse pointer over the special icon for this call to see the same info:
Asterisk CLI
You can see all call progress on Asterisk CLI (command line interface).
To login to Asterisk CLI you need:
1. SSH to your Asterisk server as root
2. Type:
asterisk -vvvvvvvvvR
That's it.
Now you will see all call progress on the screen.
To leave Asterisk CLI type exit and press ENTER
Kolmisoft 2006-2013
384
See also
385
The most important part is in BOLD, and in this example it is: 32733]
NOTE: First brackets are not included! This is very important!
7. Now do:
cat messages | grep 32733]
... and you will get output of your call.
Kolmisoft 2006-2013
386
Other symptoms
In Asterisk CLI you can find such messages:
app_mor_authentication.c: User not found by accountcode.
Maintenance
How to restart Asterisk server
You should never restart it. That would be perfect.
But there are situations when you need to do it no matter what.
If you restart/shutdown your Asterisk server when there are active calls going:
1. Users will be disconnected and will not feel very happy about your service;
2. You will lose money on the active calls, because provider will charge you for these calls
but you will not be able to charge your users because calls will not be in database.
Kolmisoft 2006-2013
387
Testing
VoIP Bandwidth Calculator
What is a VoIP Bandwidth Calculator?
VoIP Bandwidth Calculator is a tool which helps you determine the bandwidth you will need
depending on codecs, protocols other factors you will be using.
http://telconassociates.com/voip-bandwidth-calculator.html
http://www.voipcalculator.com/calculator/lipb/
http://www.asteriskguru.com/tools/bandwidth_calculator.php
Kolmisoft 2006-2013
388
Payment gateways
PayPal
WARNING
Kolmisoft 2006-2013
389
User pays transfer fee - if selected the will pay the transfer fee.
Minimal amount - minimal amount of money the user is allowed to transfer you.
Maximum amount - maximum amount of money the user is allowed to transfer you.
PayPal custom redirect - set return address after successful payment. If not set, system
will use http://YOUR_SERVER_ADDRESS/billing/payments/personal_payments
Kolmisoft 2006-2013
390
Return URL on successful payment - redirect user to this page after a successful
payment.
Return URL on canceled payment - redirect user to this page after a canceled payment.
Details
A user can pay for services or increase his balance using PayPal. MOR is fully integrated into
PayPal and does not need any manual intervention from an
administrator.
All PayPal options can be set in the Configuration menu of the PayPal section.
Kolmisoft 2006-2013
391
The PayPal payment option can be reached by clicking on the PayPal picture in the main entry
window:
When the user clicks on this image, he will be able to enter the amount he wishes to pay:
Note the minimum value which can be set in Configuration menu. If the user enters a lower
value, he will not be able to proceed.
After clicking on Confirm, he gets another window which shows him how much he will pay:
After pressing on Pay, he goes to the PayPal webpage, where he enters his account details and
confirm the transfer.
After PayPal completes the transfer, the user gets back to the MOR interface. Now, under his
payments he will see a PayPal payment with a Status regarding his payment.
There are many reasons why a PayPal payment may not be completed. To make these reasons
clear, all this information is presented on the Payments page.
Some possible reasons for a PayPal payment not being completed:
echeck: The payment is pending because it was made by an eCheck that has not yet
cleared.
Kolmisoft 2006-2013
392
intl: The payment is pending because the seller holds a non-U.S. account and does not
have a withdrawal mechanism. Seller must manually accept or deny this payment.
multi-currency: Seller does not have a balance in the currency sent. Seller must manually
accept or deny this payment.
unilateral: The payment is pending because it was made to an email address that is not
yet registered or confirmed.
upgrade: The payment is pending because it was made via a credit card and seller must
upgrade his account to Business or Premier status in order to receive the funds.
verify: The payment is pending because seller is not yet verified. Seller must verify his
account before he can accept this payment.
other: The payment is pending for a reason other than those listed above. For more
information, contact PayPal Customer Service.
Denied: Seller refused to accept this payment.
When payment is completed, the user's balance will increase by the value (without TAX) he paid
by PayPal.
This integration makes possible a fully autonomous system in which a user can register online,
pay using PayPal, configure his device and dial instantly WITHOUT any intervention from the
system administrator.
ATTENTION for PayPal to work, your server should have a real IP and should be reachable from
the internet.
Resellers
Each reseller can enter his own PayPal address.
If you change PayPal as System Administrator, the new Reseller will have same the PayPal address
upon creation. He is able to change this address later.
Question:
What kind of PayPal account is needed to interwork with MOR?
Paypal offers two account types: a Business Account and a Web Account.
Answer:
Both types appear to work with MOR. I can verify that a business account works 100%.
You can create a Web account and try it with MOR. If it doesn't work, it can be upgraded free to a
Business account.
Kolmisoft 2006-2013
393
Notes
Testing mode
If you get a message such as this when trying to use PayPal:
Please login to use the PayPal Sandbox features.
it means you are using PayPal in Testing mode. Turn it off in SETTINGS -> Setup -> Settings ->
Payments -> PayPal:
Kolmisoft 2006-2013
394
Webmoney
Description
This payment gateway is popular in Russia and neighboring countries. Now MOR users can use
http://www.webmoney.ru/ to pay for services.
MOR configuration
Kolmisoft 2006-2013
395
Enabled: check this if you want to enable Webmoney for new signups and existing
accounts.
WebMoney purse: your purse ID consisting of a letter and twelve digits.
WebMoney currency: currency for WebMoney.
Default Amount: default amount.
Min. Amount: minimum allowed transfer amount.
Test: check this if you want to test your online Webmoney transactions.
WebMoney SIM MODE: testing mode.
WebMoney Secret Key: an optional set of symbols which you entered when setting your
purse. Make sure you have the same key in your WebMoney account.
Skip Prerequest: this option skips additional prerequest from WebMoney.
WebMoney logic requires it to prerequest payment before it sends final confirmation about a
successful (or failed) payment.
Sometimes WebMoney does not send any information in a prerequest. To avoid this situation,
this setting can be checked to complete payment.
It is against WebMoney rules and policy. Security level is decreased! USE IT AT YOUR OWN
RISK!
Webmoney configuration
Make sure in your WebMoney account that you choose MD5 hash encoding. (Do not use SIGN
encoding).
Kolmisoft 2006-2013
396
Below is an example of how to configure your Merchant gateway (click on the picture to enlarge
it):
Technical details
Technical details for implementation: https://merchant.webmoney.ru/conf/guide.asp
Troubleshooting
If payment is not processed, check for an error in your Webmoney Keeper.
Kolmisoft 2006-2013
397
http://ouroboros.hr/index.php?home_en
Kolmisoft 2006-2013
398
Cyberplat
Kolmisoft 2006-2013
399
Default amount amount to show for customer when he tries to enter payment. User
can change this amount.
Minimal amount the minimum amount a user can send you.
Transaction Fee - a transaction fee that user pays for a transaction
Shop IP - a shop IP
Other functionality
IVR system
This system makes it possible to configure advanced IVR (Interactive Voice Response) systems.
Kolmisoft 2006-2013
400
Definitions
Voices a set of audio files, such as male/female recordings, that together form a "voice"
for the same IVR.
Time Periods a start date/time and end date/time that describe a time period.
IVR a set of IVR blocks.
o Blocks a part of IVR in which the caller can take some action (press a buttonextension, listen to a recording, etc). Basically block in IVR is "set of rules".
o Extensions possible button presses (0-9, *, # and some other special cases).
o Actions what action the system should take when a new Block is reached.
Setup logic
Create Voice
o Record and upload the necessary sound files to Voice.
Create Time Period(s).
Create IVR.
o Create and configure Block(s).
Create the IVR Dial Plan.
Assign this IVR Dial Plan to a DID.
Call this DID to test it.
IVR Voices
SETTINGS -> Setup -> IVR -> Voices
Here it is possible to create several Voices. A Voice consists of a set of sound files. Usually all the
sound files in one Voice are recorded by one person to keep the sound consistent.
Multiple operations can be performed with Voices:
Kolmisoft 2006-2013
401
Time Periods
SETTINGS -> Setup -> IVR -> Time Periods
Here time periods can be set. Time period defines the exact time period IVR will be active. There
is a limit of three periods in Dial Plan. There is a fourth period, but it only consists of all the
remaining time that is not covered by the previous three periods.
IVR Structure
The main part of IVR is Blocks. The whole of IVR is a set of Blocks. A Block can be considered as a
part of IVR logic where a caller can take some action.
Extension is what the user does presses a button (0-9, *, #), waits (Timeout), or presses any
non-described extension which can be described as an Invalid Extension. We explain this in
detail later.
Actions are actions which will be activated when the caller comes to a Block.
Kolmisoft 2006-2013
402
Example
For example, here is a simple IVR:
A caller calls a DID and IVR answers with a recording: "Thank you for calling SOME
COMPANY. For sales press 1, for management press 2, to speak to a consultant please
hold or press 3."
Here we have only one block: the user listens to the recording and can take some Action -> press
some button (Extension) or wait (Wait is also Extension but is special - it is called Timeout).
If the user presses something different than 1, 2 or 3, the message will be played again. This is
called an Invalid Extension, or (i) for short.
To summarize, we have the following situation:
1 Block.
Extensions: 1, 2, 3, t (timeout), i (invalid).
Actions: call to sales, call to management, call to a consultant, play recording again.
This example is to illustrate the main IVR building parts. We will show how they operate together
to build a working IVR.
Extensions
Extensions are button presses on the dialpad: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, * and # and two special
extensions:
The 'i' (invalid) extension in the previous example could be triggered when buttons 4, 5, 6, 7, 8, 9,
0, *, # are pressed, because only 1, 2 and 3 are described.
Kolmisoft 2006-2013
403
Actions
An Action is some (yes...) action which is executed when a new Block is reached.
Possible Actions:
Timeouts
Timeout digits
The maximum amount of time permitted between digits when the user is typing in an extension.
When this timeout expires after the user has started to type in an extension, the extension will be
considered complete, and will be interpreted. Note that if an extension typed in is valid, it will not
have to timeout to be tested, so typically at the expiry of this timeout, the extension will be
considered invalid (and thus control would be passed to the 'i' extension, or if none exists the call
would be terminated). The default timeout (in MOR IVR) is 3 seconds.
Timeout Response
The maximum amount of time permitted after falling through a series of priorities for a channel
in which the user may begin typing an extension. If the user does not begin typing an extension
in this amount of time, control will pass to the 't' extension if one exists, or if none exists, the call
would be terminated. Once the user begins to type an extension, Asterisk will wait for digit
timeout to be reached, and response timeout has no effect. The default timeout (in MOR IVR) is
10 seconds.
Kolmisoft 2006-2013
404
Deleting IVR
If an IVR is not assigned to any Dial Plan, you can delete the IVR by clicking the icon
near an IVR in the IVR menu.
If the IVR is assigned to a Dial Plan, you need to unassign the IVR from the Dial Plan to be
able to delete it.
Setup Hints/Tips
If you want to play a sound file, make sure you have set the correct Voice. By default,
Voice = 'en'. If you have uploaded a sound file for a different Voice, select it before
playing your Sound File:
Limitations
Currently it is not possible to record calls for a device which is accessed from IVR. For
example, if calls go like this: IVR -> Device, and device has option to record calls for this
device, these calls will not be recorded.
Kolmisoft 2006-2013
405
We need to have a Calling Card Dial Plan already created to proceed (check the main guide for
how to do this).
Steps
We need to take the following steps:
1. Create a Voice.
2. Upload a Sound file to this Voice (e.g. a greeting).
3. Create a Time Period in which our IVR will be active (we will make it active all the time in
this example).
4. Create the IVR. The IVR should:
1. Wait 2 seconds for a call to be established.
2. Change the language/Voice to 'zn' - e.g. Chinese.
3. Play the greeting.
4. Transfer the call to the Calling Card Dial Plan (through DID).
Logic
The main logic of this example is the following:
User dials into IVR Dial Plan DID (we will use 111 for this example).
DID 111 forwards to IVR Dial Plan.
IVR Dial Plan plays greeting.
IVR forwards to Calling Card Dial Plan DID (we will use 222 for this example).
DID 222 forwards to Calling Card Dial Plan.
Calling Card Dial Plan executes with normal Calling Card logic.
Note that DID 222 is a middle DID used for inner routing. It can be fake. DID 111 should be real,
so that real calls can come to it.
Video
Video at [http://wiki.kolmisoft.com/index.php/IVR_for_Calling_Cards] demonstrates the whole
setup process:
Kolmisoft 2006-2013
406
Setting
Go to DID's settings and add sound file which was previously uploaded in IVR-Voices section:
PBX Functions
Tell balance
This function allows one to hear the balance of the account. The account holder can be a user or
card.
Kolmisoft 2006-2013
407
Milliwatt
Generate a Constant 1000Hz tone at 0dbm (mu-law) - good for testing line quality for losspackets.
More info about Milliwatt:
[http://www.voip-info.org/wiki/index.php?page=Asterisk%20cmd%20Milliwatt]
Use Voucher
This function allows one to enter a voucher number over the phone to top up the user's balance.
Dial Local
This function allows one to dial a local extension.
Most often it is used to allow one to reach local users by dialing DID from outside.
More info in Dial Local page.
DTMF Test
System will ask you to enter a destination and press #. After that, it will tell you what you entered.
If the system asks you again to enter the destination WITHOUT first telling you what you entered,
you have problems with DTMF.
Kolmisoft 2006-2013
408
Check VoiceMail
Allows to check VoiceMail over DID.
Card TopUp
This functionality allows to increase Calling Card A balance with Calling Card B money. Card B
balance become 0. This is done by using IVR when press 5 and entering Card B PIN. To activate
this functionality choose first END IVR type in Calling Card Dial Plan.
Information from GUI
Calling Card owner can see when Card A was increased with Card B balance and what amount
was added to Card A from Card B. This information is visible in STATISTICS => Action log.
Voicemail
Description
Voicemail (or voice mail, voice-mail, vmail or VMS, sometimes called messagebank) is a
centralized system of managing telephone messages for a large group of people. The term is also
used more broadly, to denote any system of conveying voice messages, including the answering
machine. (http://en.wikipedia.org/wiki/Voicemail)
Voicemail is automatically sent to a user's email if the email address is specified in the device
details.
An audio recording in WAV format is attached to the email.
Kolmisoft 2006-2013
409
Configuration
This section can be found in SETTINGS > Billing > DIDs > PBX Functions > VoiceMail:
VoiceMail Extension (local) - describes which local extensions a local user can dial to
retrieve his voicemail (the system will ask him to enter his voicemail password, which can
be set in the device's details).
Kolmisoft 2006-2013
410
If you want to setup VoiceMail (VM) on a different server, then the following settings are
important:
VoiceMail Server active - turns VM server on/off. When on, all VM requests will go to
distant VM server; when off, VM will be handled locally on Asterisk.
VoiceMail Server connection/device - describes connection to VM server.
VoiceMail Retrieve Extension (local) - which extension to dial on a distant VM server to
retrieve voicemail for an extension.
Example:
Let's say we have our server on IP 23.45.67.89 connected with SIP to our Asterisk.
We create a separate user/device (vm_device) to describe this connection. Device's type is
SIP, IP = 23.45.67.89; set other settings also (codecs/etc).
VoiceMail Retrieve Extension (local) = 999.
411
[incoming]
# to retrieve VM
exten => _999#.,1,VoiceMailMain(${EXTEN:4})
exten => _999#.,2,Hangup
# to record VM
exten => _X.,1,VoiceMail(${EXTEN})
exten => _X.,2,Hangup
FROM string
To change the Voicemail email sending FROM field, edit the /etc/asterisk/voicemail.conf file line:
;fromstring=The Asterisk PBX
to:
fromstring=SOME OTHER LINE
... and reload Asterisk.
serveremail
This setting can be used to identify the source of a voicemail notification message.
;serveremail=asterisk
to:
serveremail=SOME OTHER LINE
Kolmisoft 2006-2013
412
OR:
;serveremail=asterisk@linux-support.net
to
serveremail=YOUR COMPANY@YOUR COMPANY.net
... and reload Asterisk.
Leave only one of those settings, not both.
Change UNAVAILABLE message
Dial Voicemail access number (default *97) and press 01; then, after the signal, dictate your
UNAVAILABLE message.
In telephony, a Message Waiting Indicator (MWI) is a telephone calling feature that illuminates a
LED on selected telephones to notify a user of waiting voicemail messages. It works on most
telephone networks and PBXs. (Wikipedia
[http://en.wikipedia.org/wiki/Message-waiting_indicator]).
Most phones support this feature.
See also
Kolmisoft 2006-2013
413
Dial Local
Description
This function allows one to dial a local extension.
Most often it is used to allow one to reach local users by dialing DID from outside.
Configuration
Video how to create PBX Function "Dial Local" and assign it to a DID:
If you want to play some audio before entering the local extension, assign such DID to IVR (which
plays the necessary audio).
Video on how to do this (ALL ACTIONS IN THE FIRST VIDEO MUST ALREADY BE DONE
BEFORE STARTING ON THIS VIDEO!):
Now, when DID 22222 is dialed, audio will be played asking for the local extension to be entered.
NOTE: DIDs 11111 and 22222 are just for demo purposes - instead of 22222, use a real DID. You
can use Fake DID 11111 if you will not be using it directly.
Checking
DIDs in example 11111 and 22222 are JUST for DEMO purposes! Use your own correct
DIDs!
For this configuration you will need two DIDs. One of them can be fake (11111 in our example),
and the other should be real (22222 in our example).
If you do configuration following the instructions in the videos and it fails to work, the first thing
to do is to call your primary DID (11111 in our example) and see if you end up in your IVR, where
you can enter the local extension.
Kolmisoft 2006-2013
414
If you can - then you made a mistake in following the second video.
If you can not - you made a mistake in following the first video (at least).
Kolmisoft 2006-2013
415
Kolmisoft 2006-2013
416
In the last picture, 't' and 'i' actions forward back to IVR, which means that if the user presses
anything in IVR, he will be routed back to IVR to retry.
In other words, the user needs to hear the whole recording before he can start entering the local
extension.
Kolmisoft 2006-2013
417
Troubleshooting
If all else fails, check Asterisk CLI
If you see something like this:
-- Executing Dial("Local/*99@mor_local-05df,2", "SIP/1007|60")
[Oct 9 12:54:13] WARNING[5605]: app_dial.c:1196 dial_exec_full: Unable to create channel of type
'SIP' (cause 3 - No route to destination)
== Everyone is busy/congested at this time (1:0/0/1)
... this means that the device which you dialed (1007 in our example) is offline and cannot be
reached. This is not an IVR problem. Make sure the device is registered to Asterisk, or dial
another device.
Kolmisoft 2006-2013
418
In this file you can basically configure any function that Asterisk supports to handle your call, like:
Queues [http://www.voip-info.org/wiki/view/Asterisk+call+queues]
Custom dial plans [http://www.voip-info.org/wiki/view/Asterisk+howto+dial+plan]
And many others [http://www.voip-info.org/wiki/view/Asterisk#HowtosandTutorials]
2. When creating a PBX function select the marked option 'External DID':
Kolmisoft 2006-2013
419
Ring-Groups
About
A ring group acts like any other Asterisk extension number except it rings a collection of Asterisk
extensions which you specify. If you dial a ring group number, it will ring all of the Asterisk
extensions associated with that ring group.
Ringall
Kolmisoft 2006-2013
420
Ring Group name: enter your Ring Group name here, for example "Sales ring group";
Comment: (optional) enter your Ring Group description, for example "This is my Sales Ring
group";
This Ring Group will be reached by such local extension: Enter an extension, that will be used
to dial this ring group
locally. Remember not to duplicate your extensions!;
Ring Time (how long device will ring): Define how many seconds to ring the group of devices
(default is 60 seconds);
Options to use when dialing (Advanced): !!!ATTENTION!!! Do not use this field if you are not
sure what you are doing.
This field allows you to enter more advanced Dialing options. More information can be
found here: [http://www.voip-info.org/wiki/view/Asterisk+cmd+Dial#Dialmacros]
Dialing Strategy: Choose the ring strategy from the drop down list;
CallerID Prefix: Define what callerID prefix should be added for the incoming call. For example, if
your ring group is used for sales department, you can add a "sales" CallerID name;
Route to DID if No Answer: Search for a DID number from the auto-complete list, to which
route the call if none of the ring group devices answer the call. DID must be assigned to device or
dialplan to be displayed in this list.
Kolmisoft 2006-2013
421
from a drop down menu that will be used to call this Ring Group;
Will ring these devices: Click on the
Kolmisoft 2006-2013
422
After you have successfully completed the configuration, you should see a similar result on the
right hand side on the window (This is ONLY an example!!):
Fax2Email
Definition
This feature allows the user to receive a normal fax and get it to email in PDF format. The
following image shows the common implementation of the Fax2Email functionality:
NOTE: Fax over VoIP does not work reliably and should only be used for testing purposes.
Kolmisoft 2006-2013
423
Setup
In order to start using this feature, Fax enabled should be selected in in SETTINGS >
Functionality > Fax enabled.
When it's enabled, you need to create a device and make it FAX type. This can be done in Device
Settings:
When a device's type is FAX, it is marked as a FAX device everywhere with the icon
Kolmisoft 2006-2013
424
The first method is very easy to implement you just need to assign the FAX device to a DID:
When you want to do fax-detection, you need to set this in a device's Call Flow. In the Before Call
state:
Here, when a call comes, the system will try to decide whether it is a fax. If it decides that it is, the
call is routed to the FAX device and sent to the appropriate email addresses. If the call is a simple
call, it is sent to an IAX2/101 device.
Kolmisoft 2006-2013
425
For received faxes and various statistics, check Fax statistics in the STATISTICS -> Various ->
Faxes section:
Stats
This report show all information about faxes received (or not received). It can be found in
STATISTICS > Various > Faxes:
All users are visible here. A fax can have three states:
Received everything okay with this fax. It's been received and sent to the appropriate
email addresses.
Corrupted the fax has been received but is corrupted. It cannot be to sent to an email
address.
Mistaken this was simple call to a fax number, not a fax.
Kolmisoft 2006-2013
426
You can click on a number for each state to get a list of these faxes:
Clicking on
See also
PhoneBook
When is PhoneBook applied?
PhoneBook is applied when user call is authenticated. This means you have to use either
Authentication by PIN or ANI dial plan if call comes from outside.
Purpose
PhoneBook has several purposes:
1. If it recognizes the Caller, PhoneBook changes the CallerID Name.
2. Speed Dials are configured in PhoneBook.
Definitions
Kolmisoft 2006-2013
427
A User's Simple PhoneBook has higher priority than Global PhoneBook. If a record is
found in both the Simple and the Global PhoneBook, the record from the Simple
PhoneBook will be used.
Global PhoneBook
This PhoneBook is managed by System Admin and is applicable to all system Users (e.g. Global).
A good use for it is to create some short numbers for Users to call for Support/Emergency/etc.
The Speed Dial feature is explained Speed dials for users page at wiki.
Simple PhoneBook
Each user has his own Simple PhoneBook, which has higher priority than Global PhoneBook. For
example, if records from Simple PhoneBook match those of Global PhoneBook, the record from
Simple PhoneBook will be used. (Again, in other words - the user can overwrite the System
Admin's PhoneBook record.)
Kolmisoft 2006-2013
428
NOTE: Record '22'. It is Global - that is, created by System Admin. A User can use it, but he can't
manage it.
The Speed Dial feature is explained Speed dials for users page at wiki.
Speed Dials
This functionality lets the user enter a short number (Speed Dial) which transforms into an actual
long number. For example, if the user dials '11', the system will transform this to a full number
such as 37063042438. It saves the user time by allowing him to avoid dialing long numbers.
Speed Dials can't be equal to extensions of local devices. If they are, they are ignored and local
devices are dialed instead.
Speed Dials can point to DIDs.
Kolmisoft 2006-2013
429
Speed Dials are applicable for both Users and Calling Cards. For example, Speed Dials are active
for the following dialing types:
Kolmisoft 2006-2013
430
Backup system
The backup system backs up the MOR database and allows it to be restored at any time.
The backup system can be configured in Settings:
If Run Backup according below schedule is checked, the following settings become active:
Kolmisoft 2006-2013
431
Now in Settings -> Backups, we can click New Backup to create a new Manual Backup:
Enter any comment and click on Create to create the Manual Backup:
You can download the backup by clicking the Download icon or restore the backup by clicking
the Restore icon:
When Scheduler (which runs every hour) makes an auto backup, it is seen as type = auto in the
backups list:
Kolmisoft 2006-2013
432
Data import
User/Device/DID/CLI import
You must import the data in the following order from CSV files:
1. Users data.
2. Devices data.
3. DIDs data.
Import Devices from CSV link is disabled while Users data is not imported. Import DIDs from
CSV link is disabled while Devices data is not imported.
CLIs data can be imported for already existing Devices by Device ID or for just imported Devices
by Temporary Device ID (which is in SETTINGS -> Users -> Import).
Kolmisoft 2006-2013
433
Kolmisoft 2006-2013
434
CDR Import
Configuration
In Configuration, make sure you select the correct options for these values:
If the settings do not match your CSV file, you will not be able to import CDRs.
Kolmisoft 2006-2013
435
Import
Sometimes MOR can be used as separate billing software (that is, other than for real-time billing).
When using MOR as separate billing software, it is possible to import CDRs from other switches
(they need not be Asterisk) and bill these CDRs.
CDR Import can be found in SETTINGS > Billing > CDR > Import.
The first step is to select a CSV file to import:
Kolmisoft 2006-2013
436
Next you will have to assign columns to CDR values. In step 2, you can see the necessary fields to
select. They are marked by a star (*). Without selecting at least one field marked by *, you will not
be able to continue the import process. Select the appropriate settings and click Assign Columns:
In step 2, you can see the necessary fields to select. They are marked by a star (*). You can select
to enter Date/Time in one line OR Date AND Time in separate lines. Without selecting at least
one field marked by *, you will not be able to continue the import process.
Select the appropriate settings and click Assign Columns:
Here you will be presented with a parsed file. If something is not right, click Back. If it's okay, click
Confirm columns:
Kolmisoft 2006-2013
437
Here we select the User to which we want to assign all these calls.
Next you will have to assign columns to CDR values. In step 2, you can see the necessary fields to
select. They are marked by a star (*). Without selecting at least one field marked by *, you will not
be able to continue the import process. Select the appropriate settings and click Assign
Columns:
Here you will be presented with a parsed file. If something is not right, click the Back button. If
it's okay, click Confirm columns:
Kolmisoft 2006-2013
438
Here you can choose method which should be used to assign calls to device:
Select provider - allows to assign calls to certain provider. You will not see this option if you
selected provider ID in step 2.
Import by user - allows to assign calls to one user.
Select user - user and device should be chosen here, when Import by user is selected.
Import by CallerID - allows to automatically assign calls to users by CallerID. It
checks CLIs on Device settings. If CLI matches with CallerID call is assigned to this Device.
Create CallerID - creates list of all CallerIDs on CDR file and allows to assign CallerIDs to
Devices. It creates new CLIs.
When you choose to import provider ID in step 2, you can select Provider in step 6, but this is
optional. This column will not be visible if you are not importing provider's ID.
Kolmisoft 2006-2013
439
Export
You can export CDR in either the PDF or the CSV format. This can be done in the Call Stats page
(STATISTICS > Calls) and other places where you see:
Export to PDF
Export to CSV
Just cick on one of these links and you will get CDR in the selected period.
Calls to DIDs
Calls to DIDs are billed as for calls to normal numbers.
Calls to DIDs which belong to the caller are not billed at all (Price = 0).
CDR Rerating
Description
This function is used when you edited rate for some customer and you want to recalculate price
for his calls in the past. You need to select user, period and system recalculates all prices for all
calls in selected period for selected user. The rating mechanism is the same as in MOR
application but here rating is done by GUI. Be patient if there are many calls it can take some
time to rerate all of them.
Kolmisoft 2006-2013
440
You can reach Rerating in: SETTINGS > Billing > CDR > Rerating:
Select date interval and user which calls you want to rerate and press Proceed:
Here you see call stats for selected date interval. Also you can save old data in PDF or CSV
formats. When you are sure everything is correct press Rerate:
Kolmisoft 2006-2013
441
Testing mode
You can check
Other notes
Re-rate does not take into account flat rates and user will be charged for such calls. Do
not do rerating for such user.
Re-rate does not work when call's DID, LCR or Owner Device is changed by Localization
rules.
Re-rate does not work for reseller users calls and reseller when you try to rerate the
reseller account only. You can re-rate one user at a time, for example if the reseller made
calls through his/hers account which is created by admin.
Online registration
This function lets a user register online. It can be accessed in MOR's entry page by clicking on:
If you are new user you can signup here.
Kolmisoft 2006-2013
442
Registration should be enabled in Settings in order to work. Various settings are also set in
Settings -> Registration.
In the following window, the user should enter his details. Fields marked by * are mandatory:
Note: if phone number is entered, it will be automatically added as CLI for user device.
Kolmisoft 2006-2013
443
After clicking on Sign up, the user is registered, his account is created and he will see connection
info on his screen:
If email sending is enabled (in Settings) and the email SMTP server details are valid, the user will
receive an mail containing all the settings. The administrator will also get an email with
information about the user who has registered with the system. These two settings should also
be enabled.
If you have set every setting to send email to Admin when a new user registers, but no email
arrives - check whether you have Email set for Admin user.
Quick Forwards
About
Some DIDs can be assigned to Quick Forwards functionality. When this is done, each user can
enter a different number to be forwarded when he calls a DID.
Kolmisoft 2006-2013
444
The main advantage of this function is to use a limited number of DIDs to allow different
users to call these DIDs and be forwarded to different numbers (which are assigned by
users).
Example
We have several DIDs assigned to Quick Forwards functionality:
1111111111.
2222222222.
IMPORTANT: Correct CallerIDs should be set for users in order for them to be recognized them.
Only the system administrator can do this.
If the system doesn't recognize the caller, it asks for a PIN number of the device to be
entered.
If a user is dialing a DID that has not been assigned a Forward Number, the user is asked
to enter such a number.
Kolmisoft 2006-2013
445
The user can manipulate his Quick Forwards in his menu. He needs to log in to GUI to change
numbers.
Please note that DIDs which follow a quick forward rule can only be assigned to Quick
Forwards dial plan!
Kolmisoft 2006-2013
446
Here you can also select Global. Value (Yes or No) in the brackets depends on what is selected in
quickforward settings. In this example there is Global (No) to both options because in
quickforward settings both Tell Time and Tell Balance are set to No.
Quickforwards rules
About
Quickforwards rules are used to restrict users which DIDs they can use for quickforwards.
Quickforwards rules can be created by:
Admin - can create rules for any DID range assigned to quickforwards DialPlan
Kolmisoft 2006-2013
447
Reseller - can create rules only for DIDs which are assigned for him with
a Quickforwards rule by admin
Reseller PRO - can create rules only for DIDs which are assigned for him with
a Quickforwards rule by admin
Kolmisoft 2006-2013
448
If you really want transfers and do not care about possible loss, here is the way to enable them:
In file /etc/asterisk/sip.conf
change line
allowtransfer = no
to
allowtransfer = yes
And reload Asterisk. Use it at your own risk!
Kolmisoft 2006-2013
449
The mini option is used currently only if you want to send an SMS from the MOR interface as
shown here: SMS Addon iPhone.
If you want to get the full MOR interface, select the full option.
If you do not have an SMS Addon installed, the mini option is no of use to you, so you should
always use full option.
See also
Kolmisoft 2006-2013
450
To simplify the diagram, this is the common way for a PBX to be connected to MOR:
Here the main principles will be explained. For a detailed example, see the Trixbox section.
In this diagram, one PBX is connected to the MOR Billing system. Two phones (Phone 1 and
Phone 2) are connected to the PBX. Now both phones can dial out to the PSTN through PBX and
MOR.
Kolmisoft 2006-2013
451
To create one virtual device for each real device connected to PBX.
In the device's CLI menu we need to add CallerIDs of these devices as described in PBX.
Using the CallerID of the device, MOR recognizes who is calling and assigns the call to the
correct device.
Dialing to PBX
DIDs should be forwarded to the PBX for a real device to get the call.
In order to assign a DID to a virtual device, the following steps are required:
1.
2.
3.
4.
That way, when a call goes to the virtual device through a DID, it should go through PBX Trunk.
If you do not forward the call to the PBX device, the call will fail.
This lets the user log in to GUI and see all incoming calls to his device.
ATTENTION! In order for the virtual device to receive calls from the DID, the PBX should
route calls to the correct device. MOR does not know the real location/connection type of
the virtual device, it just sends the call to the PBX, and the PBX should send the call to the
correct device. MOR CAN'T influence the PBX's configuration, so the PBX should be
configured separately to handle incoming calls from the DIDs.
Kolmisoft 2006-2013
452
Connection diagram
As an example, we will configure one phone dialing. The phone is connected to Trixbox, which is
connected to MOR:
Here, for simplicity, all the devices are in the same LAN:
username: mor_trixbox.
password: mor_trixbox_psw.
username: 201.
password: 201psw.
Kolmisoft 2006-2013
453
Kolmisoft 2006-2013
454
Here we set the CallerID number that should be applied to the call from this device. The
password and dial string are also here.
Kolmisoft 2006-2013
455
Kolmisoft 2006-2013
456
We need to create a user for Trixbox: pbx_user. Put any details for it - it does not matter which:
Kolmisoft 2006-2013
457
Make sure you configure this user correctly by entering the password/LCR/Tariff and other
necessary details. This user will be used for real dialing out.
Next, create a virtual device for the phone:
The settings for this device are not at all important, but you should:
1. Make sure you have marked this device as Trunk. This is important for receiving calls.
2. Make sure you have a good password for security.
3. Make sure that this device's host = dynamic (for security reasons, you cannot enter the
Trixbox IP here, because 201 is not Trixbox!)
Kolmisoft 2006-2013
458
NOTE: currently it is not possible to enter a CallerID that is the same as the name of the device.
That way, the call will fail. This happens because of the way Asterisk handles authentication.
MOR configuration
You need to create DID 2222222222 in MOR and assign the phone's user/device to this DID:
Kolmisoft 2006-2013
459
In this device's Call Flow, you need to forward the call to Trixbox:
Trixbox configuration
Now when the call arrives in Trixbox, it should know how to route the call to phone 201.
We can configure this in two ways:
Kolmisoft 2006-2013
460
Final notes
In the example, we used DID 2222222222 and CallerID 1111111111. In real installations, these
values are the same in most cases. This means that if the user is dialing out and his CallerID is (for
example) 3333333333, he can receive calls by DID 3333333333. You can configure this in the
same way using this manual. Different values for DID and CallerID are chosen here to make the
example easier to understand.
Kolmisoft 2006-2013
461
5. Make sure Trixbox knows how to route calls from DID to the phone.
Limitations
Using this configuration to connect Trixbox (actually, FreePBX) to MOR has some limitations:
1. The MOR device's CallerID can't be the same as the device's name.
2. Phones connected to Trixbox can't have similar CallerIDs. (Actually they can, but MOR will
not be able to distinguish which device is making the call, so these devices with identical
CallerIDs will be billed together using one account (user/device) in MOR).
Errors
chan_sip.c:8373 check_auth: username mismatch, have <201>, digest has <mor_trixbox>
This error may occur when configuring the connection between MOR and Trixbox.
--note-This is not a connection problem. This happens when you have an incorrect (or no) outbound
CallerID set within Trixbox. Thus "201" (the display name) is being passed through to MOR.
--VCCS
MOR API
About
MOR API lets other software interact with MOR without knowing the internal structure of the
database (DB) and other logic.
Admin
Kolmisoft 2006-2013
462
Reseller
Accountant
Functions
API Related
Login
User
Callback
Accounting
Calls
Kolmisoft 2006-2013
463
Balance
Rates
Device
DID
Phonebooks
Monitorings
Kolmisoft 2006-2013
464
Payments list
Credit notes
Financial statements
Payments
Calling cards
cc_by_cli - creats and update calling cards, including adding and transferring funds, by
being identified according the Caller_ID.
buy_card_from_callingroup - solds cards from calling card group.
show_calling_card_group - Show calling group info.
MOR version
Send SMS
HTML POST
All requests are in a similar format:
HTML POST: http://<SERVER_IP>/billing/api/<function>?u=username&p=password
Kolmisoft 2006-2013
465
username/password - the user name and password of the user who is asking for the data.
If the user has 'admin' rights, he will get more results and can perform more actions compared to
a user who does not have such rights.
API Configuration
Go to SETTINGS > Setup > Settings > API tab
Kolmisoft 2006-2013
466
Cron actions
What is cron actions
Cron actions is MOR functionality which allows you to do some tasks at a specified time.
Currently supported actions are these:
Kolmisoft 2006-2013
467
Name - enter here something that will help you to remember what this settings is about
Action - what to do. Currently only change_tariff is supported.
User - for which user/users action has to be applied
Tariff - which tariff to set
Periodic type - how often to perform the task
Repeat forever - makes action never stop
From - when to start doing the action
Till - when to stop doing the action
Description - you can use this field for your notes
Kolmisoft 2006-2013
468
MOR Addons
Calling Cards Addon
Kolmisoft 2006-2013
469
Short description
The Calling Card module makes it possible to manage cards printed on plastic/paper or sold over
the Internet for international calling.
The calling card platform is dedicated to calling cards, i.e. the plastic/paper cards with a scratch
surface that can be sold in shops or in streets. These cards (or their number/PIN) can also be sold
over the Internet.
When a user buys a card, he gets the number/PIN of the card. Then he dials an access number
and IVR asks him to enter this number/PIN.
The user hears the credit and time remaining and can enter a destination. If the destination is
okay, he is connected and can talk. After the call is finished, the call's price is deducted from the
card's balance.
Kolmisoft 2006-2013
470
NOTE: MOR is not A2Billing. So the Calling Cards Addon is ONLY for Calling Cards which are sold
over the Internet/in the streets/shops/etc.
System Setup
1.
2.
3.
4.
Work-Flow
1. User buys a Calling Card (over the Internet/printed, in a store/street/etc).
2. User finds the NUMBER and PIN of the Card. It can be on the plastic/paper Card or given
to the user in an online Calling Card Store.
3. User dials an access number, which is given to the user in the same way as the
number/PIN. User can dial this number from anywhere in the world.
4. System asks the user to enter the number and PIN (or only the PIN). When user dials the
access number, IVR will ask him to enter card number and/or PIN.
Kolmisoft 2006-2013
471
5. Are the number and/or PIN good? In this step the system checks the database to see
whether a Card with the provided number/PIN exists. If the Card is not found, the user is
asked to enter new a number/PIN. It is possible to change how many times the system will
permit reentry of the number/PIN. The default is three tries.
6. The system tells the remaining balance on the card. This step is optional and can be
disabled.
7. The system asks for the Destination to be entered. IVR will ask the user to enter the
destination he wishes to dial.
8. The system tells the remaining time. Based on the entered destination and the remaining
balance, the system will tell the user the remaining time he can talk with this destination.
This step is optional. It is influenced by Ghost Minute Percent.
9. The system dials the Destination. Using LCR, the system chooses the cheapest provider
and dials the entered Destination.
10. After the call, its cost is deducted from the Card's balance.
More detailed logic is explained Calling card logic page at wiki.
PINless dialing
It is possible to enable PINless dialing to the Calling Card Dial Plan:
This lets the user enter the Card's number/PIN only once, after which the system remembers the
CallerID. Next time, when the system receives a call from same CallerID, it will not ask the user to
enter the Card's number/PIN.
If the Card's balance is empty, the user will be asked to enter a new Card number/pin.
PINless functionality is only available for a valid CallerID.
When a CallerID is not empty and is numeric and/or has a '+' sign, then it is valid. If CallerID is
invalid (has some non-numeric symbol in it, except '+'), PINless functionality will be disabled.
Kolmisoft 2006-2013
472
CallerID #1
CallerID #2
Then:
1. CallerID #1 dials DID number, MOR asks to enter PIN number.
2. CallerID #1 enters PIN number 1234. MOR assigns this CallerID #1 to Calling Card with PIN
1234.
3. If CallerID #1 calls once more, it is not asked to enter a PIN because MOR has assigned it
to Calling Card with PIN 1234.
4. Now CallerID #2 dials DID number, MOR asks to enter PIN number.
5. CallerID #2 enters PIN number 1234. Now MOR deletes CallerID #1 and assigns CallerID
#2 to Calling Card with PIN 1234.
6. If CallerID #2 calls once more, it is not asked to enter a PIN because MOR has assigned it
to Calling Card with PIN 1234.
7. If CallerID #1 calls once more, it is asked to enter PIN because Calling Card with PIN 1234
was assigned to CallerID #2.
8. Etc.
End IVR #1
This is default IVR.
When call ends or caller presses * to terminate call, he comes into this IVR.
Here he hears message: "Press 1 to dial new destination, press 2 to dial same destination, press 3
to check your balance, press 4 to use new card"
Kolmisoft 2006-2013
473
When user presses some button [1,2,3,4] he will be able to do such actions:
1 - Can enter new destination
2 - Can dial same old destination (redial)
3 - Can hear his balance
4 - Can enter new PIN to use new Card
End IVR #2
This type of IVR allows to enter new Destination or redial old one by pressing 1#.
User can enter destination and # to dial to it, o he can enter 1# and then system will redial old
destination.
End IVR #3
This IVR is just a hangup. E.g. call will end at once using this IVR and no further actions will be
possible.
Kolmisoft 2006-2013
474
Properties
Kolmisoft 2006-2013
475
Card Image just for informational purposes and eye pleasure to view on the GUI. Can be
(and should be) the same as the real printed card for consistency. But that's not the rule.
Description a short memo for admin to view some more info for the cards. It is useful
when there are a lot of Card Groups and the Card Group name is not enough.
Price with TAX the price which all Cards in this Group will have before first use. It does
not include VAT. It's in the default currency.
Setup Fee the fee which will be charged when a call is connected the FIRST time when
the card is used.
Ghost minute percent a value to trick the user into thinking he has more minutes when
he really has less.
Example:
A user has enough balance in his card to call for 50 minutes. Ghost minute percent = 120. So
when the user enters his number/PIN, the system tells: "You have 60 minutes remaining" (50/100
* 120). Note: this is not an increase in percent; it is the value by which the actual minutes should
be multiplied to tell them to the user.
Ghost balance percent - same as Ghost Minute Percent, but this value only applies to the
Balance which is told to the user (This option is available starting from MOR9).
Daily Charge the amount which will be deducted EACH day from the card starting from
the date when the card is used for the first time. This means, if the user makes his first call
on Monday and his second call on Friday, his card will be deducted for 5 days using this
value (Mo, Tu, We, Th, Fr).
Currency - default currency for all cards
Tell cents - enable or disable telling cents when announcing card balance (This option is
available starting from MOR 10).
Tell balance in currency - choose in which currency to tell balance when announcing it.
(This option is available starting from MOR10).
TAX percent the actual value which will be used when presenting the Card's price to the
User, i.e. when telling the user his remaining balance on the Card or showing the same
information on the screen.
Least Cost Routing (LCR) which LCR will be used for all Cards in this Card Group.
Tariff the price list which will be used for this Card Group.
Location this is useful when Cards will be sold in a region with specific dialing rules.
Rules for location can vary for different Calling Card Groups.
Number Length the length of the Card's number. You can select any value here. It is
recommended to select different values for different Card Groups to minimize the risk of
anyone guessing another card's number and using it unauthorized. Card numbers are
generated in sequence order.
PIN Length the number of the Card's PIN. The same recommendation applies as for the
Card's Number. PINs are generated randomly.
Kolmisoft 2006-2013
476
Management
Card Groups, like many other entities in MOR, can be created/edited/deleted/viewed.
If a Calling Card module is enabled, you can find it (as Administrator) in: ADDONS > Card
Groups.
Kolmisoft 2006-2013
477
In this window, you can manage all Cards which belong to the Calling card group. All fields are
self-explanatory.
Card Creation
Cards for the Calling Card Group can be generated or imported from CSV file.
Generating Cards
Starting from MOR 10 MOR allows you to generate only 20% cards of total possible unique PIN
number count. For example: you have defined that your card group will have 2 digits length PIN,
Kolmisoft 2006-2013
478
that means that there is 10*10=100 possible unique PIN combinations. So MOR allows you to
create: 100*0.2 = 20 cards. To generate more cards you have to increase PIN length.
Add cards opens the window where you can add additional Cards to the Card Group:
In this window, you should enter the Card's start and end numbers. They will form an interval
which will be created. If any Card of the same number exists, the old Card will remain and a new
one will not be created.
The card's PIN number is created automatically it's random and unique. It is wise to make it
reasonably long to avoid cheating by users who may guess a short PIN number.
You can process this file later in MS Excel or other compatible software. Use the correct format
for your Card manufacturer and send it to him.
The CSV file fields are:
Number
PIN
Balance
Kolmisoft 2006-2013
479
Sold
First_use
Daily_charge_paid_till
You can delete unnecessary fields and make it look as you need.
Kolmisoft 2006-2013
Batch Management:
480
Minimal balance
Minimal balance is the lowest card's balance when it is still available to make calls from that card.
For example if you set 10 as minimal balance if card's balance is lower than 10 no calls will be
made from that card. You can find this functionality in main calling card's edit window:
Kolmisoft 2006-2013
481
To assign distributor to a card go to ADDONS -> Calling Cards. Open any groups cards list and
click Edit. You will see this window:
(deactivate) or
(activate).
Kolmisoft 2006-2013
482
Disabled cards
Disabled calling cards are those which you can't call from. The reasons for disability are:
In
this image, we see an existing Dial Plan for a Calling Card Group.
Kolmisoft 2006-2013
483
When creating a new Dial Plan, you will need to enter the correct Number and PIN length values
of an existing Calling Card Group. Otherwise you will not be able to create the Dial Plan.
Kolmisoft 2006-2013
484
We click on the
We select our Dial Plan and click the confirmation icon to assign our Dial Plan to this DID:
Now the user can dial number 12026911622 (in the example) and he will be able to reach IVR
and use his Calling Card.
Kolmisoft 2006-2013
485
All Card Groups with cards which can be sold are shown here with their images.
If we want to buy one card, we enter the amount and click the Add to cart button for that Card:
The shopping cart shows what we have selected to purchase. We can continue shopping, empty
the cart, or proceed to the checkout.
Let's go directly to the
Kolmisoft 2006-2013
486
Clicking on the PayPal button, you will be directed to the PayPal site, where you will be able to
pay for the Card.
Kolmisoft 2006-2013
487
Here the Calling Card owner created a new Speed Dial: '11'. When he dials '11', the system will
dial to '37063042438'.
Kolmisoft 2006-2013
488
Your Calling Card number length is 10 and your PIN length is 4. So you can only import cards
into the Card Group which have the following values:
489
The cards were generated on VMWare virtual machine. The host was an Intel Duo Core2
2.4ghz/3Gb RAM Laptop.
It took ~2h.
phpMyAdmin:
MOR GUI:
Kolmisoft 2006-2013
490
Q. Can I modify the first page of the CCSHOP to include some other information or links to
the rate list for each card, for example?
A. Ruby On Rails knowledge is necessary to do that. Also, custom changes will be overwritten by
the next system update.
Q. Where do we see Payments for Calling Cards when we recharge them over web?
A. In SETTINGS - Accounting - Payments.
Kolmisoft 2006-2013
491
Configuration
In file /etc/asterisk/features.conf find lines:
[featuremap]
;blindxfer => #1
;disconnect => *0
Restart Asterisk
REMEMBER: this option is only applicable when using a Calling Card or ANI/PIN dialing when the
call is already CONNECTED.
Kolmisoft 2006-2013
492
Default language
If Calling Card does not use IVR and the DID language is set to empty, the default language will
be used.
This image shows how to set to "use default language" (when IVR is not used and DID Language
is set to empty):
Kolmisoft 2006-2013
493
This example shows ru language which will be used no matter what Default Language is and no
matter which Language (Voice) is set in IVR.
Kolmisoft 2006-2013
494
Examples
Language/Voice
Default
empty
empty
empty
empty
en
en
en
en
IVR
empty
empty
es
es
empty
empty
es
es
DID
empty
ru
empty
ru
empty
ru
empty
ru
ru
es
ru
en
ru
es
ru
NOTES:
1. When Default is 'empty' it means that sip.conf file is messed up and is set to language = .
2. When IVR is 'empty' it means IVR is used but no Language is changed in it, OR IVR is not
used at all.
3. When DID is 'empty' it means the Language field in DID configuration is empty.
Kolmisoft 2006-2013
495
Kolmisoft 2006-2013
496
2. Now enter the amount you want to add to the current card balance
Kolmisoft 2006-2013
497
What is it for?
This functionality is designed to allow clients to modify the way how MOR Core behaves with
Calling Cards.
MOR itself has some logic which allows to change this from the GUI.
But very often it is necessary to extend or change such behavior.
This functionality is made as external script in which clients (with enough programming skills) can
define the way how MOR reacts to some situations.
With External Script it is possible:
With this script it is possible to achieve various functionality, as example some of them:
Kolmisoft 2006-2013
498
Turn it ON:
Kolmisoft 2006-2013
499
NOTE: When External Script is ON, Ghost Minutes and Ghost Balance
functionality is NOT used from the GUI. It is defined in External Script.
How to use it?
File which does all the logic is in /usr/src/mor/agi/mor_cc_external.c
It is written in C with a lot of commentaries which explains all the logic INSIDE THE FILE.
Same script can be rewritten in any other programming language by experienced programmer
which knows how to interact with Asterisk over AGI.
Make changes to this file, execute ./install.sh in same folder to compile and move it to correct
place.
This shows the output BEFORE telling the balance to the Card User.
NOTE: default External Script DOES NOT change any values, it is just for demo.
Kolmisoft 2006-2013
500
This shows the output BEFORE telling the time to the Card User.
NOTE: default External Script DOES NOT change any values, it is just for demo.
IMPORTANT: To make sure script works OK, you SHOULD see line:
MOR CC External Script stopped.
Kolmisoft 2006-2013
501
Kolmisoft 2006-2013
502
and go back to the Group's details and select the image for your card:
Click Upload:
Generate Cards
Now we have a Calling Card Group, we need to generate some Cards. Click
Kolmisoft 2006-2013
Add cards:
503
Kolmisoft 2006-2013
504
Name is just for informational purposes. Number and PIN length should match the settings of
our newly created Calling Card Group.
We want IVR to ask for the number and PIN, so we leave Ask only PIN unchecked. IVR will tell the
remaining time and balance.
IVR will ask for number/PIN and destination three times at most:
Kolmisoft 2006-2013
confirmation mark.
505
icon:
Kolmisoft 2006-2013
506
Conclusion
That's it. The Calling Card engine is ready to serve calls.
In our example, number 37063042438 is the Access number to be dialed to reach IVR.
When you dial this number (in the example), IVR will ask for the card number/PIN to be entered
and follows all other Calling Card logic.
Kolmisoft 2006-2013
507
Callback Addon
About
This Addon must be purchased separately in order to use a Callback functionality.
Definition
From Wikipedia [http://en.wikipedia.org/wiki/Callback_%28telecommunications%29], the free
encyclopedia
In telecommunications, a callback (also written as call-back) occurs when the originator of a call is
immediately called back in a second call as a response.
In order to use a callback service, a subscriber is allocated a unique number, which must first be
dialled in order to trigger a return call. This is known as a Direct Inbound Dialing (DID) number
(Access Number). Where Caller ID is available, it may be possible to use the same DID number for
many different subscribers, as the callback system will be able to recognize each subscriber's
registered number.
On hearing a ringing tone for a few seconds, the subscriber simply hangs up and awaits the
callback. On receiving this, usually within a few seconds, the customer picks up the phone and
dials the required number.
The cost of making a telephone call via callback consists of two parts, as the caller is effectively
paying for an outbound and an inbound call at the same time. If it costs 20 US cents a minute to
call Nigeria from the US, and 8 cents a minute to call Spain from the US, then the caller will pay a
total of 28 US cents a minute.
NOTE: If you want to use Callback, make sure your DID provider sends correct CallerID
information. Without CallerID, you will not be able to use Callback.
Kolmisoft 2006-2013
508
Implementation in MOR
Callback in MOR is implemented in very simple way. It's enough to tell the system the Access
Number (DID) and the way Callback should act. All of this will be described in following
paragraphs.
Supported Callback methods in MOR, listed by initialization method (which triggers Callback),
are:
Call
Over GUI
Over Email
Over API
509
tries to enter a PIN several times. Then he hangs up. The call is ANSWERED. Does the user pay for
this call? No. Who pays? You, as the owner of the system. It's sad, but true.
510
The main part here is that user gets authenticated/authorized when he enters Device PIN. System
checks for such PIN in database and if user is found user can proceed.
This way of Callback is extended User auth. by PIN Callback. In order to ask user for Device's PIN
system checks user's CallerID (ANI). If such CallerID is found in database user gets
Kolmisoft 2006-2013
511
authenticated/authorized and can proceed entering destination. If CallerID is not found user is
asked to enter his Device's PIN number.
Attention! It is very easy to fake CallerID so be careful when you are enabling Callback with
ANI. Anybody can put anybodies CallerID and use your service for free.
This type of Callback lets user enter Calling Card's Number/PIN to get authenticated/authorized.
System checks for such Calling Card in database. If call is made it is assigned to particular
Calling Card.
Kolmisoft 2006-2013
512
Callback User
Callback Device
Callback Tariff
Access Number (DID)
Calling Card or Auth. by PIN Dial Plan
See also
WEB Callback
Callback over Email
API Callback
Callback setup example
217 Callback not initiated because device not found by ANI
Can't setup callback
Callback and Calling Cards
Kolmisoft 2006-2013
513
WEB Callback
You can find Web Callback in PERSONAL MENU > Various -> Callback.
The main window lets you enter callback details:
When you enter the source (and destination if you wish), press Execute and you will get a call to
Source. After that, you will be connected to Destination (or asked to enter the destination and
only then connected).
See also
Callback
Kolmisoft 2006-2013
514
first_number#second_number
first_number - will ask destination
Then SMS gateway should send email to MOR to initiate callback in following format:
CallerID change:
Callback inititation:
MOR_PARAM1 auth_callerid
MOR_PARAM2 first_number
MOR_PARAM3 second_number
NOTE: email format should be plain, not html!
Inner mechanics
1. SMS gateway sends email to specified address (example callback@hostname.com) in the
following format:
CallerID change:
Callback inititation:
Kolmisoft 2006-2013
515
Email body:
MOR_PARAM1 auth_callerid
MOR_PARAM2 first_number
MOR_PARAM3 second_number
2. Postfix server gets email and sends to /usr/local/mor/mor_email2callback.sh script
This is configured in /etc/aliases file:
callback: "|/usr/local/mor/mor_email2callback.sh"
3. /usr/local/mor/mor_email2callback.sh script parses email and sends everything to MOR.
wget -o /dev/null -O /dev/null
"http://localhost/billing/emails/email_callback?subject=$subject¶m1=$param1¶m2=$p
aram2¶m3=$param3"
4. MOR GUI initiates callback using AMI command Originate.
SMS Callback
It is possible to setup SMS Callback using such provider as: https://www.aql.com/sms/sms-toemail/
Request
http://<YOUR_SERVER_IP>/billing/api/callback?u=<USERNAME>&p=<PASSWORD>&device=<
DEVICE_ID>&src=<SOURCE>&dst=<DESTINATION>
USERNAME/PASSWORD login and password from the USER, not from the device!
DEVICE_ID which device should be used to initiate callback and which Caller ID will be
set on the call (Device ID = Device ACC, or accountcode). You can find ACC in
/billing/devices/devices_all).
Kolmisoft 2006-2013
516
You can omit <DESTINATION>. If you do so, SOURCE will be asked to enter it.
Response
<Status>Ok</Status>
Errors
Not authenticated
<Status>Not authenticated</Status>
Bad device
<Status>Bad device</Status>
No source
<Status>No source</Status>
No source in request.
Check your CDR for a FAILED call and reason why it failed.
Check Asterisk CLI for error.
Kolmisoft 2006-2013
517
2. When you create a callback user make sure to assign a correct Tariff for the callback.
Our suggestion is to include only those destinations in the tariff from which clients will be calling
to the callback.
Kolmisoft 2006-2013
518
The Device's settings are not at all important leave everything empty. They will not be used,
anyway.
You can even create a Virtual device for this service.
Here you can find Video which demonstrates how to create user and device.
4. Calling Card or Authorization by PIN dial plan should be created depending on your needs:
Open dial plans menu: SETTINGS -> Billing -> DIDs -> Dial Plans
We will create a calling card dial plan:
Assign the dial plan to the DID, through which it will be reached, in the DIDs menu (the DID can
be fake).
Important! This Dial Plan are active by themselves. That is, dialing the associated DID, you will
get the service described by this Dial Plan. Callback is not configured yet.
Kolmisoft 2006-2013
519
6. Save the dial plan and edit the settings, you will be forwarded to this page:
Kolmisoft 2006-2013
520
Important steps here - Assign the correct DID through which the client will reach callback service
Set the callerID which is needed. In many cases enter the Asterisk sign * - for example using
Pinless services.
7. And in the Dial Plans section, the same information is given in another perspective:
See also
Callback
Auto-Dialer Addon
Auto-Dialer addon lets you call an array of numbers automatically. When they are answered, it
plays back a prerecorded message to the receiving end of the call.
It can be used in telemarketing.
Overview
When Auto-Dialer (AD) is installed, every user can use it.
The user can find the AD menu under PERSONAL MENU -> Various -> Auto Dialer.
The main window shows the user's campaigns:
Kolmisoft 2006-2013
521
or
A Campaign can only be Activated if it has free (not-called) numbers AND some Actions.
So please, before activating a Campaign, import some Numbers and create Actions.
NOTE: Auto Dialer starts in 5 minutes, so when you are starting this add-on, you need to wait 5
minutes before it starts.
Kolmisoft 2006-2013
522
Numbers
Click on
The user can import phone numbers from a TXT file. Numbers should be in correct format.
Example of numbers file:
442012345678
442087654321
442054987123
Kolmisoft 2006-2013
523
After uploading the file, you will see status of imported numbers:
If a number is Completed, it is possible to reactivate it (tell the system to call it again) by clicking
the icon near the number.
Actions
Click
Kolmisoft 2006-2013
524
In this window, the user programs the Actions for the Campaign:
Types of Actions:
Admin interface
When Auto-Dialer (AD) is installed, Admin can find it under the SETTINGS > Addons > Auto
Dialer menu. Here he can get a view of all users' campaigns:
Kolmisoft 2006-2013
Actions
525
Workflow
Each 5 minutes, "cron job" is activated to check whether any campaigns are activated.
If there are some active campaigns, the script creates call files for the future.
It puts calls in Time Period in equal time periods, to balance the workload for Asterisk.
For example, if you have 10 calls to make, the script will execute them in 6s intervals to start all
calls in 1 min time.
Variables in /var/lib/asterisk/agi-bin/mor.conf:
calls_one_time - how many calls to distribute per one minute. (PLEASE NOTE, this value is not for
simultaneous calls! It has a very different meaning, which is explained below).
cron_interval - the interval of time (in minutes) in which we should 'put' calls.
Example #1:
calls_one_time = 10.
cron_interval = 1.
That means that in 1 minute the script will put 10 calls. So each call will be executed at a 6s
interval:
1st call: 0s
2nd call: 6s
3rd call: 12s
....
9th call: 54s
Kolmisoft 2006-2013
526
Logs
Autodialer log can be found here:
/var/log/mor/mor_ad_cron.log
Autodialer polls
Autodialer
supports
creating
polls,
please
check
this
guide
for
example
[http://wiki.kolmisoft.com/index.php/Autodialer_poll_example]
Kolmisoft 2006-2013
527
Reseller Addon
Description
This addon incorporates basic reseller support into MOR
Currently it lets to create user with type 'reseller'
When this user logs into the system he is able to:
1.
2.
3.
4.
5.
6.
7.
Create tariffs
Create users
Setup their own tariffs and assign them to their users
View calls and other stats for his own users
Add own logo to GUI
Customize invoice with their details (logo is not supported)
Can calculate own profit
When his users are making calls - reseller's balance decreases along with user's balance. If reseller
is prepaid and he is out of balance or postpaid and credit limit is reached - his users will not be
able to make calls even if they have money in their balance.
DIDs
DIDs can be created only by admin. Reseller can assign DIDs available to him to his users.
ADMIN can assign DID to USER directly bypassing RESELLER.
Complete Calls
To get all Calls in selected period for Reseller and his User use following link:
Kolmisoft 2006-2013
528
Manual
This manual is dedicated for resellers to work on MOR
3. Select the required user type from the marked drop down box:
Kolmisoft 2006-2013
529
Web access
Each Reseller has it's own Homepage. URL can be found in MAIN MENU -> Settings Global tab.
It is possible to have different domain name for each Reseller. Domain name should be pointed
to Reseller's URL in such case.
NOTE: Kolmisoft does not provide domain names, so you need to check with certain domain
provider for such option.
Reseller Permissions
What is Reseller Permissions?
Reseller Permissions allows system administrator to select which addons can be used by Reseller
Group.
Kolmisoft 2006-2013
530
3. Click on
Kolmisoft 2006-2013
531
You can create more than one Reseller Group and assign more than one reseller to each Reseller
Group.
Reseller Settings
Show Hangup Cause Codes for Resellers - if this option is enabled, resellers are able to
see Hangup Cause Codes in Calls list.
Kolmisoft 2006-2013
532
Resellers can add their own DIDs - allows resellers to add DIDs. If this option is disabled,
only admin can add DIDs by assigning them to resellers.
Default DID Provider for Resellers - which DID provider should be assigned to DIDs
which are created by resellers.
Dissalow for Reseller to copy Localization settings from Admin - reseller cannot copy
admin's localization rules.
Allow resellers to change device PIN - allows resellers to change their users devices
PINs.
Allow resellers to change extensions for their user devices - allows resellers to change
extensions for their user devices.
Kolmisoft 2006-2013
icon.
533
Now reseller can add own Providers from Reseller Menu: MAIN MENU ->Routing -> Providers
Kolmisoft 2006-2013
534
Configuration
1. Enable Common use option for a desired provider.
2. Go to ADDONS -> Resellers -> Common Use providers
No
w you have two options:
1) Press a button marked with number 1 - this will create associations for all available common
use providers for all resellers, later you can delete unneeded associations. Please note that when
you will add a new reseller to the system - you will need to press this button again or create
associations manually as stated in option 2).
2) Using menu marked with number 2 you can manually assign common use providers for each
reseller with different tariffs.
535
Login
When you first login from the URL http://<YOUR_URL>/billing with your reseller ID and
password, you will go to the following page:
On this page you can see on the Very Top Right, a group of flags, by clicking each flag you can
change the language of your display to your own native language or your preference, try to click
on every flag if you want to change the language.
Then you see info about Your Balance and Calls made by your users Today and During this
month.
Tariffs
Now under Reseller Menu, Check out the first button called Tariffs.
By clicking on this button you can start creating your own Tariffs and Rates to destinations, and
please note the following:
Extensions or devices cannot start calling, if you did not create Tariffs.
Before creating any users, you must complete this step first, this step will take time and it is
manual, but you only must do it one time only.
Kolmisoft 2006-2013
536
Enter any name, this is for you. And Purpose of Tariff chose "User Retail" for (demo purposes
now) then click the Create button.
Kolmisoft 2006-2013
537
You will be directed to the page, which means your Tariff was created successfully:
Rates
Name of the Tariff we created for the demo purpose of User Retail is "Test Tariff"
The currency we chose for the tariff is USD.
Before someone can dial-out, rates to the destination any user will use must be filled first.
Kolmisoft 2006-2013
538
Rates:
On this page you need to enter rates manually one by one. ( Retail Rates can be transformed
from Wholesale Rates also).
Enter all the rates per minute you need to charge your customers for every destination.
Rounded by field, is in seconds, it usually is either, per one second, or per 60 seconds which will
mean the call will be rounded per minute. So make sure you change it to rounded by 60.
And enter your rates per minute for every destination or only the destinations you want.
Then click on the Update button at the end of the page, and you will see your rates have been
filled out and saved.
Kolmisoft 2006-2013
539
Users
Now you can start creating Users and Devices for them, and those Devices can start calling if they
have enough balance in their account.
Now go to the Reseller Menu again to your left and this time click on Users to create a new User:
Press on
Now you need to start filling out this data for the user you created:
Username/Password - For user to login to this interface to checkout his balance, rates
and later he will be able to pay affiliates automatically using Paypal inside this panel.
Tariff - from this drop down menu, you select which tariff to apply for this user since you
can create unlimited tariff plans.
Balance - enter initial balance (WITHOUT TAXES) for user here
Credit - if user is prepaid - leave it untouched
Prepaid - Make sure you check the user to PREPAID user and NOT postpaid if you do not
trust user
Kolmisoft 2006-2013
540
After you fill in all the fields properly, click on Create button to create your first user:
Kolmisoft 2006-2013
541
Devices
Now this user cannot start calling unless you create a device or extension for him.
To do that you must click on the
icon:
This page lists all devices or extensions for this user, while each user can have unlimited devices,
only you can add for them devices and not the users themselves, now as you can see this user
still has no devices created.
To create the first device for this user click on
Kolmisoft 2006-2013
542
Once you have filled in the description (Which you can also leave empty if you wish), click on the
Create button:
Kolmisoft 2006-2013
543
Please do not edit any settings in this page, it is better if you do not know what you are doing,
that you leave this page like this, like the default settings, and hit the update button below.
In this page you can see the device or extension number that users need to put in X-lite (or other
softphone or real phone) to dial out, for this device for example
If you put this info on your X-lite and our SERVER_IP_ADDRESS you will be able to start making
calls from this X-Lite until this User has balance in his account.
Now you can email this user his info and how to use the system, you need to only email him:
His username
His Password
Login to GUI URL http://<SERVER_IP>/billing
Device username
Device password
Devices overview
About
This functionality lists all devices that belongs to reseller's users
Kolmisoft 2006-2013
544
Calls
If you want to check calls made by your users go to RESELLER MENU -> Calls:
Personal Details
You can change your personal details in PERSONAL MENU -> Details:
Kolmisoft 2006-2013
545
Personal Rates
PERSONAL MENU -> Details -> Rates lists rates as given to you by us, this is the rates WE
CHARGE YOU per minute, So this can be your guide when you are creating your own rates for
your users, you can open both windows at the same time and make reference before you add
your rates.
SMS Addon
Description
SMS addon lets you send SMS from MOR.
Kolmisoft 2006-2013
546
2. Select the marked checkbox (marked with number 1) and press the button to save changes
(marked with number 2)
P.S. This SMS form will be visible only for users which have SMS subscription
Kolmisoft 2006-2013
547
Troubleshooting
1 - failed, system owner does not have rate for this destination
This means that Provider does not have rate for destination where you are trying to send SMS.
Solution - add such rate to appropriate prefix.
See also
MOR Addons
SMS Addon iPhone
SMS Addon - Clickatell configuration
SMS Addon - Providers
SMS Addon - Status codes
Recordings Addon
Functionality
The Recordings Addon gives more options for managing recordings, such as making it possible
to:
NOTE: Resellers do not have the same functions as an administrator - they can't manage
recordings of their users.
Kolmisoft 2006-2013
548
Settings
SETTINGS > Setup > Settings > Addons > Recordings
Kolmisoft 2006-2013
549
Administrator functionality
ADDONS > Recordings
Here the System administrator can see all recordings. He can search Recordings by:
Period.
Source (CallerID).
Destination (Dialed number).
User.
Device.
Whether or not the user can use Recording Addon functionality (set to record calls, send
recordings to email, etc).
Which user calls should always be recorded (without user knowledge).
Kolmisoft 2006-2013
550
Allow to use recording functionality - can this user use the Recording addon functionality?
Forced record calls for this User - record calls for this user (all devices) without user
knowledge.
Server space - how much HDD space to reserve for recordings of this user.
Send deleted recordings to this email. If HDD space is used, the recording will be deleted
and sent to this email. If this email is empty, the recording will be sent to the default user
email.
Record calls for this Device - record calls for this Device (without user knowledge).
Send Recording to Email - when recording is completed, send to it email.
Recordings Email - send to this email address.
Keep Recordings on Server after sent to Email - should the recording be left on the server
after being sent to email?
Kolmisoft 2006-2013
551
Check an option to delete by device or by date, select device/date and click Delete:
User settings
The Administrator must authorize the user to use the Recording Addon functionality before User
can use its functions. This can be done by checking Allow to use recording functionality in the
User Edit window.
PERSONAL MENU > Details
Kolmisoft 2006-2013
552
Record calls for this Device - user can set to record calls for this device or not.
Send Recording to Email - should recording be sent to email?
Recordings Email - the email address email to which recordings should be sent.
Keep Recordings on Server after sent to Email - should recordings be left on the server
after being sent to email?
Guides
How to set up user so he can see his calls
1. As admin, go to User Edit settings and check Allow to use recording functionality. User
will be able to use Recording addon functionality.
2. Log in as this User and in PERSONAL MENU > Details > Devices, click
the Recordings section check Record calls for this Device: YES.
3. Now the user will be able to see his calls in PERSONAL MENU > Call > Recordings.
553
By prefix MOR can set different routing(LCR) or billing(Tariff) for this number.
Detailed technique is described here: LCR/Tariff change based on call prefix
MNP Addon for MOR is available from MOR v8
As Kolmisoft cannot make one unique database for all MNP services in all countries all over the
world. MOR admin has to manually enter numbers in MNP database (process described below) in
order for this solution to work. mor_mnp database has to contain only the necessary data
(telephone numbers).
NOTE: It is important to take care of various number formats user can use to dial a number. As a
solution to it is to insert MNP number into DB in several possible formats.
Installation
Do such steps:
1. Upgrade MOR
2. cd /usr/src/mor/sh_scripts
3. ./install_mnp.sh
Upgrade
After Upgrade MOR run /usr/src/mor/upgrade/9/mnp_reenable.sh
Database
Config to DB in: /usr/local/mor/mor_mnp.conf
It should be MySQL database mor_mnp:
DROP TABLE IF EXISTS `numbers`;
CREATE TABLE `numbers` (
`number` varchar(50) NOT NULL,
`prefix` varchar(20) NOT NULL,
PRIMARY KEY (`number`),
UNIQUE KEY `number` (`number`)
Kolmisoft 2006-2013
554
Make sure you have set correct MySQL permissions for mor_mnp database and also local or
remote asterisk must have correct settings in /usr/local/mor/mor_mnp.conf . If your number is
still not recognized, double check if you have it in your mor_mnp database!
An example how to set MySQL permissions:
http://www.2checkout.com
2checkout needs some additional configuration on your side. In order to make it work, you
should login to your vendor account in 2checkout's site and do the following:
1.
2.
3.
4.
555
"http://YOUR_IP/billing/payment_gateways/integrations/two_checkout/pending "
Kolmisoft 2006-2013
556
Authorize.net
http://www.authorize.net/
What is Authorize.net?
Authorize.net in Wikipedia
Kolmisoft 2006-2013
557
Enabled - Check this box to make Authorize.net available for your clients.
Tax in amount - "Include" tax into amount that user has to pay or "Exclude" if you want
to exclude the tax from the amount that is added to user's balance
Kolmisoft 2006-2013
558
Test mode - Turns on the test mode. Use this option only if you know what you are
doing. In test mode MOR will send payment requests to bank's test environment, so the
payments will not transfer actual money. On the other hand MOR still counts these
payments as real and updates user's balance.
Logo - You can select and upload a custom logo picture. MOR accepts images that are
*.jpg, *.png or *.gif and less that 100Kb in size.
Google Checkout
http://checkout.google.com
Kolmisoft 2006-2013
559
http://YOUR_SERVER_IP/billing/payment_gateways/google_checkout/google_checkout/notify
Kolmisoft 2006-2013
560
Kolmisoft 2006-2013
561
Kolmisoft 2006-2013
562
Kolmisoft 2006-2013
563
Moneybookers
http://www.moneybookers.com
What is Moneyboookers?
Moneybookers in Wikipedia [http://en.wikipedia.org/wiki/Moneybookers]
Kolmisoft 2006-2013
564
Enabled - Check this box to make Moneybookers available for your clients.
Tax in amount - "Include" tax into amount that user has to pay or "Exclude" if you want
to exclude the tax from the amount that is added to user's balance
Kolmisoft 2006-2013
565
Test mode - Turns on the test mode. Use this option only if you know what you are
doing. In test mode MOR will send payment requests to bank's test environment, so the
payments will not transfer actual money. On the other hand MOR still counts these
payments as real and updates user's balance.
Logo - You can select and upload a custom logo picture. MOR accepts images that are
*.jpg, *.png or *.gif and less that 100Kb in size.
Kolmisoft 2006-2013
566
Click Confirm:
Kolmisoft 2006-2013
567
Click Continue:
Kolmisoft 2006-2013
568
Payment is done!
PayPal PRO
http://www.paypal.com/cgi-bin/webscr?cmd=_wp-pro-overview-outside
iDeal
What is iDeal?
iDEAL is an Internet payment method in The Netherlands, based on online banking. Introduced in
2005, this payment method allows customers to buy securely on the Internet using direct online
transfers from their bank account. iDEAL processed 4,5 million transfers in 2006, 15 million
transfers in 2007, 28 million transfers in 2008 and 45.4 million in 2009[1]. iDEAL is owned by the
Dutch organization Currence, which also owns PIN and Chipknip.
Wikipedia [http://en.wikipedia.org/wiki/IDEAL]
Supported Banks
Kolmisoft 2006-2013
569
Firstly it is the merchant (your) bank. This is where we send payment requests and that
requires configuration. Currently we have configuration for only one bank (ING).
Secondly there is a client bank (your customers). iDeal implementation fetches those on
the runtime so it always contain full list of iDeal banks.
Kolmisoft 2006-2013
570
Kolmisoft 2006-2013
571
Enabled - Check this box to make iDeal available for your clients.
Merchant ID - Your merchant ID from iDEAL. You can find it in iDeal control panel.
Passphrase - Enter passphrase that you used when you generated you certificates. To get
more information about generating certificates refer to the section Generating Certificates
Kolmisoft 2006-2013
572
Payment description - Custom textual description that describes what your customer is
paying for.
Private key (*.pem) - Upload private key that you have generated. More information in
"Generate certificates"
Private certificate (*.cer) - Upload a certificate that you have generated. More
information can be found in "Generate certificates"
Ideal certificate (*.cer) - Select certificate file that can download from your iDeal
provider.
Tax in amount - "Include" tax into amount that user has to pay or "Exclude" if you want
to exclude the tax from the amount that is added to user's balance
Client pays transaction fee - Check to additionally charge the client for the transaction
fee.
Transaction fee amount - Enter transaction fee amount if you have enabled "Client pays
transaction fee"
Test mode - Turns on the test mode. Use this option only if you know what you are
doing. In test mode MOR will send payment requests to bank's test environment, so the
payments will not transfer actual money. On the other hand MOR still counts these
payments as real and updates user's balance.
Logo - You can select and upload a custom logo picture. MOR accepts images that are
*.jpg, *.png or *.gif and less that 100Kb in size.
Kolmisoft 2006-2013
573
Generating certificates
In Linux console type these commands, but replace the_passphrase with your desired passphrase.
Do not forget your passphrase because you will have to enter it in iDeal configuration window.
/usr/bin/openssl genrsa -des3 -out private_key.pem -passout pass:the_passphrase 1024
/usr/bin/openssl req -x509 -new -key private_key.pem -passin pass:the_passphrase -days 3650 out private_certificate.cer
More information can be found here [http://dovadi.com/ideal].
please note that these commands can retrieve more than 1 certificate, the one you need is
that matches owner_id field to the user id in users list.
paste to an empty text files and save. Then you can import them in MOR as normaly.
Payment status
Successful:
Kolmisoft 2006-2013
574
Unsuccessful:
Troubleshooting
"Select bank" is empty.
1. Check all configuration options
2. Check certificates.
OSMP
Kolmisoft 2006-2013
575
What is OSMP
OSMP is a payment gateway that lets your clients to top up their balance. The main difference
from other payment gateways is that OSMP allows you to pay using physical OSMP payment
terminals rather than MOR GUI.
Client enters his username and amount into OSMP payment terminal.
OSMP checks payment details with MOR (is there such user in MOR; amount sizes; other
technical technical details )
o User is checked buy matching user name provided by user in OSMP terminal with
MOR username. Example. if we have user with username "admin" in MOR he
should enter "admin" as his user name in OSMP.
o Other details include:
Is this transaction unique and it is not a hacking attempt.
Is amount greater that Min Amount (if Min Amount is provided in
configuration)
Is amount smaller that Max Amount (if Max Amount is provided in
configuration)
If payment can be created inside MOR and no errors occur.
If everything is correct then user pays using OSMP terminal.
After the payment has been successfully completed OSMP announces MOR about this
and MOR tops up users balance.
Kolmisoft 2006-2013
576
577
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
RewriteCond %{REQUEST_URI} !^/billing/public
RewriteRule ^/billing(/.*)?$ /billing/public
<Directory /var/www/billing/public/>
Options ExecCGI FollowSymLinks
AllowOverride All
Allow from all
Order allow,deny
</Directory>
<Directory /var/www/html/stats/>
AddHandler cgi-script .pl
Options +ExecCGI
DirectoryIndex index.pl
</Directory>
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/billing.crt
SSLCertificateKeyFile /etc/ssl/billing.key
SSLCACertificateFile /etc/ssl/comodo.intermediate.crt
RewriteCond %{REQUEST_URI} !^/billing/public
RewriteRule ^/billing(/.*)?$ /billing/public
<Directory /var/www/billing/public/>
Options ExecCGI FollowSymLinks
AllowOverride All
Allow from all
Order allow,deny
</Directory>
<Location /billing/payment_gateways/osmp/osmp/notify>
Allow from 195.22.241.194 195.22.228.238 89.28.59.10 #contact OSMP for exact details which
IP's must be allowed
Deny from All
</Location>
<Directory /var/www/html/stats/>
Kolmisoft 2006-2013
578
Advices
I found a bug, OSMP logo cannot be clicked like other payment gateway logos!
This is not a BUG, that's because of the way OSMP works - payments are made from physical
terminals, please read what is OSMP section in osmp technical details page
HSBC
http://www.hsbc.com/
Enabled - Check this box to make HSBC available for your clients.
Login - HSBC account login.
Client ID - Your client ID from HSBC. You can find it in HSBC control panel.
Password - HSBC account password.
XML url - The URL to send the request in XML.
Tax in amount - "Include" tax into amount that user has to pay or "Exclude" if you want
to exclude the tax from the amount that is added to user's balance
Minimum amount - Minimum payment amount
Maximum amount - Maximum payment amount.
Payment confirmation by you
Kolmisoft 2006-2013
579
Other Notes
About SSL Certificates in Russian
Van's Apache SSL/TLS mini-HOWTO
Monitorings Addon
What is Monitorings Addon?
Monitorings Addon is an optional MOR feature that:
Kolmisoft 2006-2013
580
All users
Postpaid users
Prepaid users
1 user (separate monitorings for each user, also called personal monitorings)
Also it is possible to create 2 or more monitorings for each group, for example:
First monitoring only reports admin about quickly increasing sum, let's say 50 Euro
If an administrator takes no action and someone tries to abuse the system when call sum
for that user reaches for example 100 Euro the second monitoring can block that user
System's administrator can turn on monitorings for resellers. If they are off, resellers' users are
under the terms set by administrator.
Kolmisoft 2006-2013
581
Choose whether you want to permit reading writing or to keep monitorings for resellers disabled
(this is default).
Kolmisoft 2006-2013
582
Period - this option let's you specify how often the monitoring must run and check all
users balance.
Amount - this option let's you specify the amount of money and whether it is
maximum limit or minimum call price limit. When user's balance drops to or
reaches the amount you specified an action will be taken against him depending on
other parameters.
Block user - if this option is set to Block - user will be blocked. He will not be able to
make any calls.
Send Email to Admin - here you may choose to be informed about the action by email.
User type - this options specifies a user group an action must be taken against.
o All - Monitoring will be applied to All users
o Postpaid - Monitoring will be applied to Postpaid users
o Prepaid -Monitoring will be applied to Prepaid users
Additional Notes
You can create as many Monitorings for any group as you want. For example you can
create 2 monitorings for Postpaid users:
o 1 monitoring could just inform the administrator about the high user's balance (in
this case select these options: enter the amount and choose Increases more,
choose Do not block, choose Send, choose Postpaid)
o 2 monitoring could block the user with high balance if the administrator is sleeping
and didn't saw the warning email (in this case enter a bigger amount than in the
Kolmisoft 2006-2013
583
first monitoring and choose Increases more, choose Block, choose Send, choose
User type: Postpaid)
o 3 monitoring could inform the administrator that some users stoped calling for
some reason, maybe because of some technical problems, that otherwise would
not be noticed so quickly (in this case enter some amount and choose Drops
bellow, choose Do not block, choose Send, choose User type: Postpaid)
Do not add too much monitorings, because this functionality is database intensive.
A separate database server could be dedicated for monitorings.
Personal Monitorings
What is a Personal Monitoring?
A Personal Monitoring is applied only to a specific user.
Kolmisoft 2006-2013
584
4. Depending on your scenario enter correct settings for a monitoring. Some information about
marked fields:
Kolmisoft 2006-2013
585
Kolmisoft 2006-2013
586
Select Drops below, choose other settings and click Create. The text next to the information icon
below shows what actions will be taken under what conditions depending on your choices.
Kolmisoft 2006-2013
587
Simultaneous calls
Monitorings Addon is able to spy if there are any simultaneous calls happening to the same
destination. To create such a monitoring select Simultaneous calls in Condition section:
Recommended hardware
Minimum requirements:
20GB of free space on HDD
2GB of RAM
Recommended:
See also
User Blocking
Kolmisoft 2006-2013
588
Admin
Kolmisoft 2006-2013
589
3. Manager goes to active calls and presses a Spy icon on a desired call:
Kolmisoft 2006-2013
590
Disable
You can also globally disable ChanSpy. Go to ADDONS -> Monitorings -> Settings. You will see
this window:
A spied device cannot have recordings enabled at the same time. If this condition is not
met - you will not be able to spy this device.
Reseller:
A spied device cannot have recordings enabled at the same time. If this condition is not
met - you will not be able to spy this device.
Other setttings
When spying you can press # to increase/decrease sound volume.
Available sound levels:
1 2 3 4 -4 -3 -2 -1 0(default)
Here:
-4 - is the quietest
4 - is the loudest
Kolmisoft 2006-2013
591
Limitations
If you have 2 Asterisk servers in your system, both devices for the "Spy action" have to registered
to the same Asterisk server.
Kolmisoft 2006-2013
592
Postpaid
Manager's view
Kolmisoft 2006-2013
593
Terms
Reseller
Reseller is a Call Shop owner. Reseller can have many Call Shops.
Manager
Manager is a person who works for reseller. He works in a Call Shop and does these tasks:
Call booth
Call booth is a special user in MOR billing system dedicated for use in a Call Shop.
594
Kolmisoft 2006-2013
595
5. Now you have to assign some call booths, select the marked icon to do that:
6. Select a required user from dropdown box (marked with number 1) and press a Add user as
booth (marked with number 2):
Very important! You have to dedicate user's for call shop booths, that means you must not
use these users anywhere else in MOR.
In this way add as many users as you need.
When there is no manager assigned in Call Shop when adding new call booth you will be offered
to mark it as a manager. Please do so. If you skip this step you can mark a booth as a manager by
pressing a marked icon:
Kolmisoft 2006-2013
596
Now you can see, that user's type was changed to manager and you can see a new icon: Login as
manager. You can use this icon to quickly access the manager's view to help him solve problems.
P.S. The manager has his own way to access his manager view. Check How can manager
access his management interface? section in Call shop addoin page for more info.
Kolmisoft 2006-2013
597
3. If Login and Password is correct the manager is redirected straight to his manager interface:
Kolmisoft 2006-2013
598
2. After pressing the start button the following settings window will appear:
3. Now the manager has 2 options - to mark the user as prepaid or postpaid:
Prepaid - user pays before a call.
1) To mark a user as Prepaid select the marked check box (number 1).
2) In box 2 enter the amount of money the user has paid.
Kolmisoft 2006-2013
599
Kolmisoft 2006-2013
600
The field Comment can be used to remind yourself some specific details about a user like "The
man with a hat" or/and to include some personal info about this user like his Name, Surname,
Driver's licence number etc. as this is a requirement in some countries. This field is not limited
by any size limits.
4. The booth status changes to reserved (user didn't called any number yet):
Kolmisoft 2006-2013
601
How can the manager stop the user call session, write invoice and take
money?
1. Firstly you need to press the marked icon:
2. The window expands and you will see a lot of valuable information about the current user call
session. You can see how much money the user has paid and how much money should be
returned to user if his call session type was Prepaid.
The session is NOT ENDED until you press the marked button:
Kolmisoft 2006-2013
602
3. When you press the marked button (End Session and Generate Invoice) the call session is
stopped (the user will not be able to make any calls) and an invoice is generated. You can find
the generated invoice in Invoices section - press the marked button:
User type is prepaid, how can I top up his balance during the call?
1. Click the marked icon:
Kolmisoft 2006-2013
603
2. Enter the required amount (marked with number 1) and choose to increase (marked with
number 2) or to decrease (marked with number 3) the current user balance.
3. Depending on what you have chosen (Increase or Decrease) you will see a similar confirmation:
Kolmisoft 2006-2013
604
2. Go to Call booths:
Kolmisoft 2006-2013
605
4. Find a displayed section in settings and set tax for a call booth:
More information about taxes can be found in multi-tax system page at wiki.
5. Save the changes
Now when you will end a calling session an invoice will be generated with taxes:
Rate search
Kolmisoft 2006-2013
606
Hide Settings
Other notes
1 call booth (phone) = 1 MOR user with 1 device. If there are more than 1 device assigned
for a user - please leave only 1.
The number of call booths (phones) is unlimited for each Call Shop
Kolmisoft 2006-2013
607
That depends. If reseller uses his own providers - he must have enough balance (if he is
prepaid) on the provider side to make calls. If reseller is using admin's providers - then reseller
must have enough balance in MOR in order Call Shop call booths could make calls.
Call Shop manager and a call booth does not need to have any balance. Zero balance is OK.
When the call session is terminated by Call Shop manager - call booth balance is reseted to 0.00
Which browser should I use for manager view for best user experience?
For best experience use Mozilla Firefox. You can get it here [www.mozilla.com]
You should add 1 manager (you will not be able to see this user in Call Shop manager's
view as it is needed only for administrating purposes)
You should add as many ordinary users as you need. This number depends on how many
phone booths (to simplify: phones) you have in your 1 call shop.
For example: You have 8 call booths (phones) in your call shop - then you need to create 9
users. 1 user account for a manager and 8 for call booths (phones).
How to setup tariffs (prices) for a Call Shop
Please refer to tariffs section in MOR manual to answer this question in detail. All information is
valid for Call Shop also, because Call Shop users are the same MOR user's just logically grouped
into Call Shops.
Basic scenario how admin/reseller should setup a Call Shop with tariff
1. Create rates (tariff import). More information about: rates
2. Assign that tariff to the users he will use in Call Shop
3. Create Call Shop and assign users to Call Shop as booths
Done, now Call Shop manager (the person who sits in Call Shop and collects money) enables call
booths from manager interface by assigning them credit/balance.
Kolmisoft 2006-2013
608
Other notes
Admin/Reseller can change Call Shop prices by assigning a different tariff for a call both
(user).
Call Shop booths (users) cannot change prices.
Admin can check his resellers rates by loging in as reseller.
How to setup a call booth that it would bill in increments: per second, per minute or
preferential?
This can be achieved by creating a separate tariff with such settings. Then you will have to
assign this tariff for each Call Shop call booth (phone).
I would like that Call Shop owner would be able to import tariffs for his Call Shops, how to
do that?
Create a Reseller account per each Call Shop and configure Call Shops on these Resellers.
Billing information will be separated per Reseller.
See also
What is a reseller?
What is a Call Shop?
Tariffs
MOR Addons
Kolmisoft 2006-2013
609
Balances
Provider has balance which increases when call goes over this Provider. E.g. Provider receives
money for the calls over him.
If Provider is assigned to the User then such Provider can make calls. When Provider (which is
assigned to the User) makes calls, such calls goes over other Providers and User's (to which
Provider is assigned) balance is decreased.
IMPORTANT! Provider's balance and User's balance are two different values. They are not
connected and do not impact each other. They change independently of each other.
Kolmisoft 2006-2013
610
Click Proceed:
Click Confirm. You will be redirected to Payments window and see this payment if everything is
correct.
Please note that adding positive Amount will decrease provider's balance and adding negative
will increase it. Balance - amount = new balance.
Reseller can use this feature only on that reseller's providers.
By clicking
Kolmisoft 2006-2013
611
If the limit is exceeded that provider is disabled which means it is not available to make calls
through it anymore. If you add a value of zero, no limit will be applied.
To apply this functionality to device go to SETTINGS -> Setup -> Default device and
see Advanced block.
This functionality is available only if provider billing addon is enabled.
Tutorials
Usual configuration sequence
1) Make a provider's tariff, then import it.
2) Make a provider, then assign the provider's tariff to the provider itself.
3) Make a user tariff by adding a % on top of the provider tariff.
4) Make a user.
5) Make at least one device for user.
6) Make LCR.
Kolmisoft 2006-2013
612
Kolmisoft 2006-2013
613
Kolmisoft 2006-2013
614
Kolmisoft 2006-2013
615
Kolmisoft 2006-2013
616
Kolmisoft 2006-2013
617
Then try to call from any device to 8000 in MOR. You should hear a woman's voice and
instructions on what you need to do.
Of course, if you change settings everywhere from 8000 to your real DID, it will work as well.
A few hints
For each new conference room you will need a separate device and a DID in MOR.
Short guide
In order to configure number 911, we will need to:
Kolmisoft 2006-2013
618
Detailed guide
Create User/ Virtual Device for 911 service:
Kolmisoft 2006-2013
619
Another way
Make correct LCR for this user (with correct Provider which can handle 911 calls).
In Devices Call Flow, Forward the call to the External number given by your Provider.
Kolmisoft 2006-2013
620
Kolmisoft 2006-2013
621
Example
Let's say we have MOR and another Asterisk server from which we want to configure two
connections to MOR.
MOR configuration
First, on MOR we need to describe such connections as Devices for different Users.
We will create two devices, 1028 and 1009, for these connections:
(Important parts are marked in RED)
Kolmisoft 2006-2013
622
[authentication]
[mor1028]
canreinvite=no
host=82.215.xxx.xxx
user=1028
username=1028
secret=ewpjxxxx
type=peer
fromuser=1028
[mor1009]
canreinvite=no
host=82.215.xxx.xxx
user=1009
username=1009
secret=ca5hxxxx
type=peer
fromuser=1009
Limitations
It is not possible to send CallerID from a remote server this way, because "fromuser" overwrites
the CallerID field.
You can only hardcode CallerID in MOR for every user account.
Kolmisoft 2006-2013
623
icon:
Kolmisoft 2006-2013
624
4. In Data section select whether you want it to be forwarded to a local device (choose one from
the dropdown) or an external number (enter the number), choose CallerID settings and click
Change:
Passwords
1. Never give passwords to people you do not trust
2. Use only secure passwords:
Kolmisoft 2006-2013
625
3. You must use different passwords for all types of services, for example MOR GUI, ROOT,
phpmyadmin and stats passwords must be different.
4. When using SSH - please consider using SSH keys [http://docs.redhat.com/docs/enUS/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-ssh-configuration-keypairs.
html] instead of passwords. More information about SSH can be found here
[http://en.wikipedia.org/wiki/Secure_Shell].
5. Change passwords regularly. Some guides how to do it:
1. Change root password [http://wiki.kolmisoft.com/index.php/I_want_to_change
_a_root_password]
2. Change stats password [http://wiki.kolmisoft.com/index.php/I_want_to_change_
Eluna_stats_password]
3. MOR GUI password - change it from user details
6. Change all default MOR passwords after installation.
Devices
1. Make sure you carefully understand what each device setting means.
2. Do not enable Insecure port + Invite [http://www.voip-info.org/wiki/index.php? page=
Asterisk+sip+insecure], unless you understand what these settings mean!
Device passwords
Always create secure (as stated above) passwords for devices if you want to avoid loss.
Kolmisoft 2006-2013
626
Fail2Ban
Fail2Ban [http://wiki.kolmisoft.com/index.php/Fail2Ban_installation] is installed by default in MOR
systems and protects these services against brute force attacks:
SSH
Asterisk - from registration attacks
Apache - from scanning bot attacks
Kolmisoft 2006-2013
627
Iptables
It is a default Linux firewall and is installed by default in all MOR systems. Although additional
configuration is needed in order it would protect you:
Configure iptables that it would accept connections only to ports required for MOR system to
work.
More
information
about
these
ports
can
be
found here
[http://wiki.kolmisoft.com/index.php/Ports_which_should_be_opened].
Allow connections to SSH (default TCP Port: 22) only from support.kolmisoft.com and systems
you trust.
If MOR GUI is not required for your business model - you can block access to it too (Default
TCP ports: 80/443). Only remember to allow access to it from support.kolmisoft.com and the
systems you trust.
Services
Apache (httpd) - you must use SSL in order you and your users could surf MOR GUI safely.
More information about installing SSL can be found here.
Asterisk - do not connect external PBX systems or at least ensure that they ARE SECURE.
Please read more about known insecure PBX systems here [http://nerdvittles.com/?
p=737], here [http://www2.elastix.org/en/component/kunena/116-security/73040-how-tochange-the-default-asteriskuser-password.html] and here
[http://blogtech.oc9.com/index.php?
option=com_content&view=article&catid=18:securite--security&id=263:security201104&Itemid=6].
SSH - you can go even further securing the SSH - you can limit the number of allowed SSH
connections per minute. For more information please check this guide.
Kolmisoft 2006-2013
628
Port knocking (can be used for SSH or GUI access if it is not used publicly). More information
about this technique can be found here.
Intrusion prevention systems: Cisco Suricata
Forum1
Kolmisoft 2006-2013
629