Previous Page Table Of ContentsHome IndexNext Page


8.2.  Recording a Message


Figure 4.  Record Message State Diagram


Figure

The application waits for a TDX_GETDIG event. The retrieved digit may be either an asterisk "*" or a 3-digit mailbox number. Any other digit or combination of digits generates an error.

If the digit is "*", the application replays the Main menu and the call state transitions to IPTMAIL_CONNECTED_WAIT_SIG.

If three digits are retrieved, the application checks if it is a legal mailbox number. If it is not, the application plays the ERROR_MENU and waits for another TDX_GETDIG event.

If the mailbox number is legal, the application checks if the requested mailbox is available. If it is unavailable, the application plays the UNAVAILABLE_TRY_AGAIN_MENU and waits for another TDX_GETDIG event.

If the mailbox number is available, the application plays the STARTREC_MENU and the call state transitions to IPTMAIL_CONNECTED_WAIT_START_REC.

If the application receives a TDX_PLAY event, it requests the termination reason. If it receives TM_EOD, the STOPREC_MENU is played. Otherwise it calls dx_getdig( ) to collect the digit/s from the digit buffer. The application then waits for a TDX_GETDIG event. The call state remains in IPTMAIL_CONNECTED_REC_AND_SEND.

The application waits for a TDX_GETDIG event. The retrieved digit may be either an asterisk "*" or "2". Any other digit generates an error.

If the digit is "*", the application plays the SENDMSG_MENU. The call state transitions to IPTMAIL_CONNECTED_RECORD_AND_SEND.

If the digit is "2", the application does the following:

  1. Calls dx_clrtpt( ) to clear the TPT (Termination Parameter Table) structures.
  2. Sets the DV_TPT structure to terminate on "2".
  3. Sets up DX_IOTT (data structure that contains parameters for the Input/Output Transfer Table).
  4. Calls dx_clrdigbuf( ) to clear the digit from the buffer.
  5. Calls dx_rec( ) to begin recording on the channel.

The call state transitions to IPTMAIL_CONNECTED_RECORD_MSG.

The application waits for a TDX_RECORD event. It gets the termination reason and calls dx_fileclose( ) to close the recorded file.

The application plays the STOPREC_MENU and the call state transitions to IPTMAIL_CONNECTED_STOP_REC.

The application waits for a TDX_GETDIG event. The retrieved digit may be either an asterisk "*", "2", "3", or "4". Any other digit generates an error.

If the returned digit is "2", the application discards the recorded message and plays the beep prompt to begin recording again. The call state transitions to IPTMAIL_CONNECTED_RECORD_MSG.

If the returned digit is "3", the application marks the mailbox as full and plays the SAVE_CONFIRM_AND_MAIN_MENU. The call state transitions to IPTMAIL_CONNECTED_WAIT_SIG.

If the returned digit is "4", the application plays the message back and the call state transitions to IPTMAIL_CONNECTED_LISTEN_MY_REC.

If the returned digit is "*", the application frees the mailbox and doesn't store the message. The application plays the MAIN_MENU and the call state transitions to IPTMAIL_CONNECTED_WAIT_SIG.

The application waits for a TDX_PLAY event. When it receives the event, it closes the played file and plays the STOPREC_MENU. The call state transitions to IPTMAIL_CONNECTED_STOP_REC.


Previous PageTable Of ContentsTop Of PageIndexNext Page

Click here to contact Telecom Support Resources

Copyright 2002, Intel Corporation
All rights reserved
This page generated September, 2002