Skip to content

Test Dialplan

Test Dialplan asks the call engine what it would do with a call, without placing one. You enter the called number and the details of the caller, and the screen shows which account or DID the call is authenticated to, which tariff and rate price it, and the list of vendor connections in the order they would be tried. Use it after every change to routing, rates or DIDs, and as the first step when a customer reports a failed call.

Open Tools & Debugs → Test Dialplan in the left sidebar. The URL is /test_dialplan.php. The screen requires system management rights. Block Connection, Increase Preference and Decrease Preference in the result also need the edit right of your access level.

Screenshot "getting-started/test-dialplan" has not been generated yet — see scripts/screenshots/screens.yml.

The form has two modes:

  • Not Authenticated Call checks a call as it arrives from the network: the switch authenticates it by the remote address, the numbers and the domains, through the authentication rules of accounts and the rules of DIDs. Use it for trunks, IP-authenticated customers and calls from DID providers.
  • Authenticated Call checks a call of a given account: select it in Authenticated as. Authentication rules and DIDs are not checked, so this is the mode for registered devices that authenticate with a password and for calls placed by an IVR application on behalf of an account.
Field Meaning
CLD (destination) The called number as the switch receives it. Required
Mode Not Authenticated Call or Authenticated Call
Authenticated as The calling account, in Authenticated Call mode. Type the beginning of its name
CLI The caller’s number. Anonymous by default
Remote Address[:Port] The IP address the call comes from, optionally with the port, in Not Authenticated Call mode

More opens the less common fields:

Field Meaning
Call Start Date/Time When the call starts, now by default. Set a future date to check rates and routes with an activation date
Protocol The signalling protocol of the call, SIP in nearly every case
Caller is behind NAT Simulate a NATed caller, which affects media relay
To Domain, From Domain The domains of the To and From headers; the switch’s own address by default. They matter for authentication rules with To Domain or From Domain
P-Asserted-Identity, Remote-Party-Id Identity headers of the incoming call, for accounts that trust them
  1. Enter CLD (destination), for example 441632960123.
  2. Select Mode. For Authenticated Call select the account in Authenticated as; for Not Authenticated Call enter Remote Address[:Port] of the customer’s or provider’s gateway.
  3. Enter CLI if rules or prices depend on the caller’s number.
  4. Click Proceed.
Screenshot "admin-panel/test-dialplan-result" has not been generated yet — see scripts/screenshots/screens.yml.

When the call cannot be authenticated the screen says so: check the remote address and the numbers against the account’s authentication rules, or switch to Authenticated Call. A CLD that fails a length check of the Destinations table returns the expected length for its prefix.

Field Meaning
Call Type Regular for a call routed to vendors, On-Net for a call to another account, IVR for a call to an IVR application
Call Start Date/Time The time the test was run for
DID, DID Authentication Rule The DID and its rule that matched, for a call from a DID provider
IVR The IVR application the DID leads to
Authentication Rule The account’s rule that matched
Authenticated Account The account the call belongs to
On-Net DID, On-Net Account The callee of an on-net call
Minute Plan, Included Minutes, Minutes Left The service plan minutes that cover the destination, if any
Routing Group, Tariff, Prefix The routing group and the tariff used, and the rate’s prefix that matched
LRN CLI, LRN CLD The numbers after an LRN lookup, when LRN is enabled
Price or Price 1 / Price N The customer’s price per minute
Estimated Cost What the customer pays for a call of the tariff’s Avg. Call Duration

The values link to the objects they name, so you can open the rule, the account or the rate to fix it.

The table lists the connections in the order the switch tries them under the routing group’s policy. With Weighted Distribution the real order is random per call, so the table shows one possible order.

Column Meaning
Status Quality monitoring of the connection: good, preference lowered or blocked for bad quality
# The attempt number. An exclamation mark instead means the route is skipped: Forbidden, over the loss limit of Loss Protection, or anonymous calls not allowed. Hover over it for the reason
CLD, CLI The numbers sent to the vendor, after the connection’s translation rules
Vendor/Trunk, Connection Where the attempt goes. For on-net calls to a trunk, the trunk and its destination
Media Relay The relay used if the call is relayed
Termination Route, Route The vendor price list and the prefix that matched
STIR/SHAKEN Mode The attestation, when STIR/SHAKEN is enabled
Timeouts, sec 100, 1xx, 2xx Reply Timeout of the connection, 1xx Timeout and 2xx Timeout of the route. The last entry shows the routing group’s Final 2xx Timeout; on-net legs show the group’s on-net timeouts
Channels Current, Max Calls on the connection right now and its Capacity, or Unlimited
Est. Cost The vendor’s cost of a call of the tariff’s Avg. Call Duration, in your base currency

Row 0 appears when the call is authenticated to an account. It shows the CLD and CLI after the account’s incoming translation rules, the numbers used for rating and routing. The numbers on rows 1 and further are only sent to the vendors.

  • Block Connection next to a connection blocks it at once, as Blocked in the connection form. Use it to take a failing vendor out of all routing.
  • Increase Preference and Decrease Preference next to a route change the route’s Preference by one and run the test again. They are refused while an upload to the termination route is in progress.