Linksys SPA3102 with CommuniGate Pro HowTo
Objectives
This document intend to present how to configure the Linksys SPA3102 device
in order to be able to receive incoming calls on CGPro domain account or PBX
application and to place calls on PSTN through the SPA3102 from a CGPro SIP
account.
Setup will also allow to use a standard phone plugged to the SPA3102 to receive
and place calls as well.
Any comments for corrections, improvements are welcome: freddy at linuxtribe.fr.
Requirements
The local infrastructure in the scope of this document is composed of a
network infrastructure allowing the SPA3102, the CGPro server and the host
running the SIP Clients to communicate on the same LAN. The SPA3102 will not
be used to enable access to the internet, it will be considered as a simple
PSTN gateway on the LAN.
The SPA3102 device is connected to a standard analogical phone, RJ11 connected
to the PHONE port (Line 1) of the SPA3102. The Line port (PSTN Line) is
connected to your analogical phone line.
Limits
Routing or firewalling issues between different hosts of the infrastructure
are out of the scope of this document. All setup is made for hosts on the
same LAN.
This document does not include SIP DNS records details to route SIP calls
between the devices. All routing is configured in devices and applications
using devices IP only.
The SPA3102 supports VoIP connections through gateways to external VoIP
providers. The related setup to enable this features is not described
in this document. Also, SIP Gateway setup is quite straightforward and Dial
Plan syntax understandable with some documentation provided at the end of this
document.
This setup has been validated with:
- Freebox V3/4 for RJ11 analogical to VoIP gateway,
- Linksys SPA3102 - Software version 3.3.6(GW), Hardware version 1.3.5(a),
- CommuniGate Pro 5.1.12,
- X-Lite 2.0,
- Twinkle 1.0.
Linksys SPA3102 Setup
Network
Once you did connect for the first time the SPA3102 to the LAN using the RJ45
port called "Ethernet", mount some of your computer in the 192.168.0.0/25 network (not
the 192.168.0.1 which is currently used by the SPA3102) and access
the url http://192.168.0.1/ to manage the SPA3102.
You're able to configure the SPA3102 via the phone plugged to the Phone RJ11
port as well using **** to call the voice configuration menu. Consult the
end of the "SPA3102 User guide" at the end of this procedure to get key code
details.
1. Go to the Admin advanced
page of the SPA3102.
2. Click on the "LAN Setup" tab and if not required, disabled the DHCP
server and affect a "LAN IP address" with the appropriate "LAN Subnet Mask".
Please note the DHCP server is enabled by default and you may better boot all
your DHCP hosts clients before the SPA3102 to be up or some of your hosts
may get broken DHCP configuration answer to their DHCP requests. I noticed
as well the SPA3102 don't like to have both network interfaces "LAN" and "WAN"
in the same network: the "LAN" interface do not answer ICMP request anymore.
3. Click on the "WAN Setup" tab and change the "Remote Management",
Enable WAN Web Server parameter to "yes" and "Submit All Changes".
4. Still on the WAN Setup tab: please document local IP "Connection Type"
and required details in order your SPA3102 RJ45 port ("Internet") to be
available on your LAN and "Submit All Changes".
5. If the RJ45 Internet port was not yet connected, you can switch the
RJ45 cable from the "Ethernet" to the "Internet" port and connect to the
SPA Web Interface through the IP you did affect to your device (SPA3102-IP
within this document): http://SPA3102-IP:port/admin/advanced
Voice
First, we'll make sure the device is working correcly with our PSTN local
details.
1. Click on the "Admin-Advanced-Voice" tab and go the the "Line 1" sub
menu. Change the "Dial Plan" to: (S0<:@gw0>) and "Submit All Changes".
2. Use the phone plugged to the RJ11 "Phone" port an try to place a call.
3. Call from any PSTN device to your local phone number to see if you
can receive the call.
Now your PSTN gateway looks to be working, we can configure the "PSTN Line"
sub menu:
4. In the "Proxy and Registration" section, you may
change "Make Call without Reg" and "Ans Call Without Reg" from "no"
to "yes". I noticed both of these options to be inverted with my SPA3102
software release or I just understood the oposite of this options details...
5. In the "Dial Plans" section, "Dial Plan 1" should be (xx.) and please setup "Dial Plan 8" to (SO:some cgpro account@CGPro-IP:5060>).
6. In the "VoIP-To-PTSN Gateway Setup" section, set "VoIP-To-PSTN Gateway
Enable" to "yes", "VoIP Caller Auth Method" to "HTTP Digest".
7. In the "VoIP Users and Passwords (HTTP Authentication)", document the
"VoIP User 1 Auth ID" and "VoIP User 1 Password" and the "VoIP User 1 DP" to "1"
. This login/passwd details will be used by CGPro to authenticate to the
SPA3102 device.
8. In the "PSTN-To-VoIP Gateway Setup", change if options are not already
correctly configured "PSTN-To-VoIP Gateway Enable" to "yes", "PSTN Caller Auth
Method" to "none", "PSTN Ring thru line 1" to "no" if you want to disabled you
phone to ring on incoming PSTN calls, "PSTN CID for VoIP CID" to "yes" and
"PSTN Caller Default DP" to "8".
CommuniGate Pro Setup
We are now going to prepare CGPro to be able to receive and place call through
the SPA3102. We are going to tell CGPro to act as a relay within SIP
communications in order to troubleshoot SIP transactions.
1. In the "Settings->Real-Time->SIP->Sending" tab, change "Transport->
Log Level" to "All info", "Client Transactions->Log Level" to "All info" and
"Protocol->Force Dialog relaying", "Timer B" to "5 sec".
2. In the "Settings->Real-Time->SIP->Receiving" tab, adjust the
"Transport->Enqueuers" to a confortable value based on the tests you intend to
do. You may change "Log Level" for the "Transport" and "Server Transaction" to
"All info" as well.
3. If you intend to change the SIP port of the CGPro listener, please
modify the "Dial Plan 8" on the "PSTN Line" tab of the SPA3102 in order the
same port to be used to manage incoming PSTN calls forwarded by the SPA3102
to CGPro.
On the CGPro "User" settings, we need to configure a CGPro domain to use our
PSTN gateway. Click on the domain of your choice in the domain list. Please
make sure the SIP service will be available for this domains and accounts you
want to use it. Let's create a bpx account in order to define a specific PBX
environment for this domain.
4. In the "Domain Settings" of the domain you're intended to use for
the SIP service, setup your CGPro-IP, as a domain alias.
5. Create the "pbx" account with "200" and "conference" aliases. Make
sure this account has "Cann Access All Files" and "Can Impersonate" "Access Rights" in the "Object" section. Create a "Real-Time->Incoming Call Rules" as the
one documented in the "pbx" account of your main cgpro domain.
6. In the "Account Defaults->PSTN" tab of the domain you choosed, please
change "Gateway Domain" and "Gateway Address" to "SPA3102-IP:5061",
"Name for Gateway" with the "VoIP User 1 Auth ID" and "Password for Gateway"
with the "VoIP User 1 Password" you did setup in the SPA3102 "PSTN Line",
"VoIP Users and Passwords (HTTP Authentication)" section.
We assume SIP users to use international phone numbers extensions
(+country_code number). We need to setup routing rules for outgoing
and incoming PSTN calls.
7. Calls to the PSTN have to be forwarded to the 'gatewaycaller' PBX
application: S:<+*@pstn> = gatewaycaller{00*}#pbx@CGPro-IP
8. Incoming calls from the PSTN network are coming from
PSTNnumber@SPA3102-IP:5061 may be domain masquareded in order
users to see PSTNnumber@your cgpro domain in their caller list
allowing them to dial back easily. This feature or workaround is not yet
documented here.
SIP Client Setup
X-Lite
Here are the standard settings I did use with xtensoftphone:
System Settings - SIP Proxy - Default
- "Enabled": yes,
- "Username": cgpro sip user account,
- "Password": cgpro sip user password,
- "Domain/Realm": your cgpro domain,
- "SIP Proxy": CGPro-IP,
- "Out Bound Proxy": CGPro-IP,
- "Use Outbound Proxy": Always,
- "Send Internal IP": Default,
- "Register": Default.
Twinkle
Here are the standard settings I did use with twinkle:
SIP account
- "User name": cgpro sip user account,
- "Domain": your cgpro domain.
SIP authentication
- "Realm": your main cgpro domain,
- "Authentication name": cgpro sip user account@your cgpro domain
,
- "Password": cgpro sip user password.
SIP server
- "Registar": CGPro-IP,
- "Use outbound proxy": clicked,
- "Outbound proxy": CGPro-IP.
Documentation
A lot of people were looking for some consistent documentation about the
Linksys SPA3102. I found some paper on some obscure path of the Internet. It
describes most of the advanced options on the device, really useful. So, you
can download this document here. And please
take a look as well to the standard SPA3102 User
Guide.
CGPro online documentation always available with your product release:
https://yourmain-cgpro-domain:9010/Guide/.