Steps to Create/Update Route Table from Rate Decks
Import Rate Decks to
NAS Rate Table
Manually export the Rate Decks into
CSV, if they are not already in CSV, e.g. a spreadsheet, with the
column <Header Name>s in the 1st row, having some of the
recognized <Header Name> combination as show in the "Rate Deck
Formats" section below. Upper or lower case does not matter, but you may
need to tweak some of the <Header Name>s to match, e.g. from "New
Rate" or "RATES" to "RATE". Delete any extra rows above the row with the
column headers
From the NAS "System"-"Export/Import"-"Import Rate Deck", import Rate
Decks into NAS's Rate Table. One Rate Table per Carrier, but use the
same <Domain> for all the imported Rate Table. "LCR" would be a
good convention to use as <Domain> for all Rate Plan meant for the
LCR. For International Rate
Deck, select "Don't Care" for "Inter-State" and "Inter-LATA". For
Domestic Rate Deck, select "Don't Care" for "International"
Create "Union of
Prefix" in NAS Country Code
Create new NAS Country Code (i.e. Union
of all Prefix) for the <Domain>
that own all the Rate Tables from imported Rate Decks by clicking the
"Create" button in the corresponding entry in the NAS's "Country Codes"
page. Should apply the "Purge" before the "Create" to flush the Country Codes
for
the specific domain before the "Create".
Create NMS Route Table
Skeleton
Export new NMS Route Table Skeleton
from the new NAS Country Code from
NAS "System"-"Export/Import"-"Export NMS Route". Import this Route
Skeleton into the NMS from the NMS's "System"-"Export/Import"-"Import
Routes". Should purge the route table before hand by Export the full
NMS route table and then import the exported file with "Purge" The NAS' Export NMS Route form page has the following parameters: From
| This is a dropdown menu to select a source type to export, either "Rate Plan" or "Country Code"
| Domain
| This dropdown menu allows selection of the domain from which to export. Default is "LCR"
| Term Prefix
| This is an optional field. Adding text here will filter routes that meet the "Term Prefix" criteria in a Rate Plan and export only those that meet the filter criteria.
| Class | This is an optional field. Adding text here will filter routes that meet the "Class" criteria in a Rate Plan and export only those that meet the filter criteria. | Route Name
| This is an optional field. Adding text here will filter routes
that meet the "Route Name" criteria in a Rate Plan and export only those
that meet the filter criteria. |
To import the Route Skeleton to the NMS, check the sizing for the
followings in "/etc/php.ini" ("httpd"
need to be restarted for any change to in "php.ini" to take effect)
; Maximum execution time of each script, in seconds
max_execution_time = 300
; Maximum amount of time each script may spend parsing request data
max_input_time = 300
; Maximum amount of memory a script may consume (16MB)
memory_limit = 64M
; Maximum size of POST data that PHP will accept.
post_max_size = 64M
; Maximum allowed size for uploaded files.
upload_max_filesize = 64M
|
Create NAS Account
Create NAS Account to associate with each Termination and assign the
corresponding Rate Plan imported from the associated Rate Deck or Decks.
These accounts must maintain Valid Period and some amount of Minimum
Balance.
Create NMS Connection
Create the NMS Connection and set its Domain and Rate Account
corresponding to the NAS Account associated with the intended Rate Plan.
Populate Connection
into NMS Route Table
View the LCR from the NMS's "Dial
Planning"-"Call Routing" page.
Un-check "Fixed" and "Percentage" to show the "Least Cost" view, and
make available the "Update Connection" and "Purge Connection" buttons.
Add new connection by hitting the "Update Connection" button, and
select one of the existing Connection. With the System Parameter
"LcrGetCostWhenAdd"
set to "yes" , the NAS will be queried for the cost of the added
connection for each route as it is added. This can take a very long
time, but the system should continue to function and route while
connection is being added and cost is being looked up.
Cost for each connection can re-queried
from the NAS, if the System Parameter "LcrGetCostWhenUpdate" is set to
yes, by hitting the "Update Connection" button and select the specific
connection.
Data Structures
Rate
Deck Formats
The Rate Deck Import function in the NAS support a variety of common
formats and will attempt to recognize the format in the CSV files by
their header row.
All header lines are NOT case sensitive.
Type |
Header Fields |
Internt'l |
Domestic |
Carrier |
Comments |
1 |
"PREFIX" or "PATTERN" and
"RATE" in any order
|
yes |
yes |
Generic |
Take <PREFIX> or
<PATTERN> as Prefix
Update Country/Locale Name from
<COUNTRY> or <LATA NAME>
|
2 |
"NPA" and "NXX" and "RATE"
in any order |
no |
yes |
Generic |
Form Prefix as
1<NPA><NXX>
Update Country/Locale Name from
<COUNTRY> or <LATA NAME>
|
3 |
"NPANXX" and "RATE" in any
order
|
no |
yes |
Generic
|
Form Prefix as
1<NPANXX>
Update Country/Locale Name from
<COUNTRY> or <LATA NAME>
|
4 |
"OCN" and "LATA" and "RATE"
in any order |
no |
yes |
Generic |
Look up <NPA> and <NXX> from LERG Table with
<OCN> & <LATA>
Form Prefix as 1<NPA><NXX>
|
5
|
("OCNLATA" or "OCN_LATA")
and "RATE" in any order |
no
|
yes
|
Generic |
Look up <NPA> and <NXX> from LERG Table with
<OCNLATA>
Form Prefix as 1<NPA><NXX> |
6
|
("LATAOCN" or "LATA_OCN")
and "RATE" in any order |
no |
yes
|
Generic |
Look up <NPA> and <NXX> from LERG Table with
<LATAOCN>
Form Prefix as 1<NPA><NXX>
|
7 |
"SWITCH" and "RATE" in any
order |
no |
yes |
Generic |
Look up <NPA> and <NXX> from LERG Table with
<SWITCH>
Form Prefix as 1<NPA><NXX>
|
8
| "NPA","NXX","THOUSAND","RATE" in any order | no
| yes
| Generic | Form
Prefix as 1<NPA><NXX><THOUSAND> |
10 |
Exactly
("NPA","NXX","Interstate Termination","Intrastate Termination") |
no |
yes |
Starview |
Form Prefix as
1<NPA><NXX> |
11 |
Exactly ("Place","Location
ID","Pattern(s)","Rate","Change","Effective Date")
|
yes |
no |
TDM CARR |
Extract each <Pattern>
in <Pattern(s)> as a Prefix
Each <Pattern> is separated by a <comma> in
<Pattern(s)>
Update Country/Locale Name from
<Place>
|
12
|
Exactly
("Region","Place","Location ID","Previous Rate","New Rates") |
no |
yes |
TDM CARR |
Parse <SWITCH> from <Place>
Look up <NPA> and
<NXX> from LERG Table with <SWITCH>
Form Prefix as 1<NPA><NXX>
|
13 |
Exactly ("Region","Dial
Codes","Current Rate ($/Min)","New Rate ($/Min)","First Increment
Seconds","Increment Seconds","Status","Notification Date","Effective
Date") |
yes |
no |
Phonetime Network |
Take <Dial Codes> as
Prefix
Update Country/Locale Name from
<Region>
|
14
|
Exactly
("Country","1+","Code","Rate")
|
yes |
no |
NovaTel |
Form Prefix as
<1+><Code>
<1+> are mostly a NULL string
Update Country/Locale Name from
<Country>
|
15
|
Exactly
("STATE","LATA","LATA NAME","OCN","PARENT COMPANY
NAME","NPA","NXX","Block ID","MTA 1","MTA 2","Actual Switch ID","WTS
Status","Rate per MOU") |
no |
yes |
Hybercube |
Form Prefix as
1<NPA><NXX><Block ID>
Update Country/Locale Name from
<LATA NAME>
|
16
| Exactly ("NPANXXX","Interstate","Intrastate") | no
| yes
| bandwidth.com
| Form Prefix as 1<NPA><NXXX> | 17
| Exactly ("Country Name","City/Area","Country Code(s)","Rate") | yes
| yes
| NetSapiens
| Extract each <Coutnry Code> in <Country Code(s)> as a Prefix
Each <Country Code> is separated by a <space> in <Country
Code(s)>
Update Country/Locale Name from
<Place> | 18
| Exactly ("1NPANXX","InterRate","IntraRate") | no | yes | Starview
| Prefix is exactly <1NPANXX>
|
Formats that are different but close to one of the supported formats
can be touched up manually before the import.
Support for additional formats can be implemented as needed.
NMS Route Table and
Connections
System Performance
Tuning
NMS Configuration
Parameters |
Values |
Default |
Descriptions
|
Configuration for LCR
|
LcrGetCostWhenAdd |
yes or no |
no
|
Query NAS for Connection Cost when new Connection is added to a
route |
yes
|
LcrGetCostWhenUpdate |
yes or no |
no
|
Query NAS for Connection Cost when an existing Connection is updated
|
yes
|
LergRouting |
yes or no |
no
|
Control whether to apply LERG for Routing |
yes
|
Pool Size
Parameters |
Values |
Default |
Descriptions
|
Suggested Configuration for 1000 Active Call
|
LegPoolSize |
integer
|
4000
|
Number of session legs to allocate in the Session Leg Pool |
4000
|
PacketPoolSize |
integer |
20000
|
Number of packets to allocate in the Packet Pool
Its about 20M/10KPacket |
20000
|
SessionPoolSize |
integer |
2000
|
Number of session to allocate in the Session Pool.
Its about 300M/1KSession |
3000 |
UacPoolSize |
integer |
1000
|
Number of transactions to allocate in the UAC Transaction Pool |
12000
|
UasPoolSize |
integer |
1000
|
Number of transactions to allocate in the UAS Transaction Pool |
3000
|
Time Out
Parameters |
Values |
Default |
Descriptions
|
Suggested Configuration for 1000 Active Call |
SessionDisconnectTO |
integer
|
32
|
Time Out in second for the Session Disconnect State
|
6
|
SessionTerminateTO |
integer
|
32
|
Time Out in second for the Session Terminate State
|
4
|
TOResponse
|
integer |
6
|
Time Out in second for the UAC to wati for a Response |
3
|
NAS UI Configuration
Parameters |
Values |
Default |
Descriptions
|
Configuration for LCR
|
UI_SHOW_NMS_ROUTE_EXPORT |
yes or no |
no
|
To show NMS Route Export page |
yes
|
UI_SHOW_RATEDECK_IMPORT
| yes or no | no | To show Rate Deck Import page | yes |
Operations
NMS Routing
The NMS Routing has the options to be
- Fixed - Connections for each route
are tried sequentially based on their index ordering until either
success or no more connection
- Percentange - Connection for each route are selected randomly based
on the weighted proportion. The maximum number of alternate routes is
configured by the system parameter "AltPerRouteMax"
- Least Cost - Connections for each route are tried sequentially
based on their least cost ordering until either success or no more
connection.
Rate Margin
"Rate Margin" constraints the LCR to exclude Routes that cost more then
what will be charged to the "Origination Connection".
- Lookup <Cost Ratio> and <Fixed Margin> from
"Origination Connection".
- NMS queries <Charge Rate> associated with the "Origination
Connection" from NAS via "RateQuote".
- Apply (<Charge Rate> * <Cost Ratio> - <Fixed
Margin>) as <Cost Threshold> in LCR lookup
Notes: - <Cost Ratio> should less then 1
and <Fixed Margin> should be greater then 0 to imply some profit.
- System Parameters <RateOrigLogi> and <RateTermLogi> are
referenced by the "RateQuote" logic to select the <Charge Rate>
based on the logical or physical Origination and Termination URI
Rate Ceiling"Rate Ceiling" prevents connecting calls beyond what an "Origination Connection" willing to pay.
- Lookup <Max Rate> from "Origination Connection".
- If <Max Rate> is not <NULL>, and selected Route is
configured for Least Cost, apply <Max Rate> as <Cost
Threshold> to constraint the Connection selection with cost no
greater then the <Max Rate>
Notes:
- <NULL> <Max Rate> is an empty string, and "0.0" is not <NULL>
- <Max Rate> is ignored for Route configured for Fixed or Percentage routing.
Minimum Call Duration
Upon BYE received during a Conversation, enforce the Minimum Call
Duration configured for the surviving Connection, if Auto Next Call is
NOT applicable. CDR's Release Time and Rating Release will be
applied at the end of the enforcement. Enforcement is not
applicable upon BYEs received from both parties ! UI
Configuration
Parameter |
Description |
Default
|
UI_SELECT_GW_MIN_DURATION_LIMIT
|
Maximum value for Connection's Minimum Call Duration drop-down
|
60
|
UI_SHOW_GW_MIN_DURATIOAN
|
To showConnection's Minimum Call Duration |
no
|
Connection Configuration
Parameter |
Description |
Default
|
Min Duration
|
Minimum Call Duration (in second) to be enforced
|
0
|
|
|