Telephony based grading solution
Sponsored Links
This presentation is the property of its rightful owner.
1 / 42

Telephony Based Grading Solution PowerPoint PPT Presentation


  • 68 Views
  • Uploaded on
  • Presentation posted in: General

Telephony Based Grading Solution. by Svechinsky Ella and Simanovich Len. Project Description. Control Model. Solution enables: Retrieving their grades using a dial-phone. Server Answers Communicates Retrieves grades. We used: TAPI SDKs SQL DB C#. Telephony Operator.

Download Presentation

Telephony Based Grading Solution

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Telephony Based Grading Solution

by Svechinsky Ella and

Simanovich Len


ProjectDescription


Control Model


  • Solution enables:

    • Retrieving their grades using a dial-phone.

  • Server

    • Answers

    • Communicates

    • Retrieves grades


  • We used:

    • TAPI SDKs

    • SQL DB

    • C#


Telephony Operator


Introductionto TAPI 3.0


  • TAPI 3.0

    • Simple and generic methods for:

      • making connections

      • accessing media streams

    • Abstract call-control functionality.


Call Control Model for TAPI 3.0


Telephony Operator Design


  • Telephony Operator application:

    • features for dial-up modem communication for Telephony Based Grading Solution project.


Definition of Interfaces


  • Generalized solution:

    • Abstract interfaces.

    • Different kinds of communication.


  • Defined interfaces:

    • IEngine

    • ILine

    • ICall

    • IDisconnectCallBack


  • Enable communication

  • Support:

    • multiple lines.

    • incoming and outgoing requests.

    • receiving and sending data.


Communication Control Model


DisconnectCallBack Interface

  • Assigned to the Call object.

  • Callback interface.

  • Signals the main server.


Implementation of Interfaces


  • Using TAPI 3.0:

    • ProjectEngine

    • ProjectLine

    • ProjectCall


  • Multiple modems.

  • One TAPI object = Engine object.

  • Dial-up modem = Line object.

  • Incoming call = Call object.

  • Methods:

    • multithreaded

    • callback


ProjectEngine implementation

  • ProjectEngine:

    • TAPI object

    • ArrayList with Line objects.


ProjectEngine implementation (cont.)

  • Multithreaded methods allow:

    • Registration for Lines.

    • Listening for TapiEvents.

    • Receiving events for all.

    • Identification of Line.

    • Passing event to the Line.


Project Line implementation

  • ProjectLine:

    • TAPI object

    • Address of dial-up modem

    • Call object for a current call

    • Queue object with DigitEvents


Project Line implementation (cont.)

  • Multithreaded methods allow:

    • Handling TapiEvents.

    • Getting a new call.


Project Line implementation (cont.)

  • NOTE:

    • Always answering the incoming call.

    • Delayed disconnection (Visual Studio .Net 2003)


ProjectCall implementation

  • ProjectCall object:

    • ProjectLine object

    • CallInfo object.


ProjectCall implementation (cont.)

  • Multithreaded callback methods allow:

    • Gathering one or more DigitEvents.

    • Playing audio messages.

    • Disconnecting.

  • NOTE:

    • IsConnected() method is enabled.


Data-Base Side and Main Service


Overview

Telephony Operator ProjectData-Base Side and Main Service


Data Base

Telephony Operator Project Data-Base Side and Main Service

  • Implemented using Microsoft SQL server 2000.

  • The logic of managing the information is done in stored procedures.


Data Base

Telephony Operator Project Data-Base Side and Main Service

  • The queries in the Main Service are done in real time, so it has to be fast. The database is designed to have fast queries, on GradesDBFeed’s expense.

  • The database is on one of the lab server. The connection to it is done with a connection string, using SqlConnection object.


Data Base

Tables and Relationships

Telephony Operator Project Data-Base Side and Main Service


Data Base

Special Stored Procedures

Telephony Operator Project Data-Base Side and Main Service

  • SP_last_grade_course_occurrence_update - used every time that a grade in changed/deleted.

  • SP_last_grade_all_students_course_update - used whenever a course occurrence is changed/deleted, and we have to update the records of all the students that were registered to this course occurrence.

  • SP_last_grade_course_update - used every time that a grade is changed/deleted, or the time of a course occurrence is changed/deleted.


Data Base

Data integrity

Telephony Operator Project Data-Base Side and Main Service


GradesDBFeed

Forms Application

Telephony Operator Project Data-Base Side and Main Service

MasterForm

StudentsForm

CoursesForm

CourseOccurrencesForm

GradesForm


GradesDBFeed

Data Adapter

Telephony Operator Project Data-Base Side and Main Service


DBIF Class Library

(Database Interface)

Telephony Operator Project Data-Base Side and Main Service

  • This class library has an explicit function for every query.

  • This code uses the AutoSProc tool.


DBIF Class Library

AutoSProc

Telephony Operator Project Data-Base Side and Main Service

// creating a command object with the stored procedure name

SqlCommand cmd = new SqlCommand("SP_valid_student_password", cnn);

cmd.CommandType = CommandType.StoredProcedure;

//defining the parameters that the stored procedure gets

cmd.Parameters.Add("@student_id",SqlDbType.VarChar,50).Value=student_id;

cmd.Parameters.Add("@student_password",SqlDbType.VarChar,50).Value=student_password;

cmd.Parameters.Add("@valid", SqlDbType.Int);

cmd.Parameters["@valid"].Direction=ParameterDirection.Output;

//executing the sql command

public interface ISprocCalls: ISprocBase

{

int SP_valid_student_password(string student_id, string student_password, ref int valid);

...

}


MainService

Telephony Operator Project Data-Base Side and Main Service

  • Most of the operations are allowed for a maximum number of tries.

  • This service is implemented only for one phone line.

  • Has a function for handling grammer of reading a number a loud. It combines a set of messages to one array."the number of points is 99.5" is translated to

    "the number of points is ",90","9","and, "a half".


MainService

Telephony Operator Project Data-Base Side and Main Service


What did we have here?

(key learnings)

Telephony Operator Project Data-Base Side and Main Service

  • System design and Layers of abstractions

  • C# and .Net

  • Databases: stored procedures and data integrity.


THE END


  • Login