The following fields are used to configure the JExpr properties of the flexible importer.
- Skip expression
- Values: true, false
- Purpose: Specifies header and footer rows of the CSV file. When true the entry is
skipped.
- Example:
$1 != "CDR"
Column 1 is not equal to "CDR". Any rows
that do not contain the text "CDR" in the column 1 cell will be skipped.
- Item validity expression
- Values: true, false
- Purpose: Used to detect malformed rows. When false the entry is not valid
- Example:
$$ == 4
There must be exactly 4 columns for an item
row.
- Username
- Format: String
- Purpose: Specifies the username to apply the CDR against.
- Example:
$2
The username is the entry in column 2.
- Call timestamp
- Format: Java date/timestamp (java.util.Date)
- Purpose: Specifies the date and time the CDR event began or occurred.
- Example:
parsers.parseDate("yyyy-MM-dd HH:mm:ss", $11)
The
entries in column 11 are currently formatted in the format yyyy-MM-dd HH:mm:ss. parseDate
parsers the date to...
- Caller number
- Format: String
- Purpose: Specifies the number from which the CDR event originated.
- Example:
$6
The caller number is in the sixth column.
- Called number
- Format: String
- Purpose: Specifies the number to which the CDR event was sent.
- Example:
$7
The called number is in the seventh column.
- CDR billable duration in seconds
- Format: UTInteger
- Purpose: Specifies the duration of the CDR. Must be > 0 to be billable.
- Example:
$5
The CDR billable duration in seconds is in the
fifth column.
- Wholesale price
- Format: UTDecimal
- Purpose: Specifies the charge for the CDR from the vendor.
- Example:
$3::UTDecimal
Convert the entry in column 3 to
javaBigDecimal format.
- Tariff code
- Format: String
- Purpose: Specifies the tariff code which Smile should use to rate the call.
- Example:
$4 + "-" + $12
Concatenates the contents of column 4
with column 12, with an intervening hyphen.
- Call type
- Values: CallType.getVoice(), CallType.getData(), CallType.getSms(),
CallType.getMms(), CallType.getFax(), CallType.getWap(), CallType.getForwardedCall(),
CallType.getCount(), CallType.getUnknown(), CallType.getVideoCall(), CallType.getIsdn(),
CallType.getImportedCharge()
- Purpose: Specifies the call type. Defaults to CallType.getVoice()
- Example:
CallType.getVoice()
The call type is voice.
- Chargeable
- Format: Boolean
- Purpose: Specifies if the CDR entry is chargeable. When false Smile will not rate the
call. Defaults to true.
- Example:
false
The call is not chargeable.
- Description of event
- Format: Text
- Purpose: Specifies a custom description of the call event. When set, Smile will by
default separate the call's charge to its own line item with this description. Mostly useful
for imported charges.
- Example:
$13
The description of the event is in the thirteenth column.
- Bytes uploaded by customer
- Format: UTLong
- Purpose: Specifies the amount of data uploaded in bytes.
- Example:
$14::UTLong
The bytes uploaded by customer is in the fourteenth column.
- Bytes downloaded by customer
- Format: UTLong
- Purpose: Specifies the amount of data downloaded in bytes.
- Example:
$15::UTLong
The bytes downloaded by customer is in the fifteenth column.
- Pages
- Format: UTInteger
- Purpose: Specifies the number of (fax) pages to be billed.
- Example:
$16::UTInteger
The number of pages to bill is in the sixteenth column.
- Count
- Format: UTInteger
- Purpose: Specifies the number of CDR events to be billed.
- Example:
$17::UTInteger
The number of CDR events to bill is in the seventeenth column.
- Percentile rate
- Format: UTDecimal
- Purpose: This figure is used to convert the single once-off activity this CDR
represents (such as a text message or flat-rate phone call) into a quantity of billing units
that are later translated into a retail price to bill the subscriber for.
- Example:
$18::UTDecimal
The percentile rate is in the eighteenth column.
- Bytes sent from customer percentile rate
- Format: UTDecimal
- Purpose: This figure is used to convert the amount of bytes transmitted on the
network from this subscriber into a quantity of billing units that are later translated into a
retail price to bill the subscriber for.
- Example:
$19::UTDecimal
The bytes sent from customer percentile rate is in the nineteenth column.
- Bytes sent to the customer percentile rate
- Format: UTDecimal
- Purpose: This figure is used to convert the amount of bytes received thru the network
by this subscriber into a quantity of billing units that are later translated into a retail
price to bill the subscriber for.
- Example:
$20::UTDecimal
The bytes sent from customer percentile rate is in the twentieth column.
- IP Address
- Format: String
- Purpose: Specifies the IP address of the client's device.
$21
The IP address is in the twenty-first column.