site Search:


 
    All Forums Hot Topics Gallery






how-to block ads


 
Search Topic:
Uniqs:
2328
Share Topic
Posting?
Post a:
Post a:
Links: ·ALL ·Review Your VoIP Provider ·VoIP Providers ·VoIP FAQ ·Porting Rules ·What Codec?
AuthorAll Replies

acegolfer

join:2012-12-24

[Other] Free VOIP calls with iLBC and TCP (great for mobile)

I have learned a lot from this site and want to payback by sharing my setup to get free voip calls using iLBC codec and TCP port. Obviously, this is an ideal setup for mobile phones.

This works for US numbers only. Sorry.

The full instruction is posted at XDA.

»forum.xda-developers.com/showthr···=2057887

mazilo
From Mazilo
Premium
join:2002-05-30
Lilburn, GA
kudos:1

To minimize the operational cost of a PBX system, use any inexpensive Linux embedded system and/or any inexpensive broadband router with an open-source support. Currently, one can easily build a PBX system using an inexpensive Linux embedded system as I mentioned in my post.
--
don't and stop are the ONLY two 4-letter words considered offensive to men, but not when used together.



nightwalker
Nightwalker

join:1999-08-07
Chicago, IL

reply to acegolfer
Why not just post the instructions here, instead of trying to promote your thread on another forum?

--
»www.reverse.net



Arne Bolen
Happy Anveo customer
Premium
join:2009-06-21
Planet Earth
kudos:4
Reviews:
·Anveo
·callwithus
·Callcentric
·voip.ms

said by nightwalker:

Why not just post the instructions here, instead of trying to promote your thread on another forum?

A post of that size will never be approved on this forum, thus it's logical he links to the other thread.
--
My VoIP News

acegolfer

join:2012-12-24

reply to nightwalker

said by nightwalker:

Why not just post the instructions here, instead of trying to promote your thread on another forum?

Ok. However, I will not be here all the time to answer any questions. But I guess you guys are expert and won't have questions.

I. BACKGROUND

If you only want the instructions, then you can skip to part V.

There are several popular methods to make free VOIP (internet) calls on 3g. I'll briefly discuss each to explain why there's no perfect solution. (I'm not claiming my solution is perfect, either.)

1. GrooveIP, talkatone app

codec: PCMU (aka G711u, uncompressed signal used by PSTN and Google Voice, only good for fast/reliable wifi connection)
pros: simple setup, works well on wifi. If you use VOIP only on wifi, this is for you.
cons: echo. The voice quality is terrible on mobile data (3g) connection.

2. Vonage mobile app

codec: G729(?) when making regular calls. G722 when calling a Vonage member.
pros: G729 provides an excellent quality even on 3g.
cons: can't receive calls and doesn't integrate with Android. You need to input 10 digit number to make a call, unless the number is in your contacts.

3. Google Voice/pbxes/sipdroid (»forum.xda-developers.com/show...···=1791957)

codec: lots of options based on connection type
pros: excellent battery life (»code.google.com/p/sipdroid/wi...···echnique), If you choose speex codec for 3g, then call quality is pretty good on 3g.
cons: must unlock the screen before answering the call. doesn't support better codecs such as iLBC/G729.

4. Setting up your own asterisks server (»wiki.asterisk.org/wiki/displ...g···g+Google)

pros: everything is configurable
cons: requires a 24/7 running server

I have been primarily using #3 setup but wasn't satisfied with the call quality on 3g so I was about to do #4. But I tweaked #3 to use iLBC codec and greatly improved the call quality on 3g.

II. CODEC COMPARISONS

The call quality basically depends on the codec that your phone uses. It is claimed that the 2 best codecs for 3g are G729 and iLBC. On the other hand, Tmo uses GSM codec, which was designed for 2g back in 1990.

Here are some readings comparing G729 vs iLBC.

»blogs.elastix.org/en/2009/11/...···elastix/
»forums.whirlpool.net.au/archive/1413041

In short, both are excellent codecs for 3g. iLBC has a better quality but requires more CPU power, which Nexus 4 can easily handle. My setup relies on iLBC.

III. SETUP

My setup is an extension to #3 method above. It involves 4 free resources.

1. Google Voice (same phone number for in/out calls and free outbound calls using gtalk)
2. callcentric (VOIP provider for free inbound calls)
3. pbxes (PBX that manages in/out calls)
4. csipsimple (android VOIP app)

Once set up properly, here's how the incoming and outgoing calls will work.

1. Incoming GV calls
Someone calls your GV number. GV forwards the call to callcentric. Pbxes intercepts the call and rings your phone. Your phone displays caller ID (CID).

2. Outgoing GV calls
You place a call in your phone dialer. Pbxes calls the number using gtalk trunk. The recipient will see your GV number as CID.

IV. BENEFITS

What are the benefits of my setup?

1. Completely free in/out calls. You don't even give out CC information. All I'm paying is 30/m for Tmobile's 100 min, unlimited data prepaid plan.
2. Excellent call quality even on 3g using efficient iLBC codec. I often get better call quality than Tmo's GSM.
3. Keeping the same number for in/out calls.
4. Full Android integration.
5. Battery life. Only requires 1 SIP registration to pbxes using TCP port.
6. Reliable. I haven't experienced any down time even though I'm using 4 independent resources.

V. INSTRUCTIONS

Are you still with me? Then follow these steps.

#1. Get a fast phone that can handle iLBC codec. FYI, a 2-yr old Galaxy S has the sufficient CPU power for iLBC.

#2. Get an unlimited fast data plan such as Tmobile's $30 prepaid plan. »prepaid-phones.t-mobile.com/monthly-4g-plans

#3. Install and set up Google Voice app on your phone. Without GV, you can't open a free pbxes account in #4.

#4. Install Sipdroid.
When it opens, it will detect whether you have GV app installed. If so, it will give you an option to open a free pbxes account with Google Voice. Once you open this pbxes account, you don't need sipdroid any more and can uninstall it.
(Google may flag you for an attempted login. If you get this gmail, then allow pbxes to gain access.)

#5. Log in to pbxes and click "personal data".
Fill out blanks. Doesn't need to be correct. If you skip this step, pbxes has been known to remove the account later. While you are doing it, I recommend changing the pbxes login password that you used in step #4 to something else. In addition, pick a data center (server) closest to you to lower latency. If you have registration issues, change to a different server. FYI, I had registration issues with www7 (Miami) server.

#6. Get a free DID account at callcentric.com.
All incoming calls to callcentric (including GV forwarded calls) will be free. callcentric supports efficient codecs such as G.729 and iLBC. We will be relying on iLBC. The outgoing calls are not free but we will be using GV to make outbound calls.

Next, we have to link callcentric and pbxes so that pbxes can answer callcentric calls. There are two ways to do this. (If you are wondering why we are using callcentric, it's because pbxes has issues with iLBC for gtalk incoming calls. Callcentric handles iLBC better so we are piggybacking it )

#7a. Callcentric call forwarding to pbxes.
Log in to callcentric.com. Go to preferences>DID forwarding. Input your name@pbxes.org in the box and save. AFAIK, callcentric doesn't charge call forwarding to a SIP address. However, it does to a DID number.

Alternatively,

#7b. Have pbxes intercept the calls to callcentric.
Log in to pbxes.org. Click add trunk, select SIP trunk and input callcentric credentials. (user name starts with your callcentric 1777 number.) Select "audio bypass" to pass-through callcentric's iLBC signal to the phone.

See the attachment for what my setup looks like.

Here's a tutorial on adding trunks: »www4.pbxes.com/wiki/index.php/Ge···_Started

#8. Add extension(s) in pbxes.
Log in pbxes. Click extensions. If you followed step #4, you should see extension "Sipdroid ." You can add new one or modify extension 200. Change the password to something that you can easily remember. This will be the password you will use to register your phone to pbxes. In addition, select "audio bypass."

#9. Install nightly version csipsimple app from »nightlies.csipsimple.com/trunk/. The play store version crashed with iLBC.
First, add the pbxes account. User name should be yourgoogleID-200, where 200 is the extension you used in #8. The password is what you changed to in #8. (I recommended you change the password in #8 so that you don't use your gmail password everywhere. If you haven't already, it's time to use Google 2 step authentication.)
Do not add callcentric account because having 2 registrations drains battery faster. If you followed the steps above, you will still be able to receive callcentric calls from your pbxes account.

#10. Let's change csipsimple for better call quality.
First, in settings/media/codecs, select iLBC as the only codec for 3g connection. If you have a strong wifi connection, then select PCMU for wifi connection.
(optional) Select echo cancelling.
(optional) If you experience looping when making calls, set up filters appropriately. I set up mine such that all calls will be made by pbxes except for 911.

#11. Google Voice (from webpage)
Add callcentric DID number. All the GV forwarded calls to callcentric will be forwarded to pbxes and ring csipsimple on your phone.
Uncheck Google chat so that pbxes only receives callcentric forwarded calls. FYI, GV doesn't support iLBC codec natively.
(optional) uncheck Tmo mobile number, if you are completely satisfied with this setup. If GV is forwarding to your cell, then your cell will be ringing twice and you may accidentally answer the cell phone using your minutes.

#12. (optional) Test in/out calls.
I use these numbers to test the audio quality.
*43 (pbxes echo test)
(909) 390-0003 (PSTN echo test)
(408) 647-4636 (record/playback)

You should also test incoming call quality using Google Voice call back. This is where I had the most troubleshooting. My incoming call quality was awful until I found callcentric trick.

I have tested this setup in many different scenarios including in a car running at 45 mph and very happy with the results. Of course, YMMV depending on how good your 3g connection is.

VI. LIMITATIONS

What are the downsides?

1. latency (audio lag). iLBC codec makes CPU interpolate to make up for loss packets. This is why the call quality is better than other codecs. However, the disadvantage is it increases audio lag. I'm experiencing a 0.5s lag one way on 3g. I found media5-fone app has less lag than csipsimple. But I prefer csipsimple's more polished UI and the lag doesn't bother me. In fact, I noticed more lag with Vonage app.

2. Once a caller calls your GV number, it takes 5-6 seconds for your phone to ring. This is a limitation of PSTN and GV forwarding not VOIP. On the other hand, if a caller calls my cell number directly, it rings in 4-5 seconds. So all the call routing through caller>Google Voice>callcentric>pbxes>phone will add 1 extra second for your phone to ring compared with caller>phone.

3. Pbxes with gtalk trunk will make your Google chat status show as "online and available" all the time. Your friends may think you are online when you are actually not. Another side effect is you won't be able to answer GV calls from PC gmail any more. I haven't found any workaround to fix this other than creating a new google voice account.

VII. TIPS/TRICKS

1. If your family/friends know how to internet call, then it's best to give out your SIP address; googleID@pbxes.org. Then the call will go out fast and the phone quality will be the best because you are not using PSTN at all. If both caller and recipient are using the same pbxes server, then pbxes is the only node between the two. For example, when my wife with the same setup calls me @pbxes, my phone rings in less than 2 seconds and the call quality is the best.

2. Create multiple extensions (300, 400, etc) in pbxes.
I have 3 devices registered to pbxes simultaneously: my cell phone, my tablet and the ATA for my home POTS phone. When I receive a GV call, all 3 devices ring simultaneously. And I can call any other extension independently by entering its 3 digit extension number.

ConstantineM

join:2011-09-02
San Jose, CA
Reviews:
·Google Voice
·Junction Networks
·Callcentric
·T-Mobile US
·AT&T U-Verse

reply to acegolfer

sipdroid, or CSipSimple?

I've noticed you're using CSipSimple.

Is CSipSimple better than sipdroid?

One thing you may want to note is that CSipSimple doesn't actually use TCP with pbxes.org, but instead must be using UDP.

»code.google.com/p/csipsimple/sou···xes.java

        @Override
        protected boolean canTcp() {
                return false; // Cause there is something really wrong on the pbxes.org server
        }
 

So, I'm not sure why you're linking to the sipdroid page regarding TCP and their pbxes.org, only to end up going UDP anyways.

Also, why do your instructions include installing sipdroid anyways? Couldn't a pbxes.org account and Google Voice setup be done through pbxes.org web-site directly? Or, if there's an app for that, it absolutely must be used instead? :-)

OZO
Premium
join:2003-01-17
kudos:2

reply to acegolfer

Re: [Other] Free VOIP calls with iLBC and TCP (great for mobile)

Thank you, acegolfer See Profile. It's an interesting setup...

If I've got it correctly, there is PSTN line. GV is (potentially) converting audio to PCMU. Then CallCentric converts audio to iLBC and sends it directly to CSipSimpe (bypassing pbxes.org RTP servers). Right?
--
Keep it simple, it'll become complex by itself...

acegolfer

join:2012-12-24

1 edit

reply to ConstantineM

Re: sipdroid, or CSipSimple?

1. I'm using TCP only to connect to pbxes. You need to change the transport setting in expert mode. If you don't know how to, then you can use another sip client such as media5fone.

2. You can't create a free gtalk trunk in pbxes any more.

MartinM
VoIP.ms
Premium,VIP
join:2008-07-21

reply to acegolfer

Re: [Other] Free VOIP calls with iLBC and TCP (great for mobile)

Problem is that most carriers don't support iLBC (CLEC's, SIP Trunking etc), so providers like us end up being forced to transcode your call if you want to use iLBC over g729. This cost additional CPU power. That's why the codec is not widely supported by VoIP providers.

acegolfer

join:2012-12-24

1 edit

Can you be more specific?

I'm not in telecommunication industry so my knowledge is limited. I'm here to learn. The way I understand is codec is involved in the communication between my network operator (callcentric) and my phone. OTOH, PCMU is used at the pstn. Are you saying iLBC is used to transmit all the way to the other end?


SCADAGeo

join:2012-11-08
N California

reply to MartinM

said by acegolfer:

I have learned a lot from this site and want to payback by sharing my setup to get free voip calls using iLBC codec and TCP port. Obviously, this is an ideal setup for mobile phones.

Thanks for sharing.

 
said by ConstantineM:

I've noticed you're using CSipSimple.

Is CSipSimple better than sipdroid?

I believe so.

CSipSimple's expert mode has many configurable options, such as selecting the echo cancellation algorithm, setting the echo cancellation tail, amplification settings for microphone/speaker/Bluetooth, selectable API for audio and microphone routing, and selectable microphone source.

 

said by ConstantineM:

One thing you may want to note is that CSipSimple doesn't actually use TCP with pbxes.org, but instead must be using UDP.

Nice catch, but it's for another reason.

CSipSimple has novice, advanced, and expert modes.
 

said by acegolfer:

1. I'm using TCP only to connect to pbxes. You need to change the transport setting in expert mode.

Do you know if pbxes.org ever fixed their sip tcp implementation?

I seem to recall reading that pbxes.org didn't follow the RFC's, and it switched to UDP in the middle of a dialog?

 
said by MartinM:

Problem is that most carriers don't support iLBC

This cost additional CPU power. That's why the codec is not widely supported by VoIP providers.

said by acegolfer:

Can you be more specific?

Are you saying iLBC is used to transmit all the way to the other end?

I believe MartinM See Profile is stating that iLBC is _not_ used from end to end, so a provider has to transcode/convert/translate from one audio format (PCMU) to another audio format (iLBC) in order to have two way audio, and the conversion uses CPU cycles.


hok

join:2002-02-27

reply to acegolfer
VoIP via mobile data link Internet connection must be stationary. In other words, you cannot receive, make or keep a VoIP call via mobile data link Internet connection when you are driving. Am I still correct on this?


SCADAGeo

join:2012-11-08
N California

said by hok:

VoIP via mobile data link Internet connection must be stationary. In other words, you cannot receive, make or keep a VoIP call via mobile data link Internet connection when you are driving. Am I still correct on this?

acegolfer See Profile posted the following at forums.xda-developers.com:

I passed 2 tests today.

1. I can have a pretty good conversation while driving at 45 mph. I haven't had a chance to test on highways yet.
2. My wife is satisfied with the set up on her N4.

In addition, I found media5-fone app has less latency than csipsimple. However, you have to pay to remove the ads and it consumes more battery even w/ TCP connection.


wl08

join:2010-09-01

reply to SCADAGeo

said by SCADAGeo:

said by acegolfer:

I have learned a lot from this site and want to payback by sharing my setup to get free voip calls using iLBC codec and TCP port. Obviously, this is an ideal setup for mobile phones.

Thanks for sharing.

 
said by ConstantineM:

I've noticed you're using CSipSimple.

Is CSipSimple better than sipdroid?

I believe so.

CSipSimple's expert mode has many configurable options, such as selecting the echo cancellation algorithm, setting the echo cancellation tail, amplification settings for microphone/speaker/Bluetooth, selectable API for audio and microphone routing, and selectable microphone source.

 

said by ConstantineM:

One thing you may want to note is that CSipSimple doesn't actually use TCP with pbxes.org, but instead must be using UDP.

Nice catch, but it's for another reason.

CSipSimple has novice, advanced, and expert modes.
 

said by acegolfer:

1. I'm using TCP only to connect to pbxes. You need to change the transport setting in expert mode.

Do you know if pbxes.org ever fixed their sip tcp implementation?

I seem to recall reading that pbxes.org didn't follow the RFC's, and it switched to UDP in the middle of a dialog?

 
said by MartinM:

Problem is that most carriers don't support iLBC

This cost additional CPU power. That's why the codec is not widely supported by VoIP providers.

said by acegolfer:

Can you be more specific?

Are you saying iLBC is used to transmit all the way to the other end?

I believe MartinM See Profile is stating that iLBC is _not_ used from end to end, so a provider has to transcode/convert/translate from one audio format (PCMU) to another audio format (iLBC) in order to have two way audio, and the conversion uses CPU cycles.

Sipdroid is far more reliable then Csipsimple, and battery friendly.

acegolfer

join:2012-12-24

reply to MartinM
@martin

If I interpret the above reply correctly, you are not forced to transcode iLBC. My carrier (callcentric) does it and PCMU signal is transmitted in PSTN.

Believe me, it was not easy to find a free carrier that offers SIP forwarding and supports iLBC. Lucky that I found callcentric, which is a great match in my setup.


acegolfer

join:2012-12-24

reply to wl08
I wish sipdroid can use iLBC.


MartinM
VoIP.ms
Premium,VIP
join:2008-07-21

reply to acegolfer

said by acegolfer:

@martin

If I interpret the above reply correctly, you are not forced to transcode iLBC. My carrier (callcentric) does it and PCMU signal is transmitted in PSTN.

Believe me, it was not easy to find a free carrier that offers SIP forwarding and supports iLBC. Lucky that I found callcentric, which is a great match in my setup.

That's what I was trying to explain hehe. There's transcoding involved on the provider part. We also do transcoding for one codec (gsm) since g729 is similar to iLBC and usually supported on carrier level switches. That's why iLBC is not widely supported by VoIP proviers.

But yeah, iLBC is a good free alternative. Glad to know you find a solution.

--
Martin - VoIP.ms

SCADAGeo

join:2012-11-08
N California

reply to wl08

said by wl08:

Sipdroid is far more reliable then Csipsimple, and battery friendly.

Our experiences differ.

It's been a while since I tested Sipdroid, and it didn't support SIP/TLS, SRTP, nor ZRTP at that time.

Would you please tell me if this has changed?


hok

join:2002-02-27

reply to acegolfer
I finally finish reading every single post in your thread. In my humble opinion, »www.republicwireless.com/ offers simpler and cheaper solution for calling with mobility.

In contrast, I do understand for people just want to have a high-end phone, it is well worth of trouble to set the whole system up as detailed in your thread and pay few hundreds dollars more just for the high-end phone and about $7 more on monthly fee.

Welcome to BroadbandReports.com and thank you for your contribution!


Friday, 24-May 13:27:26 Terms of Use & Privacy | feedback | contact | Hosting by nac.net - DSL,Hosting & Co-lo
over 13.5 years online © 1999-2013 dslreports.com.
Most commented news this week
Hot Topics