NFAS on DM3 configuration tutorial
Purpose:
This article describes the configuration of NFAS on Dialogic® DMV Series Media Boards, with real world examples, in order to help eliminate some common mistakes.
Important Definitions:
NFAS -- Non-Facility Associated Signalling. A single data channel controls the signalling for multiple T1 PRI ISDN spans. This increases capacity by allowing non D-channel spans to have 24 bearer channels instead of 23 bearer channels and 1 D-channel.
NFAS group -- The logical grouping of ISDN trunks that all share a single D-channel.
NFAS trunk -- A single ISDN PRI line that is a part of an NFAS group.
Walkthrough of NFAS configuration:
All NFAS configuration is done through the appropriate .config file (e.g. ml2_qsa_5ess.config).
Steps to take prior to configuration:
1) Determine how many NFAS groups you will have
2) Determine how many trunks will be in each NFAS group
3) If a backup d channel will be used, determine which trunk will be used
3) Determine which Dialogic board/span you will use for each NFAS trunk. It's acceptable to have an NFAS group exist on
multiple boards. It's also acceptable to have more than one NFAS group (or parts of NFAS group(s)) co-exist on one board.
Common mistake warning: Carefully locate each Dialogic card, as neither system placement nor thumbwheel
assignment necessarily dictate ordering. Use the DCM or listboards to get the logical ID, or more preferrably the
Serial Number, to identify the card.
Helpful hint: Draw a diagram or use an Excel Spreadsheet to outline the NFAS properties of each Dialogic span in the machine.
Include the following information:
a) NFAS group # -- Group numbering starts with 1.
b) NFAS trunk # -- Logical trunk number within the group. Trunk numbers start with 0 (0 = trunk with D-channel)
c) D channel or Clear Channel?
d) Not NFAS -- for any span that will not be a part of an NFAS group
Configuring NFAS:
1) Common mistake warning: If you have multiple boards in the system, determine if they all have the same configuration pertaining to D-channel / Clear channel.
If they don't have the same configuration, you will need to make a separate .config file for each board. Give each .config file a name that contains the board number.
(e.g. ml2_qsa_5ess_b0.config, ml2_qsa_5ess_b1.config, etc)
Common Mistake warning: There is a single NFAS configurator for a system, and the NFAS section for all files is read during download. When configuring multiple .config files,
it's possible to make a mistake and have different NFAS definitions in the different files. If this happens, the NFAS config when the boards are downloaded will be undetermined.
To avoid this, use the same NFAS section for all .config files. Create the NFAS config in one file, then cut and paste into each of the other files.
2) Open the appropriate .config file.
3) Configure the non D-channel trunks to act as clear channel. This allows channel 24 to act as a bearer channel.
In the appropriate lineadmin section(s), change the following parameter:
SetParm=0x1602,6 ! SignalingType (CAS=4, CCS=5, Clear=6)
Note: [lineadmin.1] = span 1, [lineadmin.2] = span 2, etc.
4) Configure the NFAS section. Actual lines that would go in the .config file are indented. Other lines are comments, instructions, etc.
Start with the NFAS header
[NFAS]
Define how many NFAS groups (defined as INSTANCE MAP in the .config file) will be in the system. This is defined as the NFAS_INSTANCE_MAP in the .config file.
Common mistake warning: This is hexadecimal number translated from a binary bitmask value, not a direct value. Therefore, the possible values are:
0x1 = 1 NFAS group in the system (binary 0001)
0x3 = 2 NFAS groups in the system (binary 0011)
0x7 = 3 NFAS groups in the system (binary 0111)
0xF = 4 NFAS groups in the system (binary 1111)
SetParm=0x3e02, 0x3 ! INSTANCE MAP group 1 and 2 active
Define NFAS group 1. Start with NFAS group 1 header
[NFAS.1]
Define the trunks of NFAS group 1. This is where the chart we previously constructed comes in most handy. Start with:
AddNFASInterface(#)=#,#,#, #,#,#, #,#,#, #,#,#
Define the NFAS group #. This is NFAS group 1.
AddNFASInterface(1)=#,#,#, #,#,#, #,#,#, #,#,#
Each NFAS trunk uses 3 parameters -- the first is NFAS logical trunk ID. This should always be sequential, starting with 0.
AddNFASInterface(1)=0,#,#, 1,#,#, 2,#,#, 3,#,#
Parameters 2 and 3 of each triplet are the board and span number. Finished product:
AddNFASInterface(1)=0,0,1, 1,0,2, 2,0,3, 3,0,4
Define on which logical trunk the D channel will reside. It is preferrable to leave this on logical NFAS span 0.
SetParm=0x3e04,0 ! Set Primary Dchannel as Interface '0'
Define Backup D-channel (if applicable).
SetParm=0x3e05,1 ! Set Backup Dchannel as Interface '1'
Define NFAS group 2.
[NFAS.2]
AddNFASInterface(2)=0,1,2, 1,1,1, 2,1,3, 3,3,2
SetParm=0x3e04,0 ! Set Primary Dchannel as Interface '0'
SetParm=0x3e05,1 ! Set Backup Dchannel as Interface '1'
5) Generate fcd file(s) using fcdgen
Common mistake warning: If separate files were created, make sure to define the proper fcd files in DCM or linux configuration tool.
Real world config example 1:
This configuration has one NFAS group with 2 spans. Span 1 is the primary D-channel and span 2 is the backup D-channel. There is a single DM/V1200BTEP board in the system.
The chart for this configuration looks like this:
NFAS Config
Board | Span | Group | Logical Trunk | D channel? | Clear?
0 1 1 0 y
0 2 1 1 y
0 3 y
0 4 y
Pertinent contents of .config fle:
[lineAdmin.1] ! Instance 1
...
SetParm=0x1602,5 ! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.2]
...
SetParm=0x1602,6 ! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.3]
...
SetParm=0x1602,5! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.4]
...
SetParm=0x1602,5! SignalingType (CAS=4, CCS=5, Clear=6)
...
[NFAS]
SetParm=0x3e02, 0x1 ! INSTANCE MAP group 1 active
!SetParm=0x6,0xFF ! NFAS DEBUG LEVEL - turns on additional tracing
[NFAS.1] ! NFAS Instance for Group I
AddNFASInterface(1)=0,0,1, 1,0,2 ! Maps to chart above (Logical trunk,board,span)
SetParm=0x3e04,0 ! Set Primary Dchannel as Interface '0'
SetParm=0x3e05,1 ! Set backup Dchannel as Interface '1'
Real world config example 2:
This configuration has two NFAS groups. It's using media load 2, DM/V960A-4T1 boards and 5ESS protocol.
The first NFAS group has 6 spans, using board 0 and 2 spans on board 3. The D channel is located on board 0, span 2.
The second group has 3 spans, using 3 spans from board 1. The d channel is located on board 1, span 3.
The remaining 7 spans are configured as regular ISDN trunks.
The chart for this configuration looks like this:
NFAS Config
Board | Span | Group | Logical Trunk | D channel? | Clear?
0 1 1 1 y
0 2 1 0 y
0 3 1 2 y
0 4 1 3 y
1 1 2 2 y
1 2 2 1 y
1 3 2 0 y
1 4 y
2 1 y
2 2 y
2 3 y
2 4 y
3 1 y
3 2 1 4 y
3 3 1 5 y
3 4 y
NFAS Section shared among all 4 .config files:
[NFAS]
SetParm=0x3e02, 0x3 ! INSTANCE MAP group 1 and 2 active
!SetParm=0x6,0xFF ! NFAS DEBUG LEVEL - turns on additional tracing
[NFAS.1] ! NFAS Instance for Group I
AddNFASInterface(1)=0,0,2, 1,0,1, 2,0,3, 3,2,2, 4,2,3 ! Maps to chart above (Logical trunk,board,span)
SetParm=0x3e04,0 ! Set Primary Dchannel as Interface '0'
[NFAS.2] ! NFAS Instance for Group 2
AddNFASInterface(2)=0,1,3, 1,1,2, 2,1,1 ! Maps to chart above (Logical trunk,board,span)
SetParm=0x3e04,0 ! Set Primary Dchannel as Interface '0'
ml2_qsa_5ess_b0.config pertinent contents:
[lineAdmin.1] ! Instance 1
...
SetParm=0x1602,6 ! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.2]
...
SetParm=0x1602,5 ! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.3]
...
SetParm=0x1602,6 ! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.4]
...
SetParm=0x1602,6 ! SignalingType (CAS=4, CCS=5, Clear=6)
...
ml2_qsa_5ess_b1.config pertinent contents:
[lineAdmin.1] ! Instance 1
...
SetParm=0x1602,6 ! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.2]
...
SetParm=0x1602,6! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.3]
...
SetParm=0x1602,5! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.4]
...
SetParm=0x1602,5! SignalingType (CAS=4, CCS=5, Clear=6)
...
ml2_qsa_5ess_b2.config pertinent contents:
[lineAdmin.1] ! Instance 1
...
SetParm=0x1602,5 ! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.2]
...
SetParm=0x1602,5! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.3]
...
SetParm=0x1602,5! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.4]
...
SetParm=0x1602,5! SignalingType (CAS=4, CCS=5, Clear=6)
...
ml2_qsa_5ess_b3.config pertinent contents: [lineAdmin.1] ! Instance 1
...
SetParm=0x16025 ! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.2]
...
SetParm=0x1602,6! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.3]
...
SetParm=0x1602,6! SignalingType (CAS=4, CCS=5, Clear=6)
...
[lineAdmin.4]
...
SetParm=0x1602,5! SignalingType (CAS=4, CCS=5, Clear=6)
...
Product List:
Dialogic® DMV Series Media Boards
First published: 06-Apr-2008
Last published: 16-Mar-2010
Open access: Product rule: ; Page rule: Auto