jPhoneLite
jphonelite is a Java SIP VoIP 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 jPBXLite.
Video on Windows/Linux only.

jPhoneLite includes a Desktop Edition (Windows, Linux, Mac) and an Android Edition.


Project Page Download Run (jnlp) Run Applet Run Applet (javascript) Chrome WebStore Help JavaForce
Desktop ChangeLog Android 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/jphonelite. See compiling.txt for more info on compiling the applet.

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 : What are the mini/micro editions?
A : These editions are applets only designed for websites.
The user is forced to dial a number specified in the php files.
Great for online calling card systems or what ever else you can think of.
See the php files for more info.
The best way to use this with Asterisk is:
- create a configuration without a password (non-registered mode)
- configure Asterisk to accept anonymous inbound SIP connections
- configure a DID in Asterisk to goto your calling card system (ie: astcc) or IVR

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 jPhoneLite source.
Check out other projects such as jfBroadcast and jPBXLite that use the SIP code in different ways.

Q : What about codec licenses?
A : If you plan on using jPhoneLite in a commercial environment it is your responsibility to either get licenses for the following codecs or disable them:
CodecProviderPatent Expires
G729asipro.com2015/2016 ???
H.264mpegla.comWhen pigs fly???
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.