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.


Messages - sergey

Pages: [1] 2
1
Call Accounting Mate Q&A / Re: no reports
« on: December 20, 2005, 06:22:21 AM »
There are 2 possible reason of the problem:
- driver doesn't parse calls correctly
- 'easy' reports require data to be reparsed to apply changes made in lookup tables (e.g. users, contacts etc.)

To check if the driver parse SMDR/CDR output correctly please use Views/Live/Calls page. You should see parsed calls data there, and they should be synchronized with raw SMDR/CDR data coming to the system, i.e. have correct date/time, phone number etc. If the live calls view is empty or out of sync with data reported by the PBX then it's necessary to request for customization of the PBX driver to make it parse your SMDR/CDR data.

To fix 'easy' reports and synchronize them with the current lookup data use Administration/SMDR Reparser page to reparse all calls data.
2
Call Accounting Mate Q&A / Re: Siemens ISDX_L
« on: October 21, 2005, 11:41:57 AM »
Yes, that is the reason. CAM supports only ASCII formats.

Thank you for the feedback!
3
Call Accounting Mate Q&A / Re: Siemens ISDX_L
« on: October 21, 2005, 01:28:26 AM »
It should be because of comm port settings do not match the PBX port settings. Very probably it's because of baud rate and/or data bits fields.

You need to vary comm port settings and see which one of them gives you meaningful data coming to the system. Preferable way is to refer to the PBX manual and check of how is it possible to find out the PBX current port settings and then configure CAM port exactly the same way as it's configured on the PBX side.

In case you'll have to vary the settings it may be convenient to use Windows hyper terminal to find out the right combination and then put it to CAM. The process is described at http://www.callaccounting.ws/howto/How%20to%20make%20request%20for%20dirver.mht
4
Call Accounting Mate Q&A / Re: no reports
« on: October 15, 2005, 05:42:14 AM »
There are many possible reasons for such situation, starting e.g. with PBX format changed and driver doesn't parse it correcly anymore or date format does not match to the one supported by the driver.

To provide us with information necessary to solve the problem please send us request for support from withing the software:
- open Support/Send Log Files page
- fill fields on the page as necessary
- specify Extended Request for Support in the Request Type field
- press Ok button to issue the request
- make sure the page is open till the Sending request progress bar comes to the end; do not close browser window or open another page there till the request is sent completely
5
Call Accounting Mate Q&A / Re: Repeated connection difficulties
« on: October 10, 2005, 09:02:24 AM »
Thank you for the feedback!

We'll implement this feature in one of next releases of Call Accounting Mate.
6
Call Accounting Mate Q&A / Re: Repeated connection difficulties
« on: September 28, 2005, 07:45:51 AM »
Log files you sent us look clear, which means there is no any specific errors logged that may affect the telnet client. Sure, it may be disconnected from a PBX time to time, because network environment is just like that, but it should reconnet after loosing the connection in time specified in the 'Reconnect Every' field.

Maybe the reason is that you expect it to reconnect immediately after loosing the connection, but it actually waits the time specified in the above field. Please try to put in the 'Reconnect Every' field '1 Min' so it will attemnt to reconnect every 1 min in case of lost connection.

Also every time you press Save button on the Configuration/PBX Communication page system reinitializes data collection subsystem, that's why in case there is no connection to the PBX you get error message on changing driver/parser.

In next release we'll put there 'Reconnect immediately option'.

Thank you very much for the feedback! Every one of them is greatly appreciated.
7
Call Accounting Mate Q&A / Re: Feature Suggestion: More alternate extensions
« on: September 25, 2005, 11:13:43 PM »
Thank you very much for the feedback! It is very appreciated.

We'll add possibility of grouping several extensions/account codes under same name in one of the next releases of Call Accounting Mate.
8
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.
9
Call Accounting Mate Q&A / Re: Ring Duration
« on: September 21, 2005, 12:32:43 AM »
Ring duration is not widely used through the system, mainly because not all PBXs support reporting of it. Currently it is used to determine missed calls in reports from Reports/List/Statistics section. Those reports consider every call with zero duration and non-zero ring time to be a missed call.
10
Call Accounting Mate Q&A / Re: Use of assigning trunks to departments?
« on: September 21, 2005, 12:27:46 AM »
Thanks for the posting!

The only place where the assigment of CO/Trunk line to a department is used is reports from Reports/List/Statistics section. Those are Daily Report by Department and Monthly Report by Department. These reports use CO/Trunk line to get deparment, which made the call.
11
Call Accounting Mate Q&A / Re: Repeated connection difficulties
« on: September 17, 2005, 08:36:13 AM »
This is should be network related problem, meaning that the telnet connection goes down sometimes. The file related and database related messages in the log files has noting with the SMDR/CDR collection engine. They are usually logged at the system startup. The first one is logged when system can't find pipe for the tray icon utility and creates the default one, which is usual procedure on startup, and the second means that the system has connected to the main database and checked data integrity.

It would be really helpful if you could send us request for support from within CAM. To send it please do as follows:
- open Support/Send Log Files page
- fill fields on the page as necessary
- specify Extended Request for Support in the Request type field on the page
- press Submit request button to issue the request

Having the request data, we'll model the situation and fix the telnet listener to make it work in your environment.

Thank you for the feedback!
12
Call Accounting Mate Q&A / Re: Field Customization
« on: September 13, 2005, 02:13:44 AM »
Current version (2.6.1.95.1) has no support of report layout customization. We're working on it now. This feature will be available in the next release.
13
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.
14
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.
15
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
16
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=
17
Unfortunately, the current version of Call Accounting Mate (2.6.1.95) supports none of the listed features in the full form as they are described.

Though it's possible to have individual rates on per-extension basis using 'User Ext' tariff plan element as well as multiple rates per call except the max price limit.

We scheduled all the listed features to be implemented in one of the near future releases of Call Accounting Mate.
18
Call Accounting Mate Q&A / Re: Reading from a CSV or similar format?
« on: August 15, 2005, 09:39:45 AM »
- Most appropriate in this case would be Avaya IP Office format, which is documented at Avaya's website: http://support.avaya.com/elmodocs2/ip_office/R1.3/40DHB0002USDT_1.pdf

- This format is parsed by the Avaya (IP Office) driver

However, please note that CAM is able to collect data from different data sources simultaneously and use different drivers for every data source, thus making it possible to avoid creating of single cdr via Perl script. In case you are interested in latter approach of using multiple data sources please e-mail CDR samples and connection details for every data source to support@callaccounting.ws.

Various alternate ways of connecting to Avaya IP Office:
http://www.callaccounting.ws/release/CAM to Avaya IP Office Connection.pdf
19
Call Accounting Mate Q&A / Re: How to customize report generation
« on: July 27, 2005, 04:41:23 AM »
CAM supports reports in 2 formats: PDF and Excel. After a report is generated it's loaded into either Acrobat Reader or MS Excel, which are responsible for printing and any further operations with the report document. Thus it's system wide issue, not CAM specific. Please check your printing settings and try to print a document or report (you can save the generated report into a file to be printed later) from Acrobat Reader or MS Excel running as standalone applications (not from within a browser).
20
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
21
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.
22
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.
23
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
24
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
25
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
26
Call Accounting Mate Q&A / Re: Call Accounting Mate technologies
« on: June 30, 2005, 02:45:59 AM »
1. Call Accounting Mate kernel is developed in C++ (Microsoft(r) Visual Studio 2003)

2. The kernel has built-in own web server and it doesn't rely on any external web server for HTTP requests processing

3. All data is managed by SQLite 2.8 (http://hwaci.com/sw/sqlite/index.html), which is linked with (or built into) the kernel

4. Generally speaking, SQL is standard, but most real world applications use extensions of the standard provided by certain DBMS vendor, so and CAM does. Thus, yes, it is possible to make use of external SQL based DBMS in CAM, but it will require porting of all the queries to the new DBMS. Beside the other features we're currently working on putting multi DBMS support into the CAM kernel, but it is not available in the current version yet.

5. It is not necessary and not possible to make use of external web server like Microsoft(r) IIS or Apache, because CAM has it's own object model for server-side scripting

6. For more information please e-mail us to support@callaccounting.ws
27
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
28
It is still possible to login to the system, using backup super user account. Name and password for this account depend on the system version. To solve the problem please mail to support@callaccounting.ws the problem description and specify version of your copy of CAM in the mail. Once we receive your mail we'll send you the instructions of how to login to the sytem using the backup account.
29
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.
30
Call Accounting Mate Q&A / Re: Security restrictions for Users group
« on: June 02, 2005, 02:19:47 AM »
The most probably reason is that the security system is not set for accounts belonging to Users role (as it is descibed in Security restrictions for Users group in this FAQ)

To manage the situation i would suggest you to send us extended request for support using CAM interface. This is actually fastes way to find out the exact reason of the problem, cause sending the request willl provide us all necessary debuggig information.
To send the request:
- open Support/Send Log Files page
- fill all the fields on the page and specify description of the problem in the Comments field
- select Extended Request for Support in the Request type field
- press Submit Request button to issue the request
Pages: [1] 2