tutoring.net - a communication portal for e-learning

78
Tutoring the 21st Century Tutoring.NET - A communication portal for e- learning ught to you by: Markus Beier, Caroline Daniel, Daniel Dudasze Marc Hermann, Stéphanie Lecat, Daniel Toeller

Upload: rozene

Post on 19-Mar-2016

33 views

Category:

Documents


1 download

DESCRIPTION

Tutoring.NET - A communication portal for e-learning. brought to you by: Markus Beier, Caroline Daniel, Daniel Dudaszek, Marc Hermann, Stéphanie Lecat, Daniel Toeller. Goals :. Contact point for students and tutors - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Tutoring.NET - A communication portal for e-learning

brought to you by: Markus Beier, Caroline Daniel, Daniel Dudaszek, Marc Hermann, Stéphanie Lecat, Daniel Toeller

Page 2: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• Contact point for students and tutors

• Give students the opportunity to contact their tutors independent of location and time.

• Tutors shall be able to decide when, where and how they can be reached.

Goals :

Page 3: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• Web portal as a meeting point

• SIP enables the new ways of communication

How we achieved this :

Page 4: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Functionality of the web site

4. Admin

1.General Features

2.Student

3.Teacher

Page 5: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Functionality of the web site – Generality

• Register (see student and teacher part)• Log-in• Send an email• Make a call (SIP or Netmeeting) • Log-out

Page 6: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Functionality of the web site - Student • Register yourself• Messages from the teachers• Courses you can join or quit, courses you are already in• Students work group• Students in your courses• Teachers of your courses• Edit your profile

Page 7: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Functionality of the web site - Teacher • Ask the administrator to register• Manage your messages• Courses you are in charge of, deletion, addition• Teacher work group• Students in your courses• Edit your profile

Page 8: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Functionality of the web site - Admin

• Create a teacher account• See the list of all the work group (student and

teacher)• See the list of all the students• See the list of all the teachers• See the list of all the courses

Page 9: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Database

1. MySQL

2. Our database

Page 10: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Database – Advantage of MySQL

• MySQL is a robust and performing SQL server• MySQL easily work with scripts language as PHP• PhpMyAdmin is an easy to learn interface to

manage MySQL database • Not perfect but...

Page 11: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Our Database – schema

Page 12: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Dynamic Web Pages Web page created in response to the request of a user, whose

contents is variable  Collecting and sending to the Web server the information entered by

the user in a form  Transmission of this data to a script or an application for their

processing  Querying of a Database

Returning the result to the user in a HTML page

Page 13: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Use of PHPWhat is php

It is a script language

Embedded in a normal HTML page

Executed by the Web server

It will enable us to manage and use our MySQL database

And using data entered by the visitors

Page 14: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

How a PHP program looks likethe tags <?php and ?> represent the beginning andthe end of a PHP program . 

Example : <html><head><title>Example</title></head> <body> <H1><?php printf(“ the sum equals : $a + $b “,2,3);

?> </H1> </body></html>

Page 15: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

ResultAt the end of its execution the part which goes from

<?php to ?> is removed or replaced by the result of the program. For this example the result we have is :

 

Page 16: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

The advantage of the use of PHP The PHP Code is executed only by the server

Compatible with all kind of browsers 

Free software and availability of the source code       

Simplicity of writing of scripts   

 Simplicity of interaction with databases 

Integration within many Web servers (Apache, Microsoft IIS, ...)

Page 17: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Personalised webpages

Page 18: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

– Functionalities of Tutoring.net site require personalised webpages

– Example: two students which connect to the same page

Page 19: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

– main problem: stateless HTTP protocolrequest response principle

Page 20: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• Solution – Session:

• defines an state between server and client• problem here: how to identify a unique user• generate Session ID

– possibilities to pass the Session ID:• use the GET Parameter• store it in a cookie

Page 21: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• Session Management:– At the server side:

• Store Informations about each active Session • Database, shared memory,filesystem

– Sessions properties:• store variables• have a lifetime

Page 22: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• Authentication:– allow webserver to identify client

• Methods to implement Authentication– Basic Authentication – Session Based Authentication

Page 23: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Basic Authentication Session Based Authentication

Basic Authentication vs. Session Based Authentication

Page 24: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

+ - Basic - Authentication

easy implementation

no automatically logout possible

no web design possible

the user might be lead to uncertainty

Session Based Authentication

automatic logout possible

web design possible

necessity to implementate all Session functionalities

Basic Authentication vs. Session Based Authentication

Page 25: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• PHPLIB

• overview of selective Features:Session ManagementUser ManagementAuthenticationDatabase Access

Page 26: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• Example Authentication:

Page 27: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Access to page which requires authentication

Page 28: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Login form is shown first which is totally independent from the protected site

Page 29: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

If login is valid the requested site is shown

Page 30: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

SIPSession Initiation Protocol

-How to initiate a session with SIP

Page 31: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

1. Purpose of the protocol2. Basics3. Example

SIP – Session Initiation Protocol

Page 32: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• Mr. Blue wants to call Mr. White via VoIPQuestions:

– Which IP has Mr. White– which type of session shall be initiated– which parameters has the session

Solution: SIP

SIP – Session Initiation Protocol

Page 33: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• textbased protocol, uses UDP (TCP)• closely related to HTTP (same response

codes, authentication schemes)• clear separation: signalling of the session –

type of session (e.g. telephone call, game)• uses the proxy principle• control via 6 methods: REGISTER, INVITE,

ACK, BYE, OPTIONS, CANCEL

SIP – Session Initiation Protocol

Page 34: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

SIP – Session Initiation Protocol

Sample SIP MessageINVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP 134.155.12.22:5060From: sip:[email protected]: sip:[email protected]: sip:[email protected]: [email protected]: 27246067 INVITEContent-Length: 175Content-Type: application/sdpUser-Agent: eStara SoftPHONE

v=0o=eStara 27246067 27246067 IN IP4 134.155.12.22s=eStarac=IN IP4 134.155.12.22t=0 0m=audio 8000 RTP/AVP 0 101a=rtpmap:101 telephone-event/8000a=fmtp:101 0-15

HeaderContains the signalling information

BodyContains the description of the session

Page 35: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Mr. White turns on the phone

SIP Proxy

[email protected]=

12.12.12.12

REGISTER

FROM: [email protected]:12.12.12.12

Example call

SIP – Session Initiation Protocol

Page 36: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

SIP Proxy

[email protected]=

12.12.12.12

200 OK

Mr. White turns on the phone

Example call

SIP – Session Initiation Protocol

Page 37: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

SIP Proxy

[email protected]=

12.12.12.12Mr. White

waits for callsMr. Blue

places a call

INVITE

FROM: [email protected]: [email protected]

<Session Data>

Example call

SIP – Session Initiation Protocol

Page 38: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

SIP Proxy

[email protected]=

12.12.12.12

INVITE

FROM: [email protected]: [email protected]

<Session Data>

100 Trying

Mr. Blue places a call

Mr. White waits for calls

Example call

SIP – Session Initiation Protocol

Page 39: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

[email protected]=

12.12.12.12

180 Ringing180 Ringing

SIP Proxy

Mr. Blue‘s phone rings

Mr. White‘s phone rings

Example call

SIP – Session Initiation Protocol

Page 40: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

[email protected]=

12.12.12.12

200 OK200 OK

SIP Proxy

Mr. Blue‘s phone rings

Mr. White accepts

Example call

SIP – Session Initiation Protocol

Page 41: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

[email protected]=

12.12.12.12

ACK ACK

RTP audio streams

SIP Proxy

Example call

Mr. Blue ison line

Mr. White is on line

SIP – Session Initiation Protocol

Page 42: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

[email protected]=

12.12.12.12

SIP Proxy

Example call

Mr. Blue isoff line

Mr. White ends the call

SIP – Session Initiation Protocol

BYEBYE

Page 43: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

[email protected]=

12.12.12.12

ACK ACK

SIP Proxy

Example call

Mr. Blue isoff line

Mr. White is off line

SIP – Session Initiation Protocol

Call Duration 6 minutes: Fee 6€

Page 44: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Call LogicProgramming Sip:• CPL(Call Processing Language)• SIP CGI (Common Gateway Interface) • SIP Servlets

Page 45: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

What is CPL?• an XML-based scripting language for describing and controlling call services• a list of condition/action pairs

– Example:„If someone is calling during the presentation, redirect the call to the voicemail server.“

„Redirect my friends to my cell phone, anyone else to my office.“

Page 46: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

CPL Scripts can be based on:• Caller/Callee

– Address – Name

• Call subject • Caller's organization • Call Priority • Time periods

Page 47: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Where does CPL run?A CPL script runs in a signallingserver, and controls actions for the set upof a particular call

Page 48: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

CPL Script example<?xml version="1.0" ?><!DOCTYPE cpl PUBLIC "-//IETF//DTD RFCxxxx CPL 1.0//EN" "cpl.dtd">

<cpl>  <incoming>    <location url="sip:[email protected]

mannheim.de">      <redirect />    </location>  </incoming></cpl>

Page 49: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

CPL scripts can be createdin 2 ways

1.Advanced users can do it by hand2.With GUI based tools (Indigo CPL Editor)

Page 50: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Page 51: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Page 52: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Sip CGI• Similar to Web-CGI• Language-independent (Perl,C,...)• Security problem:

– CGI programs are unlimited in their power

buggy scripts may affect server only for admin

Page 53: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Sip Servlets• Compromise between security and

power Security provided by Java Sandbox Still powerful

Page 54: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Call processing overviewGenerality Security

CGI highest lowest

Servlets medium medium

CPL lowest highest

Page 55: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st CenturyTutoring the 21st Century

SIP User Agents

Functionality and Restrictions

Page 56: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• What is a User Agent ?• How does a User Agent work ?• Several used and tested UAs

• eStara Softphone• Microsoft Netmeeting• Pingtel XPressa• History Client

Overview

Page 57: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• What is a User Agent ?• How does a User Agent work ?• Several used and tested UAs

• eStara Softphone• Microsoft Netmeeting• Pingtel XPressa• History Client

Overview

Page 58: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• A „real“ Telephone (Hardphone) with internet-software running

• A so called „Softphone“, a special software that uses Internet communication protocols to run

What is a User Agent ?

•Two „implementations“ :

•A Hard – or Software based Phone to call someone over the Internet

Page 59: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• What is a User Agent ?• How does a User Agent work ?• Several used and tested UAs

• eStara Softphone• Microsoft Netmeeting• Pingtel XPressa• History Client

Overview

Page 60: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

RTP

SIPSIP

Page 61: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• What is a User Agent ?• How does a User Agent work ?• Several used and tested UAs

• eStara Softphone• Microsoft Netmeeting• Pingtel XPressa• History Client

Overview

Page 62: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

eStara Softphone

•Also possible to run as an applet for customer services

•SIP enabled

•Three different Lines for different simultaneous calls

•Forwarding calls possible

Page 63: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

•The only UA, which is launchable directly from the webpage

eStara Softphone

Page 64: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

eStara Softphone

•SIP Message Log for detailed look at the SIP Messages

•The only UA, which is launchable directly from the webpage

Page 65: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• What is a User Agent ?• How does a User Agent work ?• Several used and tested UAs

• eStara Softphone• Microsoft Netmeeting• Pingtel XPressa• History Client

Overview

Page 66: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Microsoft Netmeeting - Features

•Supports :WhiteboardsChatVideocallSharing Programs / DesktopFile Transfer

•H.323 Phone

Page 67: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Microsoft Netmeeting - Features

•The only UA which is integrated directly into the webpage via an Active-X-Control

•Embedded into the HTML by the <object> tag

•Buttons to control the call

•Many possibilities :

•Full UI•Only Parts of the UI

Page 68: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Microsoft Netmeeting - Calling

Hard-coded IP-Adress to reacha specified computer

If Netmeeting is integrated via Active-X into the webpage, the call is directly made

Page 69: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• What is a User Agent ?• How does a User Agent work ?• Several used and tested UAs

• eStara Softphone• Microsoft Netmeeting• Pingtel XPressa• History Client

Overview

Page 70: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

The Hardphone

Pingtel XPressa

•Multiple simultaneous calls

•Runs Java and SIP

•World´s first Java VoIP-Phone

Page 71: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

The Softphone

Instant Xpressa

•Emulation of the Pingtel XPressa•Xdk to develop Java Apps

Page 72: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• What is a User Agent ?• How does a User Agent work ?• Several used and tested UAs

• eStara Softphone• Microsoft Netmeeting• Pingtel XPressa• History Client

Overview

Page 73: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• HistoryClient•Prototype - Software for the tutor

•Shows Notes that were made during earlier sessions with the caller to make it easier to keep track of the problems.

Page 74: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

DEMONSTRATION

Page 75: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

• On a technical level– SIP, protocols for videoconferences, PHP

• On a personal level– Intercultural work, dealing with misunderstandings

Assessment

Page 76: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Ideas for the future

• Improve billing function

• Make a SIP call to a telephone network

• Getting CPL scripts to work

Page 77: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

Thank you for your attention

Page 78: Tutoring.NET -  A communication portal for e-learning

Tutoring the 21st Century

?