tiagovaz.org
→ posts→ VoIP in Neo Freerunner with Qtmoko and Linphone
I keep using a Neo Freerunner with Qtmoko in a Debian Squeeze (+ some Wheezy) chroot as my daily phone. It also works well for SMS, GPS, MUA, IM, IRC and some Web browsing with Aurora (using both Wifi and GPRS).
Last weekend I managed to play a little with VoIP possibilities in Qtmoko and ended with a functional SIP client in my hands. I want to share some points which may be useful for other brave freerunners:
- Qtmoko has a native VoIP client but it seems to be broken. Its sipagent uses port 5060. I couldn't find a way to disable it at qpe startup, so I had to setup my client to use another port.
- Choosing the application: Ekiga takes 93.4MB of additional disk space. Qutecom takes 212MB. Too much for a 256MB rootfs. Twinkle is ok on this point, it uses about 40MB of additional space, but it fails in the capture (mic) quality. I've tried many setups in my voip-handset state file with no success. Perhaps it's something related to the codecs and/or default parameters. I didn't go deeper on this and gave Linphone a try. This package also uses about 40MB of additional space and finally made my day.
- Linphone gui is called by linphone-3, which has a character not supported by /opt/qtmoko/etc/qx/profiles.conf and /opt/qtmoko/etc/qx/favourites.conf. So if you want to have some setup here you need to create a link/wrapper/whatever without this dash.
- You can edit your preferences directly in your ~/.linphonerc . Remember to change the sip_port entry to any other than 5060.
- I use a basic VoIP service from diamondcard.us. It's cheap and works properly. This company gives financial support to Ekiga and Twinkle projects.
- I was not able to have default Freerunner headset working on an acceptable quality. Help will be very welcome.
- Here is my current config:
- /opt/qtmoko/etc/qx/profiles.conf
- /opt/qtmoko/etc/qx/favourites.conf
- .linphonerc
- /usr/share/openmoko/scenarios/voip-handset.state (please share your improvements!)
UPDATE: I didn't make clear that I get a very nice audio quality using internal mic/speaker with the above voip-handset state file. The issue is only when using the headset, which demands understanding and setting up a proper state file.
Enjoy some shots:
![]() | ![]() | ![]() |
This website has been built using Ikiwiki and Vim in a Debian GNU/Linux system. This nice layout is



I switch to the voip state file before calling linphone in the profiles file:
init=alsactl -f /usr/share/openmoko/scenarios/voip-handset.state restore
I don't need to switch back to gsm as it seems to be done automatically by the default caller.
No, I didn't try video.
One thing I had always wondered was if the voiphandset or also the gsmhandset settings are altered if one edits the default volume of the mic and the speaker in the qt settings dialog. Do you have any experience with this or know the answer?
regards
robin