Hi Volt
At the moment SA regulations call for two separate types of number portability, geographic number portability (GNP) and mobile number portability (MNP). The regulations for each do not provide for porting of geographic numbers to non-geographic services and vice versa.
Accordingly, it is not possible now, nor likely in the immediate future, that you will be able to port a Telkom land-line number to a VoIP SP, with the exception of Neotel, who are classified as a fixed line operator in terms of their licence (irrespective of whether or not they use VoIP technology).
Using the LinkSys SPA 3102 (or equivalent product like the Grandstream HT 503) is therefore your best bet.
These devices are difficult to set up. Talking to a VoIP SP is easy. The tricky parts are localising their settings on the FXO port for the Telkom line so that it detects hangups and similar conditions correctly and correctly configuring the call routing rules. The manual does describe these, but in a manner that leaves much to be desired and deserves awards for any obfuscation contest.
Keep in mind that there is often a huge amount of latency between SA and Oz (which is difficult to avoid given the physical distance and routing of submarine cables), and this can severely impact on the end-to-end VoIP quality, particuarly if your end devices don't have good jitter buffers. The LinkSys are quite strong in this regard, so you may want to use a LinkSys device or phone on the Oz side as well.
Another approach which you may want to consider is to install the LinkSys SPA400 (4-port FXO device) in SA and let the phone in Oz register directly to it. The thing about the 4-port device is that it acts as a mini service provider (something the SPA3102 cannot do), allowing another device to register to it. This may mean eliminating VoIP SPs from the equation altogether. But this is particularly tricky with dynamic IPs of SA ADSL, so you'll need to ensure your ADSL modem supports a dynamic dns server if you do this. Also, securing this can be rather tricky. If your Oz side is on a fixed IP, you can set up a firewall rule on the ADSL modem, otherwise (or in addition) obfuscate the username you configure on the SPA400 (eg. "sdf45jhw34") since there is no password. NB. I've never tried this configuration; in theory it should be simple provided you understand how the SPA400 is designed to work. I've never been able to get stock of an SPA400 so never played with it or been able to test that what I'm describing works in practice. Stock availability of an SPA400 may rule this out altogether, if working out how to configure this isn't enough of a problem.
The SPA3102 setup is more generic and tested and you're likely to find more people who can help with it (even if it actually turns out more complicated and unnecessarily involves a VoIP SP). Chose your VoIP SP, local ISP and Oz ISP carefully so as to try and keep end-to-end latency as low as possible.
I don't mean to be gloomy about this, but as someone who has worked with SPA3102 as well as tried to help an Australian user of a SA VoIP service provider, I'm afraid I can't say that I expect you to get this working *WELL* without lots of expertise, patience, hard work and careful selection of ISPs.