Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - sergey

Pages: [1]
1
Call Accounting Mate Q&A / Explanation of Settings - Holidays
« on: September 23, 2005, 06:22:15 AM »
Settings/Holidays Page is used to manage list of public holidays. Primary intention of managing such list is for calls rating. Many service providers use different tariffs for weekends and public holidays. Weekends can be easily calculated automatically, but this is not the case with holidays, because almost every country in the world has own specific holidays and because holiday dates change from year to year. The holidays lookup table allows the rating module to know whether a call date is holiday or not and choose right tariff for the call.

In the tariff plan there is Time Slot element, which uses the holidays lookup table. It filters calls by date and time, including day of week filtering. Among Sunday, Monday, Tuesday, ... etc. options there is Holidays option in the property editor of this element. While processing 'Time Slot' element the rating module refers to the holidays lookup table to check whether a call date is holiday or not, if yes and the 'Holidays' option is checked in the element the call passes through it. Rest of possible cases expands obviously.
2
The tariff plan in Call Accounting Mate is also numbering plan at the same time. It is most important part of the system data, because the software relies on the plan when parsing phone numbers to determine region for a call and also when rating the calls. Below we'll use tariff plan to denote this structure, keeping in mind that in CAM this actually means tariff and numbering plans at the same time.

Tariff plan in CAM is structured like a  tree, which means that every element of the tariff plan has a parent element (except the very first root element) and every element has zero or more child elements. Elements, which have no children are referred as leaves. Path in the tariff plan is a chain of elements in which every element is parent of the next element in the chain. Evey element in the path has prefix (phone code), which is either it's own, calculated from the element value, or inherited from the parent element or combined (parent prefix is appended in front of the current element's prefix and used as new prefix for the element). Current prefix on the path is prefix of the element, which CAM is currently processing. The current prefix is displayed in 3rd column of every expandable pane on the Settings/Operators/Rates page.

While parsing phone numbers and tariffing calls CAM navigates from root element of the tariff plan to leaves as deep as possible, searching for most appropriate path for a call. It uses various criteria described below to determine the path, which fits best for a given call. After such path is found CAM returns back to the root element using the found path and looks for rate elements. In case there is rate elements accessible from call path it uses them to rate call.

There are basically 3 operations which CAM does while navigating across the tariff plan:
- filtering
- assigning region
- calculating call cost
Different types of tariff plan elements perform different operations from the listed above and some of the elements even combine several operations. Different combinations of elements leads to different approaches in numbers parsing and calls tariffing allowing to achieve maximal flexibility using only limited set of basic operations.

Filtering allows plan elements to check if  a call matches certain condition(s). If it does the element allows CAM to navigate through it next to it's children, if the call failed to match element all element's children become inaccessible for the call and no more affect parsing of the call number and calculating it's rate.

Assigning region is simple operation. When call processing is starting and the call is at root element of the tariff plan it's region is empty. Later moving from element to element the call may be assigned  a region in case it has moved through the element, which has ability to assign regions. When assigning a region CAM uses call number to search for region by it's phone code. Longest possible match approach is used while assigning the region, i.e. if element assigns only country to the call CAM automatically extends this operation and tries to find state/province and city in the regions lookup table as well.

Calculating call cost is done every time when CAM meets rate element while navigating the tariff plan. It checks call duration, examines the rate element parameters and adds corresponding value to the current call cost. Initially cost of the call is zero.

To manage tariff plan 'Settings/Operators/Rates' page is used. On this page there is list of top level sections. Every section contains part of the tariff plan having it's own root element. In spite of this they are used as whole, i.e. all elements from all the sections form single tariff plan, which means that CAM searches all sections at the same time when looking for best path for a call. Sections are used for purpose of convenience allowing separate logical parts of the tariff plan from each other. For example, you may place plans for long distance calls and local calls in different sections or use different sections for different service providers. All default tariff plan templates shipped with CAM contain 2 sections: one for long distance calls and one for local calls.

Below is description of various tariff plan elements used in CAM

Access Code element.
This element has single value of phone number prefix. Value syntax is <prefix>*. Here <prefix> is  group of digits and * denotes that value is pattern matching all numbers starting with <prefix> This element combines 2 operations: filtering and assigning a region. It acts as follows:
- it accepts call which number start with <prefix>
- it removes <prefix> from the call number and uses rest of the number to search regions lookup table for a region which prefix match the call number with <prefix> removed
- in case such region is found the element assigns it to the call
- it changes current prefix in the tariff plan, making it's children to inherit it's own prefix defined by it's value
Example:
Access Code = 011* will accept call with number 0114419759344 and assign the call United Kingdom/Aberdeen, at the same time it will refuse a call with number 15574956234 and every other call, which number not starting with 011.

CO Line element.
This element contains list of one or more CO/Trunk lines. Value syntax is <line no>[,<line no>...]. Here <line no> is number of CO/Trunk line and [] denotes optional part of the list. This element is used for filtering only. It acts as follows:
- it accepts all calls, which CO/Trunk lines are found in list of lines stored in the element
- it refuses any other calls
Example:
CO Line = 010303 accepts all calls made using CO/Trunk line  010303.
CO Line = 234,349,283 accepts all calls made using either of  234,349 or 283 CO/Trunk lines.

Call Type element.
This element contains list of one or more call types. Value is defined with help of built-in property editor. To invoke the editor use [...] button of the element. This element is for filtering only. It acts as follows:
- it accepts all calls, which type lines is found in list of call types stored in the element
- it refuses any other calls
Example:
Call Type = Outgoing accepts all outgoing calls.
Call Type = Outgoing, Incoming, Internal[N] accepts all outgoing, incoming and internal (N type is either defined by the driver or PBX dependent) calls.

Check Region element (added in CAM 2.6.1.95.4).
This element has single value of region from regions lookup table. Value is defined with help of built-in property editor. To invoke the editor use [...] button of the element.  This element is used for filtering only. It acts as follows:
- it accepts only calls with region already assigned to them
- the region assigned to the call must match the element value
- it rejects any other calls
Example:
Check Region = United Kingdom will accept calls with United Kingdom region previously assigned to them (e.g. by Transparent Code element).


Expand region element.
This element has only one default value: 'From current prefix'. This element assigns a region to a call. This element uses current number prefix formed by it's parents to search regions lookup table. It acts as follows:
- it takes number prefix from it's parent and uses it to search regions lookup table
- in case region is found the element assigns it to the call
Example:
Parent element: Number/Prefix = 1*
Current element: Expand Region = From current prefix. In this case current prefix is 1 inherited from the parent Number/Prefix element. This prefix (1) will be used as region code, thus 120439439  will be assigned Canada/Manitoba and 16842394394 will be assigned Pacific/American Samoa.

Group element.
This element has value defining name of the group. This element has no function. It is used to group other elements of the tariff plan and assign them a name. For example, it can be used to define tariff zones, including several regions with single rate.

Number length element.
This element contains minimum and maximum restrictions for length of a call number. Value is defined with help of built-in property editor. To invoke the editor use [...] button of the element. This element is for filtering only. It acts as follows:
- it accepts all calls, which number length falls between minimum and maximum limits stored in the element
- it refuses any other calls
For optimization purposes and the plan reliability it is strongly recommended start every section of the tariff plan with the Number length element.
Example:
Number length = between 0 and 40 accepts almost all meaningful phone numbers.
Number length = between 1 and 8 accepts all calls, which number length is between 1 and 8 digits, e.g. local calls.

Number/Prefix element.
This element has single value of phone number prefix. Value syntax is <prefix>[ * ]. Here <prefix> is  group of digits and * denotes that value is pattern matching all numbers starting with <prefix>.  The * is optional, which is denoted by [ ]. In case * is omitted this element uses <prefix> for strict number matching. This element is used for filtering. It acts as follows:
- it accepts call which number start with <prefix> in case the <prefix> is followed by *
- it accepts call which number is equal to <prefix> in case the <prefix> is not followed by *
- it changes current prefix in the tariff plan, making it's children to inherit it's own prefix defined by it's value
Example:
Number/Prefix = 1* will accept call with number 15574956234, 1800239432 and any other call staring with 1.
Number/Prefix = 12343 will accept only calls, which numbers is exactly 12343.

Rate element.
This element has complex value defining the rate. Value is defined with help of built-in property editor. To invoke the editor use [...] button of the element.
Value consists of following fields:
  - Interval start (sec.)  - number of seconds since call start when the rate should be applied; time is zero based, i.e. call time starts at 0
  - Tariffing interval (sec.) - number of seconds in rate block
  - Tariff – amount per rate block
This element is used to rate calls. It acts as follows:
- rates elements are ordered by their Interval Start field
- all rates elements applied sequentially
- when calculating amount added by current rate element first number of blocks is calculated using following formula: (<end>-<start>)/<interval>, where <end> is either Interval Start field of the next rate element or call duration depending of whether the current element is last in rates sequence, <start > is Interval Start of the current element and <block> is Tariffing interval of the current element.
- the above number of blocks is multiplied by the amount in the Tariff field and added to the call cost

Region element (renamed to Region Code in CAM 2.6.1.95.4).
This element has single value of region from regions lookup table. Value is defined with help of built-in property editor. To invoke the editor use [...] button of the element.  This element combines 2 operations: filtering and assigning a region. It acts as follows:
- it accepts call which number starts with the prefix matching the element prefix; element prefix is defined as combination of the parent's prefix and the phone code of region stored in the element
- it assigns region stored in the element to the call passed the above check
- it changes current prefix in the tariff plan, making it's children to inherit it's own prefix defined by it's value
Example:
Region = United Kingdom will accept call with number 4419759344 and assign the call United Kingdom/Aberdeen, at the same time it will refuse a call with number 15574956234 and every other call, which number not starting with 44.

Time slot element.
This element contains restrictions for date/time of a call. Value is defined with help of built-in property editor. To invoke the editor use [...] button of the element. This element is for filtering only. It acts as follows:
- it accepts all calls, which date/time matches day of week, time slot start and time slot end
- it refuses any other calls
Please note that to allow time slots to act properly when filtering by holidays dates it is necessary to fill holidays lookup table (Settings/Holidays page).
Example:
Time slot =[00:00 - 24:00] Mon,Tue,Wed,Thu,Fri accepts all calls made any time on work days.

Transparent code element (renamed to Set Region in CAM 2.6.1.95.4).
This element has single value of region from regions lookup table. Value is defined with help of built-in property editor. To invoke the editor use [...] button of the element.  This element is used for  assigning a region. It acts as follows:
- in region stored in the element to every call passed through it
- it doesn't change current prefix in the tariff plan that's why it called transparent code
Example:
Transparent code = United Kingdom will accept call with number 19759344 and assign the call United Kingdom/Aberdeen, it's like implicit adding of 44 prefix to the above number.

Transparent prefix (added in CAM 2.6.1.95.4).
This element has single value of phone number prefix. Value syntax is <prefix>* . Here <prefix> is  group of digits and * denotes that value is pattern matching all numbers starting with <prefix>.  The * is mandatory. This element is used for temporarily adjusting the current prefix and assigning a region. It acts as follows:
- it accepts all calls
- it temporarily adds it's value to the call number (in front of it) and uses this new number to search for region in regions lookup table
- in case the region is found it assigns it to the call
- the element doesn't change the current prefix for it's children; that's why it's called 'transparent'
Example:
Good example is situation when it is allowed to dial +1 numbers without the leading 1. In this situation the 'Transparent prefix' element can be used to adjust the number temporarily and search for a region using the full number. The 'Set region' element can't be used in this case because several top level regions use +1 prefix (e.g. USA, Canada, Pacific etc).

User Ext element.
This element contains list of one or more extensions. Value syntax is <ext>[,<ext>...]. Here <ext> is extension and [] denotes optional part of the list. This element is used for filtering only. It acts as follows:
- it accepts all calls, which extension  is found in list of extensions stored in the element
- it refuses any other calls
Example:
User Ext  = 107 accepts all calls made from extension 107.
CO Line = 110,112,101 accepts all calls made from either of  110,112 or 101 extensions.
3
Call Accounting Mate Q&A / Security system of Call Accounting Mate
« on: September 07, 2005, 06:23:48 AM »
Call Accounting Mate has own security subsystem allowing it to authenticate and authorize users. Every user that needs access to system data is required to log into the system prior to using online views, reports, change settings etc. To be able to log in a user needs to have security account, which is defined by login name, password and security role. To manage security accounts  'Configuration/Security Accounts' page is used.

There are 2 security roles in CAM: 'Users' and 'Administrators'. Every account  in the system belongs to either of these 2 roles. Accounts belonging to the 'Administrators' role are permitted to do any activity in the system and also, obviously, these accounts are allowed to view any calls data with no restrictions. Security accounts belonging to the 'Users' role are allowed to access only some of online views and reports and has no access to the system settings and configuration parameters. Also accounts belonging to the 'Users' role are restricted to view only some of calls data. By default these security accounts has no permissions to view any data in the system. This means that by default all reports and views will be empty when logged in as account from 'Users' role. In case it is necessary to allow an  account from 'Users' role to generate reports or use online views administrator of the system should setup permissions to view data for such account.

Data view permissions are extension based, which means that administrator can allow security account  to view calls data for a certain extension or several extensions.

Extension numbers with human readable names assigned to them are referred as users in Call Accounting Mate. Such users records are grouped in departments, thus department is group of extensions with their names. To manage user and department records Settings/Departments/Users page is used.

To manage data view permissions administrator should add or remove a security account to or from access list of a department or an user using the access list editor(exact procedure is described below). When a security account is present in the access list of a department or an user record this means that this account is allowed to view calls of this department or user. If a security account is not in the access list this means that it can't access those calls. There is no deny records in the access lists: if an account is in list it is allowed to view data, if not – not.

Naturally, user records inherit their permissions defined at department level, which means if, for example, department D1 consists of users U1, U2 and U3 and account A1 is permitted to view data of department D1 then A1 is permitted to view data of U1, U2 and U3. To give administrator more flexibility it is possible to manage data view permissions at users level. For example, in the sample above administrator can add account A2 to the U1 access list, which leads to the following picture:
Department/User   Access List   Meaning   
D1A1A1 is permitted to view data of department D1
U1A1, A2A1 and A2 is permitted to view data of user U1
U2A1A1 is permitted to view data of user U2
U3A1A1 is permitted to view data of user U3
Here U1, U2 and U3 inherit A1 from their parent department D1 and the U1 has additionally A2 explicitly permitted to view data of the U1.

Note that you can't deny access to the users data for an account, which granted access at department level. For example, it is not possible to deny access to U3 for A1, because A1 is permitted to view data of department D1, which U3 belongs to. To solve this you'll need to remove A1 from D1 access list and add it to access lists of U1 and U2.

Setup user permissions at department level
- log into the system using account, belonging to 'Administrators' security role
- open Settings/Departments/Users page
- mark a certain department in the departments list (please note that you should mark only one department to edit permissions)
- press Security button on page's bottom toolbar to invoke permissions (access list) editor for the marked department
- the editor shows name of the department being edited and 2 lists: available security accounts and accounts granted to view the department's calls data
- use '>' and '<' buttons to move accounts between lists, granting or denying access to the department calls data
- moving an account to 'Granted' list from 'Available' list grants this account permission to view department's data
- moving an account from 'Granted' list to 'Available' list denies this account permission to view department's data
- finally press Ok button in the editor to save the changes made in lists
- use Cancel button to cancel all the changes made

Setup user permissions at user(extension) level
- log into the system using account, belonging to 'Administrators' security role
- open Settings/Departments/Users page
- expand department in the departments list, for which users you want to edit view data permissions
- mark a certain user in the users list (please note that you should mark only one user to edit permissions)
- press Security button on expanded pane's bottom toolbar to invoke permissions (access list) editor for the marked user
- the editor shows name of the user being edited and 3 lists: available security accounts, accounts inherited from the parent department access list and granted to view the user's calls data and accounts explicitly granted to view the user's calls data; the 2 latter lists are located under label Inherited & Granted in the permissions editor: top list shows inherited accounts and the bottom one shows accounts explicitly added to the user's access list
- use '>' and '<' buttons to move accounts between lists, granting or denying access to the user calls data
- moving an account to 'Inherited & Granted' list from 'Available' list grants this account permission to view user's data
- moving an account from 'Inherited & Granted' list to 'Available' list denies this account permission to view user's data
- please note that all accounts in lists under 'Inherited & Granted' label are allowed to view calls data of the extension being edited
- please note that at this level you can't edit the inherited accounts and thus you can't disable an account granted at department level to view data of the user, belonging to this department
- finally press Ok button in the editor to save the changes made in lists
- use Cancel button to cancel all the changes made

Note: The above permissions is also used to manage access to calls classifier function, i.e. an account allowed to view data is also able to classify them and add  comments for them.
4
Starting with version 0.6 (released 30 Aug 2005), Asterisk-MySQL driver allows to be configured to take billable extension from various sources and determine call direction from channels used to make the call.

Common steps
To configure driver properties following steps are necessary:
- open Configuration/PBX Communication page
- activate Driver tab
- select Asterisk-MySQL in the PBX Driver field
- check that there is Version 0.6 in the driver comments (in case it's not please download and install the latest version of the driver from our support site)
- activate Properties tab to get access to the driver properties

Configuring billable extension source
- to configure source of the billable extension 'Take billable extension from' field is used
- this field has 4 options:
  • Call Source - driver uses 'src' and 'dst' fields to fill user extension for outgoing and incoming calls
  • Channel - driver parses 'channel' and 'dstchannel' fields to extract user extension from there
  • Account Code - driver uses 'accountcode' field to fill user extension
  • Account/Source - driver uses 'accountcode' field to fill user extension. In case the 'accountcode' field is empty driver uses 'src' and 'dst' fields for this purpose

Configuring call direction
Driver determines call direction by examining the 'channel' and 'dstchannel' fields (this requires to setup which channels are connected to the PSTN, otherwise known as COs or Trunks in other PBXs). Knowing of what channel is connected to PSTN the driver decides of what is the call direction depending of whether PSTN appears in 'channel' or 'dstchannel' field. Thus before using the driver you need to list all channels connected to PSTN.

Driver uses a partial match when searching the channel names, i.e. it compares all symbols of the defined channel name against captured string from the string first symbol to the defined name length and ignores rest of the captured string, thus Zap/1-  will match Zap/1-1, Zap/1-2 etc. Trailing dash in the channel name pattern is necessary to avoid situations like when Zap/1 will match both Zap/1-1 and Zap/11-1. Exact pattern for channel names depends on the way your Asterisk reports the channels.

There are 2 options (2 places) to list these channels:
- CO/Trunk lines lookup table
- Driver settings on the Properties tab
Both options are equal and it's question of convenience which one you will choose (e.g. if you already have CO/Trunk lookup table filled you may prefer the 1st option).

Using CO/Trunk lines lookup table
- use Settings/Line Numbers page to fill and manage list of channels connected to PSTN
- in the driver settings (Configuration/PBX Communication Properties tab) select 'CO/Trunk table' in the Take PSTNs from' field
- every time you change something on the Settings/Line Numbers page you will have to reload the driver by opening Configuration/PBX Communication page and clicking the Save button there

Using the driver settings
- use Configuration/PBX Communication Properties tab to manage list of channels connected to PSTN
- select 'Driver Settings' in the Take PSTNs from' field, this enables PSTNs section at the bottom of the tab
- enter channel name in the New PSTN field in the section and press '>>' button to add the channel to the list; alternatively you may use <Ctrl>+<Enter> keys to add the channel
- select group of channels in the list using mouse and <Ctrl> and <Shift> keys and press '<<' button to remove channel names from the list
- after editing the list press Save button on the page to save the settings
5
Call Accounting Mate Q&A / CAM XML Interface for 3rd party software
« on: August 24, 2005, 08:32:21 AM »
Communication between CAM and 3rd party software is done by sending HTTP POST requests and getting responses containing requested data in XML format.

Request
The 3rd party software issues the HTTP request with the following pieces of information:
1) LastID - Unique CDR ID indicating the LAST ID that the software already has captured. This assumes that the IDs are sequential for ALL CDR regardless of the extension. If the software sends LastID as 0, this means that CAM will need to return ALL CDRs generated/created after TimeStamp (see below).
2) Extension - The Extension for which the software is requesting ALL CDRs whose unique CDR ID is greater than LastID (as described above)
3) TimeStamp - the software ONLY wants CDRs for the given Extension whose CDR is later than the given timestamp. If LastID is NOT 0,then the query will  return ALL CDRs whose creation date is later than TimeStamp and whose UniqueID is greater than LastID (see the above).

Response
The response will be an XML return where each CDR has the following data:
1) Extension - The originating extension
2) CO - the CO that was used to deliver the call
3) Destination - The number that was dialed
4) UniqueID - the unique ID of this specific CDR (Call detail record)
5) TimeOfCall (date/time)
6) Duration (in seconds)
7) CostofCall - the cost of this call as calculated per rate tables; this assumes that we can have different rates calculated based on which CO was used

Note: CAM returns a MAX of 500 records and the 3rd party software should make a second request if CAM maxed out at 500


Implementation of the interface
There are 2 pages in HTML folder related to the XML interface:
 - getXML.html page, this page is XML generator itself
 - testXML.htm page, this page is used to test the generator and get familiar with it's parameters
 
Use testXML.htm page to issue test POST requests to the XML generator. To access testXML.htm page enter http://localhost:<port>/testXML.htm in browser address field. Here <port> is placeholder for IP port, which CAM service listens on.

CAM accepts HTTP requests only from IE 5.5 or above
There are 2 workarounds for this issue:
1. Emulate User-Agent header sent by IE 5.5 and higher
2. Disable checking of user agent header in CAM:
 - open Configuration/Web Config page
 - mark/unmark Check User Agent on the page


Below are the examples of HTTP POST requests to the getXML.html page
POST /getXML.html HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: http://localhost:2265/testXML.htm
Accept-Language: english
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: localhost:2265
Content-Length: 46
Connection: Keep-Alive
Cache-Control: no-cache

LastID=123&Extension=200&TimeStamp=19+May+2005

POST /getXML.html HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: http://localhost:2265/testXML.htm
Accept-Language: english
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: localhost:2265
Content-Length: 29
Connection: Keep-Alive
Cache-Control: no-cache

LastID=&Extension=&TimeStamp=
6
Call Accounting Mate Q&A / User defined classification of the calls
« on: July 27, 2005, 04:12:14 AM »
Overview
Information in this document is applicable to Call Accounting Mate version 2.6.1.95 and above.

User defined classification of the calls refers to the ability for a certain system user to mark groups of calls as belonging to some category (class). The category is to be used for reports and online views filtering as well as displayed in the reports and views.

Sample scenario
An example is when users need to classify their calls as Business and Personal and the accounts department uses this information for accounting and charging purpose. In some cases this call classification can't be done automatically and it's user responsibility to mark a call as either Business or Personal.

User responsibilities
In general case two types of users are involved in the process: users and administrators.

Administrator's responsibilities:
1. Define call categories
2. Setup users permissions to view and classify calls
3. Define report template for users to be able to view call categories and remarks in the reports and views

User's responsibilities:
1. Assigning categories to the calls and entering worthwhile remarks, i.e. classifying the calls
2. Generating reports

Let's consider every of the above tasks in details.

Define calls categories
- log in as administrator
- open Settings/Calls Categories page
- use Add & Delete buttons to manage categories list

Setup user permissions
- log in as administrator
- open Settings/Departments/Users page
- expand a department
- mark an extension in the extensions list under the department
- press Security button to invoke View/mark permissions dialog
- use controls on the dialog to grant view/mark permissions for the calls belonging to the selected extension
- note that extension inherits granted accounts from the department, which it belongs to
- in case you need to grant permissions for some account for the whole department you may do it at the department level
- in case you need to revoke view/mark permissions from some account you need to remove it from both department granted accounts list and from the extension granted accounts list

Define report template for viewing/marking call category
1. By default system is shipped with Call Categories report template
2. Use this template to generate reports and views related to a call category
3. Use this template to inherit from it your own report templates related to a call category (hint: to inherit a new template from the existing one use Copy button on the Template tab of the Template Editor dialog window)
4. To define the view template please from the predefined Operative template do the below steps:
  - Open Views/List/::Calls Classifier:: page
  - Select Operative template in Report Template field  on the page (located in the Template section on top of the page)
  - Use […] button to open template editor
  - Activate Template tab
  - Press Copy button on the tab to make copy of the Operative template
  - Change the name of the template from Operative (copy N) to Calls Categories
  - Mark Put into view list checkbox
  - Press Update button to save the changes made
  - Activate Filter tab and set up filtering for template (on this step you'll enable filtering by a category)
  - Press Add button and select Category in the combobox located in the first (Type) column
  - Use […] button to define region filter element default value
  - Mark checkbox in ? column to allow user to override default value later
  - Press Save button to save filter element into system
  - Activate the Columns tab to define columns for template (on this step you'll add 2 columns displaying category name and user defined remarks)
  - Press Add button and select Category in the combobox located in the first (Column) column
  - Press Save button to add the column
  - Press Add button and select Remarks in the combobox located in the first (Column) column
  - Press Save button to add the column

Assigning categories to the calls
- log in using any available account that is permitted to view/mark a certain group of calls
- open View/List/::Calls Classifier::  page
- select in the Report Template field the Call Categories template created on the previous step and press Apply button to apply the template to the view
- assuming that permissions are set up correctly for your account and the template filtering is ok, you should now view list of calls belonging to the extensions, your account granted to view and mark
- use check boxes in the very first column or icons in the first header column to mark group of calls
- after the group is marked press Classify button on page's bottom toolbar
- the Classify button opens classify form just above the main page's toolbar
- on the form there are Category combobox with all the categories defined on Settings/Calls Categories page listed in it, Remark edit box and 2 buttons: Apply and Cancel
- user should select a category from the Category combobox, optionally enter a remark in the Remark field and press the Apply button to assign all the marked calls the selected Category and the Remark, if any specified
- Cancel button just closes the form

Reporting
- by default system is shipped with Call Categories report template
- use this template to generate reports and views related to a call category
- use this template to inherit from it your own report templates related to a call category (hint: to inherit a new template from the existing one use Copy button on the Template tab of the Template Editor dialog window)
- every online view supports filtering by and displaying call category and user-defined remarks when appropriate report template is applied
- Reports/List/Custom Reports/::Custom Report Builder (Enhanced):: can be used with the call category related templates to generate reports in PDF and Excel formats
- Reports/List/Custom Reports/::Call Category:: can be used to generate reports grouped by a call category in PDF and Excel formats
7
The tariff plan in Call Accounting Mate is also numbering plan at the same time. It is most important part of the system data, because the software relies on the plan when parsing phone numbers to determine region for a call and also when rating the calls.

The tariff plan samples document in compiled HTML help format is available for download at http://www.callaccounting.ws/_support/manual/tariff_samples.chm

This document with step-by-step tariff plan samples, containing description of every tariff plan element used in them, is good tutorial of how to create tariff plans for Call Accounting Mate.
8
The tariff plan samples for Call Accounting Mate released.

The document in compiled HTML help format is available for download at http://www.callaccounting.ws/_support/manual/tariff_samples.chm

The tariff plan in Call Accounting Mate is also numbering plan at the same time. It is most important part of the system data, because the software relies on the plan when parsing phone numbers to determine region for a call and also when rating the calls.

This document with step-by-step tariff plan samples, containing description of every tariff plan element used in them, is good tutorial of how to create tariff plans for Call Accounting Mate.
9
CAM 2.6.1.94 has built-in ability to query ODBC data sources for SMDR/CDR records.

Following steps are necessary to configure CAM 2.6.1.94 onwards to collect CDR from and ODBC data source:

A. Download and install ODBC driver for source database server (optional)
1.this step is completely ODBC driver specific, for more information please mail to support@callaccounting.ws

B. Configure CAM to connect to the source database server, managing CDR/SMDR records from a PBX
1. Open Configuration/PBX Communication page
2. Activate Port tab on the page
3. Select ODBC in the Port field on the tab
4. This will show ODBC Parameters section with the fields listed below:

     A. Connection string -  this is ODBC driver specific field, for more information this field please refer to the ODBC driver documentation
     B. SQL Statement - this field contains SQL statement used to query the data source. The statement must have following format:

                                         select [Key Field], [Field1], ..., [FieldN] from [Table Name] where [KeyField] > '?'

    where :

      [Key Field] - key field used to identify CDR/SMDR record, must be first field in the fields list in the SQL query
      [Field1], ..., [FieldN] - list of fields, storing information about CDR/SMDR record
      [Table Name] - name of the table, storing CDR/SMDR records
      ? - placeholder for last [Key Field] stored in the CAM database

     C. Source ID -  this field is used to define name of the variable to store last queried [Key Field], this variable is substituted
                                  instead of the ? placeholder whenever the query is scheduled for run
     D. Every - this field defines schedule for polling the database server for CDR/SMDR records

Note: [Key Field] and the ? placeholder are used to prevent CAM from querying same record more than once. The SQL query should be designed in such a way to retrieve only new CDR/SMDR records registered since the query was run last time.

5. Activate Driver tab and select appropriate driver in the PBX driver field (usually querying an ODBC data source requires special version
    of the driver, explicitly marked for use with ODBC sources)
6. Press Save button to apply the changes and start polling of the source database server

C. Checking the database server connection
1. Current version of CAM has no function, allowing to test the connection, so immediately after saving the ODBC source parameters
    you will have to check main error log for any error and diagnosing information
2. To check the log activate Log files/Main link on the left bar menu and scroll the log to the latest messages
10
CAM 2.6.1.94 has built-in ability to query ODBC data sources for SMDR/CDR records. There is also special support for Asterisk-MySQL combination built on top of this functionality.

Following steps are necessary to install and configure CAM 2.6.1.94 onwards to collect CDR from MySQL server:

A. Download and install MySQL ODBC Connector 3.51:
1. The MySQL ODBC driver for Windows platform is available for download at http://mysql.com/downloads/connector/odbc/3.51.html
2. Install the downloaded driver on the same computer where CAM server is installed

B. Configure CAM to connect to the MySQL server, managing CDR records from Asterisk
1.   Open Configuration/PBX Communication page
2.   Activate Port tab on the page
3.   Select Asterisk-MySQL in the Port field on the tab
4.   This will show Asterisk-MySQL Parameters section with the fields listed below:
5.   MySQL Host (mandatory) must contain network name/IP address of the MySQL server
6.   MySQL User (optional) should contain MySQL user having access to the database and table storing CDR records from Asterisk
7.   MySQL Password (optional) should contain password for the above user
8.   CDR Database (mandatory) must contain name of the database storing CDR data from Asterisk
9.   While changing the fields above page fills ODBC Parameters section automatically, providing connection string and SQL statement
      necessary to connect to ODBC MySQL driver and query the MySQL server for data
10. Tt is not recommended to change fields in the ODBC Parameters section manually, except the 'Every' field which contains schedule
     for CDR record polling
11. Activate Driver tab and select Asterisk-MySQL in the PBX driver field
12. Press Save button to apply the changes and start polling of the MySQL server

C. Checking the MySQL connection
1. Current version of CAM has no function, allowing to test the connection, so immediately after saving the MySQL server parameters
    you will have to check main error log for any error and diagnosing information
2. To check the log activate Log files/Main link on the left bar menu and scroll the log to the latest messages
11
The new version of the task scheduler available in CAM 2.6.1.94 onwards allows to check current task status and specify what to do in case of unsuccessful task completion. To access these properties please do the steps below:

1. Open Administration/Task Scheduler page
2. Use 1st plus sign of a task to expand the extended task properties
3. On the expanded pane there are following fields:

     Schedule (informational) - used to display the task schedule
     Maximum No. of Tries (control) -  use this field to specify maximum number the system should try to run the task in case
                                                             of the task failure.

In case of number of tries made exceeds the value specified in this field system schedules the task according to the task regular schedule as follows :

    Wait Before Retrying (min) (control) - use this field to specify the minimum amount of time in minutes system should wait
                                                                  before running the task next time in case of the task failure
    Tries Made (informational) - used to display number of tries made by the system while running the task (this field contains 1 in
                                                    case of last successful task run)
    Last Error Code (informational) - used to display error code of last task run, this field contains 0 in case of successful task completion
    Last Error Description (informational) - used to display error message, if any, for last task run
    Date/Time of Last Run (informational) - used to display date and time when the task was run last time
    Date/Time of Next Run (informational) - used to display date and time when the task is scheduled to run next time
    Current Status (informational) - used to display current status of the task (Queued - the task is scheduled according to the
                                                          regular schedule     
    Processing - last run failed and the task is scheduled according to the Wait Before Retrying field, Disabled - the task is disabled)

Please Note
For systems with high telephone traffic it is recommended to set the Maximum Number of Tries to 3 and above and the Wait Before Retrying between 1 and 5 min to guarantee that low priority task processing will not be blocked finally by high priority calls parsing operation
12
Currently the user manual for Call Accounting Mate is available in following formats:
- PDF format at http://www.callaccounting.ws/_support/manual/CAMUserManual.pdf
- zipped version of PDF file at http://www.callaccounting.ws/_support/manual/CAMUserManual.pdf.zip)
- compiled HTML help format at http://www.callaccounting.ws/_support/manual/camusermanual.chm
13
Currently the user manual for Call Accounting Mate is available in following formats:
- PDF format at http://www.callaccounting.ws/_support/manual/CAMUserManual.pdf
- zipped version of PDF file at http://www.callaccounting.ws/_support/manual/CAMUserManual.pdf.zip)
- compiled HTML help format at http://www.callaccounting.ws/_support/manual/camusermanual.chm

There is also tariff plan samples document in compiled HTML help format is available for download at http://www.callaccounting.ws/_support/manual/tariff_samples.chm
This document with step-by-step tariff plan samples, containing description of every tariff plan element used in them, is a good tutorial of how to create tariff plans for Call Accounting Mate.
14
Asterisk Integration / Determining Call Direction for Asterisk
« on: May 12, 2005, 04:03:02 AM »
By default CAM uses fuzzy rules to determine direction of a call.
To allow the CAM exactly determine the direction from SMDR record you need configure Asterisk in a special way.

You should mark every Asterisk section entry that can make call with account code set to "OUTCOMING" and section that can accept call with account code set to "INCOMING".

Generally add following line

accountcode=OUTCOMING

to entries of type 'user' of 'friend' in sip.conf and iax.conf and add following line

accountcode=INCOMING

to entries of type 'peer' in sip.conf and iax.conf files and to channels in zapata.conf file.

For example, sif.conf:

[sip-phone]
type=user
;type=friend
accountcode=OUTCOMING
...

[sip-provider]
type=peer
accountcode=INCOMING
...


But in some cases for incoming calls Asterisk does not use accountcode from configuration file. You must set accountcode in your dial plan. For example, you have such entry for incoming calls (the calls is routed to 'router' context):

[sip-provider]
type=peer
accountcode=INCOMING
context=router
...

To adopt such dialplan for CAM make new intermediate context for the 'router':

[router-intermediate]
exten => _X.,1,SetAccount(INCOMING)
exten => _X.,2,Goto(router,${EXTEN},1)

[router]
exten => 2001,1,Dial(SIP/2001,20)
exten => 2001,2,Hangup
.....

and change context for 'sip-provider' from 'router' to 'router-intermediate'

[sip-provider]
type=peer
accountcode=INCOMING
context=router-intermediate
...

In intermidiate context first line force accountcode to be 'INCOMING' and the second line jump to original context as if there is no additional context exists.
15
Call Accounting Mate V 2.6.1.83 and above have a feature to allow external text files to be imported into the built in departments and users tables. This way, it is possible to import large number of users/departments without having to key them in.

The format of the text file is as follows:
FieldName1,FieldName2, ... ,FieldNameN
data11,data12, ... ,data1N
...
dataM1,dataM2, ... ,dataMN

The file is ASCII file, containing data records, each record is placed on separate line. Comma is default data delimiter. In case you use other delimiter of data values you must specify it in Value Delimiter field on import form of Settings/Departments/Users page while importing users data. Data values, containing delimiters (e.g. comma or semicolon) inside them, must be quoted strings. Very first line of the file must contain list of fileld names to be imported. Field names, containing delimiters (e.g. comma or semicolon) inside them,  also must be quoted strings.
Below is list of valid field names:
 - "Department" or "Dept" denotes department name
 - "User" or "Name" denotes user name
 - "Ext" or "Extension" or "Station" denotes user extension
 - "Code" or "Password" or "Account Code" denotes account code
Code is optional field, it can be omitted both in fields list and in some of data rows.

An example of the import file:
User, Ext, Department, Code
"Huygens, Christian", 119, 01 - Business Development Unit, 8001
"Boyle, Robert", 107, 01 - Business Development Unit, 1221
"Oresme, Nicolas", 105, 03 - Head Office, 6311
"Hooke, Robert", 124, 03 - Head Office, 9673
"Snell, Willebrord", 102, 03 - Head Office, 2231
"Gilbert, William", 128, 03 - Head Office, 4221
"Franklin, Benjamin", 130, 04 - Customer Service
"Torricelli, Evangelista", 131, 04 - Customer Service
"Watt, James", 144, 04 - Customer Service
"Le Rond, Jean", 139, 04 - Customer Service
"Euler, Leonard", 151, 04 - Customer Service

Please take note of the following:
1. Invalid entries are skipped with a message
2. Duplicate entries are skipped
16
We released Call Accounting Mate 2.6.1.97 on 21 October 2005. Improvements and enhacements made in latest version of Call Accounting Mate can be viewed at http://www.callaccounting.ws/call_accounting_release_history.htm

Thank you to all of you who have supported us either by purchasing our products or giving us useful feedback on the software.

We will continue to listen to our customers and deliver the products that the market needs. As many of our customers already know, we intend to be the best Call Accounting System for small and medium size businesses.
17
Call Accounting Mate Q&A / Explanation of Maintenance --> Purge Calls
« on: February 27, 2005, 01:09:08 PM »
This page allows to purge old calls data. Purge Calls page has several options allowing user to control the way data is removed from internal database.

These options are described below:

Date from
This parameter is used to specify low date bound for calls to be purged

Date to
This parameter is used to specify high date bound for calls to be purged. Please note that Date to bound is excluded from date
range, i.e. calls for the date specified in this field will not be purged. Thus, for example, to preserve calls only for current month
(e.g. Feb 2005) you should specify 1 Feb 2005 in Date to field and leave Date from field empty; in this case all calls having start time less
than 1 Feb 2005 00:00:00 will be removed.

Purge raw data
Mark this option to remove all raw SMDR data within date bounds. Please note that in this case you will not be able to restore calls information as the raw smdr would have been deleted.

Shrink database
Mark this option to reclaim free space used in internal database file back to operating system. When data is deleted  free space inside internal database file is marked for future use but is not returned to operating system. This is done for optimization purposes. This option allows to return free space from internal database file back to operating system.

To select calls to be purged section
This section contains 2 options allowing you to control which calls to be purged. Every call record has two dates associated with it: date reported by a PBX and computer date when the call was registered by a system. In some cases these dates may differ, for example, when
PBX reports invalid date or operating system has incorrect locale option specified. Date reported by a PBX is displayed in every view and  report except Raw Data views and reports. To view computer date associated with a call use Views/List/Raw Data page.

 
   Use only PBX date
   Mark this option to use dates reported by a PBX to select calls to be purged

   Use both PBX and computer date
   Mark this option to delete as much data as possible, it is recommended to use this option in case when PBX and computer dates match.

Finally, below is an example of purging all calls except current month (e.g. Feb 2005) reclaiming as much free space as possible:
- open Maintenance/Purge Calls page
- specify 1 Feb 2005 in Date to field
- mark Purge raw data option
- mark Shrink database option
- mark Use both PBX and computer date option in To select calls to be purged section
- press Ok button to start operation
- the operation may take up to several minutes depending on database size and computer speed
18
Call Accounting Mate Q&A / Explanation of Settings --> Contacts
« on: February 24, 2005, 09:37:54 AM »
Settings-->Contacts page allows the following functions to be defined :

1. Mappings between phone number(s) and contact name

Contact
Call Accounting Mate allows you to assign phone number or several numbers to a contact name. This information can be used in online views and reports several ways. You can use contact name to place in any report or view supporting columns customization or filer a report or a view by a contact name. There is also section named Contacts Report on Reports/List page which allows to build various reports grouped by a contact name.

To manage contacts lookup table use Add and  Delete buttons on the page's bottom toolbar. To edit a contact just click it's row in contacts list. Adding a new contact or editing an existing one opens contact form containing fields described below:

Contact Name.
This field contains contact name.

Phones List.
This field contains comma separated list of phone numbers assigned to the contact name. You can either enter numbers directly or use [..] button on the right side of the filed to open Phone Numbers dialog. In the dialog you can enter phone numbers placing each number on new row. To apply changes made in the dialog and close the window press Ok button. Cancel discards changes made in phone numbers.
 
The page also allows you to import contacts information from an external file. File format is described in Importing contacts - Format of ASCII file article, which can be found in Call Accounting Mate FAQ.

Information in contacts table can be used in online views and reports. To display contacts mappings in a view or a report you need to change report template and add Number/Contact or/and Contact column(s) to it.

Following is a sample of configuring report template to display contact names assigned to phone numbers:
1. Open Views/List/::Custom View Builder::
2. Press [..] button on the right side of Report template field to invoke template editor
3. Activate Columns tab in the template editor dialog box
4. Click Number column to open column edit form
5. Select Contact column in the combobox instead of Number
6. Press Save to apply changes
7. Close the template editor dialog box by pressing Close button
8. Press Apply button on ::Custom View Builder:: page to apply changes made in the report template
19
Call Accounting Mate Q&A / Explanation of Settings --> CO Lines
« on: February 24, 2005, 04:56:38 AM »
Please note that CO line is also very often referred to as Trunk line.

Settings-->CO Lines page allows the following functions to be defined :

1. Mappings between CO line internal number and external phone number assigned to the line
2. Which department owns certain CO line

To manage CO line mappings use Add, Edit and Delete buttons on the page's bottom toolbar. Add and Edit buttons open CO line form containing fields described below:

1. CO.
This field contains CO line internal number as it reported by a PBX in the SMDR.

Phone number.
This field contains external phone number assigned to a certain CO line.

Department.
This field allows you to select which department owns the CO line. This information is used to build Daily Report by Department and Monthly Report by Department from Statistic section on Reports/List page. In these reports calls are grouped by department basing not on user extension reported by a PBX, but on CO line information and relations between lines and departments defined in this table.

Information in CO lines table can be used in online views and reports. To display CO line mappings in a view or a report you need to change report template and add CO/Line or/and Line column(s) to it.

Following is a sample of configuring report template to display external numbers assigned to CO lines:
1. Open Views/List/::Custom View Builder::
2. Press [..] button on the right side of Report template field to invoke template editor
3. Activate Columns tab in the template editor dialog box
4. Click CO column to open column edit form
5. Select Line column in the combobox
6. Press Save to apply changes
7. Close the template editor dialog box by pressing Close button
8. Press Apply button on ::Custom View Builder:: page to apply changes made in the report template
20
CAM has a built in feature to email reports or alerts perodically. This feature is useful when you want to send reports or alerts via email without logging on to CAM. Most important part of auto emailed report(alert) configuration is defining report template for the alert. Below is list of samples intended to show process of such template creation. For general instuctions for configuring all subsystems involved in automatic report generation please refer to How to use the task scheduler to schedule auto emailing of reports/alerts in Call Accounting Mate FAQ.

Following are links to auto emailed reports configuration samples:

http://www.callaccounting.ws/howto/Scheduled Report Sample 1.mht
21
Call Accounting Mate Q&A / How to customize report generation
« on: December 10, 2004, 11:21:26 AM »
Call Accounting Mate allows you to generate reports from report templates that user can define and store in system. Such report template defines filtering and ordering for report and can be stored permanently in system reports list. Report templates are shared among Online Views, Custom Report and Task Scheduler modules, thus same technique is applicable for cusomization of all listed modules.

Click on the link below for an instructions of how to customize reports generated by CAM.

http://www.callaccounting.ws/howto/How%20To%20Use%20Custom%20Report.mht

If you have any problems, please contact support@callaccounting.ws
22
Call Accounting Mate allows SMDR/CDR data to be imported into system from external text files (PBX log files). This is usefull when you have data collected before you installed CAM or, for some reason, it is not possible to use comm port to collect SMDR/CDR data.
Click on the link below for an instructions of how to import SMDR/CDR data into system from external log file(s).

http://www.callaccounting.ws/howto/How To Import SMDR-CDR Data.mht

If you have any problems, please contact support@callaccounting.ws
Pages: [1]