This document describes the IPPhone, a desktop phone program, which is considered as an ICEBERG device or service endpoint. IPPhone implements the IAP interface. For a general description of an IAP, please refer to iap.html.
The IAP should be run as follows:
java iceberg1.nvsme.Main demo1-ipphone.cfg
An example configuration file is demo1-ipphone.cfg. Check the following parameter values: "smSpec", and "uiCfgFile". The "uiCfgFile" parameter gives two further configuration files described below.
The user profile file (an example) includes the user's ICEBERG unique ID (iUID), and all his devices' service-specific-id's (in LDAP format; see here).
The address book file (an example) includes the iUIDs and the nicknames of people you communicate with on a regular basis. New items can be added on-demand.
Below is the main window of the IPPhone. In this example, the current user (say, with an iUID of "helenjw@cs.berkeley.edu") is trying to initiate a call to "dong@cs.berkeley.edu". Clicking on the "Initiate New Call" button will establish the communication session.
If you want invite more than one callees, click on the "More Recipient" or the "Address Book" button in the main window. Then, the following window pops up. Under the "Nickname" is your address book: a list of the ICEBERG UIDs and the nicknames. Under the "Recipients of Current Call" is the list of callees you are about to invite. "Add" and "Remove" buttons are used to move the items between these two lists. If a party you want to reach does not appear in the "Nicknames" list, you can add new items to your address book (or "Nicknames" list) by click on the "Add Recipient" button on the top of the window. When click on the "Call" button, the call will be initiated.
When a communication session is established, a session window (shown below) is popped up listing the current session participants. During a session, you can invite more callees (such as "potato@cs.berkeley.edu" in the window, or click on "More Recipients" to invite more than one recipients). In addition to inviting new participants, you can also perform service handoffs. Service handoff allows you to switch among your service endpoints in the middle of a session. In this case, you handoff from the IPPhone to other endpoints. You can do this by choose the desireable device, such as "cellular phone", then click on the "Handoff" button. This action invites the new device into the current session. To complete service handoff, you will need to click on the "Hang Up" button to remove IPPhone from the session.