This document describes the specifics of the Jukebox IAP. For a general description of an IAP, refer iap.html.
The Jukebox IAP is a proxy for the Ninja Jukebox Service. The Ninja Jukebox service provides a SecureRMI interface for accessing mp3 songs in a repository. The Jukebox IAP was built as a exercise in extending services to Iceberg end-points. The IAP itself does not include any security mechanisms and hence is not currently set up as a long-running service.
The specifics of the Jukebox_Iap are as follows:
Running the Jukebox IAP
The Jukebox IAP runs with the switch dbg set to true by default and in this mode, plays a default hardcoded mp3 file always (this mp3 file needs to be present at the APC service -- a hack for demo/testing purposes). To make it run in its original intended mode, you have to set the dbg variable to true and receompile. Of course, this would require you to have a Jukebox service running.
The Jukebox IAP operates as follows. It fetches the list of songs from the Jukebox service and writes this information onto a file. This file assigns each song a song-number. This list is intended to be given to the users. The song-number is used by the users to interactively pull songs, by keying in the song-number using DTMF tones.
The Jukebox IAP needs to be run as follows to fetch the list of songs and write onto a file:
jukebox_iap.Jukebox_Iap music-dir-host -w songs-file-name
This fetches the list of songs from the Jukebox service at music-dir-host and writes onto the file songs-file-name.
The Jukebox IAP can now be run as an iSpace service with the iSpace configuration file having the following line:
iceberg.iap.jukebox_iap.Jukebox_Iap music-dir-host songs-file-name ipop-host[:port]
The ipop-host is the location of the machine where the iPOP is running, and port is the iSpace port of the iPOP (defaults to 1099).
On an incoming call, the Jukebox_Iap starts playing the first song. The user can key in a song request by pressing the digits of the song number followed by the '#' or '*' sign. There is no interactive-voice system and this is an obvious area of extension.
Naming service and preference registry entries
Since the Jukebox IAP has an identity of its own (that is, users may try to reach the mediamanager IAP as an entity), it needs a naming service entry and preference registry entry. This is very similar to the voice-mail IAP, refer here.