A billing line is an ASCII character string of variable length, with each line ending in CR LF (or optionally, LF in LINUX). A billing line is divided into sections by colons ‘:’ and individual parts of each section are divided by ‘-’. Missing data may be found by finding the respective position of ‘-’ or ‘:’, which remains even if the data are missing.
The billing line is divided into the following sections: record identification : date and time : caller A : caller B : status : billing data
The importance of individual sections is described in the following chapters:
The record identification contains two numbers: I-C
I – represents an unambiguous number of line record (32-bit number), used to store the REFERENCE item from the billing record. The entry is used for the clear identification of a billing line.
C – call reference; used for matching multiple lines related to a single call; an unambiguous number generated upon call initiation. For example, when calling a group, an n number of lines for each extension within the group will be generated, with the number being identical for all of these lines.
Date and Time
This section has the following format: day.month.year – hour.min.sec
day.month.year – represents the date entered at the end of the billing line, i.e. the charging date.
hour.min.sec – represents the time of call termination; the time of call initiation may be obtained by subtracting the ringing time and the call time from this number (and/or date).
There are two callers in every call, A and B. The call may either be placed through a port or a DISA-type service. The first letter in the section determines the type of caller. There are several caller types, always distinguishing between an incoming and outgoing call. It might seem that caller A is always incoming and caller B always incoming, but this is not always so, especially due to call switching. Let us imagine the following situation: an operator calls an outside number, speaks for a while, then dials another outside number and puts them through together. Both callers still have to be charged as outgoing calls. The called to be charged for the call must be determined by the billing software.
O – caller is an outgoing call on a port.
I – caller is an incoming call on a port.
S – caller is a service.
D – caller is a DISA.
C – caller is the 2N® Contact Centre Solution.
U – caller unknown; this letter should never appear.
Call on port
For a port call, the section format is as follows: O[oIi] – A[N]port – realclip – user – CLIP – CPN
port – ID of the port through which the call was made; the letter before the port indicates whether the port has been accounted or not. Therefore, A means Accounted and N means Not Accounted.
realclip – real caller identification.
user – name of the calling user.
CLIP – caller identification; in the case of an incoming call it is the number that arrives in the port; in the case of an outgoing call it is the number sent to the port as an ID. This parameter contains the user CLI from NetStar version 3.0.0 (if the call is routed from or to one of the user's extension).
CPN – caller identification; in the case of an incoming call it is the number actually dialled by the caller; in the case of an outgoing call it is the number sent to the port as the target destination.
For a service call, the section format is as follows: S – service identifier – service parameter
Each service is identified by a 4-letter identifier and has its own parameter. A service parameter is a number generated for the service. The meaning of each number is explained in the 2N® NetStar service manual. The following 4-letter service identifiers have been defined:
FWUN – forward user – unconditional
FCUN – cancel user forwarding – unconditional
FWBU – forward user – busy
FCBU – cancel user forwarding – busy
FWNA – forward user – no answer
FCNA – cancel user forwarding – no answer
FCAL – cancel all user forwarding
ASST – take over from extension
ASUS – take over from user
ASGR – take over from group
ASMG – take over from my group
ALRM – alarm
ALCN – cancel alarm
CTID – DTMF to CTI
UREN - ring at call to user
URDI – do not ring at call to user
STLI – extension login
STLO – extension logout
STLG – extension login as guest
UCHP – change PIN
PRMS – private call from my extension
PRCL – private call
CTOR – call to order
PARK – park
UPRK – unpark
CFCD – create conference on demand
BSLI – bundle extension login
BSLO – bundle extension logout
BULI – bundle user login
BULO – bundle user login
ACLI – ACD group login
ACLO – ACD group logout
AGLI – all ACD groups login
AGLO – all ACD groups logout
VMSU – forward user to voicemail – unconditional
VMRU – cancel user forwarding to voicemail – unconditional
VMSB – forward user to voicemail – busy
VMRB – cancel user forwarding to voicemail – busy
VMSN – forward user to voicemail – no answer
VMRN – cancel user forwarding to voicemail – no answer
VMRA – cancel all user forwarding to voicemail
VMGR – record voicemail greeting
VMGD – delete voicemail greeting
VMGP – play voicemail greeting
CTOC – connect to call
ACPF – activate profile
DCPF - deactivate profile
SUPR – set presence
STIM – set time
SDAT – set date
PRGR – record progress
PRGP – play progress
PRGD – restore default progress
CFAC – add to conference
CFRO – call to conference room
CLRE – enable CLIR
CLRD – disable CLIR
VMEN – voicemail entry
VMEA – authorised voicemail entry
SWRS – set switch router
SWRG – get switch router
EALR – emergency alarm
EALC – cancel emergency alarm
REUS – user reservation
CBIN – internal callback
LEXP – licence expired
EMMO – emergency mode
RBST – ring back to extension
RBNU – ring back to user
For a DISA call, the section format is as follows: D – DISA id – number dialled in DISA
2N® Contact Centre Solution
For a CCS call, the section format is as follows: C – CCS id – dialled number
The following call statuses are relevant:
N – The call was dispatched in the usual manner: i.e., caller A picked up the phone and dialled caller B’s number. In such case, caller A has an outgoing call and caller B has an incoming call.
F – C[I]r – In the case of a forwarded call it is necessary to know the reference line from which it has been forwarded. Reference r is used for this purpose. In case there is a letter I before the reference, it refers to the call; the letter C refers to the billing line.
T – C[I]r – C[I]r – In case of a switched call, two references are required, with the same meaning as in the case of a forwarded call.
M – indicates a message (SMS or email).
The last section of billing line contains following: ringing time – call time – tariff impulses – private – order – cause
ringing time – duration of ringing until call was accepted.
call time – call duration in seconds; 0 indicates that the call has not taken place, i.e. has been recorded as unaccepted.
tariff impulses – number of tariff or pseudo-tariff pulses during a call (or during ring tone as well in case of simulated ringing through DISA).
private – calls identified as private are marked P; all the other calls are marked N.
order – an entry used to break down each line into individual orders, projects, etc. Before, during or after the call, the service will allow to identify the order to which the call should be charged. For example, Cornet phones allow you to select an order from the Order List in the phone menu.
cause – cause of call termination; a number from 0 to 255 (1 byte) which identifies the cause of call termination in accordance with the ITU Q850 and ETSI 300.102 standards.
0 – NONE – Internal auxiliary cause.
1 – ANY_OTHER – Internal auxiliary cause.
2 – NORMAL_CALL_CLEARING – The call was terminated normally, the user hung up.
3 – USER_BUSY – The called user is busy.
4 – USER_NOT_RESPONDING – The called user fails to answer (the ringing timeout has elapsed)
5 – CALL_REJECT – The call was rejected by the user.
6 – UNSELECTED_USER_CLEARING – Multiple user calling; one user answered and the others are ended with this cause.
7 – DESTINATION_UNKNOWN – The destination is not known (unknown routing).
8 – DESTINATION_INVALID – The destination is invalid (wrong number/url format).
9 – DESTINATION_INCOMPATIBLE – The destination is incompatible (no codec match, url message sent to incompatible GSM).
10 – DESTINATION_DISABLED – The destination is disabled.
11 – DESTINATION_FORWARDED – The destination has been forwarded.
12 – NO_FREE_CIRCUIT_LOCAL – The local network is busy.
13 – NO_FREE_CIRCUIT_REMOTE – The remote network is busy.
14 – PROTOCOL_ERROR – Unspecified protocol stack error.
15 – NO_DIAL_TONE – No dial tone has been detected.
16 – INVALID_STATE – Invalid connection state for this operation.
17 – NETWORK_OUT_OF_ORDER – The destination is out of order temporarily.
18 – NO_CREDIT – The credit is insufficient for the call.
19 – MONITOR_NOT_READY – The call cannot be monitored.
20 – USER_IN_DND_MODE – The user is in the DND mode.
21 – USER_00 – User cause 00
22 – USER_01 – User cause 01
23 – USER_02 – User cause 02
24 – USER_03 – User cause 03
25 – USER_04 – User cause 04
26 – USER_05 – User cause 05
27 – USER_06 – User cause 06
28 – USER_07 – User cause 07
29 – USER_08 – User cause 08
30 – USER_09 – User cause 09
31 – USER_10 – User cause 10
32 – USER_11 – User cause 11
33 – USER_12 – User cause 12
34 – USER_13 – User cause 13
35 – USER_14 – User cause 14
36 – USER_15 – User cause 15