Adtran Total Access 900 Series - PRI and FXS Ports with Asterisk
Asterisk is a very flexible platform. As with any tool that can perform many functions, that flexibility can translate into a complicated set of options. Over the years we’ve struggled with determining the best way to get traditional circuits and devices connected to the system. How to I connect to a PRI? How do I get those analog phones or devices connected the best way?
Our choice thus far has been to use Xorcom communication servers and the built-in telephony ports for all of our installations. If we needed remote sites, we would just deploy another Xorcom platform and connect via Asterisk / FreePBX through dial plan work. Sometimes, however, there are cases when you need to have remote trunks and another Asterisk platform is not the right answer. What’s the best way to remotely connect in trunks and analog station ports?
If you go through the information at voip-info.org or on the variety of sites that sell gateways that work with Asterisk you will find a wide variety of manufacturers and products. Grandstream, Cisco, Audiocodes, Multitech, Quintum, and others are represented. I came across an article talking about the Adtran Total Access line. I’ve seen many Adtran devices during installation – as they seem to be a favorite of the local carriers in Illinois.
Some quick research uncovered that the Adtran Total Access line had the ports that I was looking for and fit the right price range as well. A couple of phone calls later and there was an Adtran 908e on the way to our office.
Initial Impressions
In the box were the normal things – the product, power supply, and a documentation CD. The product itself was impressive as the case is hefty and it seems to be really well made. As I looked around the device, I found that the 908e can also take a local battery backup – a big plus for local survivability. Following the quick start guide, I was able to get into the device, set the IP address, turn on DHCP, and place it in my test environment.
Functionality Requirements
The project that I am working on requires remote interfaces for PRI and Analog FXS ports. I need to be able to route calls out of a local trunk even though the Asterisk is located in the customer’s cloud-based system. For the purpose of my evaluation, I just had to be sure that I can complete calls and attach local FXS devices.
Result
The Adtran 908e performed exactly how I had hoped. Once my setup was complete, there was no drama in conducting calls to / from all trunks and resources. The audio quality was clear and the device survived just fine through a series of simulated power loss situations. Furthermore, since the Adtran 900 series is completely stand-alone and standards based, we are not limited to a particular load of Asterisk to use the functionality it offers. How did we do it? Keep reading!
How To: Connect Adtran Total Access 900 Series to Asterisk for PRI Trunking and FXS Connectivity
(Click here for configuration file for the Adtran TA908e)
In retrospect, the process to complete these tasks is fairly easy. While working on the project, however, it was a mystery to me until the pieces fell into place. This is because the Adtran Total Access is very flexible – just like Asterisk. There were several steps required to build each type of connectivity because there are so many options. If you follow along you will be able to use the TA908e on your Asterisk system as well.
Configuring the Adtran
To start with, please remember to follow the quickstart guide to configure the IP address of the system and turn on any other network specific functions you require. First and foremost, you want to make sure that it is working as a network device.
Setup the PRI Interface
Log into the Adtran and you will be greeted by the system summary. Notice no T1/PRI interfaces are enabled or active.
Click on the Physical Interfaces tab
Click on the name of the interface that you wish to configure
First setup the T1 Signaling – Remember to Apply after choosing the settings below. The FDL setting was a guess for me – your provider may require something else – it’s easy to switch if you need to later.

After you apply the changes above, go back to the interface and allocate the channels to the PRI as shown below. Remember to “add” the configuration as well.

After you click add, name the PRI, and then apply the changes. **** Please note - I have "Network" selected for protocol emulation. This applied because I was connecting to an Asterisk box via the PRI. If you are connecting to a carrier, then you must choose "User" as the protocol emulation! ****

We are all done with Physical Interfaces for now. Now select the Voice tab on the left, and then the Trunk Account tab.
Create a trunk account. Remember to associate it with the PRI interface you just created as well in the ISDN Settings section.

After we create the trunk, we need to create the trunk group. This is necessary, even if you only have a single trunk. In Voice / Trunk Group create the new trunk group.

Remember to add members, and choose the trunk you previously created.
**** Important Note **** You must choose the outbound dialing templates to allow before you can dial out. The standard options should be fine for most PRI installations. If you are creating a trunk to another local phone system you need to create a custom rule to allow you to send any digits you want to send. To do this, click on configure advanced templates, and setup an entry that is just the “$” character. As you can see in my example below, I have a “22$” entry. Any numbers dialed on this system that start with “22” will be dialed via this trunk group. Be sure to add this entry to the “allowed” group.

After the above steps are completed, the Adtran 908e knows about the PRI interface, but it does not know about the Asterisk on the other end. To do that, we need to build a SIP trunk to the Asterisk box.
Go back to Trunk Accounts (under voice) and build another trunk. See the pictures below for my settings.




**** Note **** While I have a SIP registrar specified, I never actually entered credentials to register. I did not specify this requirement for the Asterisk / FreePBX Trunk.
On the Asterisk – Create the SIP Trunk in FreePBX as shown below. All options default. Remember to create an outbound route that will send the digits as you need to dial them through the Adtran Total Access. The information has to agree in that if the dial plan on the Adtran is expecting to see 18005551212 as the number you cannot send a trunk access code, I.E. 9, out to the Adtran. The reverse is also true – if you program different trunks in the Adtran and use dial access codes, then you must configure Asterisk / FreePBX to send the code.

Configuring the Analog Station Ports on the Adtran to work as FXS stations on the Asterisk / FreePBX
Once the SIP connectivity is established between the two systems, the process of setting up the analog ports is a snap.
In Asterisk / FreePBX configure your SIP extensions for your analog stations.
In the Total Access, Create a user account for the Analog extension. The Extension number specified here is the Adtran internal extension, not your Asterisk extension.

Next, assign a sip identity for the analog extension. Click on add sip identity and then fill in the blanks. I matched the SIP identity to the trunk authentication credentials and entered the Asterisk sip secret into the password field.

Add SIP identity and submit. Do a quick check on the Asterisk CLI with the SIP SHOW PEERS command to verify that you are communicating.

PRI Troubleshooting Tools
On your Asterisk Server, login to the CLI and issue the command PRI SHOW SPANS

For more detail, you can use PRI SHOW SPAN 1

On the Adtran Total Access 908e, you can login and go to enable mode and type DEBUG VOICE SWITCHBOARD to see detailed voice activity. This is great to make sure your call is being sent to the right interface.



