Once started, Simphony is intented to be running continuously on the user's desktop. When the user is not making outgoing calls, it can remain iconized, waiting for incoming calls. Prior to start using any feature, at least one media agent MUST be defined using the Media dialog box on both the caller's and the callee's hosts.
Setting Media Agents
Making a Two-Party Outgoing Call
Canceling the Outgoing Call
Determining the Callee Availability
Answering an Incoming Call
Call Forwarding
Multicast Conferencing
Log Files
Back to Main
Setting Media Agents
The Simphony's main GUI window presents a menu of options users can perform. To set media agents, the user clicks on the Media Agents button from the menu. The MediaDialog box will pop up and the user fills out for each type of media the media agent's executable name and the absolute path of the directory where the executable resides. The pathname should be entered in the format the given platform understands. Currently users are allowed to set only one agent for each type of media, namely audio, video, and application such as whiteboard. For available MBone conferencing softwares, please refer to the Installation section.
Making a Two-Party Outgoing Call
To make an outgoing call, the user clicks on the Call Box button from the main menu. The CallerDialog box will pop up, prompting the user to enter necessary information to initiate a call. The caller's effective user id and local host name are pre-populated in the From fields and are modifiable. Once the user fills out the callee's user id, the host name or IP address of the terminating host, and optionally the subject and the priority of the call, s/he can place the call by clicking on the Call button.
The Connection radio button will determine whether the session is intended for two-party call or multiparty conference. (see Making a Conference Call for more information on Conferencing.)
Simphony then initiates a SIP transaction by sending an INVITE request message to the callee' host machine. The user agent server on the terminating host determines whether the callee is logged in the host, and if so, it alerts the callee of the incoming call by ringing the phone (Simphony playing the telephone ringing sound.) While the callee's phone is ringing, the caller will hear the beep sounds as a ringback, an indication to the caller that the callee is being alerted of the invitation. The INVITE message and ringing will repeat every 5 second until the invitee answers the call either by accepting or rejecting.
Throughout the SIP transaction all messages sent and received
and corresponding state transition are both displayed in the
text area of the dialog box and written
to a logfile called "outcall.log" in the current directory.
Canceling the Outgoing Call
While the outgoing call is progressing (ringing), the caller has the option
to cancel the call by clicking on the Cancel button from the CallerDialog box.
The BYE message will be sent to the user agent server on the callee's host
and the SIP transaction will be terminated.
Determining the Callee Availability
The server running on the callee's machine can determine whether the callee is currently logged in the localhost by implementing the finger protocol. If the callee is not found on the host, the server will respond to the client with the "302 Moved temporarily" message. The client displays a message to the caller saying "<callee> is not logged in or does not exist at <host name>" and ends the transaction by sending "ACK".
[NOTE: In order for this feature to work, the callee's system
must support the finger protocol. (PC's do not) If finger itself cannot be performed,
the invitation will proceed regardless.]
Answering an Incoming Call
The user will be notified of an incoming call by a telephone ringing sound repeating every 5 seconds and a pop up window called Incoming Call. The Incoming Call box will display information on the incoming call such as the caller's identity, originating host address, the subject and the priority of the call. It also indicates whether it's a two-party or conference session, and in case of conference, session name and description are also displayed.
The user can either accept or reject the call by clicking on the Accept or the Reject button. If the user rejects the call, the "603 Decline" status code is sent to the caller's user agent and the caller will be notified accordingly (by a printed message in the textarea window) and the transaction will be terminated. If the user accepts the invitation, all media agents the user has previously defined will automatically be started and the conversation can start.
The media session will be started against the connection address extracted from the "c=" field of the session description received as part of the INVITE message from the caller.
For a two-party call, the connection address will always be the same as the caller's originating host address, while for a conference session, it will be set to the multicast address the inviter has specified in the Conference dialog box.
The progress of the SIP transaction with state transition is displayed
in the text area of the dialog box as well as being
written into the logfile called "incall.log" in the current directory.
Call Forwarding
The user can redirect all incoming calls to another host by registering for call forwarding. This is done by the user selecting the Call Forwarding option from the main menu and filling out the user id and the name of the host (or IP address) where calls should be redirected to. Once the Done button is clicked, all incoming calls with a matching callee id will be forwarded to the specified host. The registered data is cached in Simphony until the user invokes the Register dialog again and clears the text fields, at which point the call forwarding is turned off.
Simphony allows users to invite others to join a multiparty, multicast conference session and also provides the interface for the invitee to join the conference. Inviting a person to a conference is very much similar to making a two-party call except that the user needs to select conference in the Connection field from the CallerDialog box. Then the Conference dialog box will pop up, prompting the user to enter session information such as session name, description and most importantly the IP multicast address. By filling out this information and placing a call, the caller starts an invitation to a multicast session. (The invitation itself is always unicast.)
Once the invitee accepts the invitation, a media session is established with the multicast group. Once a multicast session is established and on-going, not only the originator, but any participant in the conference session can invite additional members to join the conference. This implies that one is able to make outgoing calls as many times as s/he wishes while s/he is already participating in a session.
As long as the specified IP multicast address in the Conference dialog box
remains the same, the invitees will be joined to the same conference. The only
current limitation is that one can invite only one person at a time.
Log Files
The progress of all SIP transaction is recorded in the logfiles
called "incall.log" for incoming calls and "outcall.log"
for outgoing calls. Recorded messages include all SIP and
SDP messages sent back and forth between the client and server
and corresponding state transition of the call.