Thursday, January 16, 2014

My current setup of VO3G

[update] http://kot.voip01.com

Home: OBi200 + SipSorcery + Google Voice + ipkall

OBi200 does VO3G (VOIP over 3G) like a charm, all Linksys cannot. I never use OBi's Google Voice feature though, because it does not use 3G-friendly codec such as G.729 and I always worried that one day Google would block such service and now it is true (XMPP ends this May).


Instead, I've been using SipSorcery which can dial GV directly plus many other features. I subscribed to SS many years ago when it was free. To bad, it is no longer free for new subscribers and price is too high. All relatives in my family have an ATA and they all are connected to SS; so calls between us are direct-line - superb voice quality, and totally free. I've been thinking of setting up such a server in a VPS, so more friends can enjoy this after this May.

A DID is required for free GV calling. Initially I used ipkall but switched to CallCentric. Recently, CC is no longer reliable with GV, so I switched back to ipkall and so far so well.

Mobile: Galaxy S4 + Lumicall

The Galaxy S4 is a global phone that can connect to 3G networks in all countries. So, it is great to be able to place and receive calls anywhere on this planet with a single GV #. All needed is a good app like .

I used to use Acrobits 1.94 but it became more and more unreliable. The newer versions keep my phone awake. I also tried many other such apps:
  • Talkatone: easy and simple, good quality, but long delay, unreliable income calls.
  • Bria: keep my phone awake. It can dial SIP URI though, e.g., sean@kingoftweaks.foo.
  • MizuDroid: cannot use TCP transport, unreliable income calls and keep phone awake. The latest version (dated 1/19/2014) added TCP and is supposed to allow phone to sleep, but it is now very much like CSipSimple in every way, even more buggy and sluggish. I never like CSipSimple.
  • Linphone: proximity sensor does not turn off screen (just black out, must press power button to turn off). Like CSipSimple, it is not consistent, but CPU and RAM usage is constantly high.
  • Vimphone: based on Linphone, fixed the proximity sensor bug, much less RAM usage and G.729 codec included in addition to iLBC! Keep phone awake.
  • IMSDroid: Both G.729 and iLBC included, keep phone awake.
  •  Zoiper has GSM and iLBC30 that work well with ipkall, no need to buy G.729. The only downside is small but constant CPU usage while idle and keepalive packets are sent every 30 seconds (a huge waste for TCP transport).
  • Many others not worth of mentioning.
Lumicall is based on SipDroid, G.729 included, no iLBC though. Due to a bug that always enables proxy even with this option unchecked, the same register info must be filled into outbound proxy settings too. Better use TCP on 5060, not TLS. It uses very little RAM and no CPU during idle, but still totally reliable income calls. Unfortunately, it added too much call encryption stuff into Sipdroid, bugs as well.

Sipdroid is the only SIP client that's programingly done right - push instead of poll that consumes CPU constantly. Unfortunately it does not include G729 and/or iLBC. The included G711 cannot do VO3G and GSM is not supported by most ATAs but ipkall does support it though.

I found this Sipdroid + G729:

http://bbs.gfan.com/forum.php?mod=viewthread&tid=3232780

The only problem is: no income call after few hours, because SIPDroid becomes not registered even it shows is. I have to exit it and open it to get it re-registered.

A final word: to do VO3G adequately well, you need the right phone and network. Among Samsung, you need at least Galaxy S3 or Stellar. Old phones such as Galaxy S, cannot handle VOIP.  EVDO (CDMA, Verizon and Sprint) is currently the network for VO3G, because there are still too many 2G places on GSM network (AT&T and T-Mobile) and LTE is still scare.  On EVDO, the phone gets a public IP - no nasty NAT issue (one way audio and unreliable income calls).

11 comments:

  1. For Samsung S4, what should be set for "preferred network mode" as a default (or normal): Global or LTE/CDMA or GSM/UMTS ? BM data. Thanks. (LRB)

    ReplyDelete
    Replies
    1. Please ask the question to the related article, I'm always notified by a new post no matter which article you post to. Thanks!

      Delete
  2. Zoiper (Free account) setup is kind complicated. Can you please post a typical set of values ? thanks a lot!

    ReplyDelete
    Replies
    1. Zoiper itself is very simple, like all other softphones: add an account, account name (any), Host (such as sipsorcery.com), username and password. That's it.

      Delete
  3. I have been followed you and enjoyed your post for a while since WX-City. Could you please take a look my VOIP setting, why I could not see the use of SS, though I also held a very old free account. I used spa3102. For call-out, either Viopdiscount or Callwithus, mostly China, pay <$30 per year; for call-in, GV>>CallCentric DID>>SPA3102, GV also>>my cell phone during week day. It is not practical for me to set up VOIP for my relatives in China, and I think <$30 per year is fine with me, also I am not so much need VO3G. So, in my case, there is not much advantage to use SS, right? Thanks for your time.

    ReplyDelete
    Replies
    1. SS is mainly for GV dialing, if you don't need that, you don't need it. For other things such as connecting your relatives, pbxes.org is actually better and free.

      Delete
  4. Hi Sean,

    Which PBX software will you recommend to install on a VPS?

    I'm trying to prepare the XMPP shutdown. My VPS has Centos 6 x86, and I installed FreePBX (has some issues and have to skip DAHDi and libpri) on it. The sound quality is not good. Don't know if it's the problem of PBX software or internet connection between my house and VPS.

    I also tried asterisk for raspberry pi, the quality is very good between my local devices (OBi and linksys).


    Thanks,
    -Josh

    ReplyDelete
    Replies
    1. Most PBX sucks including Asterisk and its different flavors such as FreePBX that I tried many years ago. My PBX is now up and running, beautifully, including Google Voice dialing. It is every way I wanted SipSorcery to be. I'm going to offer it to the readers of this blog like you after I setup an account management system. Should be up in few days, so you don't have to spend your time on this.

      So far I've tested with Obi200, Obi100, PAP2, Lumicall, Acrobits... all work flawlessly, even behind proxy, firewall, VPN and VPN over very restrictive proxy (only 80 and 443 are opened ports), a dream I had with SipSorcery and finally this dream came true.

      It supports simultaneous ring and multiple registrations. I.e., you can register both your smartphone and tablet to the same account and both devices will get a ring when a call comes in. If your parents call your home, your mobile devices and your wife may get a ring too.

      Every user will get 10 virtual numbers like 12345678810 to 12345678819, so your parents can simply dial 123456789810 (group # to 19 and 18) to reach you and your wife.

      You may add VOIP provider such as VoipDiscount to your account and use it for International calling, or you may simply use GV for both domestic (free) and International (about $0.02/min, use the credit in your GV).

      It is VO3G friendly, when I use Lumicall, battery drain is only 2% overnight and income calls are reliable. G729 is supported and, like SipSorcery, my PBX does not touch audio (no transcoding, no proxy relay), so pure audio is guaranteed and the server will never be overloaded (that's why I feel comfortable to offer this service to public). I did some tweaks to overcome NAT issues (e.g. one-way audio) without being a middle man in audio path, even under the extreme conditions such as an endpoint behind VPN over a very restrictive proxy.

      I also did many other tweaks to make the system extremely efficient and thus VPS friendly. For example, the income dialplan is only few lines but can work for all users to receive calls from GV via ipkall and callcentric. The outbound dialplan is also only few lines but can handle all users' calls via GV and/or any VOIP provider.

      Without intercepting into the audio path, users can feel safe, your conversations are not monitored by my PBX in any way. It is also a must for keeping the original voice quality without adding delay and chop like what you experienced with FreePBX and Talkatone.

      So, stay tuned, you won't be disappointed, actually you'll be extremely happy, I guarantee. It is extremely easy and simple to end users, all you need is to register, pick up your virtual # and start calling, no crappy dialplan or any configuration/setup involved. You'll see, finally someone has got VOIP done right.

      Delete
    2. BTW, the system supports ZRTP for secure calls. Lumicall supports ZRTP, but I have not tested yet. My priority is to make VO3G reliable above everything else. But this system is ready for secure calls.

      Delete
  5. Sounds promising. Count me in and let me know when it's ready.

    ReplyDelete
    Replies
    1. It's now live:

      http://kot.voip01.com

      KingOfTweals' VOIP, the #01.

      Delete