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.
To run IPPhone as a Ninja iSpace service, include the following line into your "ispace.cfg":iceberg.iap.ipphone.IPPhone user-profile-path hostname addr-book-pathThe user profile (an example) includes the user's ICEBERG unique ID (iUID), and all his devices' LDAP Distinguished Names (DN). The address book ( 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.