Android 2.3 (Gingerbread) and newer versions support a built in SIP/VoIP (Voice over IP) functionality. This widget has two buttons: the left one gives you a shortcut to the SIP settings. The second one allows you to select how calls should be routed primarily: you can select whether all calls should be made via SIP by default, only Internet calls via SIP, or if you want to be asked before each call.
Caution: this Widget does not yet run on Android 5.0 Lollipop because Google changed the API for SIP settings.
Please note that by default the built in SIP functionality on Android only works via Wifi on most devices! Furthermore, some ROMs of network providers (branded phones) disable the SIP functionality. If you can't find SIP settings in your phone's settings, this widget probably won't work correctly.
You can find the source code of this widget on GitHub:
Block Android 5 Lollipop because Google changed the API
Fix resizing on GoLauncher
The widget can now be resized to the size of one icon only (requires Android 4.1 or higher).