The VoIP Example application is a typical voice call application for making and receiving VoIP calls, having also an address book and a call log.
The basic functionality is divided on three tab-based views: Contacts, Dialer and Call log. In addition there are views for an actual active call, for an incoming call and for the SIP account settings. The UI is implemented using LCDUI components.
The Contacts view lists all the saved contacts in the address book of the application. Contact information can be added and modified in a subview, as well as making a VoIP call to the selected contact.
The Dialer view provides a simple phone number dialer. Depending on the used SIP service provider, phone calls may be made to the public telephone network as well by using a normal phone number. Calling to a VoIP contact with a SIP address, requires adding it to the address book instead.
The Call log view presents the call history, grouped in three subcategories: received calls, dialed calls and missed calls. Caller name and a time stamp is shown on the listing. If the caller is not found from the address book, a VoIP address is shown instead of the real name.
The Settings view contains details of the used SIP account: username, password and registrar server. In addition, a custom ringtone file can be selected instead of the default one.
The Incoming VoIP call view informs about an incoming call with ability to answer or reject the call. At the same time, a ringtone is played. The SIP address of the caller is showed as well as the real name of the person, if it can be resolved from the local address book.
The VoIP call view shows an active call. In addition to the call ending button, there are toggle buttons for muting, putting the call on hold and switching the speaker mode. Furthermore, there is a sub view for sending DTMF tones, needed mostly in many phone services.
For a complete list of the MIDlet's packages and classes, see section MIDlet packages and classes.
For information about implementing the MIDlet, see section Implementation.