<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.kolmisoft.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Karolinas</id>
	<title>Kolmisoft Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kolmisoft.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Karolinas"/>
	<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php/Special:Contributions/Karolinas"/>
	<updated>2026-05-17T23:20:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Support&amp;diff=20338</id>
		<title>Support</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Support&amp;diff=20338"/>
		<updated>2015-11-26T14:58:46Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Support plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Support plans = &lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT!''' Only the 2 latest versions of MOR are supported, therefore if you own an older version, please contact [mailto:business@kolmisoft.com our sales team] for the consultation on upgrading.&lt;br /&gt;
&lt;br /&gt;
This table shows support plans and how they are served. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
| '''Support Plan''' || '''Priority''' || '''Reaction time during working hours''' ||   '''[https://support.kolmisoft.com/forums Forum]'''|| '''[[Ticket System | Support System]]''' || '''Skype Chat''' ||  [[Support#FULL_SERVICE_-__ENTERPRISE | '''Full Service''' ]]&lt;br /&gt;
|- &lt;br /&gt;
| '''ENTERPRISE''' ||Highest ||0-1h ||  [[Image:icon_check.png]] || [[Image:icon_check.png]] || [[Image:icon_check.png]]  ||  [[Image:icon_check.png]]&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| PREMIUM||High ||0-3h ||   [[Image:icon_check.png]] || [[Image:icon_check.png]] || [[Image:icon_check.png]]  ||  [[Image:icon_cross.png]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| BASIC ||Normal|| 0-12h ||  [[Image:icon_check.png]] || [[Image:icon_check.png]] || [[Image:icon_cross.png]]  ||   [[Image:icon_cross.png]]&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
| FREE || Lowest || - || [[Image:icon_check.png]] || [[Image:icon_cross.png]] || [[Image:icon_cross.png]]  ||   [[Image:icon_cross.png]]&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Reaction time frames apply to both skype and tickets.&lt;br /&gt;
&lt;br /&gt;
Skype support (Skype ID: support_kolmisoft) is available on the best effort (not guaranteed) Monday to Friday 8 AM - 8PM [http://www.timeanddate.com/worldclock/city.html?n=660 GMT+2] (Lithuanian time). &lt;br /&gt;
&lt;br /&gt;
If Skype support is offline, please report your problem or question in the [[Ticket System | Support System]].&lt;br /&gt;
&lt;br /&gt;
'''Emergency Support''' (for '''BLOCKER''' priority tickets) is available 24x7 and support is provided only through the [[Ticket System | Support System]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ticket Priorities = &lt;br /&gt;
&lt;br /&gt;
Based on the severity tickets are divided into priorities by which support engineers decide which ticket should be solved first.&lt;br /&gt;
&lt;br /&gt;
* Blocker - The system is down or severely degraded or business operations are being critically impacted&lt;br /&gt;
* High - The system is degraded&lt;br /&gt;
* Medium - The system operation is impaired, yet generally functional&lt;br /&gt;
* Low - Configuration or planning assistance is requested to optimize performance of the system. This includes web interface usage and the like.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Rates of technical services = &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
| '''Task''' || '''Price''' || '''Description'''&lt;br /&gt;
|- &lt;br /&gt;
| '''[[Migration_to_other_server | Migration]]''' || 200 EUR|| Complete process is done by Kolmisoft engineers &lt;br /&gt;
|- &lt;br /&gt;
| '''[[Heartbeat_configuration | Heartbeat / Virtual IP configuration]]''' || 200 EUR|| Complete process is done by Kolmisoft engineers &lt;br /&gt;
|- &lt;br /&gt;
| '''[[MySQL_Replication | MySQL Replication]]''' || 200 EUR|| Complete process is done by Kolmisoft engineers &lt;br /&gt;
|- &lt;br /&gt;
| '''Hourly rate support''' || 100 EUR/h || This support is provided if client does not have any service plan&lt;br /&gt;
|- &lt;br /&gt;
| '''[[Training#Personalized_Training | Personal training]]''' || 100 EUR/h || Training is done online by Skype&lt;br /&gt;
|- &lt;br /&gt;
| Remote '''MOR FREE installation'''(10 concurrent calls, all add-ons) || 100 EUR || Remote installation is paid. If Vmware Image suits you, you can download it [[MOR_VMware_images | here]].&lt;br /&gt;
|- &lt;br /&gt;
| '''License re-installation''' || 100 EUR || This task is free only if the need of the reinstallation arose because of Kolmisoft's fault&lt;br /&gt;
|- &lt;br /&gt;
| '''BUG fixing''' || - || BUG fixing is free for one year after the last upgrade (only two newest versions are supported)&lt;br /&gt;
|- &lt;br /&gt;
| '''PUBLIC forum''' || - || Tickets in PUBLIC forum are free. User can request to move a ticket to PRIVATE by agreeing to use '''hourly rate support''' or '''support plan'''&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= What is included into BASIC/PREMIUM support =&lt;br /&gt;
&lt;br /&gt;
* Helping to solve problems&lt;br /&gt;
* Activation of the license after server crash (core upgrade, core recompile)&lt;br /&gt;
* Activation of the license after migration to new server (core upgrade, core recompile). Data migration not included &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= What is NOT included into ENTERPRISE/BASIC/PREMIUM support =&lt;br /&gt;
&lt;br /&gt;
* Testing customers settings - we only explain how to do that yourself (TeamViewer and other methods of screen sharing are not used).&lt;br /&gt;
* Custom development - no additional functionality programming is included. It can be ordered separately.&lt;br /&gt;
* Server migration (migration of data and license)&lt;br /&gt;
* Additional server configuration&lt;br /&gt;
* MySQL Replication configuration&lt;br /&gt;
* Redundancy configuration&lt;br /&gt;
* Personal Training (Online Group Training is included)&lt;br /&gt;
* Custom iptables, firewall configurations&lt;br /&gt;
* Server re-installation&lt;br /&gt;
* Linux (CentOS) support&lt;br /&gt;
* Custom database modifications AND DB/data restoration after broken DB integrity because of manual interference into DB&lt;br /&gt;
* Custom Asterisk modifications&lt;br /&gt;
* MySQL replication re-build.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FULL SERVICE -  '''ENTERPRISE''' =&lt;br /&gt;
&lt;br /&gt;
Dedicated for companies who want to transfer MOR configuration (adding providers, uploading rates, creating clients, etc), system monitoring and all VoIP related problems to Kolmisoft support team. It is same as to hire full-time employee to work with MOR and VoIP issues. Furthermore, differently from hiring employee, Kolmisoft does not require training and we will make sure your tasks are done in the highest priority.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOT INCLUDED:&lt;br /&gt;
&lt;br /&gt;
* Custom development - no additional functionality programming is included. It can be ordered separately&lt;br /&gt;
* Iptables, firewall configuration &lt;br /&gt;
* Configuration of third party software/hardware (sotphones, IP phones, dialers, PBXes, gateways, etc)&lt;br /&gt;
* Enterprise support plan does not include periodic hand-made reports or documenting configurations/features additionally. &lt;br /&gt;
* Purchasing DIDs, making agreements with other service providers and other tasks which include any monetary activities.&lt;br /&gt;
** After purchase is done by the Client, Kolmisoft engineers are able to configure DID (in the MOR and in the DID Provider configuration panel) or Provider connection (in the MOR)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Jobs NOT done by Kolmisoft =&lt;br /&gt;
&lt;br /&gt;
* SNMP service configuration&lt;br /&gt;
* TDM/PSTN card installation/configuration&lt;br /&gt;
* [[Install_Dahdi | Zaptel/DAHDI]] installation/ configuration&lt;br /&gt;
* VPN configuration&lt;br /&gt;
* Iptables, firewall, network configuration&lt;br /&gt;
* Partitions and storage devices management&lt;br /&gt;
** Too risky not knowing whole network configuration - one small mistake makes server unreachable. This task should be done by local technician with physical access to the server.&lt;br /&gt;
* Dealing with 3rd party providers.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Support System explanation]]&lt;br /&gt;
* [[Create new Ticket in Ticket System]]&lt;br /&gt;
* [[Write comment to the Ticket]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Rate_import_from_CSV&amp;diff=20337</id>
		<title>Rate import from CSV</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Rate_import_from_CSV&amp;diff=20337"/>
		<updated>2015-11-26T10:54:24Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* 4. Analysis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= File format =&lt;br /&gt;
&lt;br /&gt;
File should be CSV (comma separated values).&lt;br /&gt;
&lt;br /&gt;
Necessary fields in CSV line:&lt;br /&gt;
&lt;br /&gt;
* Prefix&lt;br /&gt;
* Price&lt;br /&gt;
&lt;br /&gt;
No other fields are necessary.&lt;br /&gt;
&lt;br /&gt;
First line can be header. &lt;br /&gt;
&lt;br /&gt;
''Value Separator'' and ''Decimal Separator'' MUST be set correctly in '''SETTINGS -&amp;gt; Setup -&amp;gt; Settings -&amp;gt; Functionality''':&lt;br /&gt;
&lt;br /&gt;
*  CSV Column Separator&lt;br /&gt;
*  CSV Decimal Separator&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings-functionality.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
File and CSV separator settings should match. If they do not, you will get errors when trying to import file.&lt;br /&gt;
&lt;br /&gt;
* [[Good CSV rate file examples]]&lt;br /&gt;
* [[Bad CSV rate file examples]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Where can I get an example file with available prefixes? ===&lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS -&amp;gt; Billing -&amp;gt; Tariffs''' and click on [[Image:icon_excel.png]] '''Destinations CSV'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Description =&lt;br /&gt;
&lt;br /&gt;
It is very tedious work to add several thousand rates by hand, so you can import them from a CSV file.&lt;br /&gt;
&lt;br /&gt;
There are seven steps for importing rates from a CSV file:&lt;br /&gt;
&lt;br /&gt;
# File upload&lt;br /&gt;
# Column assignment&lt;br /&gt;
# Column confirmation&lt;br /&gt;
# Analysis&lt;br /&gt;
# Creating destinations&lt;br /&gt;
# Updating rates&lt;br /&gt;
# Creating new rates&lt;br /&gt;
&lt;br /&gt;
We will cover each of these one by one.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT NOTE: When importing, prefixes should be in E.164 format!!! For example, no international prefixes!'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 1. File upload ==&lt;br /&gt;
&lt;br /&gt;
Select [[Image:excel.png]] '''Import from CSV''' for the Tariff you want to import rates.&lt;br /&gt;
&lt;br /&gt;
Then click on '''Browse''' and select CSV file with rates. Click '''Upload file''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv1.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 2.1 Column assignment - wrong separators detected ==&lt;br /&gt;
Sometimes the system is able to detect that CSV separators are wrong and suggests you to change them:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Tariff_import_wrong_separators.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 2.2 Column assignment ==&lt;br /&gt;
&lt;br /&gt;
The file is uploaded and the first five lines of the file are available to check:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This helps us in the next step, to assign CSV file's columns to MOR's variables. We have the following window:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv3_2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here we must assign columns from the CSV file. '''Prefix''' and '''Rate''' are mandatory fields. All other fields can be empty. If during import system will find corresponding headers in CSV file, columns will be assigned automatically. You just need to check is it correct.&lt;br /&gt;
&lt;br /&gt;
'''[[Rate Effective From | Effective from]]''' date can be imported in various formats of date. If there is no Effective From date in CSV file you are able to set that date manually, otherwise Default value (it is now) will be taken.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also use of one of the '''quick''' buttons to set the time to '''Now''' (this will give you a full current time, e.g. 2015-09-29 19:06:21) or '''Start of today''' (e.g. 2015-09-29 00:00:00).&lt;br /&gt;
&lt;br /&gt;
'''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).&lt;br /&gt;
&lt;br /&gt;
You can also import '''Ghost Percent''' with the rates. It works the same way as the '''Ghost minute percent''' in the [[Calling_Card_Groups | Calling Cards Groups]]: it is a value to trick the user into thinking he has more minutes when he really has less. &lt;br /&gt;
&lt;br /&gt;
This way of selecting CSV rows and assigning them to MOR values lets us import various CSV file formats.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Additional options===&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Importfromcsv.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Rate Day Type'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This option is available starting from [[MOR_9_documentation | MOR 9]]---&amp;gt;&lt;br /&gt;
It is possible to select to which Day Type rates apply before importing them.&lt;br /&gt;
&lt;br /&gt;
So in two steps it is possible to import separate Rates for Work Days and Free Days, or (in a single step) to import rates for All Days at once.&lt;br /&gt;
&lt;br /&gt;
'''On/Off Peak Tariff import'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This option is available starting from [[MOR_10_documentation | MOR 10]]---&amp;gt;&lt;br /&gt;
If you need to import tariffs for on/off peak periods, all you need to do is upload another tariff on top of the one you have with a different &lt;br /&gt;
time period.&lt;br /&gt;
* You are now able to specify peak and off-peak periods (hours, minutes, seconds) when importing tariffs for work days and weekdays.&lt;br /&gt;
* Important notice - time periods cannot cover each other.&lt;br /&gt;
* If for example you upload a tariff from 8am to 12pm. The Tariff that is uploaded on top can only be from 12pm to 8am.&lt;br /&gt;
&lt;br /&gt;
'''Update Destination Names from file'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When this option is selected destination name is updated from csv file during rate import.&lt;br /&gt;
&lt;br /&gt;
'''Delete Rates for Prefixes which are not present in imported file'''&lt;br /&gt;
&lt;br /&gt;
This option allows you to delete existing rates, which will not be updated.(The prefixes that belong to these rates are not a part of the file being imported).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. Column confirmation ==&lt;br /&gt;
&lt;br /&gt;
The next step is to review our selection and confirm that everything is correct. We can go Back or forward to the next step:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv5.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''' Steps where is nothing to do  (value = 0) will be skipped.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. Analysis ==&lt;br /&gt;
&lt;br /&gt;
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 :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Rate_import_analize.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The most interesting line is '''737 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Line '''Zero Rates in CSV file''' displays number of rates wich has zero value. These rates will not be ignored, and will be imported.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We continue the demo by clicking ''Proceed''.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5.1. Creating Destinations ==&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
This may be done in two ways:&lt;br /&gt;
&lt;br /&gt;
1. The system checks the available prefixes for the best match and selects found Direction as a basis for the new prefix (Destination).&lt;br /&gt;
&lt;br /&gt;
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 Mobile. So it creates a new Destination with Prefix 370630 in which the Direction will be Lithuania.&lt;br /&gt;
&lt;br /&gt;
2. If Country code is available in the imported file, MOR assigns this Direction to the newly created Destination.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv7.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''' Because Destination cannot be empty (space), during the Destination creation, MOR automatically sets Destination name as Direction, Destination name will be Direction. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 5.2. Updating Destinations ==&lt;br /&gt;
&lt;br /&gt;
Step appears when '''Update Destination Names from file''' is check in second step.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 6. Updating rates ==&lt;br /&gt;
&lt;br /&gt;
Here MOR updates rates with the values from CSV files. These rates already exist in DB. Just click ''Proceed'':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv8.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 7. Creating new rates ==&lt;br /&gt;
&lt;br /&gt;
Here, MOR creates rates that have not existed previously. Click ''Proceed'' afterwards.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv9.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 8. Deleting rates ==&lt;br /&gt;
&lt;br /&gt;
This is the final step. MOR deletes the rates which were not a part of the file being imported.&lt;br /&gt;
You're all done!&lt;br /&gt;
&lt;br /&gt;
== NOTES ==&lt;br /&gt;
&lt;br /&gt;
Rate import is VERY CPU-intensive.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
If you get a timeout error, try to import the file in smaller pieces.&lt;br /&gt;
&lt;br /&gt;
= Destination to create from CSV =&lt;br /&gt;
&lt;br /&gt;
When importing rates from the CSV file, you can check which Destinations will be created automatically.&lt;br /&gt;
&lt;br /&gt;
You can view them in a separate window when you click List in step 4 in the field &amp;quot;Destinations to create&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Such destinations do not exist in MOR's database but MOR will create them when importing the rate file.&lt;br /&gt;
&lt;br /&gt;
More info: [[Integrity Check]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Example Videos =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;flashow&amp;gt;http://wiki.kolmisoft.com/videos/rates_import_from_csv.swf|width=600|height=455&amp;lt;/flashow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Similar video with different tariff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;flashow&amp;gt;http://wiki.kolmisoft.com/videos/tariff_import_from_csv.swf|width=800|height=618&amp;lt;/flashow&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
 &amp;lt;iframe width=&amp;quot;640&amp;quot; height=&amp;quot;360&amp;quot; src=&amp;quot;http://www.youtube.com/embed/XzqORQHpgpo&amp;quot; frameborder=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt; &lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another example with Provider tariff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
 &amp;lt;iframe width=&amp;quot;640&amp;quot; height=&amp;quot;360&amp;quot; src=&amp;quot;http://www.youtube.com/embed/OVlrAJ5_a44&amp;quot; frameborder=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt; &lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Importing Tariffs from CSV with wrong Regional Settings]]&lt;br /&gt;
* [[Good CSV rate file examples]]&lt;br /&gt;
* [[Bad CSV rate file examples]]&lt;br /&gt;
* [[How to create a csv file]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Rate_import_from_CSV&amp;diff=20336</id>
		<title>Rate import from CSV</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Rate_import_from_CSV&amp;diff=20336"/>
		<updated>2015-11-26T10:53:08Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* 4. Analysis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= File format =&lt;br /&gt;
&lt;br /&gt;
File should be CSV (comma separated values).&lt;br /&gt;
&lt;br /&gt;
Necessary fields in CSV line:&lt;br /&gt;
&lt;br /&gt;
* Prefix&lt;br /&gt;
* Price&lt;br /&gt;
&lt;br /&gt;
No other fields are necessary.&lt;br /&gt;
&lt;br /&gt;
First line can be header. &lt;br /&gt;
&lt;br /&gt;
''Value Separator'' and ''Decimal Separator'' MUST be set correctly in '''SETTINGS -&amp;gt; Setup -&amp;gt; Settings -&amp;gt; Functionality''':&lt;br /&gt;
&lt;br /&gt;
*  CSV Column Separator&lt;br /&gt;
*  CSV Decimal Separator&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings-functionality.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
File and CSV separator settings should match. If they do not, you will get errors when trying to import file.&lt;br /&gt;
&lt;br /&gt;
* [[Good CSV rate file examples]]&lt;br /&gt;
* [[Bad CSV rate file examples]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Where can I get an example file with available prefixes? ===&lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS -&amp;gt; Billing -&amp;gt; Tariffs''' and click on [[Image:icon_excel.png]] '''Destinations CSV'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Description =&lt;br /&gt;
&lt;br /&gt;
It is very tedious work to add several thousand rates by hand, so you can import them from a CSV file.&lt;br /&gt;
&lt;br /&gt;
There are seven steps for importing rates from a CSV file:&lt;br /&gt;
&lt;br /&gt;
# File upload&lt;br /&gt;
# Column assignment&lt;br /&gt;
# Column confirmation&lt;br /&gt;
# Analysis&lt;br /&gt;
# Creating destinations&lt;br /&gt;
# Updating rates&lt;br /&gt;
# Creating new rates&lt;br /&gt;
&lt;br /&gt;
We will cover each of these one by one.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT NOTE: When importing, prefixes should be in E.164 format!!! For example, no international prefixes!'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 1. File upload ==&lt;br /&gt;
&lt;br /&gt;
Select [[Image:excel.png]] '''Import from CSV''' for the Tariff you want to import rates.&lt;br /&gt;
&lt;br /&gt;
Then click on '''Browse''' and select CSV file with rates. Click '''Upload file''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv1.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 2.1 Column assignment - wrong separators detected ==&lt;br /&gt;
Sometimes the system is able to detect that CSV separators are wrong and suggests you to change them:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Tariff_import_wrong_separators.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 2.2 Column assignment ==&lt;br /&gt;
&lt;br /&gt;
The file is uploaded and the first five lines of the file are available to check:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This helps us in the next step, to assign CSV file's columns to MOR's variables. We have the following window:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv3_2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here we must assign columns from the CSV file. '''Prefix''' and '''Rate''' are mandatory fields. All other fields can be empty. If during import system will find corresponding headers in CSV file, columns will be assigned automatically. You just need to check is it correct.&lt;br /&gt;
&lt;br /&gt;
'''[[Rate Effective From | Effective from]]''' date can be imported in various formats of date. If there is no Effective From date in CSV file you are able to set that date manually, otherwise Default value (it is now) will be taken.&lt;br /&gt;
&lt;br /&gt;
In addition, you can also use of one of the '''quick''' buttons to set the time to '''Now''' (this will give you a full current time, e.g. 2015-09-29 19:06:21) or '''Start of today''' (e.g. 2015-09-29 00:00:00).&lt;br /&gt;
&lt;br /&gt;
'''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).&lt;br /&gt;
&lt;br /&gt;
You can also import '''Ghost Percent''' with the rates. It works the same way as the '''Ghost minute percent''' in the [[Calling_Card_Groups | Calling Cards Groups]]: it is a value to trick the user into thinking he has more minutes when he really has less. &lt;br /&gt;
&lt;br /&gt;
This way of selecting CSV rows and assigning them to MOR values lets us import various CSV file formats.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Additional options===&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Importfromcsv.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Rate Day Type'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This option is available starting from [[MOR_9_documentation | MOR 9]]---&amp;gt;&lt;br /&gt;
It is possible to select to which Day Type rates apply before importing them.&lt;br /&gt;
&lt;br /&gt;
So in two steps it is possible to import separate Rates for Work Days and Free Days, or (in a single step) to import rates for All Days at once.&lt;br /&gt;
&lt;br /&gt;
'''On/Off Peak Tariff import'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This option is available starting from [[MOR_10_documentation | MOR 10]]---&amp;gt;&lt;br /&gt;
If you need to import tariffs for on/off peak periods, all you need to do is upload another tariff on top of the one you have with a different &lt;br /&gt;
time period.&lt;br /&gt;
* You are now able to specify peak and off-peak periods (hours, minutes, seconds) when importing tariffs for work days and weekdays.&lt;br /&gt;
* Important notice - time periods cannot cover each other.&lt;br /&gt;
* If for example you upload a tariff from 8am to 12pm. The Tariff that is uploaded on top can only be from 12pm to 8am.&lt;br /&gt;
&lt;br /&gt;
'''Update Destination Names from file'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When this option is selected destination name is updated from csv file during rate import.&lt;br /&gt;
&lt;br /&gt;
'''Delete Rates for Prefixes which are not present in imported file'''&lt;br /&gt;
&lt;br /&gt;
This option allows you to delete existing rates, which will not be updated.(The prefixes that belong to these rates are not a part of the file being imported).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. Column confirmation ==&lt;br /&gt;
&lt;br /&gt;
The next step is to review our selection and confirm that everything is correct. We can go Back or forward to the next step:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv5.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''' Steps where is nothing to do  (value = 0) will be skipped.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. Analysis ==&lt;br /&gt;
&lt;br /&gt;
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 :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Rate_import_analize.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The most interesting line is '''737 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Line '''Zero Rates in CSV file''' displays number of rates wich has zero value. These rates will not be ignored, and will be imported.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We continue the demo by clicking ''Proceed''.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''NOTE''', that unnecessary steps (e.g no destinations are planed to be created or rates to be updated) are always skipped to avoid clicking &amp;quot;Proceed&amp;quot; button.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5.1. Creating Destinations ==&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
This may be done in two ways:&lt;br /&gt;
&lt;br /&gt;
1. The system checks the available prefixes for the best match and selects found Direction as a basis for the new prefix (Destination).&lt;br /&gt;
&lt;br /&gt;
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 Mobile. So it creates a new Destination with Prefix 370630 in which the Direction will be Lithuania.&lt;br /&gt;
&lt;br /&gt;
2. If Country code is available in the imported file, MOR assigns this Direction to the newly created Destination.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv7.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''' Because Destination cannot be empty (space), during the Destination creation, MOR automatically sets Destination name as Direction, Destination name will be Direction. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 5.2. Updating Destinations ==&lt;br /&gt;
&lt;br /&gt;
Step appears when '''Update Destination Names from file''' is check in second step.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 6. Updating rates ==&lt;br /&gt;
&lt;br /&gt;
Here MOR updates rates with the values from CSV files. These rates already exist in DB. Just click ''Proceed'':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv8.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 7. Creating new rates ==&lt;br /&gt;
&lt;br /&gt;
Here, MOR creates rates that have not existed previously. Click ''Proceed'' afterwards.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:rateimportfromcsv9.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== 8. Deleting rates ==&lt;br /&gt;
&lt;br /&gt;
This is the final step. MOR deletes the rates which were not a part of the file being imported.&lt;br /&gt;
You're all done!&lt;br /&gt;
&lt;br /&gt;
== NOTES ==&lt;br /&gt;
&lt;br /&gt;
Rate import is VERY CPU-intensive.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
If you get a timeout error, try to import the file in smaller pieces.&lt;br /&gt;
&lt;br /&gt;
= Destination to create from CSV =&lt;br /&gt;
&lt;br /&gt;
When importing rates from the CSV file, you can check which Destinations will be created automatically.&lt;br /&gt;
&lt;br /&gt;
You can view them in a separate window when you click List in step 4 in the field &amp;quot;Destinations to create&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Such destinations do not exist in MOR's database but MOR will create them when importing the rate file.&lt;br /&gt;
&lt;br /&gt;
More info: [[Integrity Check]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Example Videos =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;flashow&amp;gt;http://wiki.kolmisoft.com/videos/rates_import_from_csv.swf|width=600|height=455&amp;lt;/flashow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Similar video with different tariff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;flashow&amp;gt;http://wiki.kolmisoft.com/videos/tariff_import_from_csv.swf|width=800|height=618&amp;lt;/flashow&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
 &amp;lt;iframe width=&amp;quot;640&amp;quot; height=&amp;quot;360&amp;quot; src=&amp;quot;http://www.youtube.com/embed/XzqORQHpgpo&amp;quot; frameborder=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt; &lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another example with Provider tariff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
 &amp;lt;iframe width=&amp;quot;640&amp;quot; height=&amp;quot;360&amp;quot; src=&amp;quot;http://www.youtube.com/embed/OVlrAJ5_a44&amp;quot; frameborder=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt; &lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Importing Tariffs from CSV with wrong Regional Settings]]&lt;br /&gt;
* [[Good CSV rate file examples]]&lt;br /&gt;
* [[Bad CSV rate file examples]]&lt;br /&gt;
* [[How to create a csv file]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_Calling_Cards_create&amp;diff=20290</id>
		<title>MOR API Calling Cards create</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_Calling_Cards_create&amp;diff=20290"/>
		<updated>2015-11-05T10:09:49Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Request */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
[[MOR API]] Calling Cards create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/calling_cards_create&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* card_group_id - id of a Card Group '''Required'''.&lt;br /&gt;
* cards_from - Cards' (to be created) number range beginning '''Required'''.&lt;br /&gt;
* cards_till - Cards' (to be created) number range ending '''Required'''.&lt;br /&gt;
&lt;br /&gt;
'''* Note that cards_from &amp;lt;= cards_till. Both of the previous parameters are 10-digit-long integers.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''* Note that the parameters are shown in the same order as they need to be when generating the hash. The last parameter in a row is an API_Secret_Key.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using the '''parameters''' which are listed above. Note that the parameters are shown in the same order as they need to be when generating the hash. The last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''u''' - username for authentication. '''Required'''.&lt;br /&gt;
* batch_number - batch number for the Calling Cards.&lt;br /&gt;
* min_balance - minimum balance for the Calling Cards.&lt;br /&gt;
* distributor_id - Calling Cards' distributor's (User's) id.&lt;br /&gt;
* language - Language for the Calling Cards.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have u = admin, API Secret Key = secret&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/calling_cards_create?u=admin&amp;amp;card_group_id=1&amp;amp;cards_from=1000000025&amp;amp;cards_till=1000000035&amp;amp;batch_number=50&amp;amp;&lt;br /&gt;
 min_balance=15&amp;amp;language=en&amp;amp;distributor_id=2&amp;amp;hash=7e112ededcfee097cce21b6201c6d2a00dda1f4c&lt;br /&gt;
&lt;br /&gt;
* Now we can find 11 newly created Calling Cards (number range: 1000000025-1000000035) in the Card Group's (id = 1) Cards' list.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''* Note that some Calling Cards may fail on creation if a given range overlaps with already existing Cards in a Card Group.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''* Note that passing invalid optional parameters will not be notified. Default values will be used instead.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''* Note that a Username and a Password are not included into hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;success&amp;gt;Cards created: 11/11&amp;lt;/success&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - User is not authorized or is a Simple User. Only Admin, Reseller or Accounant can use this API method. &lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - hash is not correct. Check API_Secret_Key and order or parameters while concatenating a hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;You are not authorized to use this functionality&amp;lt;/error&amp;gt; - User has no permissions to manage Calling Cards. &lt;br /&gt;
* &amp;lt;error&amp;gt;Bad login&amp;lt;/error&amp;gt; - User is not authorized (possibly wrong Username). &lt;br /&gt;
* &amp;lt;error&amp;gt;Card Group was not found&amp;lt;/error&amp;gt; - Card Group under a given id does not exist or a card_group_id parameter is missing from the API parameters' list.&lt;br /&gt;
* &amp;lt;error&amp;gt;Cards from was not found&amp;lt;/error&amp;gt; - required cards_from parameter is missing.&lt;br /&gt;
* &amp;lt;error&amp;gt;Cards till was not found&amp;lt;/error&amp;gt; - required cards_till parameter is missing. &lt;br /&gt;
* &amp;lt;error&amp;gt;Cards from is in incorrect format&amp;lt;/error&amp;gt; - cards_from parameter's value is not numeric or is not 10-digit-long. &lt;br /&gt;
* &amp;lt;error&amp;gt;Cards till is in incorrect format&amp;lt;/error&amp;gt; - cards_till parameter's value is not numeric or is not 10-digit-long. &lt;br /&gt;
* &amp;lt;error&amp;gt;Cards from must not be greater than Cards till&amp;lt;/error&amp;gt; - cards_from parameter's value must not be grater than cards_till parameter's value. No proper Cards' number range is possible.&lt;br /&gt;
* &amp;lt;error&amp;gt;PIN is too short for this interval&amp;lt;/error&amp;gt; - Card Group does not provide enough PIN codes for a given Cards' number range. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;error&amp;gt;Cards from must not be greater than Cards till&amp;lt;/error&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Custom_Tariffs&amp;diff=19856</id>
		<title>M4 Custom Tariffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Custom_Tariffs&amp;diff=19856"/>
		<updated>2015-07-28T09:49:06Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
Custom Tariff Rates have a higher priority than regular Tariff Rates. For example, if a Device has both Tariff and Custom Tariff and some Rate prefixes match between those Tariffs, the end user will view the specific Rates of Custom Tariff. Custom Tariffs functionality is accessible by Admin and Manager with Custom Tariff Permission rights.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The functionality is accessible through /billing/tariffs/custom_tariffs&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_tariffs.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To apply Custom Tariff for Connection Point go to /billing/devices/device_edit/X  Origination Point section and choose Custom Tariff from dropdown.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom tariff in device.png]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Custom_tariff_in_device.png&amp;diff=19855</id>
		<title>File:Custom tariff in device.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Custom_tariff_in_device.png&amp;diff=19855"/>
		<updated>2015-07-28T09:40:38Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Custom_Tariffs&amp;diff=19854</id>
		<title>M4 Custom Tariffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Custom_Tariffs&amp;diff=19854"/>
		<updated>2015-07-28T09:25:28Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Custom_tariffs.png]]&lt;br /&gt;
&lt;br /&gt;
Custom Tariff Rates have a higher priority than regular Tariff Rates. For example, if a Device has both Tariff and Custom Tariff and some Rate prefixes match between those Tariffs, the end user will view the specific Rates of Custom Tariff.&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Custom_Tariffs&amp;diff=19853</id>
		<title>M4 Custom Tariffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Custom_Tariffs&amp;diff=19853"/>
		<updated>2015-07-28T09:22:36Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Custom_tariffs.png]]&lt;br /&gt;
&lt;br /&gt;
Custom tariff rates have a higher priority than regular tariff rates. For example, if a device has both tariff and custom tariff and some rate prefixes match between those tariffs, the end user will view the specific rates of custom tariff.&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Custom_Tariffs&amp;diff=19852</id>
		<title>M4 Custom Tariffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Custom_Tariffs&amp;diff=19852"/>
		<updated>2015-07-28T09:13:25Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: Created page with 'File:Custom_tariffs.png'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Custom_tariffs.png]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Custom_tariffs.png&amp;diff=19851</id>
		<title>File:Custom tariffs.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Custom_tariffs.png&amp;diff=19851"/>
		<updated>2015-07-28T09:07:45Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: Custom tariffs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Custom tariffs&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_user_register&amp;diff=19339</id>
		<title>MOR API user register</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_user_register&amp;diff=19339"/>
		<updated>2015-04-14T11:37:13Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Returns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 10---&amp;gt;&lt;br /&gt;
[[MOR API]] Create new user from params. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/user_register&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* '''email''' - New user email. '''Required'''.&lt;br /&gt;
* '''id''' - User UNIQUEHASH in MOR database. '''Required'''. &amp;lt;u&amp;gt;If uniquehash is not used, user will end up at admin account&amp;lt;/u&amp;gt;.&lt;br /&gt;
Uniquehash can be found in SETTINGS –&amp;gt; Setup –&amp;gt; Settings –&amp;gt; API tab (last setting) or after log out of MOR in the address field of the browser, for example:&lt;br /&gt;
 http://SERVERIP/billing/callc/login/kljsdfg54kl where kljsdfg54kl is the uniquehash.&lt;br /&gt;
* '''device_type''' - Device type [SIP, IAX2]. '''Required'''.&lt;br /&gt;
* '''username''' - New user username. '''Required'''.&lt;br /&gt;
* '''first_name''' - New user first name. '''Required'''.&lt;br /&gt;
* '''last_name''' - New user last name. '''Required'''.&lt;br /&gt;
&lt;br /&gt;
'''Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is API_Secret_Key'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using '''parameters''' which are listed above. Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''password''' - New user password. '''Required'''.&lt;br /&gt;
* '''password2''' - New user password confirmation. '''Required'''.&lt;br /&gt;
* '''country_id''' - New user country (please check table below). '''Required'''.&lt;br /&gt;
* '''mob_phone''' - Mobile phone number.&lt;br /&gt;
* '''phone - Phone number. &lt;br /&gt;
* '''fax''' - Fax. &lt;br /&gt;
* '''caller_id''' - CallerID for Device (It can include letters, numbers and signs. If empty value is passed CallerID will be used the same as in Default User settings. If empty in Default User settings and in request - it will not be used).&lt;br /&gt;
* '''client_id''' - Company/Personal ID.&lt;br /&gt;
* '''vat_number''' - TAX Registration Number.&lt;br /&gt;
* '''state'''&lt;br /&gt;
* '''county'''&lt;br /&gt;
* '''city'''&lt;br /&gt;
* '''postcode''' - Postcode/ZIP.&lt;br /&gt;
* '''address'''&lt;br /&gt;
* '''device_location_id'''&lt;br /&gt;
* '''lcr_id'''&lt;br /&gt;
* '''usertype'''&lt;br /&gt;
* '''permissions_group''' - Reseller or Accountant Permission Group (depending what usertype is sended)&lt;br /&gt;
* '''accounting_number''' - Accounting Number&lt;br /&gt;
* '''call_limit''' - Call limit (how many simultaneous Calls the new User can make by default?)&lt;br /&gt;
* '''credit_limit''' - Credit limit&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/user_register?id=kljsdfg54kl&amp;amp;username=username&amp;amp;password=pass&amp;amp;password2=pass&amp;amp;first_name=first&lt;br /&gt;
 &amp;amp;last_name=last&amp;amp;country_id=10&amp;amp;email=email@email.com&amp;amp;device_type=SIP&amp;amp;hash=sd5g16sd1g6s&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;success&amp;gt;Registration successful&amp;lt;/success&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
   &amp;lt;user_device_settings&amp;gt;&lt;br /&gt;
     &amp;lt;email&amp;gt;Registration email&amp;lt;/email&amp;gt; - If email sending enabled.&lt;br /&gt;
     &amp;lt;user_id&amp;gt; user id&amp;lt;/user_id&amp;gt; &amp;lt;!---This functionality is available from MOR 12---&amp;gt;&lt;br /&gt;
     &amp;lt;device_type&amp;gt; device type [SIP|IAX2]&amp;lt;/device_type&amp;gt;&lt;br /&gt;
     &amp;lt;device_id&amp;gt; device id &amp;lt;/device_id&amp;gt; &amp;lt;!---This functionality is available from MOR 12---&amp;gt;&lt;br /&gt;
     &amp;lt;username&amp;gt; device username &amp;lt;/username&amp;gt;&lt;br /&gt;
     &amp;lt;password&amp;gt; device password &amp;lt;/password&amp;gt;&lt;br /&gt;
     &amp;lt;pin&amp;gt; device pin &amp;lt;/pin&amp;gt;&lt;br /&gt;
     &amp;lt;server_ip&amp;gt; Asterisk Server IP &amp;lt;/server_ip&amp;gt;&lt;br /&gt;
     &amp;lt;registration_notice&amp;gt; Registration notice which is set in Settings &amp;lt;/registration_notice&amp;gt;&lt;br /&gt;
   &amp;lt;/user_device_settings&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Registration over API is disabled&amp;lt;/error&amp;gt; - Setting: Settings-&amp;gt;API-&amp;gt;API allow Registration, is off. Turn on API allow Registration.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - User with UNIQUEHASH not found or params id not send. Enter correct id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Please enter username&amp;lt;/error&amp;gt; - Params username is not send. Enter correct username.&lt;br /&gt;
* &amp;lt;error&amp;gt;Enter device type&amp;lt;/error&amp;gt; - device_type is not send. Enter correct device_type.&lt;br /&gt;
* &amp;lt;error&amp;gt;Such username is already taken&amp;lt;/error&amp;gt; - Duplicate of username. Change username.&lt;br /&gt;
* &amp;lt;error&amp;gt;Passwords do not match&amp;lt;/error&amp;gt; - Enter correct passwords.&lt;br /&gt;
* &amp;lt;error&amp;gt;Password must be longer than (...) characters&amp;lt;/error&amp;gt; - Enter correct password.&lt;br /&gt;
* &amp;lt;error&amp;gt;Please enter first name&amp;lt;/error&amp;gt; - Enter first_name.&lt;br /&gt;
* &amp;lt;error&amp;gt;Please enter last name&amp;lt;/error&amp;gt; - Enter last_name.&lt;br /&gt;
* &amp;lt;error&amp;gt;Please select country&amp;lt;/error&amp;gt; - Enter country_id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Please enter email&amp;lt;/error&amp;gt; - Email address is not valid or not send. Enter correct email.&lt;br /&gt;
* &amp;lt;error&amp;gt;This email address is already in use&amp;lt;/error&amp;gt; - Change email address.&lt;br /&gt;
* &amp;lt;error&amp;gt;User with mobile phone already exists&amp;lt;/error&amp;gt; - Change mobile phone.&lt;br /&gt;
* &amp;lt;error&amp;gt;User with phone already exists&amp;lt;/error&amp;gt; - Change phone.&lt;br /&gt;
* &amp;lt;error&amp;gt;User with fax already exists&amp;lt;/error&amp;gt; - Change fax.&lt;br /&gt;
* &amp;lt;error&amp;gt;Default user is not present&amp;lt;/error&amp;gt; - [[Default_user | Default User's]] settings are not saved in database. &lt;br /&gt;
* &amp;lt;error&amp;gt;LCR was not found&amp;lt;/error&amp;gt; - LCR id incorrect or does not exist&lt;br /&gt;
* &amp;lt;error&amp;gt;Location was not found&amp;lt;/error&amp;gt; - Location id incorrect or does not exist&lt;br /&gt;
* &amp;lt;error&amp;gt;Password must be longer than 7 characters or short passwords in Devices should be allowed&amp;lt;/error&amp;gt; - Use longer password or allow short passwords in devices&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== List of Country IDs ===&lt;br /&gt;
&lt;br /&gt;
1 - Afghanistan&lt;br /&gt;
&lt;br /&gt;
2 - Albania&lt;br /&gt;
&lt;br /&gt;
3 - Algeria&lt;br /&gt;
&lt;br /&gt;
4 - American Samoa&lt;br /&gt;
&lt;br /&gt;
5 - Andorra&lt;br /&gt;
&lt;br /&gt;
6 - Angola &lt;br /&gt;
&lt;br /&gt;
7 - Anguilla &lt;br /&gt;
&lt;br /&gt;
8 - Antarctica &lt;br /&gt;
&lt;br /&gt;
9 - Antigua And Barbuda&lt;br /&gt;
&lt;br /&gt;
10 - Argentina&lt;br /&gt;
&lt;br /&gt;
11 - Armenia&lt;br /&gt;
&lt;br /&gt;
12 - Aruba&lt;br /&gt;
&lt;br /&gt;
13 - Australia&lt;br /&gt;
&lt;br /&gt;
14 - Austria&lt;br /&gt;
&lt;br /&gt;
15 - Azerbaijan &lt;br /&gt;
&lt;br /&gt;
16 - Bahamas&lt;br /&gt;
&lt;br /&gt;
17 - Bahrain&lt;br /&gt;
&lt;br /&gt;
18 - Bangladesh &lt;br /&gt;
&lt;br /&gt;
19 - Barbados &lt;br /&gt;
&lt;br /&gt;
20 - Belarus&lt;br /&gt;
&lt;br /&gt;
21 - Belgium&lt;br /&gt;
&lt;br /&gt;
22 - Belize &lt;br /&gt;
&lt;br /&gt;
23 - Benin&lt;br /&gt;
&lt;br /&gt;
24 - Bermuda&lt;br /&gt;
&lt;br /&gt;
25 - Bhutan &lt;br /&gt;
&lt;br /&gt;
26 - Bolivia&lt;br /&gt;
&lt;br /&gt;
27 - Bosnia And Herzegovina &lt;br /&gt;
&lt;br /&gt;
28 - Botswana &lt;br /&gt;
&lt;br /&gt;
30 - Brazil &lt;br /&gt;
&lt;br /&gt;
32 - Brunei Darussalam&lt;br /&gt;
&lt;br /&gt;
33 - Bulgaria &lt;br /&gt;
&lt;br /&gt;
34 - Burkina Faso &lt;br /&gt;
&lt;br /&gt;
35 - Burundi&lt;br /&gt;
&lt;br /&gt;
36 - Cambodia &lt;br /&gt;
&lt;br /&gt;
37 - Cameroon &lt;br /&gt;
&lt;br /&gt;
38 - Canada &lt;br /&gt;
&lt;br /&gt;
39 - Cape Verde &lt;br /&gt;
&lt;br /&gt;
40 - Cayman Islands &lt;br /&gt;
&lt;br /&gt;
41 - Central African Republic &lt;br /&gt;
&lt;br /&gt;
42 - Chad &lt;br /&gt;
&lt;br /&gt;
43 - Chile&lt;br /&gt;
&lt;br /&gt;
44 - China&lt;br /&gt;
&lt;br /&gt;
45 - Christmas Island &lt;br /&gt;
&lt;br /&gt;
46 - Cocos (Keeling) Islands&lt;br /&gt;
&lt;br /&gt;
47 - Colombia &lt;br /&gt;
&lt;br /&gt;
48 - Comoros&lt;br /&gt;
&lt;br /&gt;
49 - Congo&lt;br /&gt;
&lt;br /&gt;
50 - Congo, The Democratic Republic Of The&lt;br /&gt;
&lt;br /&gt;
51 - Cook Islands &lt;br /&gt;
&lt;br /&gt;
52 - Costa Rica &lt;br /&gt;
&lt;br /&gt;
53 - Ivory Cost &lt;br /&gt;
&lt;br /&gt;
54 - Croatia&lt;br /&gt;
&lt;br /&gt;
55 - Cuba &lt;br /&gt;
&lt;br /&gt;
56 - Cyprus &lt;br /&gt;
&lt;br /&gt;
57 - Czech Republic &lt;br /&gt;
&lt;br /&gt;
58 - Denmark&lt;br /&gt;
&lt;br /&gt;
59 - Djibouti &lt;br /&gt;
&lt;br /&gt;
60 - Dominica &lt;br /&gt;
&lt;br /&gt;
61 - Dominican Republic &lt;br /&gt;
&lt;br /&gt;
62 - Ecuador&lt;br /&gt;
&lt;br /&gt;
63 - Egypt&lt;br /&gt;
&lt;br /&gt;
64 - El Salvador&lt;br /&gt;
&lt;br /&gt;
65 - Equatorial Guinea&lt;br /&gt;
&lt;br /&gt;
66 - Eritrea&lt;br /&gt;
&lt;br /&gt;
67 - Estonia&lt;br /&gt;
&lt;br /&gt;
68 - Ethiopia &lt;br /&gt;
&lt;br /&gt;
69 - Falkland Islands (Malvinas)&lt;br /&gt;
&lt;br /&gt;
70 - Faroe Islands&lt;br /&gt;
&lt;br /&gt;
71 - Fiji &lt;br /&gt;
&lt;br /&gt;
72 - Finland&lt;br /&gt;
&lt;br /&gt;
73 - France &lt;br /&gt;
&lt;br /&gt;
74 - French Guiana&lt;br /&gt;
&lt;br /&gt;
75 - French Polynesia &lt;br /&gt;
&lt;br /&gt;
77 - Gabon&lt;br /&gt;
&lt;br /&gt;
78 - Gambia &lt;br /&gt;
&lt;br /&gt;
79 - Georgia&lt;br /&gt;
&lt;br /&gt;
80 - Germany&lt;br /&gt;
&lt;br /&gt;
81 - Ghana&lt;br /&gt;
&lt;br /&gt;
82 - Gibraltar&lt;br /&gt;
&lt;br /&gt;
83 - Greece &lt;br /&gt;
&lt;br /&gt;
84 - Greenland&lt;br /&gt;
&lt;br /&gt;
85 - Grenada&lt;br /&gt;
&lt;br /&gt;
86 - Guadeloupe &lt;br /&gt;
&lt;br /&gt;
87 - Guam &lt;br /&gt;
&lt;br /&gt;
88 - Guatemala&lt;br /&gt;
&lt;br /&gt;
89 - Guinea &lt;br /&gt;
&lt;br /&gt;
90 - Guinea-Bissau&lt;br /&gt;
&lt;br /&gt;
91 - Guyana &lt;br /&gt;
&lt;br /&gt;
92 - Haiti&lt;br /&gt;
&lt;br /&gt;
94 - Vatican City &lt;br /&gt;
&lt;br /&gt;
95 - Honduras &lt;br /&gt;
&lt;br /&gt;
96 - Hong Kong&lt;br /&gt;
&lt;br /&gt;
97 - Hungary&lt;br /&gt;
&lt;br /&gt;
98 - Iceland&lt;br /&gt;
&lt;br /&gt;
99 - India&lt;br /&gt;
&lt;br /&gt;
100 - Indonesia&lt;br /&gt;
&lt;br /&gt;
101 - Iran &lt;br /&gt;
&lt;br /&gt;
102 - Iraq &lt;br /&gt;
&lt;br /&gt;
103 - Ireland&lt;br /&gt;
&lt;br /&gt;
104 - Israel &lt;br /&gt;
&lt;br /&gt;
105 - Italy&lt;br /&gt;
&lt;br /&gt;
106 - Jamaica&lt;br /&gt;
&lt;br /&gt;
107 - Japan&lt;br /&gt;
&lt;br /&gt;
108 - Jordan &lt;br /&gt;
&lt;br /&gt;
109 - Kazakhstan &lt;br /&gt;
&lt;br /&gt;
110 - Kenya&lt;br /&gt;
&lt;br /&gt;
111 - Kiribati &lt;br /&gt;
&lt;br /&gt;
112 - Korea, Democratic People's Republic Of &lt;br /&gt;
&lt;br /&gt;
113 - Korea, Republic of &lt;br /&gt;
&lt;br /&gt;
114 - Kuwait &lt;br /&gt;
&lt;br /&gt;
115 - Kyrgyzstan &lt;br /&gt;
&lt;br /&gt;
116 - Laos &lt;br /&gt;
&lt;br /&gt;
117 - Latvia &lt;br /&gt;
&lt;br /&gt;
118 - Lebanon&lt;br /&gt;
&lt;br /&gt;
119 - Lesotho&lt;br /&gt;
&lt;br /&gt;
120 - Liberia&lt;br /&gt;
&lt;br /&gt;
121 - Libyan Arab Jamahiriya &lt;br /&gt;
&lt;br /&gt;
122 - Liechtenstein&lt;br /&gt;
&lt;br /&gt;
123 - Lithuania&lt;br /&gt;
&lt;br /&gt;
124 - Luxembourg &lt;br /&gt;
&lt;br /&gt;
125 - Macao&lt;br /&gt;
&lt;br /&gt;
126 - Macedonia&lt;br /&gt;
&lt;br /&gt;
127 - Madagascar &lt;br /&gt;
&lt;br /&gt;
128 - Malawi &lt;br /&gt;
&lt;br /&gt;
129 - Malaysia &lt;br /&gt;
&lt;br /&gt;
130 - Maldives &lt;br /&gt;
&lt;br /&gt;
131 - Mali &lt;br /&gt;
&lt;br /&gt;
132 - Malta&lt;br /&gt;
&lt;br /&gt;
133 - Marshall islands &lt;br /&gt;
&lt;br /&gt;
134 - Martinique &lt;br /&gt;
&lt;br /&gt;
135 - Mauritania &lt;br /&gt;
&lt;br /&gt;
136 - Mauritius&lt;br /&gt;
&lt;br /&gt;
137 - Mayotte&lt;br /&gt;
&lt;br /&gt;
138 - Mexico &lt;br /&gt;
&lt;br /&gt;
139 - Micronesia &lt;br /&gt;
&lt;br /&gt;
140 - Moldova&lt;br /&gt;
&lt;br /&gt;
141 - Monaco &lt;br /&gt;
&lt;br /&gt;
142 - Mongolia &lt;br /&gt;
&lt;br /&gt;
143 - Montserrat &lt;br /&gt;
&lt;br /&gt;
144 - Morocco&lt;br /&gt;
&lt;br /&gt;
145 - Mozambique &lt;br /&gt;
&lt;br /&gt;
146 - Myanmar&lt;br /&gt;
&lt;br /&gt;
147 - Namibia&lt;br /&gt;
&lt;br /&gt;
148 - Nauru&lt;br /&gt;
&lt;br /&gt;
149 - Nepal&lt;br /&gt;
&lt;br /&gt;
150 - Netherlands&lt;br /&gt;
&lt;br /&gt;
151 - Netherlands Antilles &lt;br /&gt;
&lt;br /&gt;
152 - New Caledonia&lt;br /&gt;
&lt;br /&gt;
153 - New Zealand&lt;br /&gt;
&lt;br /&gt;
154 - Nicaragua&lt;br /&gt;
&lt;br /&gt;
155 - Niger&lt;br /&gt;
&lt;br /&gt;
156 - Nigeria&lt;br /&gt;
&lt;br /&gt;
157 - Niue &lt;br /&gt;
&lt;br /&gt;
158 - Norfolk Island &lt;br /&gt;
&lt;br /&gt;
159 - Northern Mariana Islands &lt;br /&gt;
&lt;br /&gt;
160 - Norway &lt;br /&gt;
&lt;br /&gt;
161 - Oman &lt;br /&gt;
&lt;br /&gt;
162 - Pakistan &lt;br /&gt;
&lt;br /&gt;
163 - Palau&lt;br /&gt;
&lt;br /&gt;
164 - Palestine&lt;br /&gt;
&lt;br /&gt;
165 - Panama &lt;br /&gt;
&lt;br /&gt;
166 - Papua New Guinea &lt;br /&gt;
&lt;br /&gt;
167 - Paraguay &lt;br /&gt;
&lt;br /&gt;
168 - Peru &lt;br /&gt;
&lt;br /&gt;
169 - Philippines&lt;br /&gt;
&lt;br /&gt;
171 - Poland &lt;br /&gt;
&lt;br /&gt;
172 - Portugal &lt;br /&gt;
&lt;br /&gt;
173 - Puerto Rico&lt;br /&gt;
&lt;br /&gt;
174 - Qatar&lt;br /&gt;
&lt;br /&gt;
175 - Reunion&lt;br /&gt;
&lt;br /&gt;
176 - Romania&lt;br /&gt;
&lt;br /&gt;
177 - Russian Federation &lt;br /&gt;
&lt;br /&gt;
178 - Rwanda &lt;br /&gt;
&lt;br /&gt;
179 - Saint Helena &lt;br /&gt;
&lt;br /&gt;
180 - Saint Kitts And Nevis&lt;br /&gt;
&lt;br /&gt;
181 - Saint Lucia&lt;br /&gt;
&lt;br /&gt;
182 - Saint Pierre And Miquelon&lt;br /&gt;
&lt;br /&gt;
183 - Saint Vincent And The Grenadines &lt;br /&gt;
&lt;br /&gt;
184 - Samoa&lt;br /&gt;
&lt;br /&gt;
185 - San Marino &lt;br /&gt;
&lt;br /&gt;
186 - Sao Tome And Principe&lt;br /&gt;
&lt;br /&gt;
187 - Saudi Arabia &lt;br /&gt;
&lt;br /&gt;
188 - Senegal&lt;br /&gt;
&lt;br /&gt;
189 - Seychelles &lt;br /&gt;
&lt;br /&gt;
190 - Sierra Leone &lt;br /&gt;
&lt;br /&gt;
191 - Singapore&lt;br /&gt;
&lt;br /&gt;
192 - Slovakia &lt;br /&gt;
&lt;br /&gt;
193 - Slovenia &lt;br /&gt;
&lt;br /&gt;
194 - Solomon Islands&lt;br /&gt;
&lt;br /&gt;
195 - Somalia&lt;br /&gt;
&lt;br /&gt;
196 - South Africa &lt;br /&gt;
&lt;br /&gt;
198 - Spain&lt;br /&gt;
&lt;br /&gt;
199 - Sri Lanka&lt;br /&gt;
&lt;br /&gt;
200 - Sudan&lt;br /&gt;
&lt;br /&gt;
201 - Suriname &lt;br /&gt;
&lt;br /&gt;
203 - Swaziland&lt;br /&gt;
&lt;br /&gt;
204 - Sweden &lt;br /&gt;
&lt;br /&gt;
205 - Switzerland&lt;br /&gt;
&lt;br /&gt;
206 - Syrian Arab Republic &lt;br /&gt;
&lt;br /&gt;
207 - Taiwan &lt;br /&gt;
&lt;br /&gt;
208 - Tajikistan &lt;br /&gt;
&lt;br /&gt;
209 - Tanzania &lt;br /&gt;
&lt;br /&gt;
210 - Thailand &lt;br /&gt;
&lt;br /&gt;
212 - Togo &lt;br /&gt;
&lt;br /&gt;
213 - Tokelau&lt;br /&gt;
&lt;br /&gt;
214 - Tonga&lt;br /&gt;
&lt;br /&gt;
215 - Trinidad And Tobago&lt;br /&gt;
&lt;br /&gt;
216 - Tunisia&lt;br /&gt;
&lt;br /&gt;
217 - Turkey &lt;br /&gt;
&lt;br /&gt;
218 - Turkmenistan &lt;br /&gt;
&lt;br /&gt;
219 - Turks And Caicos Islands &lt;br /&gt;
&lt;br /&gt;
220 - Tuvalu &lt;br /&gt;
&lt;br /&gt;
221 - Uganda &lt;br /&gt;
&lt;br /&gt;
222 - Ukraine&lt;br /&gt;
&lt;br /&gt;
223 - United Arab Emirates &lt;br /&gt;
&lt;br /&gt;
224 - United Kingdom &lt;br /&gt;
&lt;br /&gt;
225 - United States&lt;br /&gt;
&lt;br /&gt;
227 - Uruguay&lt;br /&gt;
&lt;br /&gt;
228 - Uzbekistan &lt;br /&gt;
&lt;br /&gt;
229 - Vanuatu&lt;br /&gt;
&lt;br /&gt;
230 - Venezuela&lt;br /&gt;
&lt;br /&gt;
231 - Vietnam&lt;br /&gt;
&lt;br /&gt;
232 - Virgin Islands, British&lt;br /&gt;
&lt;br /&gt;
233 - Virgin Islands, U.S. &lt;br /&gt;
&lt;br /&gt;
234 - Wallis And Futuna&lt;br /&gt;
&lt;br /&gt;
236 - Yemen&lt;br /&gt;
&lt;br /&gt;
238 - Zambia &lt;br /&gt;
&lt;br /&gt;
239 - Zimbabwe &lt;br /&gt;
&lt;br /&gt;
240 - Ascension Island &lt;br /&gt;
&lt;br /&gt;
241 - Diego Garcia &lt;br /&gt;
&lt;br /&gt;
242 - Inmarsat &lt;br /&gt;
&lt;br /&gt;
243 - East Timor &lt;br /&gt;
&lt;br /&gt;
246 - Iridium&lt;br /&gt;
&lt;br /&gt;
247 - Serbia and Montenegro&lt;br /&gt;
&lt;br /&gt;
250 - Emsat&lt;br /&gt;
&lt;br /&gt;
251 - Ellipso-3&lt;br /&gt;
&lt;br /&gt;
252 - Globalstar &lt;br /&gt;
&lt;br /&gt;
253 - Montenegro &lt;br /&gt;
&lt;br /&gt;
254 - Kosovo&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_CDR_Rerating&amp;diff=19231</id>
		<title>M4 CDR Rerating</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_CDR_Rerating&amp;diff=19231"/>
		<updated>2015-03-31T11:44:12Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Step 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===CDR Rerating===&lt;br /&gt;
&lt;br /&gt;
In M2 administrator is able to rerate previously made calls in case the tariff's rated weren't updated in time, so the user is billed properly to avoid any unjust money losses. In order to rerate user's calls you should first update his tariff's rates. Or choose a new tariff for him.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
You can find the rerating functionality under '''BILLING''' -&amp;gt; '''CDR''' -&amp;gt; '''Rerating'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The rerating functionality will prompt you with the following steps:&lt;br /&gt;
&lt;br /&gt;
=Step 1=&lt;br /&gt;
The first step allows you to configure the period for the calls you are going to rerate, aswell as test the functionality and see the results without permanently changing the records in your database.&lt;br /&gt;
&lt;br /&gt;
'''Available options:'''&lt;br /&gt;
* From - the beginning of the period you are going to rerate.&lt;br /&gt;
* To - the end of the period you are going to rerate.&lt;br /&gt;
* User - the user, whose calls are going to be rerated.&lt;br /&gt;
* Tariff for User - tariff which will be used for the selected user's devices - '''THIS IS USED IN TESTING MODE ONLY'''.&lt;br /&gt;
&lt;br /&gt;
=Step 2=&lt;br /&gt;
The second step is basically a confirmation step. It displays the data you have selected in the first step and calculates the billsec for calls that are going to be related, aswell as the price for the Origination and the Termination points.&lt;br /&gt;
&lt;br /&gt;
'''Displayed data:'''&lt;br /&gt;
* User - user whose calls are being rerated.&lt;br /&gt;
* Time period - the interval in which the calls are going to be related.&lt;br /&gt;
* Testing mode - shows whether the rerating is in testing mode.&lt;br /&gt;
* Total calls - the amount of calls that are going to be rerated.&lt;br /&gt;
&lt;br /&gt;
* Total time - calculated billing time for the calls that are going to be related.&lt;br /&gt;
* Total Termination Point price - calculated price for Termination Points for the selected rerating period.&lt;br /&gt;
* Total User price - calculated price for the Origination Points for the selected rerating period.&lt;br /&gt;
&lt;br /&gt;
=Step 3=&lt;br /&gt;
The third and final step displays the results of the rerating.&lt;br /&gt;
&lt;br /&gt;
'''Displayed data:'''&lt;br /&gt;
* User - user whose calls are being rerated.&lt;br /&gt;
* Time period - the interval in which the calls are going to be related.&lt;br /&gt;
* Testing mode - shows whether the rerating is in testing mode.&lt;br /&gt;
* Total calls - the amount of calls that are going to be rerated.&lt;br /&gt;
&lt;br /&gt;
* Total time&lt;br /&gt;
** Prior rerating - shows the calculated billing time for rerated calls prior to rerating.&lt;br /&gt;
** After rerating - shows the new calculated billing time for rerated calls after rerating.&lt;br /&gt;
** Difference - difference between the two above.&lt;br /&gt;
* Total Termination Point price&lt;br /&gt;
** Prior rerating - shows the calculated Termination Point price prior to rerating.&lt;br /&gt;
** After rerating - shows the new Origination Point price after rerating.&lt;br /&gt;
** Difference - difference between the two above.&lt;br /&gt;
* Total User price&lt;br /&gt;
** Prior rerating - shows the calculated Termination Point price prior to rerating.&lt;br /&gt;
** After rerating - shows the new Origination Point price after rerating.&lt;br /&gt;
** Difference - difference between the two above.&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=PBX_Pools&amp;diff=18979</id>
		<title>PBX Pools</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=PBX_Pools&amp;diff=18979"/>
		<updated>2015-02-24T14:12:38Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
PBX Pools allows to create multiple Extensions in one system. It means that on one system can live big amount of different companies and each company can use same Extension as other is using. &lt;br /&gt;
&lt;br /&gt;
Extensions are created for [[Devices]], [[Call Queues]], [[PBX Function External DID|External DIDs]], [[Ring-Groups|Ring Groups]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Go to '''ADDONS –&amp;gt; PBX Functions –&amp;gt; PBX Pools'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:pbx_pool_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you are able to see list of all PBX Pools which you have:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:pbx_pool_list.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In this page you can [[Image:icon_add.png]]'''Add new PBX Pool''', [[image:icon_edit.png]] edit or delete old one. You are not able to delete Global PBX Pool.&lt;br /&gt;
&lt;br /&gt;
Click on blue user icon to see Users, who belongs to particular PBX Pool.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:pbx_pools_users.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Click on [[Image:view_icon.png]] icon to see Extensions which belongs to particular PBX Pool.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--- Extentions list png missing---&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
By default admin will have Global PBX Pool. '''This Pool is a set of Extensions which will be used if Extension is not found in other PBX Pools'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
PBX Pools have to be assigned for&lt;br /&gt;
* [[Users]] (whose Devices will have Extensions), &lt;br /&gt;
* [[Call Queues]], &lt;br /&gt;
* [[PBX Function External DID|External DIDs]]&lt;br /&gt;
* [[Ring-Groups|Ring Groups]]&lt;br /&gt;
&lt;br /&gt;
'''NOTE''' At same time '''PBX Pool cannot have two or more same Extensions'''. To prevent conflict some of PBX Pools, where duplicate Extension  exists, will not be shown between selections.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Example=&lt;br /&gt;
&lt;br /&gt;
Let's say we have 3 different companies on one MOR system and all of them wants to use Extensions 101, 102, 103, 104. To make this situation work, need to create 3 different PBX Pools and assign them to [[Users]] (whose Devices will have Extensions), [[Call Queues]], [[PBX Function External DID|External DIDs]] or [[Ring-Groups|Ring Groups]].&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Pbx_pools_users.png&amp;diff=18978</id>
		<title>File:Pbx pools users.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Pbx_pools_users.png&amp;diff=18978"/>
		<updated>2015-02-24T14:10:38Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: Picture for pbx pools users&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Picture for pbx pools users&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_Subscriptions_get&amp;diff=18808</id>
		<title>MOR API Subscriptions get</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_Subscriptions_get&amp;diff=18808"/>
		<updated>2015-01-12T10:43:01Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Request */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= NOTE: Available from MOR X5 =&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[MOR API]] Subscriptions get&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X5''' Call: '''/api/subscriptions_get'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
* service_id - Subscription's Service id.&lt;br /&gt;
* subscription_activation_start - Subscription's Activation Start timestamp in System Time Zone (if defined - only time equal to it or after it).&lt;br /&gt;
* subscription_activation_end - Subscription's Activation End timestamp in System Time Zone (if defined - only time equal to it or before it).&lt;br /&gt;
* subscription_memo - Subscription's memo.&lt;br /&gt;
* subscription_until_canceled - defines if Subscription can be Until canceled - can not to have Activation End (0 - off, 1 - on, default - off). &lt;br /&gt;
* user_id - Subscription's User id&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have: API Secret Key = secret&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/subscriptions_get?&amp;amp;u=admin&amp;amp;service_id=2&amp;amp;subscription_activation_start=1307167264&amp;amp;subscription_activation_end=1307167265&lt;br /&gt;
 &amp;amp;subscription_memo=Subscriptions memo&amp;amp;subscription_until_canceled=1&amp;amp;user_id=2&lt;br /&gt;
'''NOTE that username is not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;status&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;&lt;br /&gt;
      &amp;lt;subscription&amp;gt;&lt;br /&gt;
        &amp;lt;user&amp;gt;Test User #1&amp;lt;/user&amp;gt;&lt;br /&gt;
        &amp;lt;device&amp;gt;&amp;lt;/device&amp;gt;&lt;br /&gt;
        &amp;lt;service&amp;gt;Service Name&amp;lt;/service&amp;gt;&lt;br /&gt;
        &amp;lt;from&amp;gt;2011-06-04 06:01:04 +0200&amp;lt;/from&amp;gt;&lt;br /&gt;
        &amp;lt;till&amp;gt;&amp;lt;/till&amp;gt;&lt;br /&gt;
        &amp;lt;time_left&amp;gt;&amp;lt;/time_left&amp;gt;&lt;br /&gt;
        &amp;lt;memo&amp;gt;Subscriptions memo&amp;lt;/memo&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;Subscription type&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;price&amp;gt;&amp;lt;/price&amp;gt;&lt;br /&gt;
        &amp;lt;user_id&amp;gt;&amp;lt;/user_id&amp;gt;&lt;br /&gt;
      &amp;lt;/subscription&amp;gt;&lt;br /&gt;
    &amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
  &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
* &amp;lt;error&amp;gt;No Subscriptions found&amp;lt;/error&amp;gt; - Subscription was not found using specified params. Use correct params.&lt;br /&gt;
* &amp;lt;error&amp;gt;You are not authorized to manage Subscriptions&amp;lt;/error&amp;gt; - Such username does not exist in the database or User does not have rights to manage Subscriptions.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key while concatenating hash_string.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;br /&gt;
* [[MOR API subscription delete]]&lt;br /&gt;
* [[MOR API subscription create]]&lt;br /&gt;
* [[MOR API subscription update]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=PayPal_Website_Payments_Pro_technical_details&amp;diff=18807</id>
		<title>PayPal Website Payments Pro technical details</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=PayPal_Website_Payments_Pro_technical_details&amp;diff=18807"/>
		<updated>2015-01-12T10:36:11Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Configuration from MOR */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
[[Image:paypalpro_logo.jpg|right|100px]] &lt;br /&gt;
http://www.paypal.com/cgi-bin/webscr?cmd=_wp-pro-overview-outside&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=What do you need to get started?=&lt;br /&gt;
&lt;br /&gt;
In order to use PayPal Website Payments Pro in MOR, you need to generate a PayPal Live certificate.&lt;br /&gt;
Here is what you need to do:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Log in to https://www.paypal.com.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2. Click on &amp;quot;My Account&amp;quot; then &amp;quot;Profile&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
3. Click the API Certificate Request link.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
4. Enter API Username(from paypal page) in Login field in MOR PayPal payments PRO gateway.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
5. Enter API Password(from paypal page) in Password field in MOR PayPal payments PRO gateway&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
6. Enter Signature in(from paypal page) in Signature field in MOR PayPal payments PRO gateway&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Configuration from MOR=&lt;br /&gt;
&lt;br /&gt;
Go to '''ADDONS –&amp;gt; Payment gateways''' and click on PayPal Website Payments Pro (US) logo. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:payment_gateways_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Configuration settings will appear:  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:paypal_pro.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*'''Default currency''' – United States Currency will be used for Payments. During the payment, there is ability to choose one of active Currencies during the payment, but it will be converted to USD and payment will be send in USD. &lt;br /&gt;
*'''Enabled''' – check to activate PayPal Pro Payment Gateway.&lt;br /&gt;
*'''Login''' – username of PayPal Pro account.&lt;br /&gt;
*'''Password''' – password of PayPal Pro account.&lt;br /&gt;
*'''Signature'''&lt;br /&gt;
*'''Tax in amount''' – &amp;quot;Include&amp;quot; tax into amount that user has to pay or &amp;quot;Exclude&amp;quot; if you want to exclude the tax from the amount that is added to user's balance.&lt;br /&gt;
*'''Minimum amount''' – minimum amount which should be paid.&lt;br /&gt;
*'''Maximum amount''' – maximum amount which client should be able to pay.&lt;br /&gt;
''*Note - when executing Payment, Minimum and Maximum amount will be displayed in Currency which User has selected for this specific Payment''&lt;br /&gt;
*'''Payment confirmation by you'''&lt;br /&gt;
** '''Not required''' – No confirmation is required. Every payment is added to clients balance immediately.&lt;br /&gt;
** '''Required for suspicious payments''' – currently iDeal doesn't provide enough info to calculate suspiciousness. &lt;br /&gt;
** '''Required for all payments''' – When payments are completed they must be confirmed manually. &lt;br /&gt;
*'''Notify by email''' – check if you want to be notified by email after each payment.	&lt;br /&gt;
*'''Logo''' – you can choose your own logo, which will be on the Start Page.&lt;br /&gt;
*'''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. &lt;br /&gt;
*'''PayPal custom redirect''' – check to redirect client after successful payment.&lt;br /&gt;
*'''Return URL on successful payment''' – address of page where client should be redirected after successful payment.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
*[[PayPal_payments_do_not_work|PayPal payments do not work]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Payment Gateway Addon]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=PayPal_Website_Payments_Pro_technical_details&amp;diff=18806</id>
		<title>PayPal Website Payments Pro technical details</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=PayPal_Website_Payments_Pro_technical_details&amp;diff=18806"/>
		<updated>2015-01-12T10:32:43Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Configuration from MOR */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
[[Image:paypalpro_logo.jpg|right|100px]] &lt;br /&gt;
http://www.paypal.com/cgi-bin/webscr?cmd=_wp-pro-overview-outside&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=What do you need to get started?=&lt;br /&gt;
&lt;br /&gt;
In order to use PayPal Website Payments Pro in MOR, you need to generate a PayPal Live certificate.&lt;br /&gt;
Here is what you need to do:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Log in to https://www.paypal.com.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2. Click on &amp;quot;My Account&amp;quot; then &amp;quot;Profile&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
3. Click the API Certificate Request link.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
4. Enter API Username(from paypal page) in Login field in MOR PayPal payments PRO gateway.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
5. Enter API Password(from paypal page) in Password field in MOR PayPal payments PRO gateway&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
6. Enter Signature in(from paypal page) in Signature field in MOR PayPal payments PRO gateway&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Configuration from MOR=&lt;br /&gt;
&lt;br /&gt;
Go to '''ADDONS –&amp;gt; Payment gateways''' and click on PayPal Website Payments Pro (US) logo. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:payment_gateways_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Configuration settings will appear:  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:paypal_pro.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*'''Default currency''' – United States Currency will be used for Payments. During the payment, there is ability to choose one of active Currencies during the payment, but it will be converted to USD and payment will be send in USD. &lt;br /&gt;
*'''Enabled''' – check to activate PayPal Pro Payment Gateway.&lt;br /&gt;
*'''Login''' – username of PayPal Pro account.&lt;br /&gt;
*'''Password''' – password of PayPal Pro account.&lt;br /&gt;
*'''Signature'''&lt;br /&gt;
*'''Tax in amount''' – &amp;quot;Include&amp;quot; tax into amount that user has to pay or &amp;quot;Exclude&amp;quot; if you want to exclude the tax from the amount that is added to user's balance.&lt;br /&gt;
*'''Minimum amount''' – minimum amount which should be paid.&lt;br /&gt;
*'''Maximum amount''' – maximum amount which client should be able to pay.&lt;br /&gt;
*'''Payment confirmation by you'''&lt;br /&gt;
** '''Not required''' – No confirmation is required. Every payment is added to clients balance immediately.&lt;br /&gt;
** '''Required for suspicious payments''' – currently iDeal doesn't provide enough info to calculate suspiciousness. &lt;br /&gt;
** '''Required for all payments''' – When payments are completed they must be confirmed manually. &lt;br /&gt;
*'''Notify by email''' – check if you want to be notified by email after each payment.	&lt;br /&gt;
*'''Logo''' – you can choose your own logo, which will be on the Start Page.&lt;br /&gt;
*'''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. &lt;br /&gt;
*'''PayPal custom redirect''' – check to redirect client after successful payment.&lt;br /&gt;
*'''Return URL on successful payment''' – address of page where client should be redirected after successful payment.&lt;br /&gt;
''*Note - when executing Payment, Minimum and Maximum amount will be displayed in Currency which User has selected for this specific Payment''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
*[[PayPal_payments_do_not_work|PayPal payments do not work]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Payment Gateway Addon]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=PBX_Function_External_DID&amp;diff=18741</id>
		<title>PBX Function External DID</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=PBX_Function_External_DID&amp;diff=18741"/>
		<updated>2014-12-03T13:22:19Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
'''!!WARNING - Deep Asterisk knowledge is a must before proceeding!!''' &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
External DID function allows you to implement different PBX (or other Asterisk related functions) into MOR.&amp;lt;br&amp;gt;&lt;br /&gt;
When you assign some DID number pbxfunction External DID your call is forwarded to an extension file&lt;br /&gt;
in Asterisk called:&lt;br /&gt;
&lt;br /&gt;
 /etc/asterisk/extensions_mor_external_did.conf&lt;br /&gt;
&lt;br /&gt;
Prior to making configurations in that file, please keep in mind, that:&lt;br /&gt;
&lt;br /&gt;
When call comes to DID, for example DID number 1234567890 it will be forwarded to the dial plan in that file with extension:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 exten =&amp;gt; 1234567890,1,...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:warning.png|50px]]DID number and PBX function Extension '''CANNOT''' be the same. So if your DID is 1234567890, your PBX function extension &lt;br /&gt;
cannot be 1234567890, it can be any other number, like *235485.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In this file you can basically configure any function that Asterisk supports to handle your call, like:&lt;br /&gt;
&lt;br /&gt;
* [http://www.voip-info.org/wiki/view/Asterisk+howto+dial+plan Custom dial plans]&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.voip-info.org/wiki/view/Asterisk#HowtosandTutorials And many others]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Go to '''ADDON –&amp;gt; PBX functions –&amp;gt; External DIDs''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Pbx_functions_menu.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you will see list off PBX function External DIDs&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Pbx_function_external_did.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Click on [[image:icon_edit.png]] icon to make changes for existing settings or enter Extension and Dial Plan name, select PBX Pool and PBX Function name and click on [[Image:icon_add.png]] icon to create new one.&lt;br /&gt;
&lt;br /&gt;
*'''Note''': you  can change the User who will be billed by pressing the edit button;&lt;br /&gt;
duplicate Extensions can not be created in same PBX Pool.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[PBX Functions Addon]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Ring-Groups&amp;diff=18740</id>
		<title>Ring-Groups</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Ring-Groups&amp;diff=18740"/>
		<updated>2014-12-03T13:15:13Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* How to create a new Ring Group? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=About=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currently supported Dialing Strategies=&lt;br /&gt;
&lt;br /&gt;
Currently MOR supports these Dialing Strategies:&lt;br /&gt;
*ringall&lt;br /&gt;
&lt;br /&gt;
''If you need other dialing strategies to be implemented - please submit a ticket in Support system.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What is needed to setup a Ring Group?==&lt;br /&gt;
* At least one DID number, you can get one from [http://www.didww.com/ DIDWW]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Where to find Ring Groups?==&lt;br /&gt;
&lt;br /&gt;
'''Ring Groups''' currently are available &amp;lt;u&amp;gt;only for admin&amp;lt;/u&amp;gt; and can be found in '''ADDONS –&amp;gt; PBX functions –&amp;gt; External DIDs –&amp;gt; Ring Groups''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ring groups path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to create a new Ring Group?==&lt;br /&gt;
&lt;br /&gt;
1. Go to: '''SETTINGS -&amp;gt;  Billing -&amp;gt; DIDs -&amp;gt; PBX functions -&amp;gt; Ring Groups'''&lt;br /&gt;
&lt;br /&gt;
2. Press: [[File:add.png]] '''New Ring Group'''&lt;br /&gt;
&lt;br /&gt;
3. New Ring Group setup will appear:&lt;br /&gt;
&lt;br /&gt;
[[File:Ring_group_2.png]]&lt;br /&gt;
&lt;br /&gt;
* '''Ring Group name:''' enter your Ring Group name here, for example &amp;quot;Sales ring group&amp;quot;;&lt;br /&gt;
* '''Comment:''' (optional) enter your Ring Group description, for example &amp;quot;This is my Sales Ring group&amp;quot;;&lt;br /&gt;
* '''This Ring Group will be reached by such local extension:''' Enter an extension, that will be used to dial this ring group &lt;br /&gt;
locally. Remember not to duplicate your [[Extension_lines | extensions!]];&lt;br /&gt;
* '''Extension belongs to PBX Pool:''' select PBX Pool. NOTE: duplicate Extensions can not be created in same PBX Pool.&lt;br /&gt;
* '''Ring Time (how long device will ring):''' Define how many seconds to ring the group of devices (default is 60 seconds);&lt;br /&gt;
* '''Options to use when dialing (Advanced):''' '''!!!ATTENTION!!!''' Do not use this field if you are not sure what you are doing. &amp;lt;br&amp;gt;&lt;br /&gt;
This field allows you to enter more advanced Dialing options. &lt;br /&gt;
More information can be found [http://www.voip-info.org/wiki/view/Asterisk+cmd+Dial#Dialmacros here];&lt;br /&gt;
* '''Dialing Strategy:''' Choose the ring strategy from the drop down list;&lt;br /&gt;
* '''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 &amp;quot;sales&amp;quot; CallerID name;&lt;br /&gt;
* '''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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to add devices to a Ring Group?==&lt;br /&gt;
[[File:Ring_groups_3.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''This Ring Group will be reached by such DIDs:''' Click on the [[File:Add_did_rg.png]]  to assign a DID number from a drop down menu that will be used to call this Ring Group;&lt;br /&gt;
* '''Will ring these devices:''' Click on the [[File:Add_device_rg.png]] and choose [[Users | users]] with their [[Devices | devices]] which will be used in this Ring Group;&lt;br /&gt;
* '''Show Extension lines''' Click on this link in order to check the Extension lines which will be used when dialing. This is for information purposes only.&lt;br /&gt;
[[File:Extension_rg.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* 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!!):&lt;br /&gt;
[[File:Ring_group.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Virtual device===&lt;br /&gt;
&lt;br /&gt;
Adding a virtual device allows calling both to local devices and external numbers at the same time. Create a virtual device (click [[Devices| here]] for detailed information about devices) and then make a Call Flow for it. Click [[File:icon call flow.png]] to see a basic Call Flow and then click [[File:edit.png]] in the ''Before State'' line. Select Action: ''Forward'', Forward to: ''External number'', enter the number and click ''Change''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Devices callflow.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Device is now ready to be assigned to a Ring group.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also = &lt;br /&gt;
* [[How to forward Ring Group to Voicemail if not answered]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Call_Queues&amp;diff=18739</id>
		<title>Call Queues</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Call_Queues&amp;diff=18739"/>
		<updated>2014-12-03T13:12:59Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Queue Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!---This functionality is available from MOR X4---&amp;gt;&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
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 won’t end up in voicemail.&lt;br /&gt;
&lt;br /&gt;
Queues consist of&lt;br /&gt;
&lt;br /&gt;
*Incoming calls being placed in the queue&lt;br /&gt;
*Members that answer the queue (extensions or users that login as agents)&lt;br /&gt;
*A strategy for how to handle the queue and divide calls between members&lt;br /&gt;
*Music played while waiting in the queue&lt;br /&gt;
*Announcements for members and callers&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
==Queue Options==&lt;br /&gt;
&lt;br /&gt;
'''Queue Name''' – name of Queue.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Assigned DID(s)''' – quantity of DIDs, which are assigned to current Queue.&amp;lt;br&amp;gt;&lt;br /&gt;
'''PBX Pool''' –  default PBX Pool is set Global, matching Extensions are not allowed in same PBX Pool.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Extension''' – a short number by which this queue can be reached; must be unique in the pbx pool.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Server''' – allows to choose server in multiple servers system. Server id on which server queue application will be executed &amp;lt;br&amp;gt;&lt;br /&gt;
'''Ring Strategies''' – Calls are distributed among the members handling a queue with one of several strategies:&amp;lt;br&amp;gt;&lt;br /&gt;
*ringall: ring all available channels until one answers (default)&lt;br /&gt;
*roundrobin: take turns ringing each available interface&lt;br /&gt;
*leastrecent: ring interface which was least recently called by this queue&lt;br /&gt;
*fewestcalls: ring the one with fewest completed calls from this queue&lt;br /&gt;
*random: ring random interface&lt;br /&gt;
*rrmemory: round robin with memory, remember where we left off last ring pass&lt;br /&gt;
*linear: rings members in the order specified, always starting at the beginning of the list&lt;br /&gt;
*wrandom: rings a random member, but uses the members’ penalties as a weight.&lt;br /&gt;
*rrorder: same as rrmemory, except the queue member order from configuration is preserved&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''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.&amp;lt;br&amp;gt;&lt;br /&gt;
'''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.&amp;lt;br&amp;gt;&lt;br /&gt;
'''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'.) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Fail Over Actions''' – set action what to do after Queue &amp;lt;br&amp;gt;&lt;br /&gt;
*Hangup 		&lt;br /&gt;
*Transfer to Extension 		&lt;br /&gt;
*Transfer to DID 		&lt;br /&gt;
*Transfer to Device &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Agent Options==&lt;br /&gt;
&lt;br /&gt;
'''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 &lt;br /&gt;
multiple queues so that they know which department a person has called(for example, a CID may be prefixed with &amp;quot;Sales&amp;quot; or &amp;quot;Tech Support&amp;quot;). &amp;lt;br&amp;gt;&lt;br /&gt;
'''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.&amp;lt;br&amp;gt;&lt;br /&gt;
'''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 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Agent Delay''' – If you wish to have a delay before the member is connected to the caller (or before the member hears any announcement messages), set this to the number of seconds to delay. &amp;lt;br&amp;gt;&lt;br /&gt;
'''Agent Timeout''' – This timeout specifies the amount of time to try ringing a member's phone before considering the member to be unavailable. &amp;lt;br&amp;gt;&lt;br /&gt;
'''Retry''' – How long do we wait before trying all the members again?&amp;lt;br&amp;gt;&lt;br /&gt;
'''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) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Allow hangup by *''' – allow callee to hang up by pressing &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Static Agents==&lt;br /&gt;
&lt;br /&gt;
To add Static Agent click on '''Add new Static Agent''' link and choose Device and Penalty.&lt;br /&gt;
&lt;br /&gt;
'''Penalties'''&lt;br /&gt;
&lt;br /&gt;
Queue members can be defined as having a penalty - e.g.&lt;br /&gt;
member =&amp;gt; SIP/200,1&lt;br /&gt;
member =&amp;gt; SIP/201,2&lt;br /&gt;
member =&amp;gt; SIP/202,3&lt;br /&gt;
member =&amp;gt; SIP/203,2&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Caller Options==&lt;br /&gt;
&lt;br /&gt;
'''Max Callers''' – Maximum number of people waiting in the queue (0 for unlimited) &amp;lt;br&amp;gt;&lt;br /&gt;
'''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 pre-recorded 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. &amp;lt;br&amp;gt;&lt;br /&gt;
'''Ringing instead of MOH''' – ring instead of playing MOH. &amp;lt;br&amp;gt;&lt;br /&gt;
'''Music On Hold Class''' – Musicclass sets which music applies for this particular call queue.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Ring at once when Agent is ringing''' – stops MOH and rings once an agent is ringing (Asterisk Trunk)&amp;lt;br&amp;gt;&lt;br /&gt;
'''Join Empty''' – This setting controls whether callers can join a queue with no members.&amp;lt;br&amp;gt;&lt;br /&gt;
*paused - a member is not considered available if he is paused&lt;br /&gt;
*penalty - a member is not considered available if his penalty is less than QUEUE_MAX_PENALTY&lt;br /&gt;
*inuse - a member is not considered available if he is currently on a call&lt;br /&gt;
*ringing - a member is not considered available if his phone is currently ringing&lt;br /&gt;
*unavailable - This applies mainly to Agent channels. If the agent is a member of the queue but has not logged in, then do not consider the member to be available&lt;br /&gt;
*invalid - Do not consider a member to be available if he has an &amp;quot;invalid&amp;quot; device state. This generally is caused by an error condition in the member's channel driver.&lt;br /&gt;
*unknown - Do not consider a member to be available if we are unable to determine the member's current device state.&lt;br /&gt;
*wrapup - A member is not considered available if he is currently in his wrapuptime after taking a call.&lt;br /&gt;
'''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.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Allow hangup by *''' – allow caller to hang up by pressing *  &amp;lt;br&amp;gt;&lt;br /&gt;
'''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. &amp;lt;br&amp;gt;&lt;br /&gt;
'''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). &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Caller Announcements==&lt;br /&gt;
&lt;br /&gt;
'''Repeat Frequency''' – How often to announce queue position and/or estimated holdtime to caller &amp;lt;br&amp;gt;&lt;br /&gt;
'''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 announce-frequency) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Announce Position''' – Queue position announce? Valid values are &amp;quot;yes,&amp;quot; &amp;quot;no,&amp;quot; &amp;quot;limit,&amp;quot; or &amp;quot;more.&amp;quot; If set to &amp;quot;no,&amp;quot; then the caller's position will never be announced. If &amp;quot;yes,&amp;quot; then the caller's position in the queue will be announced to the caller. If set to &amp;quot;more,&amp;quot; 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 &amp;quot;limit,&amp;quot; then only callers within the limit specified by announce-position-limit will have their position announced. &amp;lt;br&amp;gt;&lt;br /&gt;
If you have specified &amp;quot;limit&amp;quot; or it &amp;quot;more&amp;quot; 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 the announce-position option to anything else, then this will have no bearing on queue operation&amp;lt;br&amp;gt;&lt;br /&gt;
'''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 &amp;quot;less than 2 minutes&amp;quot; when appropriate.&amp;lt;br&amp;gt;&lt;br /&gt;
'''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.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Periodic Announcements==&lt;br /&gt;
&lt;br /&gt;
This block allows a message like &amp;quot;Thank you for holding, your call is important to us.&amp;quot; to be played at regular intervals while a caller is in the queue.&lt;br /&gt;
&lt;br /&gt;
'''Repeat Frequency''' – How often to make any periodic announcement (see periodic-announce) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Random''' – Should the periodic announcements be played in a random order? Default is no. &amp;lt;br&amp;gt;&lt;br /&gt;
'''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.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Announcment''' – sound message&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Vizualization==&lt;br /&gt;
&lt;br /&gt;
[[Image:queue_visualization.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=From Reseller/Reseller PRO=&lt;br /&gt;
&lt;br /&gt;
Reseller/Reseller PRO is not able to use Queue functionality.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=From Accountant=&lt;br /&gt;
&lt;br /&gt;
Accountant can manage Admins Queues if there are set  '''Mange Queues''' permission in [[Accountant permissions]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Not supported additional functionality =&lt;br /&gt;
&lt;br /&gt;
* Dynamic Agents (users who can login/logout to/from queue)&lt;br /&gt;
* Queue usage statistics&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This can change due to high-demand from our Clients.&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Routing_Groups&amp;diff=18737</id>
		<title>M4 Routing Groups</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Routing_Groups&amp;diff=18737"/>
		<updated>2014-12-03T12:51:32Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Routing Group is logical routing entity (group of [[M2 Dial Peers | Dial Peers]]) which is assigned to [[M2 Origination Points | Origination Point]] and determines the route of the call from this [[M2 Origination Points | Origination Point]].&lt;br /&gt;
Routing group is able to have up to two Failover Routing Groups.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Assume there are three Routing Groups: Group1, Group2 and Group3. Group1 has Group2 as Failover Group, Group2 has Group3 as Failover Group. When Routing Group - Group4 is created, it cannot have a Failover Group Group1 and neither can it be a Failover Group for Group3, because it exceeds maximum sequence length (3).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Assigning Dial Peers =&lt;br /&gt;
Routing &amp;gt; Routing Groups &amp;gt; press on button in Dial Peers column&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:M2_assigned_dial_peers.png]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Dial Peers can be assigned to Routing Groups, by pressing ASSIGN DIAL PEER button (1) then selecting Dial Peer from Dial Peers drop down list (2), setting Priority (3) and pressin ASSIGN button (7)&amp;lt;br/&amp;gt;&lt;br /&gt;
Active column (4) shows if Dial Peer is active. It can be edited in Dial Peers edit page.&amp;lt;br/&amp;gt;&lt;br /&gt;
Pressing on Dial Peers name (5) redirects to Dial Peers edit page. &amp;lt;br/&amp;gt;&lt;br /&gt;
Pressing on Priority (6) allows to update Priority. In order to save it just pres somewhere else in the page.&amp;lt;br/&amp;gt;&lt;br /&gt;
Pressing on REMOVE button (8) removes Dial Peer.&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Routing_Groups&amp;diff=18736</id>
		<title>M4 Routing Groups</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Routing_Groups&amp;diff=18736"/>
		<updated>2014-12-03T12:50:56Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Routing Group is logical routing entity (group of [[M2 Dial Peers | Dial Peers]]) which is assigned to [[M2 Origination Points | Origination Point]] and determines the route of the call from this [[M2 Origination Points | Origination Point]].&lt;br /&gt;
Routing group is able to have up to two Failover Routing Groups&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Assume there are three Routing Groups: Group1, Group2 and Group3. Group1 has Group2 as Failover Group, Group2 has Group3 as Failover Group. When Routing Group - Group4 is created, it cannot have a Failover Group Group1 and neither can it be a Failover Group for Group3, because it exceeds maximum sequence length (3).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Assigning Dial Peers =&lt;br /&gt;
Routing &amp;gt; Routing Groups &amp;gt; press on button in Dial Peers column&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:M2_assigned_dial_peers.png]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Dial Peers can be assigned to Routing Groups, by pressing ASSIGN DIAL PEER button (1) then selecting Dial Peer from Dial Peers drop down list (2), setting Priority (3) and pressin ASSIGN button (7)&amp;lt;br/&amp;gt;&lt;br /&gt;
Active column (4) shows if Dial Peer is active. It can be edited in Dial Peers edit page.&amp;lt;br/&amp;gt;&lt;br /&gt;
Pressing on Dial Peers name (5) redirects to Dial Peers edit page. &amp;lt;br/&amp;gt;&lt;br /&gt;
Pressing on Priority (6) allows to update Priority. In order to save it just pres somewhere else in the page.&amp;lt;br/&amp;gt;&lt;br /&gt;
Pressing on REMOVE button (8) removes Dial Peer.&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Ring_groups_3.png&amp;diff=18735</id>
		<title>File:Ring groups 3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Ring_groups_3.png&amp;diff=18735"/>
		<updated>2014-12-03T12:43:08Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: uploaded a new version of &amp;quot;File:Ring groups 3.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Ring_group_2.png&amp;diff=18734</id>
		<title>File:Ring group 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Ring_group_2.png&amp;diff=18734"/>
		<updated>2014-12-03T12:34:25Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: uploaded a new version of &amp;quot;File:Ring group 2.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_Service_create&amp;diff=18733</id>
		<title>MOR API Service create</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_Service_create&amp;diff=18733"/>
		<updated>2014-12-03T11:59:42Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Parametres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
[[MOR API]] Create Service&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/service_create&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* new_service_name - name of the Service '''Required'''.&lt;br /&gt;
* new_service_type - periodic_fee, one_time_fee or flat_rate. '''Required'''.&lt;br /&gt;
&lt;br /&gt;
'''Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is API_Secret_Key'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using '''parameters''' which are listed above. Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''u''' - username for authentication. '''Required'''.&lt;br /&gt;
* service_sell_price -  price of the Service.&lt;br /&gt;
* service_self_cost - self cost of the Service.&lt;br /&gt;
* service_period - month or day. For Periodic fee service type only. &lt;br /&gt;
* service_minutes_per_month - for Flat-Rate service type only.&lt;br /&gt;
* new_owner_id - Only for admin, id of owner of service, which is admin or reseller&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have u = admin, API Secret Key = secret&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/service_create?u=admin&amp;amp;new_service_type=flat_rate&amp;amp;service_minutes_per_month=5&amp;amp;new_service_name=name&amp;amp;hash=38282ca5e65e63746498ef5b39a2fe71c6448df4&lt;br /&gt;
&lt;br /&gt;
*Now we can find this Service in GUI Services list.&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;status&amp;gt;&lt;br /&gt;
    &amp;lt;success&amp;gt;Service successfully created&amp;lt;/success&amp;gt;&lt;br /&gt;
  &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - user was not authorized or is simple user. Only admin, reseller or accounant can use this API method. &lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Service must have service type&amp;lt;/error&amp;gt; - type must be one of periodic_fee, one_time_fee or flat_rate.&lt;br /&gt;
* &amp;lt;error&amp;gt;Flat Rate Service must have quantity&amp;lt;/error&amp;gt; - Flat-Rate Service must have Minutes/month provided. &lt;br /&gt;
* &amp;lt;error&amp;gt;Quantity must be numeric&amp;lt;/error&amp;gt; - Minutes/month must be a number. &lt;br /&gt;
* &amp;lt;error&amp;gt;Quantity must be greater than zero&amp;lt;/error&amp;gt; &lt;br /&gt;
* &amp;lt;error&amp;gt;Service Price must be numeric&amp;lt;/error&amp;gt; &lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;You are not authorized to use this functionality&amp;lt;/error&amp;gt; - User has no permissions to manage Services. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;status&amp;gt;&lt;br /&gt;
    &amp;lt;error&amp;gt;Quantity must be numeric&amp;lt;/error&amp;gt;&lt;br /&gt;
  &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;br /&gt;
* [[MOR_API_Service_delete | Services delete]]&lt;br /&gt;
* [[MOR_API_Service_update | Service update]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=PBX_Function_External_DID&amp;diff=18732</id>
		<title>PBX Function External DID</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=PBX_Function_External_DID&amp;diff=18732"/>
		<updated>2014-12-03T11:05:01Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
'''!!WARNING - Deep Asterisk knowledge is a must before proceeding!!''' &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
External DID function allows you to implement different PBX (or other Asterisk related functions) into MOR.&amp;lt;br&amp;gt;&lt;br /&gt;
When you assign some DID number pbxfunction External DID your call is forwarded to an extension file&lt;br /&gt;
in Asterisk called:&lt;br /&gt;
&lt;br /&gt;
 /etc/asterisk/extensions_mor_external_did.conf&lt;br /&gt;
&lt;br /&gt;
Prior to making configurations in that file, please keep in mind, that:&lt;br /&gt;
&lt;br /&gt;
When call comes to DID, for example DID number 1234567890 it will be forwarded to the dial plan in that file with extension:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 exten =&amp;gt; 1234567890,1,...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:warning.png|50px]]DID number and PBX function Extension '''CANNOT''' be the same. So if your DID is 1234567890, your PBX function extension &lt;br /&gt;
cannot be 1234567890, it can be any other number, like *235485.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In this file you can basically configure any function that Asterisk supports to handle your call, like:&lt;br /&gt;
&lt;br /&gt;
* [http://www.voip-info.org/wiki/view/Asterisk+howto+dial+plan Custom dial plans]&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.voip-info.org/wiki/view/Asterisk#HowtosandTutorials And many others]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Go to '''ADDON –&amp;gt; PBX functions –&amp;gt; External DIDs''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Pbx_functions_menu.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you will see list off PBX function External DIDs&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Pbx_function_external_did.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Click on [[image:icon_edit.png]] icon to make changes for existing settings or enter Extension and Dial Plan name, select PBX Pool and PBX Function name and click on [[Image:icon_add.png]] icon to create new one.&lt;br /&gt;
&lt;br /&gt;
*'''Note''': you  can change the User who will be billed by pressing the edit button;&lt;br /&gt;
PBX Pool with same Extension in it can not be selected twice.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[PBX Functions Addon]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Pbx_function_external_did.png&amp;diff=18731</id>
		<title>File:Pbx function external did.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Pbx_function_external_did.png&amp;diff=18731"/>
		<updated>2014-12-03T10:51:18Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: uploaded a new version of &amp;quot;File:Pbx function external did.png&amp;quot;:&amp;amp;#32;Reverted to version as of 10:45, 3 December 2014&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Pbx_function_external_did.png&amp;diff=18730</id>
		<title>File:Pbx function external did.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Pbx_function_external_did.png&amp;diff=18730"/>
		<updated>2014-12-03T10:47:37Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: uploaded a new version of &amp;quot;File:Pbx function external did.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Pbx_function_external_did.png&amp;diff=18729</id>
		<title>File:Pbx function external did.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Pbx_function_external_did.png&amp;diff=18729"/>
		<updated>2014-12-03T10:45:38Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: uploaded a new version of &amp;quot;File:Pbx function external did.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_conflines_update&amp;diff=18694</id>
		<title>MOR API conflines update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_conflines_update&amp;diff=18694"/>
		<updated>2014-11-26T10:45:48Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Request */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X5---&amp;gt;&lt;br /&gt;
[[MOR API]] changes settings for API, Default User or Default Device. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/conflines_update&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
No parameters are '''included''' into hash. Hash is generated only using admin's API secret key. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
* '''u''' - username for authentication. '''Required'''.&lt;br /&gt;
* '''allow_api''' - disable api (send 0 to disable). NOTE: you can enable API only in GUI. &lt;br /&gt;
* '''api_secret_key''' - change API secret key. &lt;br /&gt;
* '''default_user_password_length''' - positive number between 6 and 30 digits. &lt;br /&gt;
* '''default_user_credit''' - send -1 for unlimited, 0 and bigger for amount.&lt;br /&gt;
* '''default_user_balance''' - send any number to change Default User Balance. &lt;br /&gt;
* '''default_user_postpaid''' - send 0 for prepaid, 1 - postpaid. &lt;br /&gt;
* '''default_user_allow_loss_calls''' - send 0 for disabled, 1 - enabled.&lt;br /&gt;
* '''default_user_call_limit''' - send any positive number.&lt;br /&gt;
* '''default_user_time_zone''' - case sensitive name of the time zone. Send only name, for example: Atlantic Time (Canada). &lt;br /&gt;
* '''default_user_currency''' - 3 letters code of the [http://wiki.kolmisoft.com/index.php/Currencies#Default_supported_currencies currency]&lt;br /&gt;
* '''default_user_quickforwards_rule_id''' - id of the quickforward DID rule. &lt;br /&gt;
* '''default_user_recording_enabled''' - send 0 for disabled, 1 - enabled.&lt;br /&gt;
* '''default_user_recording_forced_enabled''' - send 0 for disabled, 1 - enabled.&lt;br /&gt;
* '''default_device_call_limit''' - send positive number&lt;br /&gt;
* '''default_device_canreinvite''' - one of these values: ''yes'', ''no'', ''nonat'', ''update'', ''update,nonat''. &lt;br /&gt;
* '''default_device_nat''' - one of these values: ''yes'', ''no'', ''force_rport'', ''comedia''.&lt;br /&gt;
* '''default_device_qualify''' - send ''no'' or value equal 1000 or more.&lt;br /&gt;
* '''default_device_grace_time''' - send positive number.&lt;br /&gt;
* '''default_device_audio_codecs''' - send the name of codecs you want to have enabled. The ones not mentioned, will be turned off. Available values: ''alaw'', ''ulaw'', ''g723'', ''g726'', ''g729'', ''gsm'', ''ilbc'', ''lpc10'', ''speex'', ''sdpcm'', ''slin''. &lt;br /&gt;
* '''default_device_video_codecs''' - send the name of codecs you want to have enabled. The ones not mentioned, will be turned off. Available values: ''h261'', ''h263'', ''h263p'', ''h264''.&lt;br /&gt;
* '''default_device_location_id''' - ID of existing Location.&lt;br /&gt;
* '''default_user_tariff_id''' - ID of existing Tariff.&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using '''parameters''' which are listed above. Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE:''' reseller is not required to enable API. This method uses admin's API settings.&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/conflines_update?u=admin&amp;amp;api_secret_key=987654321&amp;amp;default_user_tariff_id=2&amp;amp;default_device_location_id=3&amp;amp;&lt;br /&gt;
 default_device_video_codecs=h263&amp;amp;default_device_audio_codecs=ilbc,speex&amp;amp;default_device_grace_time=111&amp;amp;default_device_qualify=2356&amp;amp;default_device_nat=force_rport&amp;amp;&lt;br /&gt;
 default_device_canreinvite=update,nonat&amp;amp;default_device_call_limit=9985&amp;amp;default_user_recording_forced_enabled=0&amp;amp;default_user_recording_enabled=0&amp;amp;&lt;br /&gt;
 default_user_currency=EUR&amp;amp;default_user_time_zone=Mountain Time (US %26 Canada)&amp;amp;default_user_call_limit=72&amp;amp;default_user_allow_loss_calls=0&amp;amp;default_user_postpaid=1&amp;amp;&lt;br /&gt;
 default_user_balance=102.65948&amp;amp;default_user_credit=-1&amp;amp;default_user_password_length=23&amp;amp;&lt;br /&gt;
 default_user_quickforwards_rule_id=0hash=7c4a8d09ca3762af61e59520943dc26494f8941b&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;success&amp;gt;Conflines successfully updated&amp;lt;/success&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - access not allowed.&lt;br /&gt;
* &amp;lt;error&amp;gt;Device was not found&amp;lt;/error&amp;gt; - Device id incorrect or does not exist.&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_password_length must be between 6 and 30&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_credit must be positive number or -1 for infinity&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_balance must be number&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_postpaid must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_allow_loss_calls must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_credit must be positive integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_time_zone name was not correct&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_currency name was not correct&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_currency name was not correct&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_quickforwards_rule_id was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_recording_enabled must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_recording_forced_enabled must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_call_limit must be positive integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_canreinvite can only be one of the following: 'yes', 'no', 'nonat', 'update', 'update,nonat'&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_nat can only be one of the following: 'yes', 'no', 'force_rport', 'comedia'&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_qualify can only be 'no' or &amp;gt;= 1000 integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_grace_time must be positive integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_location_id was not found&amp;lt;/error&amp;gt; - Locationd with such ID was not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_tariff_id was not found&amp;lt;/error&amp;gt; - Tariff with such ID was not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;allow_api must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;api_secret_key length must be higher than 5&amp;lt;/error&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_conflines_update&amp;diff=18693</id>
		<title>MOR API conflines update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_conflines_update&amp;diff=18693"/>
		<updated>2014-11-26T10:39:18Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Returns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X5---&amp;gt;&lt;br /&gt;
[[MOR API]] changes settings for API, Default User or Default Device. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/conflines_update&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
No parameters are '''included''' into hash. Hash is generated only using admin's API secret key. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
* '''u''' - username for authentication. '''Required'''.&lt;br /&gt;
* '''allow_api''' - disable api (send 0 to disable). NOTE: you can enable API only in GUI. &lt;br /&gt;
* '''api_secret_key''' - change API secret key. &lt;br /&gt;
* '''default_user_password_length''' - positive number between 6 and 30 digits. &lt;br /&gt;
* '''default_user_credit''' - send -1 for unlimited, 0 and bigger for amount.&lt;br /&gt;
* '''default_user_balance''' - send any number to change Default User Balance. &lt;br /&gt;
* '''default_user_postpaid''' - send 0 for prepaid, 1 - postpaid. &lt;br /&gt;
* '''default_user_allow_loss_calls''' - send 0 for disabled, 1 - enabled.&lt;br /&gt;
* '''default_user_call_limit''' - send any positive number.&lt;br /&gt;
* '''default_user_time_zone''' - case sensitive name of the time zone. Send only name, for example: Atlantic Time (Canada). &lt;br /&gt;
* '''default_user_currency''' - 3 letters code of the [http://wiki.kolmisoft.com/index.php/Currencies#Default_supported_currencies currency]&lt;br /&gt;
* '''default_user_quickforwards_rule_id''' - id of the quickforward DID rule. &lt;br /&gt;
* '''default_user_recording_enabled''' - send 0 for disabled, 1 - enabled.&lt;br /&gt;
* '''default_user_recording_forced_enabled''' - send 0 for disabled, 1 - enabled.&lt;br /&gt;
* '''default_device_call_limit''' - send positive number&lt;br /&gt;
* '''default_device_canreinvite''' - one of these values: ''yes'', ''no'', ''nonat'', ''update'', ''update,nonat''. &lt;br /&gt;
* '''default_device_nat''' - one of these values: ''yes'', ''no'', ''force_rport'', ''comedia''.&lt;br /&gt;
* '''default_device_qualify''' - send ''no'' or value equal 1000 or more.&lt;br /&gt;
* '''default_device_grace_time''' - send positive number.&lt;br /&gt;
* '''default_device_audio_codecs''' - send the name of codecs you want to have enabled. The ones not mentioned, will be turned off. Available values: ''alaw'', ''ulaw'', ''g723'', ''g726'', ''g729'', ''gsm'', ''ilbc'', ''lpc10'', ''speex'', ''sdpcm'', ''slin''. &lt;br /&gt;
* '''default_device_video_codecs''' - send the name of codecs you want to have enabled. The ones not mentioned, will be turned off. Available values: ''h261'', ''h263'', ''h263p'', ''h264''.&lt;br /&gt;
* '''default_device_location_id''' - ID of existing Location.&lt;br /&gt;
* '''default_user_tariff_id''' - ID of existing Tariff.&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using '''parameters''' which are listed above. Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE:''' reseller is not required to enable API. This method uses admin's API settings.&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/conflines_update?u=admin&amp;amp;api_secret_key=987654321&amp;amp;default_device_video_codecs=h263&amp;amp;default_device_audio_codecs=ilbc,speex&amp;amp;default_device_grace_time=111&amp;amp;default_device_qualify=2356&amp;amp;default_device_nat=force_rport&amp;amp;default_device_canreinvite=update,nonat&amp;amp;default_device_call_limit=9985&amp;amp;default_user_recording_forced_enabled=0&amp;amp;default_user_recording_enabled=0&amp;amp;default_user_currency=EUR&amp;amp;default_user_time_zone=Mountain Time (US %26 Canada)&amp;amp;default_user_call_limit=72&amp;amp;default_user_allow_loss_calls=0&amp;amp;default_user_postpaid=1&amp;amp;default_user_balance=102.65948&amp;amp;default_user_credit=-1&amp;amp;default_user_password_length=23&amp;amp;default_user_quickforwards_rule_id=0&amp;amp;hash=7c4a8d09ca3762af61e59520943dc26494f8941b&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;success&amp;gt;Conflines successfully updated&amp;lt;/success&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - access not allowed.&lt;br /&gt;
* &amp;lt;error&amp;gt;Device was not found&amp;lt;/error&amp;gt; - Device id incorrect or does not exist.&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_password_length must be between 6 and 30&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_credit must be positive number or -1 for infinity&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_balance must be number&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_postpaid must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_allow_loss_calls must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_credit must be positive integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_time_zone name was not correct&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_currency name was not correct&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_currency name was not correct&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_quickforwards_rule_id was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_recording_enabled must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_recording_forced_enabled must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_call_limit must be positive integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_canreinvite can only be one of the following: 'yes', 'no', 'nonat', 'update', 'update,nonat'&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_nat can only be one of the following: 'yes', 'no', 'force_rport', 'comedia'&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_qualify can only be 'no' or &amp;gt;= 1000 integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_grace_time must be positive integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_location_id was not found&amp;lt;/error&amp;gt; - Locationd with such ID was not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_tariff_id was not found&amp;lt;/error&amp;gt; - Tariff with such ID was not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;allow_api must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;api_secret_key length must be higher than 5&amp;lt;/error&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_conflines_update&amp;diff=18691</id>
		<title>MOR API conflines update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_conflines_update&amp;diff=18691"/>
		<updated>2014-11-26T10:36:52Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X5---&amp;gt;&lt;br /&gt;
[[MOR API]] changes settings for API, Default User or Default Device. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/conflines_update&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
No parameters are '''included''' into hash. Hash is generated only using admin's API secret key. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
* '''u''' - username for authentication. '''Required'''.&lt;br /&gt;
* '''allow_api''' - disable api (send 0 to disable). NOTE: you can enable API only in GUI. &lt;br /&gt;
* '''api_secret_key''' - change API secret key. &lt;br /&gt;
* '''default_user_password_length''' - positive number between 6 and 30 digits. &lt;br /&gt;
* '''default_user_credit''' - send -1 for unlimited, 0 and bigger for amount.&lt;br /&gt;
* '''default_user_balance''' - send any number to change Default User Balance. &lt;br /&gt;
* '''default_user_postpaid''' - send 0 for prepaid, 1 - postpaid. &lt;br /&gt;
* '''default_user_allow_loss_calls''' - send 0 for disabled, 1 - enabled.&lt;br /&gt;
* '''default_user_call_limit''' - send any positive number.&lt;br /&gt;
* '''default_user_time_zone''' - case sensitive name of the time zone. Send only name, for example: Atlantic Time (Canada). &lt;br /&gt;
* '''default_user_currency''' - 3 letters code of the [http://wiki.kolmisoft.com/index.php/Currencies#Default_supported_currencies currency]&lt;br /&gt;
* '''default_user_quickforwards_rule_id''' - id of the quickforward DID rule. &lt;br /&gt;
* '''default_user_recording_enabled''' - send 0 for disabled, 1 - enabled.&lt;br /&gt;
* '''default_user_recording_forced_enabled''' - send 0 for disabled, 1 - enabled.&lt;br /&gt;
* '''default_device_call_limit''' - send positive number&lt;br /&gt;
* '''default_device_canreinvite''' - one of these values: ''yes'', ''no'', ''nonat'', ''update'', ''update,nonat''. &lt;br /&gt;
* '''default_device_nat''' - one of these values: ''yes'', ''no'', ''force_rport'', ''comedia''.&lt;br /&gt;
* '''default_device_qualify''' - send ''no'' or value equal 1000 or more.&lt;br /&gt;
* '''default_device_grace_time''' - send positive number.&lt;br /&gt;
* '''default_device_audio_codecs''' - send the name of codecs you want to have enabled. The ones not mentioned, will be turned off. Available values: ''alaw'', ''ulaw'', ''g723'', ''g726'', ''g729'', ''gsm'', ''ilbc'', ''lpc10'', ''speex'', ''sdpcm'', ''slin''. &lt;br /&gt;
* '''default_device_video_codecs''' - send the name of codecs you want to have enabled. The ones not mentioned, will be turned off. Available values: ''h261'', ''h263'', ''h263p'', ''h264''.&lt;br /&gt;
* '''default_device_location_id''' - ID of existing Location.&lt;br /&gt;
* '''default_user_tariff_id''' - ID of existing Tariff.&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using '''parameters''' which are listed above. Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE:''' reseller is not required to enable API. This method uses admin's API settings.&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/conflines_update?u=admin&amp;amp;api_secret_key=987654321&amp;amp;default_device_video_codecs=h263&amp;amp;default_device_audio_codecs=ilbc,speex&amp;amp;default_device_grace_time=111&amp;amp;default_device_qualify=2356&amp;amp;default_device_nat=force_rport&amp;amp;default_device_canreinvite=update,nonat&amp;amp;default_device_call_limit=9985&amp;amp;default_user_recording_forced_enabled=0&amp;amp;default_user_recording_enabled=0&amp;amp;default_user_currency=EUR&amp;amp;default_user_time_zone=Mountain Time (US %26 Canada)&amp;amp;default_user_call_limit=72&amp;amp;default_user_allow_loss_calls=0&amp;amp;default_user_postpaid=1&amp;amp;default_user_balance=102.65948&amp;amp;default_user_credit=-1&amp;amp;default_user_password_length=23&amp;amp;default_user_quickforwards_rule_id=0&amp;amp;hash=7c4a8d09ca3762af61e59520943dc26494f8941b&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;success&amp;gt;Conflines successfully updated&amp;lt;/success&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - access not allowed.&lt;br /&gt;
* &amp;lt;error&amp;gt;Device was not found&amp;lt;/error&amp;gt; - Device id incorrect or does not exist.&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_password_length must be between 6 and 30&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_credit must be positive number or -1 for infinity&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_balance must be number&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_postpaid must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_allow_loss_calls must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_credit must be positive integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_time_zone name was not correct&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_currency name was not correct&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_currency name was not correct&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_quickforwards_rule_id was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_recording_enabled must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_user_recording_forced_enabled must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_call_limit must be positive integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_canreinvite can only be one of the following: 'yes', 'no', 'nonat', 'update', 'update,nonat'&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_nat can only be one of the following: 'yes', 'no', 'force_rport', 'comedia'&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_qualify can only be 'no' or &amp;gt;= 1000 integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;default_device_grace_time must be positive integer&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;allow_api must be 0 or 1&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;error&amp;gt;api_secret_key length must be higher than 5&amp;lt;/error&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_device_create&amp;diff=18689</id>
		<title>MOR API device create</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_device_create&amp;diff=18689"/>
		<updated>2014-11-26T10:19:17Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
[[MOR API]] Create Device&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/device_create&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* user_id - User ID in MOR database, for which user device should be created. '''Required'''.&lt;br /&gt;
* description - string&lt;br /&gt;
* pin - [number. '']. If pin param not send -&amp;gt; random_numbers . If blank -&amp;gt; pinless&lt;br /&gt;
* type - Device type [SIP, IAX2, FAX, Virtual,H323, ZAP, Skype, '']. When is '' -&amp;gt; default device type. If default device type is empty -&amp;gt; 'SIP'&lt;br /&gt;
* devicegroup_id - device group ID &lt;br /&gt;
* caller_id - CallerID&lt;br /&gt;
'''Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is API_Secret_Key'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using '''parameters''' which are listed above. Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''u''' - username for authentication. '''Required'''.&lt;br /&gt;
* '''extension''' - Device Extension&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have user_id = 2, API Secret Key = secret&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/device_create?u=admin&amp;amp;user_id=2&amp;amp;description=desription1&amp;amp;pin=3&amp;amp;hash=6e79d4a82f68102f43be11d873177f47817f84df&lt;br /&gt;
&lt;br /&gt;
*Now we can find these Devices in GUI Devices list.&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;Device created&amp;lt;/status&amp;gt;&lt;br /&gt;
   &amp;lt;id&amp;gt;id of new device&amp;lt;/id&amp;gt;&lt;br /&gt;
   &amp;lt;username&amp;gt;username of new device&amp;lt;/username&amp;gt;&lt;br /&gt;
   &amp;lt;password&amp;gt;password of new device&amp;lt;/password&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt; - User was not found using user_id. Use correct user id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Dont be so smart&amp;lt;/error&amp;gt; - User with UNIQUEHASH not found or params id not send. Enter correct id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Device type invalid&amp;lt;/error&amp;gt; - Enter correct type.&lt;br /&gt;
* &amp;lt;error&amp;gt;Device group invalid&amp;lt;/error&amp;gt; - Device group with id not found. Enter group id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Pin is already used&amp;lt;/error&amp;gt; - Enter onother pin.&lt;br /&gt;
* &amp;lt;error&amp;gt;Pin must be numeric&amp;lt;/error&amp;gt; - Enter correct pin.&lt;br /&gt;
* &amp;lt;error&amp;gt;You are not authorized to manage callerid&amp;lt;/error&amp;gt; - User does not have permissions to manage CallerID option.&lt;br /&gt;
* &amp;lt;error&amp;gt;Device was not created&amp;lt;/error&amp;gt;&lt;br /&gt;
** &amp;lt;message&amp;gt;problem message&amp;lt;/message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Error message&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_device_create&amp;diff=18688</id>
		<title>MOR API device create</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_device_create&amp;diff=18688"/>
		<updated>2014-11-26T10:18:44Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Parametres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
[[MOR API]] Create device&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/device_create&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* user_id - User ID in MOR database, for which user device should be created. '''Required'''.&lt;br /&gt;
* description - string&lt;br /&gt;
* pin - [number. '']. If pin param not send -&amp;gt; random_numbers . If blank -&amp;gt; pinless&lt;br /&gt;
* type - Device type [SIP, IAX2, FAX, Virtual,H323, ZAP, Skype, '']. When is '' -&amp;gt; default device type. If default device type is empty -&amp;gt; 'SIP'&lt;br /&gt;
* devicegroup_id - device group ID &lt;br /&gt;
* caller_id - CallerID&lt;br /&gt;
'''Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is API_Secret_Key'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using '''parameters''' which are listed above. Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''u''' - username for authentication. '''Required'''.&lt;br /&gt;
* '''extension''' - Device Extension&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have user_id = 2, API Secret Key = secret&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/device_create?u=admin&amp;amp;user_id=2&amp;amp;description=desription1&amp;amp;pin=3&amp;amp;hash=6e79d4a82f68102f43be11d873177f47817f84df&lt;br /&gt;
&lt;br /&gt;
*Now we can find these Devices in GUI Devices list.&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;Device created&amp;lt;/status&amp;gt;&lt;br /&gt;
   &amp;lt;id&amp;gt;id of new device&amp;lt;/id&amp;gt;&lt;br /&gt;
   &amp;lt;username&amp;gt;username of new device&amp;lt;/username&amp;gt;&lt;br /&gt;
   &amp;lt;password&amp;gt;password of new device&amp;lt;/password&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt; - User was not found using user_id. Use correct user id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Dont be so smart&amp;lt;/error&amp;gt; - User with UNIQUEHASH not found or params id not send. Enter correct id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Device type invalid&amp;lt;/error&amp;gt; - Enter correct type.&lt;br /&gt;
* &amp;lt;error&amp;gt;Device group invalid&amp;lt;/error&amp;gt; - Device group with id not found. Enter group id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Pin is already used&amp;lt;/error&amp;gt; - Enter onother pin.&lt;br /&gt;
* &amp;lt;error&amp;gt;Pin must be numeric&amp;lt;/error&amp;gt; - Enter correct pin.&lt;br /&gt;
* &amp;lt;error&amp;gt;You are not authorized to manage callerid&amp;lt;/error&amp;gt; - User does not have permissions to manage CallerID option.&lt;br /&gt;
* &amp;lt;error&amp;gt;Device was not created&amp;lt;/error&amp;gt;&lt;br /&gt;
** &amp;lt;message&amp;gt;problem message&amp;lt;/message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Error message&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_sms_send&amp;diff=18687</id>
		<title>MOR API sms send</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_sms_send&amp;diff=18687"/>
		<updated>2014-11-26T10:17:32Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Returns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
SMS API is used to integrate MOR with other external systems like CRM, ERP or other for SMS sending through them.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' SMS API can use only '''Simple Users'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
&lt;br /&gt;
* Call: /api/sms_send&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended) &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* lcr_id - LCR ID in MOR database. '''Required'''.&lt;br /&gt;
* u - username to login. '''Required'''.&lt;br /&gt;
* dst - Destination number. '''Required'''.&lt;br /&gt;
* src - Source number. '''Required'''.&lt;br /&gt;
* message - Message that you want to send. '''Required'''.&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&lt;br /&gt;
&lt;br /&gt;
'''* Note that message must be in [http://meta.wikimedia.org/wiki/Help:URL URL Encode]'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have lcr_id = 1, dst = 937567337911, src = 9375783123767, message = hi, API key = 123456&lt;br /&gt;
**We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/sms_send?u=username&amp;amp;lcr_id=1&amp;amp;dst=937567337911&amp;amp;src=9375783123767&amp;amp;message=hi&amp;amp;hash=cc0e27123e27f08de2fbc68a2c8ba0b213654687&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;response&amp;gt;&lt;br /&gt;
     &amp;lt;status&amp;gt;ok&amp;lt;/status&amp;gt;&lt;br /&gt;
     &amp;lt;message&amp;gt;&lt;br /&gt;
       &amp;lt;message_id&amp;gt; message id &amp;lt;/message_id&amp;gt;&lt;br /&gt;
       &amp;lt;sms_status_code_tip&amp;gt;SMS is sent&amp;lt;/sms_status_code_tip&amp;gt;&lt;br /&gt;
       &amp;lt;price&amp;gt; price &amp;lt;/price&amp;gt;&lt;br /&gt;
       &amp;lt;currency&amp;gt; currency &amp;lt;/currency&amp;gt;&lt;br /&gt;
    &amp;lt;/message&amp;gt;&lt;br /&gt;
   &amp;lt;/response&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;There is no message or it is empty&amp;lt;/error&amp;gt; – message text not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;Wrong source&amp;lt;/error&amp;gt; – source number is wrong.&lt;br /&gt;
* &amp;lt;error&amp;gt;Wrong destination&amp;lt;/error&amp;gt; – destination number is wrong.&lt;br /&gt;
* &amp;lt;error&amp;gt;There is no such LCR&amp;lt;/error&amp;gt; – LCR id not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;User is not subscribed to sms service&amp;lt;/error&amp;gt;  – user is not [[SMS_Addon#Configuration | Subscribed]] for sms usage.&lt;br /&gt;
* &amp;lt;error&amp;gt;System owner does not have rate for this destination&amp;lt;/error&amp;gt; - SMS status code and tip [[SMS Addon - Status codes]]&lt;br /&gt;
* &amp;lt;error&amp;gt;Bad login&amp;lt;/error&amp;gt;  – User with Username, defined in parameter '''u''', is not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt;  – User is not Simple User.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_get&amp;diff=18686</id>
		<title>MOR API user details get</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_get&amp;diff=18686"/>
		<updated>2014-11-26T10:13:51Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Returns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
[[MOR API]] user details&lt;br /&gt;
&lt;br /&gt;
'''Admin''' – can get any user details&amp;lt;br&amp;gt;&lt;br /&gt;
'''Reseller''' – can get his and his users details.&amp;lt;br&amp;gt;&lt;br /&gt;
'''User''' – can get his own details.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/user_details_get'''&lt;br /&gt;
* For Backwards-compatibility old name 'user_details' is also usable. Call: '''/api/user_details'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* '''user_id''' - Users ID in MOR database. '''Required if username is not used'''. Type: INTEGER&lt;br /&gt;
* '''username''' - Users Username in MOR database. '''Required if user_id is not used'''.&lt;br /&gt;
&lt;br /&gt;
You are able to use these parameter one by one or both at a time. If you use them both at a time '''note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is API_Secret_Key'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using '''parameters''' which are listed above. You are able to use these parameter one by one or both at a time. If you use them both at a time note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''u''' - username for authentication. '''Required'''.&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have user_id = 123, API Secret Key = 456789&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_details_get?u=username&amp;amp;user_id=123&amp;amp;hash=f7c3bc1d808e04732adf679965ccc34ca7ae3441&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have username = username, API Secret Key = 456789&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_details_get?u=username&amp;amp;username=username&amp;amp;hash=f7c3bc1d808e04732adf679965ccc34ca7ae3441&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have user_id = 123, username = username, API Secret Key = 456789&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_details_get?u=username&amp;amp;user_id=123&amp;amp;username=username&amp;amp;hash=f7c3bc1d808e04732adf679965ccc34ca7ae3441&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;pagename&amp;gt;Personal_details&amp;lt;/pagename&amp;gt;&lt;br /&gt;
  &amp;lt;language&amp;gt;en&amp;lt;/language&amp;gt;&lt;br /&gt;
  &amp;lt;userid&amp;gt; user id &amp;lt;/userid&amp;gt;&lt;br /&gt;
  &amp;lt;details&amp;gt;&lt;br /&gt;
    &amp;lt;main_detail&amp;gt;&lt;br /&gt;
      &amp;lt;account&amp;gt;Postpaid/Prepaid&amp;lt;/account&amp;gt;&lt;br /&gt;
      &amp;lt;balance&amp;gt; balance and currency &amp;lt;/balance&amp;gt;&lt;br /&gt;
      &amp;lt;balance_number&amp;gt; balance &amp;lt;/balance_number&amp;gt; &lt;br /&gt;
      &amp;lt;balance_currency&amp;gt; currency &amp;lt;/balance_currency&amp;gt;&lt;br /&gt;
      &amp;lt;credit&amp;gt; credit &amp;lt;/credit&amp;gt;&lt;br /&gt;
    &amp;lt;/main_detail&amp;gt;&lt;br /&gt;
    &amp;lt;other_details&amp;gt;&lt;br /&gt;
      &amp;lt;username&amp;gt; username &amp;lt;/username&amp;gt;&lt;br /&gt;
      &amp;lt;first_name&amp;gt; first name &amp;lt;/first_name&amp;gt;&lt;br /&gt;
      &amp;lt;surname&amp;gt; last name &amp;lt;/surname&amp;gt;&lt;br /&gt;
      &amp;lt;personalid&amp;gt;&amp;lt;/personalid&amp;gt;&lt;br /&gt;
      &amp;lt;agreement_number&amp;gt; &amp;lt;/agreement_number&amp;gt;&lt;br /&gt;
      &amp;lt;agreement_date&amp;gt; &amp;lt;/agreement_date&amp;gt;&lt;br /&gt;
      &amp;lt;taxation_country&amp;gt; &amp;lt;/taxation_country&amp;gt;&lt;br /&gt;
      &amp;lt;vat_reg_number&amp;gt; &amp;lt;/vat_reg_number&amp;gt;&lt;br /&gt;
      &amp;lt;vat_percent&amp;gt; &amp;lt;/vat_percent&amp;gt;&lt;br /&gt;
      &amp;lt;call_limit&amp;gt; &amp;lt;/call_limit&amp;gt;&lt;br /&gt;
    &amp;lt;/other_details&amp;gt;&lt;br /&gt;
    &amp;lt;registration&amp;gt;&lt;br /&gt;
      &amp;lt;reg_address&amp;gt;&amp;lt;/reg_address&amp;gt;&lt;br /&gt;
      &amp;lt;reg_postcode&amp;gt;&amp;lt;/reg_postcode&amp;gt;&lt;br /&gt;
      &amp;lt;reg_city&amp;gt;&amp;lt;/reg_city&amp;gt;&lt;br /&gt;
      &amp;lt;reg_country&amp;gt;&amp;lt;/reg_country&amp;gt;&lt;br /&gt;
      &amp;lt;reg_state&amp;gt;&amp;lt;/reg_state&amp;gt;&lt;br /&gt;
      &amp;lt;reg_direction&amp;gt;&amp;lt;/reg_direction&amp;gt;&lt;br /&gt;
      &amp;lt;reg_phone&amp;gt;&amp;lt;/reg_phone&amp;gt;&lt;br /&gt;
      &amp;lt;reg_mobile&amp;gt;&amp;lt;/reg_mobile&amp;gt;&lt;br /&gt;
      &amp;lt;reg_fax&amp;gt;&amp;lt;/reg_fax&amp;gt;&lt;br /&gt;
      &amp;lt;reg_email&amp;gt;&amp;lt;/reg_email&amp;gt;&lt;br /&gt;
    &amp;lt;/registration&amp;gt;&lt;br /&gt;
  &amp;lt;/details&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt; - User was not found using user_id and/or username. Use correct user_id and/or username.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18685</id>
		<title>MOR API user details update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18685"/>
		<updated>2014-11-26T10:07:25Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Parametres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 11---&amp;gt;&lt;br /&gt;
[[MOR API]] Update user from params. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If Admin has checked Allow Resellers to use Admin Tariffs in [[API Configuration]] then using this API Reseller can set for his Users Wholesale or Retail Tariffs which belongs to Admin.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Please note that it is not necessary to send ALL user parameters - you can send only those you need to update.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/user_details_update'''&lt;br /&gt;
* For Backwards-compatibility old name 'user_update_api' is also usable. Call: '''/api/user_update_api'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash (if it is used):&lt;br /&gt;
&lt;br /&gt;
* user_id - Users ID in MOR database, whose details we want to change. '''REQUIRED'''.&lt;br /&gt;
* u - username of user which can modify details (admin, reseller or accountant). '''REQUIRED'''.&lt;br /&gt;
* u0 - vat number&lt;br /&gt;
* u1 - lcr id&lt;br /&gt;
* u2 - warning email hour&lt;br /&gt;
* u3 - hide destination end&lt;br /&gt;
* u4 - currency id&lt;br /&gt;
* u5 - tariff id&lt;br /&gt;
* u6 - warning email balance&lt;br /&gt;
* u7 - spy device id&lt;br /&gt;
* u8 - language&lt;br /&gt;
* u9 - username&lt;br /&gt;
* u10 - warning balance call&lt;br /&gt;
* u11 - acc group id&lt;br /&gt;
* u12 - generate invoice&lt;br /&gt;
* u13 - usertype&lt;br /&gt;
* u14 - taxation country&lt;br /&gt;
* u15 - blocked&lt;br /&gt;
* u16 - quickforwards rule id&lt;br /&gt;
* u17 - last name&lt;br /&gt;
* u18 - call limit&lt;br /&gt;
* u19 - clientid&lt;br /&gt;
* u20 - recording hdd quota&lt;br /&gt;
* u21 - cyberplat active&lt;br /&gt;
* u22 - recordings email&lt;br /&gt;
* u23 - first name&lt;br /&gt;
* u24 - warning balance sound file id&lt;br /&gt;
* u25 - postpaid&lt;br /&gt;
* u26 - accounting number&lt;br /&gt;
* u27 - agreement number&lt;br /&gt;
* u28 - hidden&lt;br /&gt;
* ay - agr_date year&lt;br /&gt;
* am - agr_date month&lt;br /&gt;
* ad - agr_date day&lt;br /&gt;
* by - block at date year2011&lt;br /&gt;
* bm - block at date month&lt;br /&gt;
* bd - block at date day&lt;br /&gt;
* pswd - password&lt;br /&gt;
* user_warning_email_hour&lt;br /&gt;
* pgui - privacy gui [0-off, 1-on]&lt;br /&gt;
* pcsv - privacy csv [0-off, 1-on]&lt;br /&gt;
* ppdf - privacy pdf [0-off, 1-on]&lt;br /&gt;
* recording_forced_enabled - [0-off, 1-on]&lt;br /&gt;
* i4 - invoice detailed csv [0-off, 16-on]&lt;br /&gt;
* tax4_enabled - [0-off, 1-on]&lt;br /&gt;
* tax2_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type_invalid &lt;br /&gt;
* block_at_conditional - 15&lt;br /&gt;
* tax3_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type &lt;br /&gt;
* tax1_value - float&lt;br /&gt;
* show_zero_calls - [0-off, 1-on]&lt;br /&gt;
* warning_email_active - [0-off, 1-on]&lt;br /&gt;
* compound_tax - [0-off, 1-on]&lt;br /&gt;
* tax4_name - &lt;br /&gt;
* allow_loss_calls - [0-off, 1-on]&lt;br /&gt;
* tax3_name - &lt;br /&gt;
* tax2_name - &lt;br /&gt;
* credit - float&lt;br /&gt;
* tax1_name - &lt;br /&gt;
* total_tax_name - &lt;br /&gt;
* tax2_value - float&lt;br /&gt;
* tax4_value - float&lt;br /&gt;
* ignore_global_monitorings - [0-off, 1-on]&lt;br /&gt;
* i1 - invoice pdf [0-off, 2-on]&lt;br /&gt;
* tax3_value - float&lt;br /&gt;
* cyberplat_active - [0-off, 1-on]&lt;br /&gt;
* i2 - invoice csv [0-off, 4-on]&lt;br /&gt;
* i3 - invoice detailed pdf [0-off, 8-on]&lt;br /&gt;
* recording_enabled - [0-off, 1-on]&lt;br /&gt;
* email_warning_sent_test - [0-off, 1-on]&lt;br /&gt;
* own_providers - [0-off, 1-on]&lt;br /&gt;
* a0 - address&lt;br /&gt;
* a1 - city&lt;br /&gt;
* a2 - postcode&lt;br /&gt;
* a3 - county&lt;br /&gt;
* a4 - mob_phone&lt;br /&gt;
* a5 - fax&lt;br /&gt;
* a6 - direction id&lt;br /&gt;
* a7 - phone&lt;br /&gt;
* a8 - email&lt;br /&gt;
* a9 - state&lt;br /&gt;
&lt;br /&gt;
'''Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is API_Secret_Key'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''REQUIRED'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Additional feature''' &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If API setting '''Allow Resellers to use Admin Quick Forward Rules''' is enabled:&amp;lt;br&amp;gt;Reseller is able to set Quick Forward Rules inherited from Admin. '''u16''' should be used as a parameter for Quick Forward Rules.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reguest===&lt;br /&gt;
&lt;br /&gt;
We have user_id = 123, API Secret Key = 456789, u15=1 (we want to block user)&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/api/user_details_update?u=username&amp;amp;user_id=123&amp;amp;u15=1&amp;amp;hash=0ab3ede4e93a55c38855a2cc9b9e169d35442c48&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&lt;br /&gt;
Other examples:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u15=1&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request blocks (u15=1) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u16=3&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request changes user quickforwards rule to rule with ID 3 (u16=3) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;User was updated&amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt; - User was not found using user_id. Use correct user id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - Check params and permissions. &lt;br /&gt;
* &amp;lt;error&amp;gt;You have no editing permission&amp;lt;/error&amp;gt; - Accountant dont have permission.&lt;br /&gt;
* &amp;lt;error&amp;gt;Tariff not found&amp;lt;/error&amp;gt; - Tariff was not found using param u5.&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not updated&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;message&amp;gt;problem message&amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API&amp;diff=18684</id>
		<title>MOR API</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API&amp;diff=18684"/>
		<updated>2014-11-26T10:03:32Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* MOR users that are allowed to use MOR API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:warning.png|100px]]&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;IMPORTANT!!! API methods described here are for MOR X5. For previous versions please check appropriate [http://wiki.kolmisoft.com/index.php/MOR_Manual#Old_Manuals manual].&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=About=&lt;br /&gt;
MOR API lets other software interact with MOR without knowing the internal structure of the database (DB) and other logic.&lt;br /&gt;
&lt;br /&gt;
MOR accepts requests by HTML POST and returns results in XML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=MOR users that are allowed to use MOR API=&lt;br /&gt;
* Admin&lt;br /&gt;
* Reseller&lt;br /&gt;
* Accountant - only by using Admin Hash and Secret key&lt;br /&gt;
* Simple User&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Functions=&lt;br /&gt;
&lt;br /&gt;
== API Related ==&lt;br /&gt;
* [[API Configuration]] – configuration options for API.&lt;br /&gt;
* [[MOR API hash construction|Hash construction]] – how to construct hash to authenticate data over API.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Balance==&lt;br /&gt;
* [[MOR API user_balance_get|user_balance_get]] (balance) – retrieves a User Balance.&lt;br /&gt;
* [[Balance in phone | user_simple_balance_get]] (simple_balance) – gets User's Balance&lt;br /&gt;
* [[MOR API user balance update | user_balance_update]] (change_user_balance) – changes User's Balance&lt;br /&gt;
* [[MOR API user balance get by psw | user_balance_get_by_psw]] – gets User's Balance by his owned Device's Password&lt;br /&gt;
* [[MOR API User Balance get by Username | user_balance_get_by_username]] – gets User's Balance by his owned Device's Username&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Callback==&lt;br /&gt;
* [[MOR API callback init|callback_init]] (callback) – initiates callback.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Calling Cards==&lt;br /&gt;
* [[MOR API card_by_cli_update| card_by_cli_update]] (cc_by_cli) – creates and updates calling cards, including adding and transferring funds, by being identified according the Caller_ID.&lt;br /&gt;
* [[MOR API card_from_group_sell| card_from_group_sell]] (buy_card_from_callingroup) – sells cards from calling card group.&lt;br /&gt;
* [[MOR API card_group_get| card_group_get]] (show_calling_card_group) – show calling group info.&lt;br /&gt;
* [[MOR API card_balance_get| card_balance_get]] (card_balance_get) – show card's balance.&lt;br /&gt;
* [[MOR API card_payment_add| card_payment_add]] – add payment to the calling card.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Calls==&lt;br /&gt;
* [[MOR API user calls get|user_calls_get]] (user_calls) – retrieves a list of calls in a selected time period for a user/device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conflines==&lt;br /&gt;
* [[MOR API conflines update|conflines_update]] – changes settings for API, Default User or Default Device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Credit notes==&lt;br /&gt;
* [[MOR API credit_notes_get| credit_notes_get]] (credit_notes) – credit notes list.&lt;br /&gt;
* [[MOR API credit_note_update| credit_note_update]] – credit note update.&lt;br /&gt;
* [[MOR API credit_notes_create| credit_note_create]] – credit note create.&lt;br /&gt;
* [[MOR API credit_notes_delete| credit_note_delete]] – credit note delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Device==&lt;br /&gt;
* [[MOR API device create| device_create]] – create device&lt;br /&gt;
* [[MOR API device delete| device_delete]] (delete_device) – delete device&lt;br /&gt;
* [[MOR API devices get | devices_get]] (device_list) – users device list&lt;br /&gt;
* [[MOR API device callflow get| device_callflow_get]] - returns information about specified device callflow state.&lt;br /&gt;
* [[MOR API device callflow update | device_callflow_update]] – updates information of specified device callflow state. &lt;br /&gt;
* [[MOR API CLI info get | cli_info_get]] (cli_get_info) – shows id of device where CLI belongs.&lt;br /&gt;
* [[MOR API CLI delete | cli_delete]] – deletes specified CLI. &lt;br /&gt;
* [[MOR API CLI add | cli_add]] – creates CLI and assigns it to the specified device.&lt;br /&gt;
* [[MOR API device details get | device_details_get]] – shows all information about specified device.&lt;br /&gt;
* [[MOR_API_device_update | device_update]]  –  updates location_id of selected Device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DID==&lt;br /&gt;
&lt;br /&gt;
* [[MOR API dids get| dids_get]] – get list of particular DIDs&lt;br /&gt;
* [[MOR API did_create| did_create]] – DID create&lt;br /&gt;
* [[MOR_API_did_device_assign| did_device_assign]] (did_assign_device) – Assign Device to DID&lt;br /&gt;
* [[MOR_API_did_device_unassign| did_device_unassign]] (did_unassign_device) – Unassign Device from DID&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Email==&lt;br /&gt;
* [[MOR API email send| email_send]] (send_email) – send Email.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Financial statements==&lt;br /&gt;
* [[MOR API financial_statements_get| financial_statements_get]] (financial_statements) – financial statements list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoices==&lt;br /&gt;
* [[MOR API invoices_get|invoices_get]] (invoices) – retrieves a list of invoices in a selected time period.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Login==&lt;br /&gt;
* [[MOR API user_login|user_login]] (login) – logs user in to MOR.&lt;br /&gt;
* [[MOR API user_logout|user_logout]] (logout) – logs user out from MOR.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Monitorings==&lt;br /&gt;
* [[MOR API ma_activate_api| ma_activate]] – turn on monitorings addon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Payments==&lt;br /&gt;
* [[MOR API payment_create| payment_create]] (create_payment) – create payment.&lt;br /&gt;
* [[MOR API payments_get| payments_get]] (payments_list) – payments list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Phonebooks==&lt;br /&gt;
* [[MOR API phonebooks_get| phonebooks_get]] (phonebooks_api ) – phonebooks list.&lt;br /&gt;
* [[MOR API phonebook_edit| phonebook_edit]] (phonebook_edit_api) – edit phonebook.&lt;br /&gt;
* [[MOR API phonebook_record_create| phonebook_record_create]]  – create phonebook.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Quickforwards==&lt;br /&gt;
* [[MOR API Quickforwards get| quickforwards_dids_get]] (quickforwards_dids_get) – get Quickforwards.&lt;br /&gt;
* [[MOR API Quickforwards update| quickforwards_did_update]] (quickforwards_did_update) – update Quickforwards.&lt;br /&gt;
* [[MOR API Quickforwards delete| quickforwards_did_delete]] (quickforwards_did_delete) – delete Quickforwards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Rates==&lt;br /&gt;
* [[MOR API rate get|rate_get]] (rate) – check user rate by prefix&lt;br /&gt;
* [[MOR API tariff rates get| tariff_rates_get]] (get_tariff) – get all tariff's rates&lt;br /&gt;
* [[MOR API tariff_retail_import | tariff_retail_import ]] (import_relail_tariff) – import xml retail tariff&lt;br /&gt;
* [[MOR API tariff_wholesale_update | tariff_wholesale_update ]] (wholesale_tariff) – update or create wholesale tariff&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Services==&lt;br /&gt;
* [[MOR API Service create| service_create]] – create Service.&lt;br /&gt;
* [[MOR API Service delete| service_delete]] – delete Service.&lt;br /&gt;
* [[MOR API Services get| services_get]] – get Services.&lt;br /&gt;
* [[MOR API Service update| service_update]] – update Service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SMS Send==&lt;br /&gt;
* [[MOR API sms send| sms_send]] (send_sms) – send SMS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Subscriptions==&lt;br /&gt;
* [[MOR API subscription delete|subscription_delete]] - Subscription delete.&lt;br /&gt;
* [[MOR API Subscriptions get|subscriptions_get]] - Subscriptions get.&lt;br /&gt;
* [[MOR API subscription create|subscription_create]] - Subscription create.&lt;br /&gt;
* [[MOR API subscription update|subscription_update]] - Subscription delete.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
&lt;br /&gt;
* [[MOR API user_register| user_register]] – create new user from params.&lt;br /&gt;
* [[MOR API user_details_get | user_details_get]] (user_details) – gets user details.&lt;br /&gt;
* [[MOR_API_user_details_update| user_details_update]] (user_update_api) – update user from params.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resellers ==&lt;br /&gt;
* [[MOR API reseller group create]] - create new Reseller Group&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Version==&lt;br /&gt;
* [[MOR API system version get| system_version_get]] (get_version) – get MOR version number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= Examples =&lt;br /&gt;
* [[MOR API PHP Examples]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=HTML POST=&lt;br /&gt;
All requests are in a similar format:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/&amp;lt;function&amp;gt;?u=username&lt;br /&gt;
&lt;br /&gt;
* username - the user name and password of the user who is asking for the data. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Useful to know=&lt;br /&gt;
&lt;br /&gt;
* All API methods returns data straight from database. It means that MOR GUI settings does not affect data, it will be returned as it is saved in database. For example:&lt;br /&gt;
** Value of money will be returned in Default System [[Currencies|Currency]].&lt;br /&gt;
** Date will not be affected of [[Configuration_from_GUI#Visual| Default date format]] setting.&lt;br /&gt;
** Value of money will not be affected of [[Configuration_from_GUI#Visual|Number digits]] setting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also =&lt;br /&gt;
* [[API Configuration]]&lt;br /&gt;
* [[MOR integration]]&lt;br /&gt;
* [[How to block access to some API functions]]&lt;br /&gt;
* [[API specification to be implemented in the future]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_sms_send&amp;diff=18683</id>
		<title>MOR API sms send</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_sms_send&amp;diff=18683"/>
		<updated>2014-11-26T10:02:00Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
SMS API is used to integrate MOR with other external systems like CRM, ERP or other for SMS sending through them.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' SMS API can use only '''Simple Users'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
&lt;br /&gt;
* Call: /api/sms_send&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended) &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* lcr_id - LCR ID in MOR database. '''Required'''.&lt;br /&gt;
* u - username to login. '''Required'''.&lt;br /&gt;
* dst - Destination number. '''Required'''.&lt;br /&gt;
* src - Source number. '''Required'''.&lt;br /&gt;
* message - Message that you want to send. '''Required'''.&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&lt;br /&gt;
&lt;br /&gt;
'''* Note that message must be in [http://meta.wikimedia.org/wiki/Help:URL URL Encode]'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have lcr_id = 1, dst = 937567337911, src = 9375783123767, message = hi, API key = 123456&lt;br /&gt;
**We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/sms_send?u=username&amp;amp;lcr_id=1&amp;amp;dst=937567337911&amp;amp;src=9375783123767&amp;amp;message=hi&amp;amp;hash=cc0e27123e27f08de2fbc68a2c8ba0b213654687&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;response&amp;gt;&lt;br /&gt;
     &amp;lt;status&amp;gt;ok&amp;lt;/status&amp;gt;&lt;br /&gt;
     &amp;lt;message&amp;gt;&lt;br /&gt;
       &amp;lt;message_id&amp;gt; message id &amp;lt;/message_id&amp;gt;&lt;br /&gt;
       &amp;lt;sms_status_code_tip&amp;gt;SMS is sent&amp;lt;/sms_status_code_tip&amp;gt;&lt;br /&gt;
       &amp;lt;price&amp;gt; price &amp;lt;/price&amp;gt;&lt;br /&gt;
       &amp;lt;currency&amp;gt; currency &amp;lt;/currency&amp;gt;&lt;br /&gt;
    &amp;lt;/message&amp;gt;&lt;br /&gt;
   &amp;lt;/response&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;There is no message or it is empty&amp;lt;/error&amp;gt; – message text not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;Wrong source&amp;lt;/error&amp;gt; – source number is wrong.&lt;br /&gt;
* &amp;lt;error&amp;gt;Wrong destination&amp;lt;/error&amp;gt; – destination number is wrong.&lt;br /&gt;
* &amp;lt;error&amp;gt;There is no such LCR&amp;lt;/error&amp;gt; – LCR id not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;User is not subscribed to sms service&amp;lt;/error&amp;gt;  – user is not [[SMS_Addon#Configuration | Subscribed]] for sms usage.&lt;br /&gt;
* &amp;lt;error&amp;gt;1 - failed, admin does not have rate for this destination&amp;lt;/error&amp;gt; - SMS status code and tip [[SMS Addon - Status codes]]&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_device_update&amp;diff=18682</id>
		<title>MOR API device update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_device_update&amp;diff=18682"/>
		<updated>2014-11-26T09:59:49Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X4---&amp;gt;&lt;br /&gt;
[[MOR API]] update existing Device from params. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/device_update&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* '''device''' - device_id. '''Required'''.&lt;br /&gt;
&lt;br /&gt;
'''Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is API_Secret_Key'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using '''parameters''' which are listed above. Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''u''' - username for authentication. '''Required'''.&lt;br /&gt;
* '''new_location_id''' - location_id.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Additional feature''' &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If API setting '''Allow Resellers to use Admin Localization Rules''' is enabled:&amp;lt;br&amp;gt;Reseller is able to set location inherited from Admin. '''new_location_id''' should be used as a parameter for location.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/device_update?u=admin&amp;amp;device=2&amp;amp;location_id=7&amp;amp;hash=297dab8c386794b2e947d52affb8f576c643569e&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;success&amp;gt;Device successfully updated&amp;lt;/success&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - access not allowed&lt;br /&gt;
* &amp;lt;error&amp;gt;Device was not found&amp;lt;/error&amp;gt; - Device id incorrect or does not exist&lt;br /&gt;
* &amp;lt;error&amp;gt;Location was not found&amp;lt;/error&amp;gt; - Location id incorrect or does not exist&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_device_update&amp;diff=18681</id>
		<title>MOR API device update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_device_update&amp;diff=18681"/>
		<updated>2014-11-26T09:56:56Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X4---&amp;gt;&lt;br /&gt;
[[MOR API]] update existing Device from params. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/device_update&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* '''device''' - device_id. '''Required'''.&lt;br /&gt;
&lt;br /&gt;
'''Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is API_Secret_Key'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
* '''[[MOR API hash construction | hash]]''' - SHA1 hash constructed using '''parameters''' which are listed above. Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''u''' - username for authentication. '''Required'''.&lt;br /&gt;
* '''new_location_id''' - location_id.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Additional feature''' &amp;lt;br&amp;gt;If API setting '''Allow Resellers to use Admin Localization Rules''' is enabled:&amp;lt;br&amp;gt;Reseller is able to set location inherited from Admin. '''new_location_id''' should be used as a parameter for location.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/device_update?u=admin&amp;amp;device=2&amp;amp;location_id=7&amp;amp;hash=297dab8c386794b2e947d52affb8f576c643569e&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;success&amp;gt;Device successfully updated&amp;lt;/success&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - access not allowed&lt;br /&gt;
* &amp;lt;error&amp;gt;Device was not found&amp;lt;/error&amp;gt; - Device id incorrect or does not exist&lt;br /&gt;
* &amp;lt;error&amp;gt;Location was not found&amp;lt;/error&amp;gt; - Location id incorrect or does not exist&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Invoices&amp;diff=18648</id>
		<title>Invoices</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Invoices&amp;diff=18648"/>
		<updated>2014-11-13T10:06:13Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
An invoice, bill or tab is a commercial document issued by a seller to a buyer, relating to a sale transaction and indicating the products, quantities, and agreed prices for products or services the seller had provided the buyer.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Configuration =&lt;br /&gt;
 &lt;br /&gt;
You can manage Invoices settings, details, Address information and functionality in the Invoices section of the [[Configuration_from_GUI#Invoices | SETTINGS -&amp;gt; Setup -&amp;gt; Settings]] window.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want show user_billsec instead of billsec in Users invoices and last calls, go to [[Configuration_from_GUI#Visual | Settings –&amp;gt; Various]] and check ''Show user_billsec for Users instead of billsec''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Invoices list=&lt;br /&gt;
&lt;br /&gt;
Invoices can be viewed, generated, recalculated, sent, also &amp;lt;!---...from MOR 9---&amp;gt; list of Invoices can be exported to CSV file (Invoice number is included in the output data) in '''SETTINGS –&amp;gt; Accounting –&amp;gt; Invoices'''. In the main window, you can see list of all Invoices:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoices_list_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The icons [[Image:icon_check.png]] and [[Image:icon_cross.png]] show whether this invoice is Paid or Unpaid, Sent or Not Sent. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Invoice details=&lt;br /&gt;
&lt;br /&gt;
Click on the [[Image:icon_details.png]] icon to get details of the Invoice:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_details_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==General Details==&lt;br /&gt;
&lt;br /&gt;
'''Payment date''' - An option which will set the period of payment on current month. By default ''Years'' and ''Month'' is current, it is only possible to change ''Day of Month'' which is indicating the last date of ''Invoice'' issue.&lt;br /&gt;
'''Currecy of Invoice''' - &amp;lt;!---This functionality is available from MOR 11---&amp;gt; From Administrator account Invoices for Users are exported according to selected currency in the top of page. From User account Invoices are exported in Users currency.&lt;br /&gt;
&lt;br /&gt;
'''Language of Invoice'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==User Details==&lt;br /&gt;
&lt;br /&gt;
User Details which will be used in xlsx file of invoice. These Details are taken form [[User Details]] and it can be changed manually, but after recalculate it will be reset to same information as it is in [[User Details]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Files to send or download==&lt;br /&gt;
&lt;br /&gt;
Here you can view the details of all invoices and click on the [[Image:icon_pdf.png]] or [[Image:icon_csv.png]] icons to generate invoice files in PDF or CSV formats accordingly. First icon [[Image:icon_csv.png]] will download a xlsx file.&lt;br /&gt;
&lt;br /&gt;
*'''Invoice''' shows common information like time period,  total price and total price with tax. PDF also shows services list, their quantity, unit prices...&lt;br /&gt;
*'''Invoice detailed''' PDF shows same information like simple invoice and includes calls list.&lt;br /&gt;
*'''Invoice by CallerID'''  shows calls list grouped by CallerID.&lt;br /&gt;
*'''Invoice Destinations''' shows calls list grouped by Destination. &lt;br /&gt;
&lt;br /&gt;
You can manage what kind of Invoice should be showed for User and/or sent to User as email attachment in [[User_Details#Invoices |User Details]]. Here you can check ''Show zero Calls'' option if you need to calculate 0 price Calls into Invoices.&lt;br /&gt;
=== XLSX Invoices ===&lt;br /&gt;
&lt;br /&gt;
XLSX file to export an Invoice is made from your own XLSX format template and information from Invoices main window. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Default XLSX template'''&lt;br /&gt;
&lt;br /&gt;
Create a xlsx file. Template you can prepare as you wish, you can fill it with information of company, draw tables with column names, describe information taken from Invoice main window and so on. Template '''have to be uploaded in SETTINGS -&amp;gt; Setup -&amp;gt; Settings''', Invoices - XLSX tab setting  '''XSLX Template'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_xlsx_settings_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Configuration for Dynamic information'''&lt;br /&gt;
&lt;br /&gt;
When you already have a template for example with all data of your company, with drawn tables and so on, you need to define where should be shown the dynamic information of invoice. How and what information is displayed can be set same '''SETTINGS -&amp;gt; Setup -&amp;gt; Settings''', Invoices - XLSX tab. Just need to define cell address in correct format. &lt;br /&gt;
&lt;br /&gt;
For example &amp;quot;A2&amp;quot;, &amp;quot;B15&amp;quot;, &amp;quot;AA9&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:callc.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== PDF invoices ===&lt;br /&gt;
&lt;br /&gt;
The layout of PDF invoices is not customizable. &lt;br /&gt;
&lt;br /&gt;
Logos are not supported in PDF invoices.&lt;br /&gt;
&lt;br /&gt;
You can print your invoices on paper with a pre-printed logo if you want to send paper invoices.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== CSV invoices ===&lt;br /&gt;
&lt;br /&gt;
Detailed CSV invoice does not include list of all calls. Please use [[How_to_export_CDRs|CDR export]] if you need list of calls in CSV format.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Comment==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 9---&amp;gt;&lt;br /&gt;
Sometimes it is useful to add a comment to the invoice. It can be used in xlsx file also.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoice  Details==&lt;br /&gt;
Click on the Invoice Details icon in the Invoice details page &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Service_details.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
to get Services Details of the Invoice: &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_services_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Services:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''SMS''' – quantity and price of SMS sent in selected period. Invoice for Reseller counts all SMS that was sent by his users using price for Reseller. Note, that SMS are included to Invoice only when [[SMS Addon]] is used&lt;br /&gt;
* '''DID Owner Cost''' – price for having and using own DID(s)&lt;br /&gt;
* '''Subscriptions''' – price of subscription applied to selected period. Period considered as month is from first till last day of month and from concrete day of month till next month one day before selected last month. Eg. from 2013-02-26 till 2013-03-25&lt;br /&gt;
* '''Calls''' – quantity and price of outgoing calls&lt;br /&gt;
* '''Calls from Users''' – quantity and price of resellers users calls&lt;br /&gt;
* '''Calls to DIDs''' – price for calling to DID(s)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Invoice generation =&lt;br /&gt;
&lt;br /&gt;
In the main Invoices window, click [[Image:icon_generate_invoices.png]] '''Generate Invoices''' to generate additional invoices:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:generate_invoices_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
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. Invoice will be generated if selected User existed at least one day of all Invoice period.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' For Prepaid User after every executed Manual Payment will be generated Invoice automatically.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X5---&amp;gt;&lt;br /&gt;
'''NOTE:''' If Currency of User is different than default System Currency. All his Invoices will be generated with [[Currencies| Currency]] Exchange Rate of current day. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Invoice recalculation =&lt;br /&gt;
&lt;br /&gt;
An invoice cannot be modified after being sent. But if you want to allow recalculations after sending invoices, go to: '''Settings -&amp;gt; Setup -&amp;gt; Settings'''. Then click on the tabs: '''Invoices -&amp;gt; Functionality'''. Select ''Invoice allow recalculate after send'':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ivoicesnewnew.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Recalculate a group of Invoices===&lt;br /&gt;
&lt;br /&gt;
To recalculate invoices in the main Invoices window click [[Image:icon_generate_invoices.png]] '''Recalculate invoices''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recalc.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Select for which users to recalculate invoices.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Recalculate a single Invoice ===&lt;br /&gt;
&lt;br /&gt;
If an invoice is not marked as paid - it can be recalculated for the same user, same period. To achieve this - press the marked icon:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recalculate_single_invoice_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Send invoices by email =&lt;br /&gt;
&lt;br /&gt;
Click [[Image:icon_email_send.png]] to open more options to enter the period in which you want to send invoices. Click '''Send''' to send invoices to their Users in this period:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoices_send_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can use these settings to choose which users should get an email with the invoice. Using these settings you can send emails in parts.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Email sending''' option must be enabled in Email Settings to use this feature&lt;br /&gt;
* Tip: you can '''send invoices in parts''' by using text fields to send invoices for users which '''Username, First name, Last name''' or '''Number''' begins with some letters. For example: you have users with usernames john, albert and alex. You want to send invoices only for users whose usernames begins with '''&amp;quot;a&amp;quot;''' so you just have to enter '''&amp;quot;a&amp;quot;''' in a '''Username text field''' to send invoices only to albert and alex.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Accounting]]&lt;br /&gt;
* [[Invoice configuration]]&lt;br /&gt;
* [[Pay Invoice with balance deduction]]&lt;br /&gt;
* [[Outstanding balance(Debt)]]&lt;br /&gt;
* [[Invoice by CallerID]]&lt;br /&gt;
* [[MOR API invoices_get]]&lt;br /&gt;
* [[Cannot generate Invoice]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Invoices&amp;diff=18647</id>
		<title>Invoices</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Invoices&amp;diff=18647"/>
		<updated>2014-11-13T10:05:47Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
An invoice, bill or tab is a commercial document issued by a seller to a buyer, relating to a sale transaction and indicating the products, quantities, and agreed prices for products or services the seller had provided the buyer.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Configuration =&lt;br /&gt;
 &lt;br /&gt;
You can manage Invoices settings, details, User information and functionality in the Invoices section of the [[Configuration_from_GUI#Invoices | SETTINGS -&amp;gt; Setup -&amp;gt; Settings]] window.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want show user_billsec instead of billsec in Users invoices and last calls, go to [[Configuration_from_GUI#Visual | Settings –&amp;gt; Various]] and check ''Show user_billsec for Users instead of billsec''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Invoices list=&lt;br /&gt;
&lt;br /&gt;
Invoices can be viewed, generated, recalculated, sent, also &amp;lt;!---...from MOR 9---&amp;gt; list of Invoices can be exported to CSV file (Invoice number is included in the output data) in '''SETTINGS –&amp;gt; Accounting –&amp;gt; Invoices'''. In the main window, you can see list of all Invoices:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoices_list_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The icons [[Image:icon_check.png]] and [[Image:icon_cross.png]] show whether this invoice is Paid or Unpaid, Sent or Not Sent. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Invoice details=&lt;br /&gt;
&lt;br /&gt;
Click on the [[Image:icon_details.png]] icon to get details of the Invoice:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_details_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==General Details==&lt;br /&gt;
&lt;br /&gt;
'''Payment date''' - An option which will set the period of payment on current month. By default ''Years'' and ''Month'' is current, it is only possible to change ''Day of Month'' which is indicating the last date of ''Invoice'' issue.&lt;br /&gt;
'''Currecy of Invoice''' - &amp;lt;!---This functionality is available from MOR 11---&amp;gt; From Administrator account Invoices for Users are exported according to selected currency in the top of page. From User account Invoices are exported in Users currency.&lt;br /&gt;
&lt;br /&gt;
'''Language of Invoice'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==User Details==&lt;br /&gt;
&lt;br /&gt;
User Details which will be used in xlsx file of invoice. These Details are taken form [[User Details]] and it can be changed manually, but after recalculate it will be reset to same information as it is in [[User Details]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Files to send or download==&lt;br /&gt;
&lt;br /&gt;
Here you can view the details of all invoices and click on the [[Image:icon_pdf.png]] or [[Image:icon_csv.png]] icons to generate invoice files in PDF or CSV formats accordingly. First icon [[Image:icon_csv.png]] will download a xlsx file.&lt;br /&gt;
&lt;br /&gt;
*'''Invoice''' shows common information like time period,  total price and total price with tax. PDF also shows services list, their quantity, unit prices...&lt;br /&gt;
*'''Invoice detailed''' PDF shows same information like simple invoice and includes calls list.&lt;br /&gt;
*'''Invoice by CallerID'''  shows calls list grouped by CallerID.&lt;br /&gt;
*'''Invoice Destinations''' shows calls list grouped by Destination. &lt;br /&gt;
&lt;br /&gt;
You can manage what kind of Invoice should be showed for User and/or sent to User as email attachment in [[User_Details#Invoices |User Details]]. Here you can check ''Show zero Calls'' option if you need to calculate 0 price Calls into Invoices.&lt;br /&gt;
=== XLSX Invoices ===&lt;br /&gt;
&lt;br /&gt;
XLSX file to export an Invoice is made from your own XLSX format template and information from Invoices main window. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Default XLSX template'''&lt;br /&gt;
&lt;br /&gt;
Create a xlsx file. Template you can prepare as you wish, you can fill it with information of company, draw tables with column names, describe information taken from Invoice main window and so on. Template '''have to be uploaded in SETTINGS -&amp;gt; Setup -&amp;gt; Settings''', Invoices - XLSX tab setting  '''XSLX Template'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_xlsx_settings_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Configuration for Dynamic information'''&lt;br /&gt;
&lt;br /&gt;
When you already have a template for example with all data of your company, with drawn tables and so on, you need to define where should be shown the dynamic information of invoice. How and what information is displayed can be set same '''SETTINGS -&amp;gt; Setup -&amp;gt; Settings''', Invoices - XLSX tab. Just need to define cell address in correct format. &lt;br /&gt;
&lt;br /&gt;
For example &amp;quot;A2&amp;quot;, &amp;quot;B15&amp;quot;, &amp;quot;AA9&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:callc.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== PDF invoices ===&lt;br /&gt;
&lt;br /&gt;
The layout of PDF invoices is not customizable. &lt;br /&gt;
&lt;br /&gt;
Logos are not supported in PDF invoices.&lt;br /&gt;
&lt;br /&gt;
You can print your invoices on paper with a pre-printed logo if you want to send paper invoices.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== CSV invoices ===&lt;br /&gt;
&lt;br /&gt;
Detailed CSV invoice does not include list of all calls. Please use [[How_to_export_CDRs|CDR export]] if you need list of calls in CSV format.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Comment==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 9---&amp;gt;&lt;br /&gt;
Sometimes it is useful to add a comment to the invoice. It can be used in xlsx file also.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoice  Details==&lt;br /&gt;
Click on the Invoice Details icon in the Invoice details page &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Service_details.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
to get Services Details of the Invoice: &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_services_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Services:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''SMS''' – quantity and price of SMS sent in selected period. Invoice for Reseller counts all SMS that was sent by his users using price for Reseller. Note, that SMS are included to Invoice only when [[SMS Addon]] is used&lt;br /&gt;
* '''DID Owner Cost''' – price for having and using own DID(s)&lt;br /&gt;
* '''Subscriptions''' – price of subscription applied to selected period. Period considered as month is from first till last day of month and from concrete day of month till next month one day before selected last month. Eg. from 2013-02-26 till 2013-03-25&lt;br /&gt;
* '''Calls''' – quantity and price of outgoing calls&lt;br /&gt;
* '''Calls from Users''' – quantity and price of resellers users calls&lt;br /&gt;
* '''Calls to DIDs''' – price for calling to DID(s)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Invoice generation =&lt;br /&gt;
&lt;br /&gt;
In the main Invoices window, click [[Image:icon_generate_invoices.png]] '''Generate Invoices''' to generate additional invoices:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:generate_invoices_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
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. Invoice will be generated if selected User existed at least one day of all Invoice period.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' For Prepaid User after every executed Manual Payment will be generated Invoice automatically.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X5---&amp;gt;&lt;br /&gt;
'''NOTE:''' If Currency of User is different than default System Currency. All his Invoices will be generated with [[Currencies| Currency]] Exchange Rate of current day. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Invoice recalculation =&lt;br /&gt;
&lt;br /&gt;
An invoice cannot be modified after being sent. But if you want to allow recalculations after sending invoices, go to: '''Settings -&amp;gt; Setup -&amp;gt; Settings'''. Then click on the tabs: '''Invoices -&amp;gt; Functionality'''. Select ''Invoice allow recalculate after send'':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ivoicesnewnew.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Recalculate a group of Invoices===&lt;br /&gt;
&lt;br /&gt;
To recalculate invoices in the main Invoices window click [[Image:icon_generate_invoices.png]] '''Recalculate invoices''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recalc.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Select for which users to recalculate invoices.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Recalculate a single Invoice ===&lt;br /&gt;
&lt;br /&gt;
If an invoice is not marked as paid - it can be recalculated for the same user, same period. To achieve this - press the marked icon:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recalculate_single_invoice_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Send invoices by email =&lt;br /&gt;
&lt;br /&gt;
Click [[Image:icon_email_send.png]] to open more options to enter the period in which you want to send invoices. Click '''Send''' to send invoices to their Users in this period:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoices_send_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can use these settings to choose which users should get an email with the invoice. Using these settings you can send emails in parts.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Email sending''' option must be enabled in Email Settings to use this feature&lt;br /&gt;
* Tip: you can '''send invoices in parts''' by using text fields to send invoices for users which '''Username, First name, Last name''' or '''Number''' begins with some letters. For example: you have users with usernames john, albert and alex. You want to send invoices only for users whose usernames begins with '''&amp;quot;a&amp;quot;''' so you just have to enter '''&amp;quot;a&amp;quot;''' in a '''Username text field''' to send invoices only to albert and alex.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Accounting]]&lt;br /&gt;
* [[Invoice configuration]]&lt;br /&gt;
* [[Pay Invoice with balance deduction]]&lt;br /&gt;
* [[Outstanding balance(Debt)]]&lt;br /&gt;
* [[Invoice by CallerID]]&lt;br /&gt;
* [[MOR API invoices_get]]&lt;br /&gt;
* [[Cannot generate Invoice]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Invoice_xlsx_settings_x6.png&amp;diff=18646</id>
		<title>File:Invoice xlsx settings x6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Invoice_xlsx_settings_x6.png&amp;diff=18646"/>
		<updated>2014-11-13T10:01:45Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Recalculate_single_invoice_x6.png&amp;diff=18645</id>
		<title>File:Recalculate single invoice x6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Recalculate_single_invoice_x6.png&amp;diff=18645"/>
		<updated>2014-11-13T09:48:29Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Generate_invoices_x6.png&amp;diff=18644</id>
		<title>File:Generate invoices x6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Generate_invoices_x6.png&amp;diff=18644"/>
		<updated>2014-11-13T09:45:38Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Service_details.png&amp;diff=18643</id>
		<title>File:Service details.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Service_details.png&amp;diff=18643"/>
		<updated>2014-11-13T09:40:24Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Invoices&amp;diff=18642</id>
		<title>Invoices</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Invoices&amp;diff=18642"/>
		<updated>2014-11-13T09:28:54Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Invoice Services Details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
An invoice, bill or tab is a commercial document issued by a seller to a buyer, relating to a sale transaction and indicating the products, quantities, and agreed prices for products or services the seller had provided the buyer.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Configuration =&lt;br /&gt;
 &lt;br /&gt;
You can manage Invoices settings, details, address information and functionality in the Invoices section of the [[Configuration_from_GUI#Invoices | SETTINGS -&amp;gt; Setup -&amp;gt; Settings]] window.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want show user_billsec instead of billsec in Users invoices and last calls, go to [[Configuration_from_GUI#Visual | Settings –&amp;gt; Various]] and check ''Show user_billsec for Users instead of billsec''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Invoices list=&lt;br /&gt;
&lt;br /&gt;
Invoices can be viewed, generated, recalculated, sent, also &amp;lt;!---...from MOR 9---&amp;gt; list of Invoices can be exported to CSV file (Invoice number is included in the output data) in '''SETTINGS –&amp;gt; Accounting –&amp;gt; Invoices'''. In the main window, you can see list of all Invoices:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoices_list_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The icons [[Image:icon_check.png]] and [[Image:icon_cross.png]] show whether this invoice is Paid or Unpaid, Sent or Not Sent. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Invoice details=&lt;br /&gt;
&lt;br /&gt;
Click on the [[Image:icon_details.png]] icon to get details of the Invoice:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_details_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==General Details==&lt;br /&gt;
&lt;br /&gt;
'''Payment date''' - An option which will set the period of payment on current month. By default ''Years'' and ''Month'' is current, it is only possible to change ''Day of Month'' which is indicating the last date of ''Invoice'' issue.&lt;br /&gt;
'''Currecy of Invoice''' - &amp;lt;!---This functionality is available from MOR 11---&amp;gt; From Administrator account Invoices for Users are exported according to selected currency in the top of page. From User account Invoices are exported in Users currency.&lt;br /&gt;
&lt;br /&gt;
'''Language of Invoice'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==User Details==&lt;br /&gt;
&lt;br /&gt;
User Details which will be used in xlsx file of invoice. These Details are taken form [[User Details]] and it can be changed manually, but after recalculate it will be reset to same information as it is in [[User Details]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Files to send or download==&lt;br /&gt;
&lt;br /&gt;
Here you can view the details of all invoices and click on the [[Image:icon_pdf.png]] or [[Image:icon_csv.png]] icons to generate invoice files in PDF or CSV formats accordingly. First icon [[Image:icon_csv.png]] will download a xlsx file.&lt;br /&gt;
&lt;br /&gt;
*'''Invoice''' shows common information like time period,  total price and total price with tax. PDF also shows services list, their quantity, unit prices...&lt;br /&gt;
*'''Invoice detailed''' PDF shows same information like simple invoice and includes calls list.&lt;br /&gt;
*'''Invoice by CallerID'''  shows calls list grouped by CallerID.&lt;br /&gt;
*'''Invoice Destinations''' shows calls list grouped by Destination. &lt;br /&gt;
&lt;br /&gt;
You can manage what kind of Invoice should be showed for User and/or sent to User as email attachment in [[User_Details#Invoices |User Details]]. Here you can check ''Show zero Calls'' option if you need to calculate 0 price Calls into Invoices.&lt;br /&gt;
=== XLSX Invoices ===&lt;br /&gt;
&lt;br /&gt;
XLSX file to export an Invoice is made from your own XLSX format template and information from Invoices main window. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Default XLSX template'''&lt;br /&gt;
&lt;br /&gt;
Create a xlsx file. Template you can prepare as you wish, you can fill it with information of company, draw tables with column names, describe information taken from Invoice main window and so on. Template '''have to be uploaded in SETTINGS -&amp;gt; Setup -&amp;gt; Settings''', Invoices - XLSX tab setting  '''XSLX Template'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_xlsx_settings_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Configuration for Dynamic information'''&lt;br /&gt;
&lt;br /&gt;
When you already have a template for example with all data of your company, with drawn tables and so on, you need to define where should be shown the dynamic information of invoice. How and what information is displayed can be set same '''SETTINGS -&amp;gt; Setup -&amp;gt; Settings''', Invoices - XLSX tab. Just need to define cell address in correct format. &lt;br /&gt;
&lt;br /&gt;
For example &amp;quot;A2&amp;quot;, &amp;quot;B15&amp;quot;, &amp;quot;AA9&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:callc.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== PDF invoices ===&lt;br /&gt;
&lt;br /&gt;
The layout of PDF invoices is not customizable. &lt;br /&gt;
&lt;br /&gt;
Logos are not supported in PDF invoices.&lt;br /&gt;
&lt;br /&gt;
You can print your invoices on paper with a pre-printed logo if you want to send paper invoices.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== CSV invoices ===&lt;br /&gt;
&lt;br /&gt;
Detailed CSV invoice does not include list of all calls. Please use [[How_to_export_CDRs|CDR export]] if you need list of calls in CSV format.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Comment==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 9---&amp;gt;&lt;br /&gt;
Sometimes it is useful to add a comment to the invoice. It can be used in xlsx file also.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoice  Details==&lt;br /&gt;
Click on the Invoice Details icon in the Invoice details page &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Service_details.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
to get Services Details of the Invoice: &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_services_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Services:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''SMS''' – quantity and price of SMS sent in selected period. Invoice for Reseller counts all SMS that was sent by his users using price for Reseller. Note, that SMS are included to Invoice only when [[SMS Addon]] is used&lt;br /&gt;
* '''DID Owner Cost''' – price for having and using own DID(s)&lt;br /&gt;
* '''Subscriptions''' – price of subscription applied to selected period. Period considered as month is from first till last day of month and from concrete day of month till next month one day before selected last month. Eg. from 2013-02-26 till 2013-03-25&lt;br /&gt;
* '''Calls''' – quantity and price of outgoing calls&lt;br /&gt;
* '''Calls from Users''' – quantity and price of resellers users calls&lt;br /&gt;
* '''Calls to DIDs''' – price for calling to DID(s)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Invoice generation =&lt;br /&gt;
&lt;br /&gt;
In the main Invoices window, click [[Image:icon_generate_invoices.png]] '''Generate Invoices''' to generate additional invoices:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:generate_invoices_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
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. Invoice will be generated if selected User existed at least one day of all Invoice period.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' For Prepaid User after every executed Manual Payment will be generated Invoice automatically.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X5---&amp;gt;&lt;br /&gt;
'''NOTE:''' If Currency of User is different than default System Currency. All his Invoices will be generated with [[Currencies| Currency]] Exchange Rate of current day. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Invoice recalculation =&lt;br /&gt;
&lt;br /&gt;
An invoice cannot be modified after being sent. But if you want to allow recalculations after sending invoices, go to: '''Settings -&amp;gt; Setup -&amp;gt; Settings'''. Then click on the tabs: '''Invoices -&amp;gt; Functionality'''. Select ''Invoice allow recalculate after send'':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ivoicesnewnew.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Recalculate a group of Invoices===&lt;br /&gt;
&lt;br /&gt;
To recalculate invoices in the main Invoices window click [[Image:icon_generate_invoices.png]] '''Recalculate invoices''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recalc.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Select for which users to recalculate invoices.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Recalculate a single Invoice ===&lt;br /&gt;
&lt;br /&gt;
If an invoice is not marked as paid - it can be recalculated for the same user, same period. To achieve this - press the marked icon:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recalculate_single_invoice_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Send invoices by email =&lt;br /&gt;
&lt;br /&gt;
Click [[Image:icon_email_send.png]] to open more options to enter the period in which you want to send invoices. Click '''Send''' to send invoices to their Users in this period:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoices_send_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can use these settings to choose which users should get an email with the invoice. Using these settings you can send emails in parts.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Email sending''' option must be enabled in Email Settings to use this feature&lt;br /&gt;
* Tip: you can '''send invoices in parts''' by using text fields to send invoices for users which '''Username, First name, Last name''' or '''Number''' begins with some letters. For example: you have users with usernames john, albert and alex. You want to send invoices only for users whose usernames begins with '''&amp;quot;a&amp;quot;''' so you just have to enter '''&amp;quot;a&amp;quot;''' in a '''Username text field''' to send invoices only to albert and alex.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Accounting]]&lt;br /&gt;
* [[Invoice configuration]]&lt;br /&gt;
* [[Pay Invoice with balance deduction]]&lt;br /&gt;
* [[Outstanding balance(Debt)]]&lt;br /&gt;
* [[Invoice by CallerID]]&lt;br /&gt;
* [[MOR API invoices_get]]&lt;br /&gt;
* [[Cannot generate Invoice]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Invoice_services_x6.png&amp;diff=18641</id>
		<title>File:Invoice services x6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Invoice_services_x6.png&amp;diff=18641"/>
		<updated>2014-11-13T09:24:26Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Invoices&amp;diff=18640</id>
		<title>Invoices</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Invoices&amp;diff=18640"/>
		<updated>2014-11-13T09:23:53Z</updated>

		<summary type="html">&lt;p&gt;Karolinas: /* Invoice Services Details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
An invoice, bill or tab is a commercial document issued by a seller to a buyer, relating to a sale transaction and indicating the products, quantities, and agreed prices for products or services the seller had provided the buyer.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Configuration =&lt;br /&gt;
 &lt;br /&gt;
You can manage Invoices settings, details, address information and functionality in the Invoices section of the [[Configuration_from_GUI#Invoices | SETTINGS -&amp;gt; Setup -&amp;gt; Settings]] window.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want show user_billsec instead of billsec in Users invoices and last calls, go to [[Configuration_from_GUI#Visual | Settings –&amp;gt; Various]] and check ''Show user_billsec for Users instead of billsec''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Invoices list=&lt;br /&gt;
&lt;br /&gt;
Invoices can be viewed, generated, recalculated, sent, also &amp;lt;!---...from MOR 9---&amp;gt; list of Invoices can be exported to CSV file (Invoice number is included in the output data) in '''SETTINGS –&amp;gt; Accounting –&amp;gt; Invoices'''. In the main window, you can see list of all Invoices:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoices_list_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The icons [[Image:icon_check.png]] and [[Image:icon_cross.png]] show whether this invoice is Paid or Unpaid, Sent or Not Sent. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Invoice details=&lt;br /&gt;
&lt;br /&gt;
Click on the [[Image:icon_details.png]] icon to get details of the Invoice:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_details_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==General Details==&lt;br /&gt;
&lt;br /&gt;
'''Payment date''' - An option which will set the period of payment on current month. By default ''Years'' and ''Month'' is current, it is only possible to change ''Day of Month'' which is indicating the last date of ''Invoice'' issue.&lt;br /&gt;
'''Currecy of Invoice''' - &amp;lt;!---This functionality is available from MOR 11---&amp;gt; From Administrator account Invoices for Users are exported according to selected currency in the top of page. From User account Invoices are exported in Users currency.&lt;br /&gt;
&lt;br /&gt;
'''Language of Invoice'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==User Details==&lt;br /&gt;
&lt;br /&gt;
User Details which will be used in xlsx file of invoice. These Details are taken form [[User Details]] and it can be changed manually, but after recalculate it will be reset to same information as it is in [[User Details]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Files to send or download==&lt;br /&gt;
&lt;br /&gt;
Here you can view the details of all invoices and click on the [[Image:icon_pdf.png]] or [[Image:icon_csv.png]] icons to generate invoice files in PDF or CSV formats accordingly. First icon [[Image:icon_csv.png]] will download a xlsx file.&lt;br /&gt;
&lt;br /&gt;
*'''Invoice''' shows common information like time period,  total price and total price with tax. PDF also shows services list, their quantity, unit prices...&lt;br /&gt;
*'''Invoice detailed''' PDF shows same information like simple invoice and includes calls list.&lt;br /&gt;
*'''Invoice by CallerID'''  shows calls list grouped by CallerID.&lt;br /&gt;
*'''Invoice Destinations''' shows calls list grouped by Destination. &lt;br /&gt;
&lt;br /&gt;
You can manage what kind of Invoice should be showed for User and/or sent to User as email attachment in [[User_Details#Invoices |User Details]]. Here you can check ''Show zero Calls'' option if you need to calculate 0 price Calls into Invoices.&lt;br /&gt;
=== XLSX Invoices ===&lt;br /&gt;
&lt;br /&gt;
XLSX file to export an Invoice is made from your own XLSX format template and information from Invoices main window. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Default XLSX template'''&lt;br /&gt;
&lt;br /&gt;
Create a xlsx file. Template you can prepare as you wish, you can fill it with information of company, draw tables with column names, describe information taken from Invoice main window and so on. Template '''have to be uploaded in SETTINGS -&amp;gt; Setup -&amp;gt; Settings''', Invoices - XLSX tab setting  '''XSLX Template'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_xlsx_settings_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Configuration for Dynamic information'''&lt;br /&gt;
&lt;br /&gt;
When you already have a template for example with all data of your company, with drawn tables and so on, you need to define where should be shown the dynamic information of invoice. How and what information is displayed can be set same '''SETTINGS -&amp;gt; Setup -&amp;gt; Settings''', Invoices - XLSX tab. Just need to define cell address in correct format. &lt;br /&gt;
&lt;br /&gt;
For example &amp;quot;A2&amp;quot;, &amp;quot;B15&amp;quot;, &amp;quot;AA9&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:callc.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== PDF invoices ===&lt;br /&gt;
&lt;br /&gt;
The layout of PDF invoices is not customizable. &lt;br /&gt;
&lt;br /&gt;
Logos are not supported in PDF invoices.&lt;br /&gt;
&lt;br /&gt;
You can print your invoices on paper with a pre-printed logo if you want to send paper invoices.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== CSV invoices ===&lt;br /&gt;
&lt;br /&gt;
Detailed CSV invoice does not include list of all calls. Please use [[How_to_export_CDRs|CDR export]] if you need list of calls in CSV format.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Comment==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 9---&amp;gt;&lt;br /&gt;
Sometimes it is useful to add a comment to the invoice. It can be used in xlsx file also.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoice Services Details==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoice_services_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Services:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''SMS''' – quantity and price of SMS sent in selected period. Invoice for Reseller counts all SMS that was sent by his users using price for Reseller. Note, that SMS are included to Invoice only when [[SMS Addon]] is used&lt;br /&gt;
* '''DID Owner Cost''' – price for having and using own DID(s)&lt;br /&gt;
* '''Subscriptions''' – price of subscription applied to selected period. Period considered as month is from first till last day of month and from concrete day of month till next month one day before selected last month. Eg. from 2013-02-26 till 2013-03-25&lt;br /&gt;
* '''Calls''' – quantity and price of outgoing calls&lt;br /&gt;
* '''Calls from Users''' – quantity and price of resellers users calls&lt;br /&gt;
* '''Calls to DIDs''' – price for calling to DID(s)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Invoice generation =&lt;br /&gt;
&lt;br /&gt;
In the main Invoices window, click [[Image:icon_generate_invoices.png]] '''Generate Invoices''' to generate additional invoices:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:generate_invoices_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
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. Invoice will be generated if selected User existed at least one day of all Invoice period.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' For Prepaid User after every executed Manual Payment will be generated Invoice automatically.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X5---&amp;gt;&lt;br /&gt;
'''NOTE:''' If Currency of User is different than default System Currency. All his Invoices will be generated with [[Currencies| Currency]] Exchange Rate of current day. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Invoice recalculation =&lt;br /&gt;
&lt;br /&gt;
An invoice cannot be modified after being sent. But if you want to allow recalculations after sending invoices, go to: '''Settings -&amp;gt; Setup -&amp;gt; Settings'''. Then click on the tabs: '''Invoices -&amp;gt; Functionality'''. Select ''Invoice allow recalculate after send'':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ivoicesnewnew.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Recalculate a group of Invoices===&lt;br /&gt;
&lt;br /&gt;
To recalculate invoices in the main Invoices window click [[Image:icon_generate_invoices.png]] '''Recalculate invoices''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recalc.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Select for which users to recalculate invoices.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Recalculate a single Invoice ===&lt;br /&gt;
&lt;br /&gt;
If an invoice is not marked as paid - it can be recalculated for the same user, same period. To achieve this - press the marked icon:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recalculate_single_invoice_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Send invoices by email =&lt;br /&gt;
&lt;br /&gt;
Click [[Image:icon_email_send.png]] to open more options to enter the period in which you want to send invoices. Click '''Send''' to send invoices to their Users in this period:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:invoices_send_x6.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can use these settings to choose which users should get an email with the invoice. Using these settings you can send emails in parts.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Email sending''' option must be enabled in Email Settings to use this feature&lt;br /&gt;
* Tip: you can '''send invoices in parts''' by using text fields to send invoices for users which '''Username, First name, Last name''' or '''Number''' begins with some letters. For example: you have users with usernames john, albert and alex. You want to send invoices only for users whose usernames begins with '''&amp;quot;a&amp;quot;''' so you just have to enter '''&amp;quot;a&amp;quot;''' in a '''Username text field''' to send invoices only to albert and alex.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Accounting]]&lt;br /&gt;
* [[Invoice configuration]]&lt;br /&gt;
* [[Pay Invoice with balance deduction]]&lt;br /&gt;
* [[Outstanding balance(Debt)]]&lt;br /&gt;
* [[Invoice by CallerID]]&lt;br /&gt;
* [[MOR API invoices_get]]&lt;br /&gt;
* [[Cannot generate Invoice]]&lt;/div&gt;</summary>
		<author><name>Karolinas</name></author>
	</entry>
</feed>