How do I forward incoming calls over VOIP to another client?
Android phone is technically handicapped to do this. There is no google API to playback an audio stream instead of the mic recording. You would have to rewrite the android's telephony stack to achieve this. And this will be dependent on the hardware and so cannot be a generic solution for all android phones. You cannot find a answering machine android app with recorded voice playback for the same reason.

You can buy a raspberry pi, a USB data dongle with voice calling and supported by chan_dongle project, install RasPBX (based on the open source PBX Asterisk) and redirect GSM calls via VOIP and vice versa. This is pretty easy to setup and cheaper than an android phone.

https://web.archive.org/web/20180306230858/http://blog.carrier-connect.com/raspberry-gsm-gateway/

http://www.raspberry-asterisk.org/documentation/