Connecting your Home Phone to 3CX

As many of you probably do, I use Vonage service at my home over my cable Internet connection.  The other night as I was sitting downstairs trying to convince my 1 month old to go to bed when I began to wonder, “how does Vonage manage to make it so easy to connect my home phone to their service?”.  I was especially curious when I considered that no router changes on my home network have ever been necessary.  I just plugged in the magic ATA device they sent me and the phone just worked.  Then, of course, I couldn’t help but think, “wouldn’t it be great if my home phone was connected to my 3CX system at the office?  Then I wouldn’t have to pay Vonage at all and I could use all the great features of 3CX”.  That was all it took, I had to figure this out.  So, I set out on a quest to connect my home phone to my corporate 3CX system with the requirement that it had to work just as “magically” as Vonage.

And let me spoil this post by telling you that 3CX did not fail to impress me!

As many of you know, using remote phones without VPN is all over the 3CX forums.  It’s one of the hottest topics out there.  NAT and firewalls often create complexities in making this work easily and end up requiring router and firewall modifcations.  Since this is really the same thing (with the additional complication of not using a true IP phone but rather an ATA adapter with my home phone) I figured I was out for some trouble on this.  But, hey, I’m a gluten for punishment!

I began by choosing an ATA adapter.  I wanted it to be inexpensive, like what you get with Vonage (in the $50 range).  So, I chose the Linksys PAP2T-NA.  It’s a simple 2 port FXS ATA device with 1 ethernet connection to plug into my home LAN.  I ordered one online and had it in a few days.  This device is actually used by many service providers so I was feeling good (as much as possible anyway) about the possibilities.

Once I got the device and began surfing around the admin interface, I was extremely impressed with the amount of specialized NAT handling for SIP/RTP that this device had.  I actually found it to be more rich in this area than many (if not all) of the IP phones I have used.  But would 3CX interoperate with these more advanced NAT handling features such as SIP keep-alives?  We would see…

So, I decided to start simple and take it step by step.  I began by simply enabling STUN and NTP on the device and setting the registration and proxy servers to the external DNS name of my corporate 3CX system (note I already have UDP 5060 for SIP mapped into my PBX along with UDP 9000-9015 for audio).  I popped up the admin interface to 3CX…and….nothing.  No registration.  OK, no problem, try again.

So, next, I went back to the STUN settings and enabled all of the VIA settings and then enabled NAT keep-alive with a setting of 60 seconds.  I pulled up the 3CX admin interface…and….BAM…fully registered!  “Great,” I thought to myself, “let’s try a phone call.”  So, I called my desk phone at the office and it rang right through!  But, when my voicemail picked up….no audio.  But, hey, we got it registered, so that’s a start!

Then I decided to take a closer look at the FXS port settings page.  I noticed that I did not have my global NAT preferences mapped against this FXS profile.  So, I turned that mapping on and enabled NAT keep-alive for this particular FXS port.  I picked up the phone, made a phone call….voila!  It worked like a champ!  Perfect audio in both directions.

And that was it.  It’s been working great ever since without ever having to touch my home router.  So, who needs Vonage when we have 3CX and a $50 linksys ATA adapter?  Not me!

Happy 3CXing!!!!

Best,

Mike

PS- If anyone wants details on the specifc options I enabled please feel free to post a comment and I will respond.

Liked this article?


Get notified of new articles
or share
You might also be interested in:
  1. I have been using a Snom 320 phone from my house for home service for a while. Using STUN and a remote virtualized 3CX server. I’d love to see the specific settings as you’ve mentioned also.

    December 23, 2008 at 12:07 am
  2. Matt Landis

    Mike,

    I like your article & style.
    I use a snom370 with openvpn with no issues and like it. Nice thing is I can plug the phone in wherever there is internet and i get presence, record button and all.

    But a nice solution you’ve pointed out too.]

    I don’t have a 1month old to inspired great stories! ;-)
    Matt

    December 23, 2008 at 6:32 am
  3. Tim King

    Hey Mike,

    That was one of those DUH! moment when I read this. …Why didn’t I think of that!

    Anyways, did you need to have the home phone number from vonage ported over to your work telco provider, then setup some kind of did? I am very curious how you set this up, it’s very cool.

    -Tim King

    December 25, 2008 at 1:36 am
  4. Hey Matt. Yeah, the 370 w/ OVPN is a great solution. I love using that. My goal here was to really simulate a vonage-like service specifically for home use. I was looking for an inexpensive way to adapt the existing cordless base station system at my home. Mostly, because my wife already knows how to use it. And if she is happy….then I am happy:)

    In the case of a home CEO or somethign more sophisticated then the 370 w/ OVPN is definitely a more rich solution.

    Mike

    December 27, 2008 at 9:26 pm
  5. Jasno

    Hi, Mike
    I also use PAP2 for connect 3CX PBX.
    I setup 3cx at home and connect one PAP2 have no problem for incoming and outgoing call.

    but I got “NO AUDIO” problem when I connect 2nd PAP2 from my office. I got it registered but no audio.

    I follow your article and enabled NAT keep-alive and all of the VIA settings still have no audio.

    can you sent me the details on the specifc options I enabled.

    Thanks you very much

    Jaosn

    nect from my office. The problem is “No audio”

    January 3, 2009 at 2:09 am
  6. Hi Jasno. Try turning you NAT Keep Alive value down to 15 seconds. I will post my settings for you today…

    Best,

    Mike

    January 5, 2009 at 6:54 pm
  7. Here are most of the critical settings….

    System >> Primary NTP (set to an external NTP server)
    SIP >> Handle VIA Received (yes)
    SIP >> Insert VIA Received (yes)
    SIP >> Substitute VIA Addr (yes)
    SIP >> STUN Enable (yes)
    SIP >> STUN Server (stun.3cx.com)
    SIP >> EXT RTP Port Min (blank)
    SIP >> Handle VIA rport (yes)
    SIP >> Insert VIA rport (yes)
    SIP >> Send Resp To Src Port (yes)
    SIP >> STUN Test Enable (yes)
    SIP >> EXT IP (blank)
    SIP >> NAT Keep Alive Intvl (15)
    Line 1 >> Line Enable (yes)
    Line 1 >> NAT Mapping Enable (yes)
    Line 1 >> NAT KeepAlive Msg ($NOTIFY)
    Line 1 >> NAT KeepAlive Enable (yes)
    Line 1 >> NAT KeepAlive Dest ($PROXY)
    Line 1 >> SIP Port (5060)
    Line 1 >> EXT SIP Port (blank)
    Line 1 >> Proxy (external IP of your 3CX box)
    Line 1 >> Outbound Proxy (external IP of your 3CX box)
    Line 1 >> Register (yes)
    Line 1 >> Use Outbound Proxy (yes)
    Line 1 >> Use OB Proxy In Dialog (yes)
    Line 1 >> User ID (extension user ID in 3CX)
    Line 1 >> Display Name (your name)
    Line 1 >> Password (extension SIP password in 3CX)
    Line 1 >> Auth ID (3CX extension)
    Line 1 >> User ID (3CX extension)
    Line 1 >> Use Auth ID (yes)

    January 8, 2009 at 11:55 am
  8. Jack

    Hi Mike,

    A very nice article to bring out the possibility of setting up external extensions to hook up with the office.
    However I have some problems in setting this up for my SOHO. I am not sure whether this is the correct place to put forth this problem here. However, I’ve browse through all the 3cx forums and it seems to be a common problem and I cant find a solution!. Hope 3cx can maybe address this issue and put out as a help or guide for new users.

    The problem I have is as such:

    1) The 3cx PhoneSystem at the office is connected via ADSL to the ISP through a home broadband router.
    2) All ports as required 5060-5061, 9000-9049, 3478 are forwarded to the 3cx server.
    3) Private network is 192.168.1.0, server is on 192.168.1.1
    4) SIP phones used are both softphone and hardphones.
    5) Internal calls have no problem. Registration and audio are good.
    6) Problems comes when trying to call from an external extension setup.
    7) Calls come in from external, phone rings, call pick-up but alas! there is no audio.
    8) At remote site, all supposedly ports required are forwarded to the client.
    9) Question is, are there any settings that I’ve overlooked?

    In the 3cx phone system:

    Under Settings for Direct SIP calls :
    1) Allow calls to external SIP URIs are checked.
    2) Local SIP domain is set to 192.168.1.1 (local 3cx server address)
    3) Stun server set to point to 192.168.1.1 also with port 3478

    Seems that the issue is the SIP audio is lost in the sea of routing. I’ve looked through the docs as well and could not really find information detailed enough to solve the problem. Appreciated if you can help set this up for users like me to point to the correct direction.

    Thanks in advance.

    Regards
    Jack

    January 10, 2009 at 9:45 am
  9. Hi Jack,

    At first glance this is almost certainly a firewall issue. When customers have problems setting up external extensions its firewall issues on the network, or the ISP blocking certain ports. You can review these VoIP nuggets which i believe you will find relevant

    External extension setup
    link:www.3cx.com/blog/voip-nuggets/setup-external-extensions/

    Please note that because of this we developed the tunnel. The tunnel feature is included in the free edition. WIth the new voip client (see voip phone forum for download) tunnel is also a lot easier to setup. I suggest using the tunnel feature when you are stuck with using ‘standard external extensions’

    We are also posting a voip nugget about the tunnel over the next few days.

    Hope this helps.

    January 12, 2009 at 1:29 pm
  10. Hi Jack. So, let me make sure I’m on the same page here. So, if the remote extension, calls an extension at the office….the extension at the office cannot hear the remote extenion but the remote extension can hear the extension from the office? Is that correct? Is your remote extension using the technique I have outline in this artice or a different method (i.e., is it a home phone using the pap2t adapter or an IP phone)?

    Thanks!

    Mike

    January 12, 2009 at 6:33 pm
  11. Ralph

    Hi Mike,

    Ok, I have some questions about the way you did your home connection.
    Do you know if this way (Linksys PAP2T) will work ok with DyNDNS without a PC?
    I am using a Linksys router with auto-update DDNS function and that’s why I am asking if you know if Linksys PAP2T can connect using FQDN instead of IP.
    Remote phone is at my parents home and they do not have an always-on PC and 3CX will be on my home server with DHCP DSL connection.
    Even better, do you think is it possible to install an SPA-3102 at my parents house, connect their regular wireless phone, their PSTN line and CAT 5 cable from their router, and configure the 3102 the way they can use the phone to place and take calls either, from a local terrestrial phone line or as an 3CX extension with only dialing a prefix to switch from one to another?
    For them, this will be the best thing since sliced bred ;-0

    tks

    January 14, 2009 at 11:27 pm
  12. Hi Ralph. Yes…and yes:)

    You can use an fqdn in place of an IP. You would just use whatever.dyndns.org for your registrar and proxy, etc.

    Also, you can use an sap3102. They have virtually identical settings. You would need to use the dial plan function inside the spa 3102 to control the dial prefix to send call to 3cx or out the local loop.

    Best,

    Mike

    January 15, 2009 at 7:02 pm
  13. himanshus

    Does the Tunnel use G729 for remote extensions?

    January 19, 2009 at 6:34 pm
  14. If the phone supports it, yes. However 3CX VoIP client does not have G729, it uses GSM and soon G722.

    January 19, 2009 at 7:13 pm
  15. Jack

    Hi, thanks for all the replies.

    Been busy trying to complete the set up but still having the same problem.

    A tunnel cannot be used as there is only a PC at one location.
    A DDNS service is setup on the IP-PBX server to get the dynamic IP.

    Settings on the 3CX server:

    1) IP of the 3CX server : 192.168.1.1
    2) Allow calls to external SIP URIs : Checked
    3) Local SIP domain : Pointed to the FQDN name of the DDNS service registered.
    4) STUN server – Primary STUN server – Set to 192.168.1.1
    Secondary STUN server – Set to 192.168.1.1 also.

    Question : Is the STUN server correct? Understand 3CX also act as STUN server.
    5) All other settings are as default.

    Extensions :

    Local Extensions : 100-101
    Remote Extension : 200-201

    1) PBX Delivers Audio : Checked
    2) Remote Extension is set up as follow : Please do correct if wrong

    A generic SIP trunk is setup as such for remote extension –

    a) SIP Trunk Name – Generic SIP Trunk
    b) SIP server and outbound is setup to be the FQDN of the 3CX server.
    c) External number set to be 200. Set to connect to extension 200 (Virtual extension 10000).
    d) 2 Outbound rulesare created to route via “Generic SIP Trunk”.
    i) Calls to numbers starting with 1 from extensions 200-201with length of 3 via “Generic SIP Trunk”.
    i) Calls to numbers starting with 2 from extensions 100-101with length of 3 via “Generic SIP Trunk”.
    e) Inbound rules (DID) are created for all 4 extensions, i.e. 100,101,200,201 and set to their respective extensions, i.e. 100 to 100, 200 to 200.

    Question : Is the above the correct way to setup the external extension? I am not able to find a detailed guide to setup an external extension so I gather through trial and error to do this.

    1) Local end (Softphone) and Hardphone set to point to FQDN of DDNS service.
    2) Remote end (Softphone) and Hardphone set to point to FQDN of DDNS service.
    3) Both ends able to register.
    4) However, after call pickup from local to remote end, no audio heard.
    5) No problem with local ends.

    Please do clarify. If anyone got a similar scenario, can you share the setup? What is missing?
    The following ports are forwarded to the IP-PBX server 192.168.1.1.

    1) 5060 (TCP and UDP)
    2) 5090 (TCP)
    3) 3478 (TCP and UDP)
    4) 5061 – 5065 (UDP)
    5) 9000 – 9015 (UDP)
    6) SIP phones are set to use fix ports.

    January 20, 2009 at 1:34 pm
  16. Jack

    Please, does anyone has any idea on this?

    February 3, 2009 at 7:20 am
  17. To get technical support, you need a commercial edition with tech support package i am afraid. Again i suggest using the new softphone with inbuilt tunnel

    February 6, 2009 at 6:50 am
  18. scott steele

    sorry if this sounds like a dumb question but how does anyone be able to call me once i drop vonage ???

    i notice a lot of discussion about dropping vonage which i also have along with the pap2 linksys router, i would love to drop vonage to say the $40.00 etc but wondering how are my customers able to call my number if i drop them, how do they ” map ” my phone number to this ip adress or linksys ip adress anybody know how to resolve that issue….

    sure it would be great to use this program to make calls etc.. but how does anyone now able to call me ??

    i would appreciate and help

    Scott Steele

    March 26, 2009 at 8:22 am
  19. Anonymous

    Hi Mike,
    I read your article with interest. But i’m not sure what you mean when say free calls. Do you mean free calls to your office only or free calls to any landline? If the latter then does your company use the services of a VOIP provider?

    Thanks,
    Joe

    April 23, 2009 at 7:51 pm
  20. i want to thank Mike and Worksight for the detailed configuration guide of PAP2T, with there detailed published posts i could able to set up as many as 30 PAP2T devices all over india for remote extensions on single 3cx server and let me tell you that all are working fine,

    July 11, 2009 at 6:43 pm
  21. Rob Hazes

    Thanks for this perfect setup. Tested it on my 3CX system and it went straight online. Just used exactly the listed settings.

    January 11, 2010 at 1:51 am
    • Good to hear – thanks for the feedback

      January 11, 2010 at 2:56 pm
  22. sanjay

    I have problem to connect PAP2 with 3CX.
    3CX IP is: 192.168.1.7
    i have created in extention 103

    in PAP2
    line1 setting:

    ID – 103 @192.168.1.7
    password – 103

    i also add this settings:
    System >> Primary NTP (set to an external NTP server)
    SIP >> Handle VIA Received (yes)
    SIP >> Insert VIA Received (yes)
    SIP >> Substitute VIA Addr (yes)
    SIP >> STUN Enable (yes)
    SIP >> STUN Server (stun.3cx.com)
    SIP >> EXT RTP Port Min (blank)
    SIP >> Handle VIA rport (yes)
    SIP >> Insert VIA rport (yes)
    SIP >> Send Resp To Src Port (yes)
    SIP >> STUN Test Enable (yes)
    SIP >> EXT IP (blank)
    SIP >> NAT Keep Alive Intvl (15)
    Line 1 >> Line Enable (yes)
    Line 1 >> NAT Mapping Enable (yes)
    Line 1 >> NAT KeepAlive Msg ($NOTIFY)
    Line 1 >> NAT KeepAlive Enable (yes)
    Line 1 >> NAT KeepAlive Dest ($PROXY)
    Line 1 >> SIP Port (5060)
    Line 1 >> EXT SIP Port (blank)
    Line 1 >> Proxy (external IP of your 3CX box)
    Line 1 >> Outbound Proxy (external IP of your 3CX box)
    Line 1 >> Register (yes)
    Line 1 >> Use Outbound Proxy (yes)
    Line 1 >> Use OB Proxy In Dialog (yes)
    Line 1 >> User ID (extension user ID in 3CX)
    Line 1 >> Display Name (your name)
    Line 1 >> Password (extension SIP password in 3CX)
    Line 1 >> Auth ID (3CX extension)
    Line 1 >> User ID (3CX extension)
    Line 1 >> Use Auth ID (yes)

    but not working…

    external voip sip is working perfectly..
    please help me.. msn: msanjay1 AT homail.com

    February 4, 2010 at 12:33 am