Asterisk NEAX2400 LineSide

I have successfully interfaced Asterisk with an NEC 2400 IPX using T1 cards.
The following hardware was used:
  • In Asterisk - Tormenta2 clone quad T1 board from
  • In NEC 2400 - PA-24DTR(DLI) card

This example uses a DLI card, that is a Digital Line Interface, or line side T1 card.
However, the principles should also apply to the PA-24DTR(DTI) Digital Trunk Interface,
or trunk side T1 card. The PBX programming, of course, will be different, as will the
signalling. (A DTI card is looking for fxo_ks signalling from the * system.) I am
researching the other differences, but so far I've found out only that the Tx and Rx signal
logic needs to be set to positive for connecting to the DTI card.


Use fxsks signaling for zaptel.conf and zapata.conf
Set DLI card to ABCD for Tx and Rx signaling
Program the PBX with 24 extensions, one for each port


The DLI card has several DIP switches that need to be set. I'm providing the settings that worked in my config.
For all DIPs, 0=OFF and 1=ON

SW10: 11001000

1 = Tx Signal A Logic: ON = Negative, OFF = Positive
2 = Rx Signal A Logic: ON = Negative, OFF = Positive
3 = Remote Alarm: ON = Don't send, OFF = send
4 = Unused, set to OFF
5 = Datalink control: ON = MOS, OFF = BOS
6 = Multiframe: ON = SF, OFF = ESF
7 = Signal Encoding: ON = AMI, OFF = B8ZS
8 = Alarm processing: ON = North American Spec, OFF = ?

For this configuration we use negative signal logic, send remote alarm (AIS) on, and ESF/B8ZS

SW11: 00001111

1 = One digit dialing: ON = allowed, OFF = denied
2 = Unused, set to OFF
3 = Unused, set to OFF
4 = Unused, set to OFF
5 = Tx Signal Control (5 = ON, 6 = ON: ABCD signal control)
6 = Tx Signal Control (5 = OFF, 6 = ON: ABAB signal control)
7 = Rx Signal Control (7 = ON, 8 = ON: ABCD signal control)
8 = Rx Signal Control (7 = OFF, 8 = ON: ABAB signal control)

My settings are in bold type. For the record, I've successfully used ABAB signal control as well.

SW12: 11101101

1 = Equalizer (1,2,3=ON: 0 to 40m)
2 = Equalizer (1,2=ON, 3=OFF: 40m to 80m)
3 = Equalizer (1,3=On, 2=OFF: 80m to 120m)
4 = PAD pattern
5 = PAD pattern
6 = PAD pattern
7 = Alarm selection (7 = OFF, 8 = ON: send All 1's)
8 = Alarm selection (7 = OFF, 8 = OFF: send RMT)

There are too many combinations of DIPs to list them all here. If you know an NEC tech ask him/her for
a copy of the 2400IPX Circuit Card Manual. Basically my settings are default - less than 40m cable length,
NEC default PAD pattern, and send all 1's when card is in non operational state.

SW13: 00001000

1 = All 1's supervision: ON = supervise, OFF = no supervision
2 = Ring control: ON = Continuous, OFF = Intermittent
3 = PAD pattern sending
4 = PAD pattern sending
5 = PAD pattern sending
6 = PAD pattern receiving
7 = PAD pattern receiving
8 = PAD pattern receiving

I personally did not test the all 1's supervision, but no all 1's supervsion worked for me.
The ring control tells whether the B bit goes from 1 to 0 intermittently or continuously for a call
from the NEC to the Tor2. I used zttool to watch the bit patterns while testing.

For the PAD pattern, these values represent the constitution of "PAD Pattern 1." The defaults are 2dB sending
and 0dB receiving. (I'd be lying if I said I knew very much about this stuff!)

SW14: 0101

1 = Digital PAD: ON = Special PROM spec, OFF = standard spec
2 = Layer 2 signal logic: ON = Positive, OFF = Negative
3 = Line fault: ON = Send notice on line fault, OFF = Don't send notice
4 = Zero Code Suppression: ON = not provided, OFF = provided

Again, I don't claim to know the details on all of these options, but the settings listed above worked.

SW15: 1000

1 = Impedance: ON = 100ohm, OFF = 110ohm
2 = Transmission transformer at middle point: ON = Ground, OFF = Open
3 = Reception transformer at middle point: ON = Ground, OFF = Open
4 = Idle Code: ON = Send, OFF = Don't send


Not much is involved in the switch programming for the DLI. If you know NEC 2400 programming, then this will make
sense to you. If not, get an NEC guy for help!
Each port on the DLI card represents one channel. On the DLI card, the NEC views these ports just as if they were
traditional analog extensions. Therefore, programming is quite simple:

CMD ASDT: LEN = xxxxxx, TEC = 3, RSC = 1, SFC = 1

Where xxxxxx is the LEN of the port being programming

I used default RSC and SFC but I recommend getting your PBX guy involved if you plan on putting something into production.


My connection to the PBX was on span 4, so my zaptel.conf file looks like this:

span=1,1,0,esf,b8zs		# My PRI line
span=2,0,0,esf,b8zs		# Unused span
span=3,0,0,esf,b8zs		# Unused span
span=4,0,0,esf,b8zs		# Connection to NEC PBX
loadzone        = us
defaultzone     = us~~


My zapata.conf file is configured for both the PRI on span 1 and the PBX connection on span 4. For the sake of brevity I will include
only the lines relevant to span 4:

signalling=fxs_ks ; setup for connection to NEC PBX
context=demo ; use demo context for incoming calls
channel => 73-96 ; 24 channels to NEC PBX

For extensions.conf, I simply copied the lines from the demo context in the sample extensions.conf file.
I mostly just used the Echo application. I also setup an extension that goes straight to the echo app so that
I could test quickly.
exten => 601,1,Echo


That's it! From here on out it's all about the dial plan. I've successfully dialed from another PBX extension into Asterisk
with the above configs. I've also dialed from Asterisk out to the PBX. I simply set up a test SIP extension and X-Lite client
for testing. It works very well, at least for one call at a time.

I'm new to Asterisk, so I appreciate any suggestions for improvement. Special thanks to Jason Kawakami for answering
some very basic telephony questions.


Go back to Asterisk legacy integration

Created by: mercutio_viz, Last modification: Fri 05 of Nov, 2010 (22:57 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+