Dial plan

1. Description

"Dial plan" is core function of MSS. Once MSS receives any call, MSS will invoke "dial plan" to analyze numbers of the call and get final routing. So during "dial plan" process, there are two key processes:

  • Analyze numbers, including caller number and called number, to get routing information.
  • Route call to final destination.
dial plan basic process
2. Analyze numbers

As we know, each call has several numbers, such as caller number and called number. In this process, MSS will process several procedures, such as recongnize caller number, analyze called number and change numbers if necessary according to configuration, to get final routing information.

During these procedures, MSS uses 'maximum length matched' rule to match configuration records with current call.

2.1 Maximum length matched

For an instance, there is an incoming call whose number is '1234' (here we don't care this number is caller number or called number), and MSS has two records illustrated below.

Record ID Number prefix Other
1 12 ... ...
2 123 ... ...

Both of them can match current call since their 'number prefix' is exact number prefix of '1234', then which record will be selected by MSS? MSS will use record 2 because its number prefix length is greater than record 1.

In MSS, this rule is named as 'maximum length matched'. All procedures will follow this rule.

2.2 Procedures

MSS uses an independent menu to include all necessary configuration for "dial plan". Please refer to below figure.

dial plan menus

These configurations include several key procedures during whole "analyze numbers" procss:

  • Analyze caller number.
  • Analyze called number. It is the most important procedure because MSS will get final routing information according to its result.
  • Refine caller number.
  • Refine called number.
  • Change numbers in different procedures.

Below figure illusrates main flow and sequence of "analyze numbers" process in MSS.

basic procedures in dial plan

In this document, we don't describe "dial plan" configurations. Please refer to manual document for more details.

3. Routing

At this time, MSS supports several "route type" defined in "analyze called number" procedure:

  • Local user
  • External line
  • SIP trunk
  • Routing group
  • Intercept
3.1 Local user

"Local user" type means MSS should try to find the local user whose number is exact "called number" in current call. If MSS cannot find this user or it is not online, MSS should release current call.

By default, MSS processes all calls as "local user" calls if there isn't any "analyze called number" record matched these calls.

3.2 External line

"External line" type means MSS should route current call to external line to final outside users. There are some special configurations for this route-type.

  • In 'analyze called number', we can configure "specific external line" item at the same time. That means MSS should route call to such external line.
  • analyze called number with specific external line
  • In 'local user' configuration, we can indicate 'use specific external line' too. That means MSS should route out-group call to such external line for the local user.
  • local user with specific external line

Below figure illustrates the basic relationship between these special configurations if route type is "external line".

relationship between specific external lines
3.3 SIP trunk

Please refer to "SIP trunk" document for more details.

3.4 Routing group

"Routing group" can combine "external line" and "SIP trunk". It is very flexible for routing selection. Please refer to "routing group" document for more details.

3.5 Intercept

In fact, this type is not used to route call. It is used to indicate MSS to reject current call directly.