Tag Archives: Inbound

Inbound Calls Directly to your LinkSys or Sipura

OP

How to accept direct inbound calls to your LinkSys/Sipura adapter, bypassing all VoIP providers.
  • Does your registered provider not allow inbound SIP URI calls?
  • Do you want to cut down on latency/echo, by bypassing your VoIP provider on inbound VoIP calls?
  • Do you simply like the idea of allowing calls directly into your VoIP adapter?

If you said yes to any of the above, then this FAQ page may be for you. Here is a description of how to let your LinkSys/Sipura model adapter accept calls directly from a SIP URI (internet VoIP address), bypassing all VoIP providers in the process. Here’s how to do it:

  • Setup your adapter for use behind a NAT router
    • Setup STUN on your adapter (NOTE: STUN settings are on the SIP tab)
      • Handle VIA received: no
      • Handle VIA rport: no
      • Insert VIA received: no
      • Insert VIA rport: no
      • Substitute VIA Addr: yes
      • Send Resp To Src Port: yes
      • STUN Enable: yes
      • STUN Test Enable: no
      • STUN Server: stun.voxalot.com.au:3478
        • NOTE: You can replace the above STUN server with any STUN server you like…
      • EXT IP:
        • NOTE: Leave this setting blank, STUN will figure this out for you…
      • EXT RTP Port Min:
        • NOTE: Normally you can leave this blank, but you can set this if you have a specific need
      • NAT Keep Alive Intvl: 45
        • NOTE: Use an value SHORTER than the “timeout” value in your router.
    • set “NAT Mapping Enable: yes
  • Set “Ans Call Without Reg: yes” on your adapter settings
  • Make sure your adapter is on the default SIP port
    • i.e. “SIP Port: 5060
  • Make sure that SOMETHING is set for “User ID:”
    • NOTE: If your adapter is “registered” with a VoIP provider, this will be your real “User ID”
  • Make sure NOTHING is in “Outbound Proxy:” field on your adapter
    • NOTE: This field is not normally needed if/when you have STUN setup (as above)
  • Forward UDP port 5060 to your adapter
    • NOTE: This may be easier if you use a static LAN address for your VoIP adapter
  • Set up a “dynamic DNS” service for your LAN
    • NOTE: The free service from “no-ip.com” works fine for this

If all of the above is setup correctly, then anyone on the internet can directly call your LinkSys/Sipura VoIP adapter by calling “sip:userid@dyamic_dns_address”. For example, if your userid is “12345”, and your dynamic DNS entry is “myaddress.no-ip.com”, then your SIP URI is “sip:12345@myaddress.no-ip.com”.

NOTE: One useful purpose of this, is to point a free http://ipkall.com number to your Sipura. You do this by logging into your IPKall account, and filling in your “UserID” info (12345 in this example) for “SIP Phone Number:” and your dynamic DNS entry (myaddress.no-ip.com in this example) for the “SIP Proxy:” field. After saving these changes (and waiting the necessary hour for them to take effect), then calling your IPKall number will directly ring your VoIP phone (bypassing any service provider, including “Free World Dialup”).

NOTE (added 2/7/2006):
Another poster mentioned that he needed to set “NAT Keep Alive Enable: yes“, or he got 1-way audio with his router. So if you are having problems with this trick (and you are not already telling your VoIP adapter to send “keep alive” packets), try turning the “NAT Keep Alive” setting on…

NOTE (added 2/7/2006):
After using this “trick” for some time, I have discovered that (while this often works very well), a minority of VoIP providers just don’t like this setup.

The problem (when you run into a VoIP provider that just won’t forward directly to your VoIP adapter, even though they do support SIP URI forwarding) appears to be with the details of the “dynamic DNS” service. The problem is, there are actually two DIFFERENT types of DNS records often used by VoIP SIP proxies (which is what you are having your adapter pretend to be, by this trick). DNS “A” records are the “normal type” of DNS entries (the type we use all the time, for example when visiting web sites), and also the type most dynamic DNS services (including the http://www.no-ip.com service I use) offer. However, apparently there is also a special DNS “SRV” type record that some proxies use just for VoIP. And if your VoIP provider is using a picky enough SIP proxy, they will be unable to forward directly to your adapter, because they won’t find a “SRV” record for your “proxy address” (even though your dynamic DNS service will have a “A” record for your IP). While most VoIP proxies either don’t use SRV records or will happily use an “A” record if an SRV record isn’t present, some proxies are just “too picky” about this little detail (and will therefore fail to forward directly to your adapter UNLESS you have DNS “SRV” record for your IP address).

Happily there is an easy “work around”, if you already have your adapter’s registered VoIP slots “full”, and you want to add a VoIP service that has this “issue” (i.e. is picky about the SRV records). What I found works well (when you run into this problem), was to register for a free SIP Broker alias that points directly to my adapter (via my dynamic DNS address). I then tell any VoIP service that has a problem with forwarding directly to my adapter, to instead forward to *0111xxxxxxx@sipbroker.com (where xxxxxxx is my SIP Broker alias ). This seems to work well as a “work around”, because “sipbroker.com” appears to have the DNS “SRV” record that some VoIP proxies “need” and SIP Broker can forward to a location identified just by a DNS “A” record. So the call essentially gets forwarded to SIP Broker, which forwards the call onto my adapter in that case. While this isn’t quite as nice as going directly to your adapter, it is still an effective “work around” for when the VoIP proxy just refuses to forward directly to your LinkSys/Sipura.

Of course, you might as well try the “forward directly to your adapter” address first, and only resort to the SIP Broker alias if/when the “direct” path doesn’t work (as your call path will be slightly more reliable if the direct address works with your VoIP provider). And many places (including http://ipkall.com ) will happpily forward directly to your LinkSys/Sipura without any problems. But for those places that just don’t like the DNS “A” records provided by dynamic DNS services, forwarding to SIP Broker (and then letting SIP Broker forward directly to your adapter) can be an effective “work around”.

PBXES

I’m using WRT54GS + Openwrt + asterisk at home. It is good because we have all controls. But admin password will be lost from time to time, then I’ll have to reset it: http://blog.nyworldphone.com/2008/02/06/openwrt-on-wrt54gs-reset-the-root-password/. And, for some providers, I can’t make it work with my asterisk on wrt54gs.

Then I tried pbxes.org. It is still free and works perfect. I can do everything I’m doing right now with my asterisk.  It is a good option for personal use which cost nothing. Here I would like to explain some configurations that I did.

1. Receiving calls on Sip phone/device.

A) Internal between extensions.

  • Extensions-> Add Extension
  • Display name(e.g. 3000)
  • Password(e.g. 3000)
  • Outbound CID(e.g. 3000)
  • Voicemail(optional, disabled by default)
  • Submit

You could do the same thing above to add more extensions (e.g. 6000 etc).

When you configure it on your sip phone/device, usename is “pbxes_username”-exten, e.g. username-3000, password is your pbxes extension password and domain/sip proxy is pbxes.org. Now you can dial extensions from one to another, e.g. dial 6000.

B) Through a DID number

a. Add extensions as A).

b. Add trunks

  • Trunks->Add Trunk->(e.g. Add SIP Trunk)
  • Trunk Name (e.g. freedigits)
  • username (e.g. freedigits number)
  • password (e.g. freedigits password)
  • Sip server(e.g. freedigits.net)
  • Submit changes

 c. Add Inbound Routing

  • Inbound Routing->Add Incoming Routing
  • Trunk: (e.g. freedigits)
  • Caller ID Number (optional, specify allowed incoming CID)
  • Set Destination: mark Extension, and choose one from the list, e.g. 3000.
  • Submit

Now when people call the freedigits DID, calls will be routed to the extension 3000.

2. Make calls

A) Add extensions as 1.A.

B) Add trunk as 1.B.b with your favorite voip provider, e.g. voipbuster.

C) Set outbound routing

  • Outbound Routing->Add Route
  • Route name: (e.g. sip out)
  • Trunk sequence: (e.g. voipbuster)
  • Set Destination (optional)
  • Save changes

Now you can make calls usign your favorite vsp from your sip phone/device.

3. Call Forwarding/Receiving calls on PSTN phones (landline or cell phones).

A) Add trunks as 1.B.b.

B) Add ring groups

  • Ring Groups->Add Ring Group
  • Group number: (e.g. 1)
  • extension list: landline or cell phone number plus #. e.g. 12126668888# (it may differ according to your provider)
  • ring time, e.g. 20
  • Destination if no answer (optional)
  • Submit changes

C) Add inbound routing

Same as 1.B.c, except in “Set Destination” mark Ring Group(e.g. #1).

D) Add outbound routing as 2.C.

Now if people call your freedigits DID, the call will be forwarded to your regular phone using through your vsp.

4. Call back

Start with callthru by adding an inbound route with the number of your phone entered as Caller ID. Leave Trunk Name empty. If it doesn’t work check your call monitor for the right format of your Caller ID. When dialing the callthru destination you may always press the * key to redial and # to end digits. After the called party hangs up you will hear another dialtone for your next call. To hangup by yourself transfer the call to an invalid destination by dialing *2.

– alen