Installing Axon Virtual PBX
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.
More information on how those different products can be used together.
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
The EXE will install...
To have Axon up and running, you'll need to create
- extensions (and one group of extensions so as to have incoming calls
ring more than one extension),
- an external line (either remote SIP, or an FXO/SIP gateway at your premises),
- a dial plan, so that Axon knows how to handle outgoing calls (either
dial an internal extension, or dial out through either the Net or the FXO/SIP
By default, the Web configuration server runs at http://localhost:81,
and presents the following dialog:
- Number of internal extensions required = 10
- Web control panel user name = <your choice>
- web control panel password = <your choice>
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:
- UDP 5060 (for SIP)
- UDP 8000, 8002, 8004, 8006...8020 (for RTP)
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:
- Extensions : each extension has a login/password that you'll have to type into the IP phone that you will use to register with the Axon server
- External Lines : this is where you'll enter the login/password that the FXO/SIP gateway will use to register with the PBX; You'll also have to choose which extension or group of extensions the PBX will ring when the gateway detects an incoming call
- Dialing Plans : This is where you tell Axon what to do with outgoing calls; By default, numbers that start with 0 or 9 will be dealt with in the Default dialing plan as set above in the External Lines section, ie. those calls will be forwarded to the SIP gateway on to the POTS line; Other numbers are considered to be internal extensions (eg. 101, 102, etc.) and will be handled directly
- Groups or Queues : Lets you create groups of extensions, eg. an incoming call meant for extension 701 will ring extensions 101, followeb by extension 102 if 101 doesn't answer within 5 seconds.
an account for the Linksys gateway (I'll assume that Axon is running on a PC
with IP address 192.168.0.2):
- Launch your browser to http://192.168.0.2
- Log on using the parameters you chose when installing Axon, eg. Admin/test
- Click on "External Lines"
- Click on the Default external line name
- For "ID or User Name", type "linksys", and for "Password",
also type "linksys"
- 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
- In the upper right-hand, click on "Admin login", and "advanced"
- 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
- In the Voice section, click on "Line 1", go to "SIP Settings",
and set "SIP Port" to 5070
- 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:firstname.lastname@example.org:5070")
- 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".
- 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"
- Click on "Submit all
changes" to validate
- Once the Linksys has rebooted, the FXO should register with Axon ("External
Line linksys is at: sip:email@example.com")
- 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
Answer Call without reg = YES
Back to Axon
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
Connecting to Skype?
to Skype gateway breaks Skype's Great Wall of VoIP
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
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:firstname.lastname@example.org:5060
Register attempt for sip:email@example.com: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:firstname.lastname@example.org",
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.
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 =
!!!! 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: "RegOK. NextReg in 177 (1)
". On the other hand, it shows when a softphone like the X-Free registers.
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
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.