I have a dynamic DNS provided by OVH, called “DynHost”. To update my IP address to the service, I used the linux client ddclient.
I have a SIP account (SIP is a protocol for voice-over-internet-protocol – VoIP) at OVH (a web hosting provider). I could choose, when creating the line, between various “national” numbers (France, Belgium, etc). I choose a french number (even though I live in Belgium), since nowadays most internet providers in France provide, through their “box”, free and unlimited calls to french landlines, which therefore allows my friends and family to reach me at zero costs.
The line is activated through a Cisco SPA-112 phone adapter, a two port “ATA” (Analog Telephone Adapter) that allows the use of basic analog phones. Currently a simple DECT phone is connected to this adapter.
You can also activate the line through a software (softphone), such as Twinkle for KDE users.
My final setup involve an Android phone, the SIP softphone “CSIPsimple” (downloaded from F-Droid), which allows me to place calls through this account whenever I have a data access. Of course, as soon as you register you line with the softphone, the incoming calls are redirect to it.