Installing Axon Virtual PBX

Introduction

Axon is a free SIP PBX server for Windows. You'll need a so-called SIP gateway such as the Linksys SPA-3102 to connect it to the phone network, but if you don't have landlines and rely on a VoIP provider to handle the Internet-to-POTS gateway, you're all set. I used version 1.08 for this article.

Complementary applications:

More information on how those different products can be used together.

Setup

PSTN Gateway

We'll use the Linksys SPA-3102 as a gateway between a regular landline phone line and Axon. To configure the 3102 as a PSTN-to-PBX SIP gateway when you already have a router, read Linksys SPA-3102 FXS/FXO. Once you can connect to its embedded web server through the WAN/Internet port, leave the browser open, as we will go back and finish configuring it after setting up the Axon server. If you want to make a bit of sense of the Linksys, jump to chapter 4 of Sipura's SPA User Guide.

Configuring Axon

The EXE will install...

To have Axon up and running, you'll need to create

By default, the Web configuration server runs at http://localhost:81, and presents the following dialog:

You must open up ports on your firewall so that incoming calls can be routed in to the Axon server for SIP. You might also need to open up extra ports for incoming RTP connections if some internal SIP device must go through the Axon server to talk to a remote SIP device. You must open the following ports on the firewall:

Important: The "Internet Connection Sharing" will pop up a bunch of time, possibly for all ten extensions. It's not a bug.

After logging on to the web interface, you are presented with the following menus:

To create an account for the Linksys gateway (I'll assume that Axon is running on a PC with IP address 192.168.0.2):

  1. Launch your browser to http://192.168.0.2
  2. Log on using the parameters you chose when installing Axon, eg. Admin/test
  3. Click on "External Lines"
  4. Click on the Default external line name
  5. For "ID or User Name", type "linksys", and for "Password", also type "linksys"
  6. Click on "Save Changes".

Next, let's go back to the Linksys web interface to configure it so that both its FXS and FXO devices register with Axon.

Configuring the Linksys 3102 PSTN Gateway

  1. In the upper right-hand, click on "Admin login", and "advanced"
  2. The first thing to do, is change the UDP port that the Linksys uses for the FXO port: Axon expects it to be 5060, while the default on the Linksys is 5061 (5060 is for the FXS). We'll set the FXO to 5060, and the FXS to 5070.
  3. In the Voice section, click on "Line 1", go to "SIP Settings", and set "SIP Port" to 5070
  4. While we're here, let's add the relevant information so that the handset registers with Axon as an SIP client: Scroll to "Proxy and Registration", and set "Proxy" to the IP address of the PC where Axon is running. Next, in the "Subscriber Information", set "Display Name" to "John Doe" (it's just for caller ID), "User ID" to "101" (that'll be its extension in Axon), and "Password" to "rskbuzej" (that's the default password when setting up Axon). Validate by clicking on "Submit all changes" at the bottom. Once the Linksys has rebooted, you should see the FXS device registering with Axon ("Extension 101 is at: sip:101@192.168.0.1:5070")
  5. Next, still in the Voice section, click on "PSTN Line", go to "SIP Settings", and set "SIP Port" to 5060. Go to "Proxy and Registration", and set "Proxy" to the IP address of the Axon PC. Go to "Subscriber Information", and set "Display Name" to "Linksys gateway", "User ID" to "linksys", and "Password" to "linksys".
  6. Let's also allow caller ID to be passed from the PSTN line to the VoIP extensions: Scroll down to "PSTN-To-VoIP Gateway Setup", and set "PSTN CID For VoIP CID" to "yes"
  7. Click on "Submit all changes" to validate
  8. Once the Linksys has rebooted, the FXO should register with Axon ("External Line linksys is at: sip:linksys@192.168.0.1")
  9. Plug in a phone line in the Line interface on the Linksys, and check that the voltage is OK in Voice > Info > PSTN Line Status > Line Voltage

Answer Call without reg = YES

Back to Axon

WHAT NEXT?

(s0<:fxo@pbx_ip>)

RING, NOT CHIME

DELAY = 0 for all extensions

 

Installing a softphone

PSTN calls ringing the softphone

Configuring IVM Answering Attendant

Windows SIP clients

See VoIP using SIP

Q&A

Connecting to Skype?

http://www.rsdevs.com/psgw.shtml

SIP to Skype gateway breaks Skype's Great Wall of VoIP

http://www.nch.com.au/skypetosip/

I can't register X-Lite with Axon

If X-Lite is installed on the same computer on which Axon is running, make sure you don't use "localhost" as Domain, but rather 127.0.0.1.

Can an external line be part of a ring group?

No. "External lines" such as a PSTN line or a VoIP account can only be used to route incoming calls to a ring group, or for a local extension to dial out using a dial plan. If you want to include a remote VoIP account into the default 701 ring group, it looks like you'll have to use another PBX software.

Axon goes off-hook with incoming PSTN calls while ringing an extension

By default, Axon is set up to play musich on hold using its IVR. If you didn't install it, you must change a setting in Axon to tell it to remain on-hook while it rings an extension:

Hold Options while waiting = Basic Hold Chimes -> Ringing Only

How can I use the FXS to dial internal or external SIP devices?

Just want to use the FXS as an IP phone on the LAN to call other devices either here or on the Net. Should I change the default Line 1 > Dial plan so that calls don't go out to the PSTN line?

Call from PSTN, forward to PBX, ignore incoming call, hang up remote phone...

... the softphone keeps saying "Incoming call from SIP Gateway" even though I hung up!

What dial plan to use in Line 1 to use the FXS phone to call extensions?

By default, users the FXO line to dial out.

In " External Line", if I fill the Server section...

... I get the following:

Attempting to register sip:linksys@192.168.0.1:5060

Register attempt for sip:linksys@192.168.0.1:5060 failed

501 Not Implemented

Can the FXS phone be used as an SIP client, just like X-Ten?

Must click on "Save all settings" when changing any page, or OK to just do this after changing more than one page?

"The Submit All Changes button will save the changes on all pages. You can however hit that button at the end of each section if you wish to do so."

How to set the date and time on the Linksys?

Voice > Regional > Miscellaneous : Set Local Date (mm/dd): 01/01/2006 Set Local Time (HH/mm): 18:39

After setting the IP address identically for the LAN and WAN interfaces, can no longer ping the Linksys...

... and the IVR said "Invalid option" for 100#.

How to reset the Linksys to factory default?

Use the handset, and type ****, followed by 73738#, and 1# to confirm.

If I reboot Axon, I must restart the Linksys gateway for it to register

By design, devices only register every 3600s?

At work, I hear crap when I pick up the handset connected to the FXS port

Line voltage says 38V. At home, says, -43V.

I no longer see the Linksys register to Axon when started...

... even though Voice > PSTN Line > Proxy and Registration and Subscriber Information are correctly configured. "Step 5 (Optional) - Configure an FXO/FXS adapter [...] Once this is done, the adapter will now try to register the line with Axon, and you will see a message appearing in the log window." : it used to, but no longer.

=> It registers only if I fill in Proxy and Registration and Subscriber Information in Voice  > Line 1!

=> Express Talk says "Registered as sip:101@192.168.0.233", but don't see anything in Axon

At work, the FXS phone lets me work with the Linksys IVR; At home, I get the PSTN dialtone: Voltage issue?

At work, PSTN connected says 38V. At home, says Line Voltage: -43 (V)

Why does the Internet Connection Sharing pops up when setting up Axon or ExpressTalk?

"Axon is not just for authentication; it sets up, establishes, and terminates the calls. As far as the audio goes, if Axon determines that the caller and callee can't send audio to each other directly then it will also insert a relay - e.g. on an internal network running Microsoft Internet Connection Sharing. It will also insert a relay if you have chosen to setup call recording through VRS. If a relay is not required then audio will travel directly between the two phones."

For RTP, can I use every port instead of every other port?

If you have 10 extensions, you must open every other UDP port starting from the default 8000. It doesn't seem possible to use every port, ie. 8000-8010 instead.

What if the PBX and all the IP (soft)phones are behind NAT firewalls?

NAT router behind which Axon is set up has UDP 5060, 5070, 8000-8020 forwarded to Axon; Axon has an SIP gateway to connect it to the POTS; A remote IP phone (which itself has its NAT firewall mapping all those ports to it) registers with Axon; When an incoming call is presented to Axon by the SIP gateway, Axon uses SIP to ring the remote phone by calling on UDP 5070; One the phone goes off-hook, which ports are used by Axon and the remote phone for the conversation to work in RPT?

Can't go through NAT

"All I can say is good luck with the NAT router. I gave up on my NAT router because I could not get Axon to work through it no matter what I did. I ended up with a Linksys that uses packet sniffing instead of NAT and so far I have had no problems with the system, other than dropped calls because my DSL connection is to slow."

I don't want the handset on the FXS port to ring

By default, Linksys will ring the FXS line with each incoming call. To disable this, PSTN Line > PSTN-To-VoIP Gateway Setup > PSTN Ring Thru Line 1 = No.

!!!! If you do this, incoming calls from the PSTN line will not be forwarded to the PBX.

Line1/PSTN didn't register after 3600s like they should

It looks like Axon doesn't show when the Linksys registers, although you can see those if you use a syslog server: "[0]RegOK. NextReg in 177 (1) ". On the other hand, it shows when a softphone like the X-Free registers. Go figure.

I forwarded UDP 5060 on the router to the server running Axon, but can't telnet to it from the Net

Telnet uses TCP...

How to forward all incoming SIP calls for the FXS port to the PSTN line?

Use <:@gw0> in the Line1 dial plan. Those calls get routed to the PSTN line.

I'd like to force the FXS phone to dial out to the PSTN line

Add |<#9:>xx.<:@gw0>| in the Line 1 dial plan settings: Whenever you dial #9 followed by a number, your call will go out through the PSTN line. Other calls will go out through the VoIP provider.

Alternatively, under User 1, set "Cfwd All Dest = gw0" to forward all calls to PSTN line. You can limit which callers get to hop to the PSTN line from the Net through the Linksys by listing the allowed numbers in the Cfwd Selective feature of Line 1.

Resources