Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Repair Jira Macros
Page Properties
Document statusstatustitleDRAFT
Target release6.7.5
Epic
Jira Legacy
serverDialogic System JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId8f70d0a49d998c43-20dab14a-363f37e0-81e294cb-5b2706a93a6ae776ac9fe88f
keyBRKT-448
FR
Jira Legacy
server
DesignerDevelopersQA
System JIRA
Document owner

Greg Trogani (Deactivated)

columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId9d998c43-b14a-37e0-94cb-e776ac9fe88f
keyBRKT-435
Document status
Status
colourGreen
titleApproved
Document owner

Greg Trogani (Deactivated)

Designer
Developers
QA

Acronyms

AcronymDescription

API

Application Programming Interface.

BFV

Boston Fax and Voice API.
DID Direct Inward Dialing
SDK Software Development Kit
SIP Session Initiation Protocol

...

Feature Request FR19312 will implement support for inbound SIP call routing on the SR140 product that will allow inbound SIP calls to be routed to specific SR140 channels based on information associated with each call.  In order to achieve this functionality, a new section along with several new parameters , optional, parameter will be introduced to the callctrl.cfg configuration file to allow a routing table consisting of .  This new parameter will allow the user to specify a separate routing table configuration file that contains one or more routing rules to be specified.  Using this new functionality, inbound SIP calls will be able to be routed to specific SR140 channels based on information associated with each call such as the called address and/or calling address.

Assumptions

...

  • The Dialogic Brooktrout Configuration utility (ConfigTool.exe) may not be updated to provide support for the new section and parameters parameter in the callctrl.cfg configuration file or the routing rules specified in the new routing table configuration file introduced for FR19312.

 Customer Use-Case

The callctrl.cfg configuration file is populated with the following information:

 

...

[module.41]

 

...

model=SR140

 

...

virtual=1

 

...

exists=1

 

...

vb_firm=C:\Brooktrout\Boston\fw\bostvb.dll

 

...

channels=8

[module.41/host_cc.1]

 

...

host_module=1

 

...

number_of_channels=

...

8

[host_module

...

.1]

 

...

  called_address="1001"
  calling_address=""
[module.41/routing.2]
  channel=1
  called_address="2xxx"

...

module_library=brktsip.dll

  enabled=true

  routing_table=C:\Brooktrout\Boston\Config\routing.cfg

 

The Routing Table configuration file, routing.cfg, referenced by the routing_table parameter above is populated with the following information:

[routing.1]

  channel=0

  called_address="1001"

  calling_address=""

[routing.2]

  channel=1

  called_address="2xxx"

  calling_address=""

[

...

routing.3]

 

...

channel=2

...

  called_address="300[0-4]"

 

...

calling_address=""

[

...

routing.4]

 

...

channel=3

 

...

called_address="4xxx"

 

...

calling_address="9732851832"

[

...

routing.5]

 

...

channel=4-5

 

...

called_address=""

 

...

calling_address="9732851832"

[host_module.1]
  module_library=brktsip.dll
  enabled=true
.
.
.

 

NOTE:  

NOTE: The specific keywords and syntax that will be used to define the SR140 inbound call routing rules are not defined at this time and will be defined in the High Level Design document for this feature.  The example above is used for illustrative purposes and the final keywords and syntax are subject to change from what is presented here.

...

Inbound Call Information

SR140 Channel Call Routed To

Comments

Called Address:  1001

Calling Address:  7814499009

0

The call is routed to SR140 channel 0 since it matches the called address specified in Routing Rule #1.   Since nothing is specified for the calling address in Routing Rule #1, the calling address information for an inbound call is ignored and isn’t used to determine if the call matches this routing rule . 

Called Address:  2345

Calling Address:  7814499009

1

The call is routed to SR140 channel 1 since it matches the called address specified in Routing Rule #2.  The ‘x’ characters specified in the called_address for this routing rule act as wildcard characters and therefore Routing Rule #2 will match any calls whose called address is in the range from 2000 to 2999.

Called Address:  3002

Calling Address:  7814499009

2

The call is routed to SR140 channel 2 since it matches the called address specified in Routing Rule #3.  The “[0-4]” specified in the called_address for this routing rule indicates a range of values a digit can have (in this case, 0, 1, 2, 3 or 4). 

Called Address:  4123

Calling Address:  9732851832

3

The call is routed to SR140 channel 3 since it matches both the called and calling addresses specified in Routing Rule #4.  It should be noted that the called and calling addresses for this call also match Routing Rule #5.  However, since this call matches both Routing Rules #4 and #5, the call will be directed to an available channel associated with the highest priority routing rule (i.e. #4).

Called Address:  5000

Calling Address:  9732851832

4 or 5

The call is routed to SR140 channel 4 or 5 (whichever is available first) since it matches the calling address specified in Routing Rule #5.   

Called Address:  5000

Calling Address:  7814499009

6 or 7

The call is routed to SR140 channel 6 or 7 (whichever is available first) since it fails to match any of the specified Routing Rules.  Any inbound calls that don’t match any of the routing rules will be routed to the first available SR140 channel (in this case 6 or 7) not assigned to a routing rule.

...

The FR19312 SR140 Inbound Call Routing Rules dial plan may support all of the upper and lower alphabetic characters in a routing rule along with the following characters:

 

RID#

Description

14

The FR19312 SR140 Inbound Call Routing Rules dial plan shall support one or more of the following decimal digits in a routing rule: 

0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 

Examples of this are “1001” and “8007554444”.

15

The following special characters shall be supported by the FR19312 Inbound Call Routing Rules dial plan in order to support pattern matching:

 

Dial Plan Character

Character Description

x or X

Matches any digit from 0-9

[

Specify start of digit range

-

Specify range of digits

]

Specify end of digit range

 

Match ranges are created using [min-max].  A left bracket, hyphen (-) and a right bracket are required.  Minimum and maximum values may range from 0 through 9.  Brackets may be repeated, but not nested. 

 

For example, “[2-9]XX” matches any number from “200” through “999”.  Similarly “1xxx” matches any number from “1000” to “1999”.

16

 

 

 

 

 

 

 

 

 

 

 

 

 

16

Dial Plan Character

Character Description

-

Hyphen

_

Underscore

.

Period 

!

Exclamation

~

Tilde

*

Asterisk

'

Single Quote

(

Left Parentheses

)

Right Parentheses

 

An example of this would be “Fax.User”.

TheFR19312 SR140 Inbound Call Routing Rules shall be specified in descending order with “Routing Rule #1” as the highest priority, “Routing Rule #2” as the second highest priority, “Routing Rule #3” as the third highest priority and so on.

17

An inbound SIP call shall always be routed to the highest priority SR140 Inbound Call Routing Rule that matches the “Called Address” and/or “Calling Address” of the inbound call and has an SR140 channel available to receive the call.

RID#

Description

18

FR19312 shall support multiple SR140 Inbound Call Routing Rules with non-overlapping or overlapping SR140 channel ranges. 

 

For example, the following Routing Rule configurations will be supported:

 

Example 1 (NonTheFR19312 SR140 Inbound Call Routing Rules shall be specified in descending order with “Routing Rule #1” as the highest priority, “Routing Rule #2” as the second highest priority, “Routing Rule #3” as the third highest priority and so on.

 

NOTE: The routing files will not need to be specified in a consecutive order starting at 1.  If the user specifies “Routing Rule #1”, “Routing Rule #5” and “Routing Rule #10” in a Routing Table configuration file, then a total of three routing rules would be specified with “Routing Rule #1” being the highest priority and “Routing Rule #10” being the lowest priority.  

17

An inbound SIP call shall always be routed to the highest priority SR140 Inbound Call Routing Rule that matches the “Called Address” and/or “Calling Address” of the inbound call and has an SR140 channel available to receive the call.

RID#

Description

18

FR19312 shall support multiple SR140 Inbound Call Routing Rules with non-overlapping or overlapping SR140 channel ranges. 

For example, the following Routing Rule configurations will be supported: 

Example 1 (Non-Overlapping Channel Ranges):

Routing Rule #1: SR140 channels 0-9 

Routing Rule #2: SR140 channels 10-19

Routing Rule #3: SR140 channels 20-29


Example 1 (Partial-Overlapping Channel Ranges):

Routing Rule #1: SR140 channels 0-14 

Routing Rule #2: SR140 channels 10-19

Routing Rule #3: SR140 channels 2015-29

 

Example 1 (PartialComplete-Overlapping Channel Ranges):

Routing Rule #1: SR140 channels 0-14 29

Routing Rule #2: SR140 channels 100-1929

Routing Rule #3: SR140 channels 15-29

 

Example 1 (Complete-Overlapping Channel Ranges):

Routing Rule #1: SR140 channels 0-29

Routing Rule #2: SR140 channels 0-29

Routing Rule #3: SR140 channels 0-29

 

19

Inbound SIP calls that do not match any of the currently configured SR140 Inbound Call Routing Rules shall be routed to the first available SR140 channel not assigned to any of the routing rules. 

20

If an inbound SIP call is received that doesn’t match any of the currently configured SR140 Inbound Call Routing Rules and there are no SR140 channels not assigned to any of the routing rules available to receive the call, then the call shall be rejected with a SIP 486 (Busy Here). 

NOTE:  The existing inbound call timeout mechanism within the Dialogic Brooktrout Call Control stack will remain operational whether FR19312 Inbound Call Routing functionality is enabled or disabled.  In the case where an inbound SIP call is received that matches a Routing Rule but there’s currently no SR140 channel from the routing rule available to receive the call, the call will be queued up until either a matching SR140 channel picks up the call or the inbound call timeout occurs.  If the inbound call timeout occurs, the call will be rejected with a SIP 486 (Busy Here). 

Similarly, in the case where an inbound SIP call is received that doesn’t match any Routing Rules and there’s currently no SR140 channel available to receive the call, the call will be queued up until either a SR140 channel picks up the call or the inbound call timeout occurs.  If the inbound call timeout occurs, the call will be rejected with a SIP 486 (Busy Here).

22

No changes to the Dialogic Brooktrout BFV API shall be required to support FR19312 Inbound Call Routing functionality.

...

RFC 2705 – Media Gateway Control Protocol (MGCP) Version 1.0 (http://www.ietf.org/rfc/rfc2705.txt)

RFC 2396 – Uniform Resource Identifiers (URI): Generic Syntax (https://www.ietf.org/rfc/rfc2396.txt)

Product Areas Affected

...

Product Areas Affected

  • This feature will only affect inbound calls using the SIP call control protocol.

...

  • The Dialogic Brooktrout Bfv APIs Reference Manual will be updated to document the new callctrl.cfg configuration file parameters introduced for this feature and will illustrate how to configure SR140 Inbound Call Routing Rules.The callctrl.cfg configuration file parameter that specifies the pathname to the routing table configuration file as well as the new parameters supported in the  routing table configuration file.  Updates to this manual will also illustrate how to configure SR140 Inbound Call Routing Rules.

Configuration Change(s):

  • The callctrl.cfg configuration file will be updated to support the changes required for FR19312.  These changes will include a new section parameter to define the SR140 Inbound Call Routing Rules.  In addition to this, for specify the pathname to a routing table configuration file. 
  • The new routing table configuration file will define the SR140 Inbound Call Routing Rules.  For each Routing Rule defined in this configuration file, new parameters will be define defined to allow the user to specify the following:
    • SR140 channel(s) that the routing rule applies to
    • Called address the inbound call must match
    • Calling address the inbound call must match

 Configuration Change(s):

  • TBD
    • match 

Build and Installation Change(s):

...

File

Windows

Linux

Solaris*

bostdlld.dll

(/)

 

 

brktsip.dll

(/)

 

 

bostlib_mt.so

 

(/)

(/)

brktsip_mt.so

 

(/)

(/)

*This feature will be implemented on the Windows Linux and Solaris Operating Systems (OSs).  However, testing of this feature will be limited to Windows and Linux OSs.  Testing of this feature on the Solaris OS will not be performed.

Required Purchases:

  • None

Product SKUs and Materials:

  • None

Test Scenario(s):

The developer test plan will document the full description of the test cases below along with the results of the developer testing. This testing shall, at a minimum, contain the following test cases:

  •  No Routing Rules Configured:

This test case verifies that when FR19312 functionality is disabled and no routing rules are specified, that an inbound SIP call can be successfully routed to the first available SR140 channel waiting for a call.

...

mt.so

 

(/)

(/)

*This feature will be implemented on the Windows Linux and Solaris Operating Systems (OSs).  However, testing of this feature will be limited to Windows and Linux OSs.  Testing of this feature on the Solaris OS will not be performed.

Required Purchases:

  • None

Product SKUs and Materials:

  • None

Test Scenario(s):

The developer test plan will document the full description of the test cases below along with the results of the developer testing. This testing shall, at a minimum, contain the following test case

  • No Routing Rules Configured:
    This test case verifies that when FR19312 functionality is disabled and no routing rules are specified, that an inbound SIP call can be successfully routed to the first available SR140 channel waiting for a call.

     

  • Routing Rules Configured, Inbound Call Match
    This test case verifies when FR19312 functionality is enabled and one or more routing rules are specified, that when an inbound SIP call is received that matches at least one of the configured routing rules, the call is successfully routed to an SR140 channel specified in the matching routing rule.  This test should be repeated for when a single SR140 channel and when multiple SR140 channels are assigned to a routing rule.

     

  • Routing Rules Configured, Inbound Call Doesn’t Match, No Extra SR140 channels
    This test case verifies when FR19312 functionality is enabled and one or more routing rules are specified, that when an inbound SIP call is received that doesn’t match any one of the configured routing rules and there aren’t any extra SR140 channels not assigned to routing rules, the call is rejected with a SIP 486 (Busy Here).

     

  • Routing Rules Configured, Inbound Call Doesn’t Match, Extra SR140 channels
    This test case verifies when FR19312 functionality is enabled and one or more routing rules are specified, that when an inbound SIP call is received that doesn’t match any one of the configured routing rules and there are extra SR140 channels not assigned to routing rules, the call is successfully routed to a SR140 channel not assigned to a routing rule.

     

  • Routing Rules Configured, Inbound Call Matches Wildcard Pattern
    This test case verifies when FR19312 functionality is enabled and one or more routing rules with wildcard patterns are specified, that when an inbound SIP call is received that matches at least one of the configured wildcard pattern routing rules, the call is successfully routed to

...

  • a SR140 channel specified in the matching routing rule.

     

  • Routing Rules Configured, Inbound Call

    Doesn’t Match, No Extra SR140 channels

    Matches Range Pattern
    This test case verifies when FR19312 functionality is enabled and one or more routing rules with range  patterns are specified, that when an inbound SIP call is received that

...

  • matches at least one of the configured

...

  • range pattern routing rules, the call is

...

  • successfully routed to a SR140 channel specified in the matching routing rule.

     

  • Routing Rules Configured, Inbound Call

    Doesn’t

    Match,

    Extra SR140 channels

    No Channel Available
    This test case verifies when FR19312 functionality is enabled and one or more routing rules are specified, that when an inbound SIP call is received that

...

  • matches at least one of the configured routing rules

...

  • but none of the SR140 channels assigned to the routing rule are available, the call is rejected with a SIP 486 (Busy Here).

     

  • Routing Rules Configured, Inbound Call

    Matches Wildcard Pattern

    Match, Overlapping Channels in Routing Rules
    This test case verifies when FR19312 functionality is enabled and

...

  • multiple routing rules

...

  • are specified, that when an inbound SIP call is received that matches

...

  • one of the configured

...

  • routing rules but the SR140 channels assigned to the routing rule overlap with the channels assigned to a non-matching routing rule, the call is successfully routed to a SR140 channel specified in the matching routing rule.

     

  • Routing Rules Configured, Inbound Call

    Matches Range Pattern

    Match, Overlapping Called/Calling Addresses in Routing Rules
    This test case verifies when FR19312 functionality is enabled and

...

  • multiple routing rules

...

  • are specified that have overlapping called and/or calling addresses, that when an inbound SIP call is received that matches

...

  • multiple routing rules, the call is successfully routed to a SR140 channel specified in the highest priority matching routing rule

...

 

...