Use Analog Landline Service for outgoing with HT703 or SPA112?

Hi everyone,

I am wanting to do two different things and want to make sure I understand the way ATAs convert to SIP using FXS or FXO ports.

Currently I have an Asterisk Box using Elastix 4.0 (Asterisk 11?).

I want to use 2 pots lines as the outgoing lines. I bought a Grandstream HT703 which has 2 FXS ports. Because I am learning, I also bought a Cisco SPA112 that has [ 2 FXO ports. ] (Oops it has 2 FXS Ports, now I understand I need 2 FXO ports to do what I want.)

 1) Which device would I use to connect to the active pots lines? (My current knowledge says the HT703)
 2) Do I setup the device (based on question 1) as a SIP extension to asterisk?
 3) What settings in Asterisk do I set for using these as outgoing lines? (Preferably in the FreePBX GUI or Elastix GUI, but I will take ".conf" settings if that's the only way to do this)

For a little more information, I successfully have multiple extensions with both NAT’ed remote SIP clients and local hardwired phones/devices. I also am using a raspberry pi as a paging phone and even got the SPA112 working as a SIP client to my asterisk box to make my analog cordless phone system work with the PBX box.

I currently have a SIP trunk with Google Voice ( that is working very well. The next step in my testing is to get the landlines working for failover & just quality testing.

Thanks so much for any help.

  • Matt
  1. FXS and FXO go together as two halves of a whole. Your telco has FXS interfaces that connect with FXO interfaces. So, to connect to lines you get from your telco, use a device on your side that’s an FXO device - the HT703, I presume, but I don’t actually know the specifics of that device. Don’t connect FXS to FXS, your devices won’t survive it.

  2. Asterisk treats everything (in 12 and forward w/ PJSIP) as an endpoint. So, you’d setup endpoints. Some endpoints represent things that turn out to be telephone sets, others represent things that are service provides. For your FXS devices (telephones), you’re probably setting up extensions (I’m not an Elastix-versed person). For your FXO devices (your trunks), you’re probably setting up “trunks” or “providers.”

  3. Walking through all of the details here in a forums posting would take a fair piece of time. There’s a good amount of data on setting up various things that can be found on the wiki -

1 Like


Thank you for your reply. That makes sense and I assumed the SPA112 was FXO… it is also FXS, oops! So now I have 2 different FXS devices…

I am going to be getting off the Elastix bandwagon since they are removing asterisk in Elastix 5 and going with 3CX. So I will install a new setup of FreePBX or IncrediblePBX with the latest Asterisk.

I found an article talking about how to use an FXO port to interface with an FXS signal (incoming landline as an example)

Particularly on on the “Why” section it says the following:
“ii) In the extension for the FXO, change the context from ‘from-internal’ to ‘from-trunk’ which now causes the Inbound Route to be invoked.”

The from-trunk / from-internal was what I was missing (and the proper FXO hardware).

The way you answered in question #1 as “two halves of a whole.” Helps me visualize the route and I will work on these steps and get back to you.

Thanks for your help!

  • Matt

Just a suggestion from past (painful) experience - get a Digium FXO Card:

If you are just experimenting, you can use Software Echo Cancelling (OSLEC - The Open Source Line Echo Canceller) - if this is for production, pay the extra money and get Hardware Echo Cancelling.

Getting Digium cards working under naked Asterisk or FreePBX is trivial, and you will have the best possible experience (and also support Digium!).

Awesome, thanks for the suggestion GSnover!

For now I am messing with virtual machines without PCI access so I ordered an unlocked SPA3000 that I can test around with for FXO Line capability.

Love the asterisk community support!

  • Matt