1 / 42

Telephony Based Grading Solution

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.

cindy
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Telephony Based Grading Solution by Svechinsky Ella and Simanovich Len

  2. ProjectDescription

  3. Control Model

  4. Solution enables: • Retrieving their grades using a dial-phone. • Server • Answers • Communicates • Retrieves grades

  5. We used: • TAPI SDKs • SQL DB • C#

  6. Telephony Operator

  7. Introductionto TAPI 3.0

  8. TAPI 3.0 • Simple and generic methods for: • making connections • accessing media streams • Abstract call-control functionality.

  9. Call Control Model for TAPI 3.0

  10. Telephony Operator Design

  11. Telephony Operator application: • features for dial-up modem communication for Telephony Based Grading Solution project.

  12. Definition of Interfaces

  13. Generalized solution: • Abstract interfaces. • Different kinds of communication.

  14. Defined interfaces: • IEngine • ILine • ICall • IDisconnectCallBack

  15. Enable communication • Support: • multiple lines. • incoming and outgoing requests. • receiving and sending data.

  16. Communication Control Model

  17. DisconnectCallBack Interface • Assigned to the Call object. • Callback interface. • Signals the main server.

  18. Implementation of Interfaces

  19. Using TAPI 3.0: • ProjectEngine • ProjectLine • ProjectCall

  20. Multiple modems. • One TAPI object = Engine object. • Dial-up modem = Line object. • Incoming call = Call object. • Methods: • multithreaded • callback

  21. ProjectEngine implementation • ProjectEngine: • TAPI object • ArrayList with Line objects.

  22. ProjectEngine implementation (cont.) • Multithreaded methods allow: • Registration for Lines. • Listening for TapiEvents. • Receiving events for all. • Identification of Line. • Passing event to the Line.

  23. Project Line implementation • ProjectLine: • TAPI object • Address of dial-up modem • Call object for a current call • Queue object with DigitEvents

  24. Project Line implementation (cont.) • Multithreaded methods allow: • Handling TapiEvents. • Getting a new call.

  25. Project Line implementation (cont.) • NOTE: • Always answering the incoming call. • Delayed disconnection (Visual Studio .Net 2003)

  26. ProjectCall implementation • ProjectCall object: • ProjectLine object • CallInfo object.

  27. ProjectCall implementation (cont.) • Multithreaded callback methods allow: • Gathering one or more DigitEvents. • Playing audio messages. • Disconnecting. • NOTE: • IsConnected() method is enabled.

  28. Data-Base Side and Main Service

  29. Overview Telephony Operator ProjectData-Base Side and Main Service

  30. 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.

  31. 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.

  32. Data Base Tables and Relationships Telephony Operator Project Data-Base Side and Main Service

  33. 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.

  34. Data Base Data integrity Telephony Operator Project Data-Base Side and Main Service

  35. GradesDBFeed Forms Application Telephony Operator Project Data-Base Side and Main Service MasterForm StudentsForm CoursesForm CourseOccurrencesForm GradesForm

  36. GradesDBFeed Data Adapter Telephony Operator Project Data-Base Side and Main Service

  37. 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.

  38. 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); ... }

  39. 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".

  40. MainService Telephony Operator Project Data-Base Side and Main Service

  41. 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.

  42. THE END

More Related