I have libiax ported already, so you shouldn't have to worry about that (but I can't guarantee it works 100%, as I'm not a c/c++ programmer).
I have access to the sources for ZiaxPhone, but I am only granted permission to give access on a very limited basis. The vast majority of this functionality is already in place as a qt application that runs on the Sharp Zaurus.
The feature requirements are as follows (note, many of these are available functions within libiax, but would need ui elements to implement):
Register with Asterisk server
Ability to specify a non-standard port number (for avoiding firewall restrictions)
Register for MWI or
Message Waiting Indicator (allow for setting an alert/tone for this, set an interval of once, every x seconds/minutes, continuous, or off).
Basic call logging (dialed, answered, missed). Extra credit for the ability to read from the ContactsDB or save logged numbers to the ContactsDB in a method consistent with the main phone application.
Business phone functions (hold/transfer/mute/conference)
Read from existing ContactsDB (this is a berkley db file, should be easy)
Allow a distinctive default ringer that is different from GSM ringtone, give an option for using ringers that are assigned in ContactsDB, or unique for VOIP calls.
Bluetooth headset audio for calls (may not be so simple...not sure how that plays out, if it requires Bluez this would be a possible exception to the 100% native/static compile rule above).
Pure EZX, needs to feel native (or at least have non-native elements statically compiled into the binary, and more or less look native).
Must respect DNS SRV records for failover (see
http://www.voip-info.org/wiki-DNS+SRV)
.mpkg or similar installer (ie, be installable as easily or similar to that of a java application for the end user).
Must not conflict with normal phone functions, be able to handle instances of incoming GSM calls vs. incoming VOIP calls and vice-versa gracefully. This may mean that you send an "unavailable" to the Asterisk server while on a GSM call. Cross that bridge when you get to it.
Must be willing to GPL the code.
If you can substantiate the costs, I'm willing to go with a higher number on this, but you MUST be able to itemize the costs and be willing to set time frames. I'm also willing to pay out based on incentives (ie, get the call registration working, then ui, then contacts, etc).
Extra credit features (will be willing to pay additional for AFTER the primary requirements are met):
Registration with multiple asterisk servers, distinctive ring based on server.
That's it for now. I'll update this if anything else comes to mind. Again, please note that most of this is already available in the codebase, it just needs to be ported over and tested.