Use Android's Built-in Dialer with FreedomPop

This allows outgoing and incoming calls using the built-in Android dialer app (instead of requiring the flaky FreedomPop app).

Make note that there are quite a few steps to get this working (including having a rooted device and installing a few apps from Google Play), and it does NOT get SMS/MMS working with the built-in Messages app (you will still need to use another app for messaging). This is only for making and receiving calls with the native Phone / Dialer app.


Part 1 - Get Account Info:

Is your device rooted? It needs to be in order to access the protected location where the account information is stored.

The first part of this requires that you install the FreedomPop Messaging app. This is only needed to get your FreedomPop SIP username and password! You should remove the app after getting your username and password (or else it will try to interfere with the native dialer app).

Run FreedomPop Messaging at least once to make sure it can sync your account information. This is important, as it uses account information tied to your SIM card to get your specific SIP username & password data.

Once it has ran and synced account info, it will have then saved your account credentials to your device. We now have to extract that information.

I used Root Explorer for this part. Other (similar) apps may work just as well for this.

Using Root Explorer (and this is the part that requires root), browse to:

/data/data/com.freedompop.phone/databases

Open the com.freedompop.phone.db file.

Tap on accounts, and then look for the fields username and data.

The first field ("username") will contain your 11-digit phone number with a long strong of numbers added to the end of it. As its name suggests, this is your SIP username (yes, the whole thing). The second field ("data") will contain a long string of characters. This is your SIP password.

Write down both of these values (they are both quite long).

Once you have this information, you no longer need the FreedomPop Messaging or Root Explorer apps, and your device no longer needs to be rooted.


Part 2 - Set Up Dialer:

The second part of this involves setting up the native dialer with the FreedomPop SIP account information. I've only done this with the stock Android / Google Dialer app. Third-party dialer apps from Google Play or hardware OEMs may have a different way to configure SIP (if at all).

Open the Phone app, tap on the 3-dots in the upper-right part of the display (next to the search box), and then tap on Settings.

Next, tap on Calls, and then Calling accounts.

Tap on SIP accounts, and then press the + sign in the upper-right to add an account.

Username: (what you got from the "username" field in Step 1)
Password: (what you got from the "data" field in Step 1).
Server: fp.layered.net

Tap on Optional settings, and set the Display name to FreedomPop.

Tape SAVE in the upper-right to save the SIP settings.

Under Calling accounts, make sure that Make calls with has FreedomPop selected, and All calling accounts and Receive incoming calls are enabled.

Set Use SIP calling to For all calls.


Step 3 - Fix Dialing Prefix:

FreedomPop's SIP server expects 11-digit dialing (1 + area code + number). Dialing a regular 7 or 10 digit number will fail. Unfortunately, dialing 7 or 10 digits has been a pretty common thing for a lot of people (for a long time), so trying to get use to 11-digit dialing can be a pain.

There are a few apps on Google Play that do a good job of automatically adding a number prefix to whatever number you dial. I use a program called Prefixer for this.

The free version allows 1 rewrite rule, and this may be all you need for regular 10-digit dialing. The $1.99 in-app purchase allows unlimited rules. Great if you also want it to fix 7-digit dialing or do other number rewriting.

In the Prefixer app, under the Outgoing Calls section, tap + and then Manual to add a rule.

For the title, you can call it something like "10-digit dialing". Tap on When number matches, and put this in it:

[0-9]{10}

Tap on OK to accept the condition. Scroll down to Add prefix, and put this in it:

+1

You can then tap the Back button. The rule should have been automatically saved.

The built-in dialer app should now add a +1 prefix to all 10-digit numbers, allowing them to work with the FreedomPop SIP server.


The preceding information was functional & current as of January 23rd, 2017.

I got much of the original information from here: https://forums.freedompop.com/discussion/8525/sip-settings


Update:

I'm using the stand-alone app for text messaging now.

https://play.google.com/store/apps/details?id=com.freedompop.ott

On start, it will detect your account, tell you that you're using the wrong app, and close. Since I'm using CyanogenMod/LineageOS right now, I simply blocked all of its permissions. I then force-closed it, cleared its app data, then re-opened it. I'm guessing it couldn't detect my FreedomPop SIM or number, so it allowed me to log in with my username and password. Once I was logged into it I turned all of its permissions back on.

MMS/SMS goes through the app, and calls go through the native dialer.


Use iOS?

Open this file:
/com.freedompop.freedompoptalkandtext/Documents/.linphonerc

Look for lines like these:

[auth_info_0]
username=_xxxxxxxx-xxxx-xxxx
passwd=abcdefgh1235ijkl
domain=fp.layered.net