Free Landline Using Google Voice and a RaspberryPi

Disclaimer: The following article is intended for users comfortable working on Linux based machines.

In this article I'll review the steps I used to configure a VoIP landline using a SIP interface through a Raspberry Pi based PBX with Freeswitch and Google Voice.  In other words, a free landline!
Free Landline Using Google Voice and a RaspberryPi
I spent the better part of the weekend reading wiki's, blogs, manuals and other posts and had to piece them all together to get my own personal solution working.  I thought it would be useful to write it up and share my experiences.

I've tried to capture my steps as best as I could .  Please let me know if anything does not work or needs to be amended.

NOTE: You do not have 911 capability with this solution.

Step 1: Things you'll need

– A Raspberry PI with “wheezy-raspbian” connected to your network.  Please see the Raspberry Pi Wiki for instructions on how to set this up.
– A physical SIP device or software, like XLITE.  I'm using an old Sipura SPA-2100.  One end connected to your physical phone line and the other to your network.  If you decide to use a software solution, like XLITE, then this isn't a “true” landline replacement because you'll need your PC always on.  Using a SIP device, allows
– A Google voice account.

– Test your Google voice account, try calling a number from the web UI.

Then log into Google Voice:
–   Click on Settings > Phones
–   Uncheck all phones
–   Check Google Chat
–   Log out of gmail ( Or turn off chat at the bottom of the gmail page)

Step 2: Get Started

Install dependencies on your Raspberry pi.

    #apt-get install autoconf automake gawk g++ git-core libjpeg62-dev libncurses5-dev libtool make python-dev gawk pkg-config libtiff4-dev libperl-dev libgdbm-dev libdb-dev libssl-dev

Download, Compile and install freeswitch. NOTE: This step takes a few hours to compile.

    #mkdir /usr/local/freeswitch
#useradd freeswitch -d /usr/local/freeswitch
#chown -R freeswitch:freeswitch /usr/local/freeswitch

#cd /usr/local/src
#git clone git://git.freeswitch.org/freeswitch.git
#cd /usr/local/src/freeswitch

    #./bootstrap.sh && ./configure –prefix=/usr/local/freeswitch && make clean && make clean modwipe && make && make install

Make sure the following line is present and uncommented in/usr/src/freeswitch/modules.conf

endpoints/mod_dingaling

And build mod_dingaling:

    #make mod_dingaling-install

Make sure mod_dingaling is not commented out in fileconf/autoload_configs/modules.conf.xml

     <load module=”mod_dingaling”/>

Edit the conf/jingle_profiles/client.xml and replace all its contents with the following.  Then replace only the highlighted fields with your Gmail username and password.
Free Landline Using Google Voice and a RaspberryPi
    <include>
<!– Client Profile (Original mode) –>
<!– to use this profile take the x- away from the open and close tags so its <profile> and </profile> –>
<include>
<profile type=”client”>
<param name=”name” value=”gtalk”/>
<param name=”login” value=”[email protected]/talk”/>
<param name=”password” value=”GMAIL.PASSWORD”/>
<param name=”server” value=”talk.google.com” />
<param name=”message” value=”Thanks Google!” />
<param name=”dialplan” value=”XML”/>
<param name=”context” value=”default”/>
<param name=”exten” value=”2001″/>
<param name=”rtp-ip” value=”auto”/>
<param name=”auto-login” value=”true”/>
<param name=”sasl” value=”plain”/>
<param name=”server” value=”talk.google.com”/>
<param name=”tls” value=”true”/>
<param name=”use-rtp-timer” value=”false”/>
<param name=”vad” value=”none”/>
<param name=”candidate-acl” value=”wan.auto”/>
<param name=”local-network-acl” value=”localnet.auto”/>
</profile>

</include>

 

For more detail: Free Landline Using Google Voice and a RaspberryPi 


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top