Skip to content

Pricelists

A Pricelist is a CSV file upload attached to a Project that defines a set of rate changes to apply to Dialpeers. After uploading, Yeti runs a Detect Dialpeers process to match each pricelist row to an existing dialpeer (or flag it as a new create/delete), then an Apply Changes process to execute the changes.

Pricelist states

new
Pricelist uploaded, Detect Dialpeers has not been run yet.
dialpeers_detected
Detect Dialpeers completed. Items have been classified as create/change/delete. Ready to apply.
applied
Apply Changes completed. Dialpeer changes have been written to the routing database.

Pricelist attributes

Id
Unique identifier.
Name
Name of the pricelist.
Project
The Project this pricelist belongs to.
State
Current processing state of the pricelist. See Pricelist states.
Filename
The original CSV filename. Can be updated after upload if needed.
Retain Enabled
If enabled, the Enabled flag of existing dialpeers is preserved when applying CHANGE items (not overwritten by the project constant attribute).
Retain Priority
If enabled, the Priority of existing dialpeers is preserved when applying CHANGE items.
Valid From
Date and time from which the rates in this pricelist become effective. Applied to created/updated dialpeers as their Valid From value.
Valid Till
Date and time until which the rates in this pricelist are valid. Applied to created/updated dialpeers as their Valid Till value.
Applied At
Timestamp when Apply Changes was last executed for this pricelist.

CSV file format

The pricelist CSV file should contain one row per rate entry. Supported column headers:

HeaderDescription
prefixDestination prefix (required)
initial_rateInitial rate (currency units per minute)
next_rateNext rate (currency units per minute)
connect_feeConnection fee (currency units)
initial_intervalInitial billing interval (seconds)
next_intervalNext billing interval (seconds)
dst_number_min_lengthMinimum destination number length
dst_number_max_lengthMaximum destination number length
enabledWhether dialpeer should be enabled (true/false)
priorityRouting priority
valid_fromRate validity start time
valid_tillRate validity end time

Pricelist Items

Pricelist Items are the individual rows parsed from the uploaded CSV file. After Detect Dialpeers runs, each item is assigned a type indicating what operation will be performed when Apply Changes is executed.

Item type

Create
No matching dialpeer found. A new dialpeer will be created using this item's rates and the project's constant attributes.
Change
A matching dialpeer was found. The dialpeer's rate fields will be updated with the values from this item.
Change Rate Fields
A matching dialpeer was found. Only rate-related fields (rates, intervals, fees) will be updated.
Delete
A matching dialpeer was found and this item signals removal. The dialpeer will be deleted.

Item attributes

Id
Unique item identifier.
Type
The operation type determined after Detect Dialpeers. See Item type.
Dialpeer
Link to the matched Dialpeer, if one was detected.
Prefix
Destination prefix from the CSV row.
Routing Tags
Routing tags from the CSV row.
Initial Rate
Initial rate from the CSV row.
Next Rate
Next rate from the CSV row.
Connect Fee
Connection fee from the CSV row.
Initial Interval
Initial billing interval from the CSV row.
Next Interval
Next billing interval from the CSV row.
Dst Number Min Length
Minimum destination number length from the CSV row.
Dst Number Max Length
Maximum destination number length from the CSV row.
Enabled
Enabled flag from the CSV row (or retained from existing dialpeer if Retain Enabled is set).
Priority
Priority from the CSV row (or retained from existing dialpeer if Retain Priority is set).
Valid From
Rate validity start from the CSV row (or pricelist Valid From if not specified).
Valid Till
Rate validity end from the CSV row (or pricelist Valid Till if not specified).
Vendor / Account / Routing Group / Routeset Discriminator / Gateway / Gateway Group
Inherited from the project's scope attributes and constant attributes.