Home Web Cams Resume' Kafe de' Karr Amateur Radio Gallery

SMS Paging System
A real time, text-to-speech paging system.

This application was developed for one of CDI's manufacturing clients.  It monitors the status of each machine in their facility.  If a machine goes down or has another detectable problem, then the system will page the appropriate personnel over the compay's public address system.  The plant floor personnel also have the ability to initiate preset pages, such a requesting a forklift to come to a certain machine.

The application uses Microsoft Speech API (SAPI) 5.1 and Telephony API (TAPI).  Although the Speech API is from Microsoft, we purchased a third party's text-to-speech engine for a more life-like voice.  This system comprises two parts, both of which are written in Visual Basic:  the SMS Server and the SMS Client.  The client is an ActiveX control which communicates with the server using TCP/IP sockets.


System Overview

    • Developed in Microsoft Basic 6.0  with ADO as the data access tool. 
        
    • Uses Microsoft SAPI 5.1, MS Winsock, third party TAPI controls and a third party text-to-speech engine.
       
    • Server Features:
      • Displays the connected client's name, IP address, and last activity.
      • Displays various program events.
      • Displays the list of messages in the queue awaiting delivery.
      • Displays the current call progress.
      • Prioritizes new messges received from clients.
      • Assigns a unique message ID when a message is received from a client and passes that ID to the client as part of the communication protocol.
      • Maintains a configurable message destination list.
      • Maintains a configurable message type list with configurable message parameters.
      • Sends message completion status to the client that requested the message.
         
    • ActiveX Client Features:
      • Maintains a log of messages sent to the client.
      • Assigns a unique client ID for each message.  Each client maintains its own ID sequence.
      • Assigns the unique server ID from the server when the message is sent.
      • Configurable message time out.  If message delivery to the server fails, the client will retry for a specified duration.
      • Queue message for delivery.  If the client is not connected to the server when a new message is created, the client will hold the message until it connects.  Note: the delivery timeout will still apply.
      • Records message completion status from the server.



Screen Shots

For confidentiality reasons, there are no screen shots or code samples available.