jfPhone
jfPhone is a VoIP/SIP Audio/Video SoftPhone.
Features 6 lines with transfer, hold, conference (up to all 6 lines), contact list, recent calls, ringtones, RFC 2833.
Audio codecs: g711u/a, g722, g729a, gsm.
Video codecs: VP8, H.263+, H.264, JPEG.
STUN/TURN/ICE and SRTP.
Tested with Asterisk PBX and jfPBX.
Video on Windows/Linux only.


Project Page Download Help JavaForce
ChangeLog

FAQ
Q : How do I configure the settings?
A : Press the CFG (config) button.

Q : How do I add contacts and monitor them?
A : If you open the right panel you can see your contacts and recent call history. Click 'Add Contact' to add a new contact. The server field is optional but is only used if 'Monitor Availability' is checked. The server name if used must match one of your configured SIP accounts to monitor the contact. When checked and the server supports presence detection then the icon next to the contact will reflect the contact's current register/busy/etc status.

Q : I see Exceptions in the log, is something broken?
A : Not necessarily, exceptions are common in Java programming and I use them often for debug tracing. If the phone is working, ignore them.

Q : How do I compile it?
A : Just run Apache ANT in /projects/jfphone.

Q : Why do I get the error "No compatible sound" found when I use Windows System?
A : You probably don't have a microphone (or speaker) plugged in.

Q : The outbound audio quality sounds bad on the other side but inbound audio sounds good?
A : Try disabling video for that account. Some providers have problems with video. (I notice this with callcentric.com)

Q : How can I use the SIP code in my own project?
A : Use the SIPClient class and implement SIPClientInterface yourself.
Do not try and build your project from the jfPhone source.
Check out other projects such as jfBroadcast and jfPBX that use the SIP code in different ways.

Q : What about codec licenses?
A : If you plan on using jfPhone in a commercial environment it is your responsibility to either get licenses for the following codecs or disable them:
CodecProviderPatent Expires
G729aG.7292017-01-01
H.264H.2642024-03-26
H.265mpegla.com????-??-??
All other codecs are either open source or their patents have expired and are free to use.
The patents do allow their use for testing and educational use without licensing.