Firefly Softphone
Firefly is Freshtel’s IAX-based softphone for Windows, which works with Freshtel’s VoIP service. It is based on Virbiage‘s Cubix softphone platform.
Firefly is known to work under Wine on Linux, although changes to font settings and/or the installation of additional fonts may be required.
Firefly Features
- VoIP Protocols: SIP, IAX
- Codecs: μlaw, Alaw, iLBC, Speex, GSM, G.729 (via DLL)
- Music on Hold
- Skinnable Interface
- Instant Messaging, Presence, and Contact Lists (IAX2 only, implemented via extensions to the IAX2 text message field)
Dialling methods
- 123 – dials Freshtel virtual number *123
- +123 – dials geographical number 123 (note: not necessarily a full E.164 number — the plus is just an escape character)
Third party version
Virbiage offer the Cubix softphone for theming and licensing by third parties. Firefly is an example of such a retargeted softphone, as is Tesco Internet Phone.
Enabling G.729 support
Added by ‘msg’ SIP:[email protected] on 05-22-2005
— building the g729.dll using open source tools —
— thanks to the developers for the opportunity to evaluate G.729 on firefly —
(We don’t have MS VC (but we do have a working MS Win32 version of ‘lib.exe’)
The build host was Win2k Server sp3/Cygwin 1.3.22/gcc 3.2;
1. create a target directory for the build and create a subdirectory under it called ‘ms-obj.dir’
2. download ‘g729.zip’ from http://www.virbiage.com/firefly/download/g729.zip;
download ‘G729.zip’ (be sure to not clobber the previous download) from
http://www.voiceage.com/codecsite/media/G729.zip
and unzip them into the target directory
-
-
- build the library ***
-
— at a ‘cmd.exe’ shell:
3. cd to the target directory
4. lib /NOLOGO /LIST .\va_g729.lib > lib.lst
— at a ‘bash’ shell:
5. sed ‘s+\\+\\\\+g’ < lib.lst > lib.list
6. cd ms-obj.dir
7. while read name
do
lib /NOLOGO /EXTRACT:$name ../va_g729.lib
done < ../lib.list
8. (convert all uc filenames to lc ; eg. use the following script:)
ls | while read fname
do
lowname=`echo $fname | tr “[A-Z]~np~” “~np~[a-z]”`
mv $fname $lowname
done
9. ar r ../libg729.a *
-
-
- compile and link ***
-
10. cd ..
11. mv G729.C g729.c
12. gcc -mno-cygwin -shared -I ./ -c -o g729.o g729.c
13. gcc -mno-cygwin -shared -I ./ -L ./ -shared -o foo.dll g729.o -lg729
— (ignore the many messages: Warning: .drectve ‘%.*s’ unrecognized)
— output filename cannot be ‘g729.dll’ or linking fails with message: ‘.//g729.dll file not recognized: file truncated’
14. mv foo.dll g729.dll
The dll worked well when tested with the third-party firefly/SIP on a P166/64MB/Win2k laptop with USB headset; I am quite
impressed with the performance of firefly (especially on this older platform) as it eliminates unresolvable echo and
chopping problems we had with X-Ten lite. The G.729 codec is wonderful over dial-up.
Howtos