tutoring.net - a communication portal for e-learning

Post on 19-Mar-2016

34 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

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

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 :

Tutoring the 21st Century

• Web portal as a meeting point

• SIP enables the new ways of communication

How we achieved this :

Tutoring the 21st Century

Functionality of the web site

4. Admin

1.General Features

2.Student

3.Teacher

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

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

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

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

Tutoring the 21st Century

Database

1. MySQL

2. Our database

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

Tutoring the 21st Century

Our Database – schema

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

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

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>

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 :

 

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, ...)

Tutoring the 21st Century

Personalised webpages

Tutoring the 21st Century

– Functionalities of Tutoring.net site require personalised webpages

– Example: two students which connect to the same page

Tutoring the 21st Century

– main problem: stateless HTTP protocolrequest response principle

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

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

Tutoring the 21st Century

• Authentication:– allow webserver to identify client

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

Tutoring the 21st Century

Basic Authentication Session Based Authentication

Basic Authentication vs. Session Based Authentication

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

Tutoring the 21st Century

• PHPLIB

• overview of selective Features:Session ManagementUser ManagementAuthenticationDatabase Access

Tutoring the 21st Century

• Example Authentication:

Tutoring the 21st Century

Access to page which requires authentication

Tutoring the 21st Century

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

Tutoring the 21st Century

If login is valid the requested site is shown

Tutoring the 21st Century

SIPSession Initiation Protocol

-How to initiate a session with SIP

Tutoring the 21st Century

1. Purpose of the protocol2. Basics3. Example

SIP – Session Initiation Protocol

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

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

Tutoring the 21st Century

SIP – Session Initiation Protocol

Sample SIP MessageINVITE sip:beier@hippasus.informatik.uni-mannheim.de SIP/2.0Via: SIP/2.0/UDP 134.155.12.22:5060From: sip:hermi@hippasus.informatik.uni-mannheim.deTo: sip:beier@hippasus.informatik.uni-mannheim.deContact: sip:hermi@134.155.12.22Call-ID: 6f801d50659@134.155.12.22CSeq: 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

Tutoring the 21st Century

Mr. White turns on the phone

SIP Proxy

b@sip.de=

12.12.12.12

REGISTER

FROM: b@sip.deContact:12.12.12.12

Example call

SIP – Session Initiation Protocol

Tutoring the 21st Century

SIP Proxy

b@sip.de=

12.12.12.12

200 OK

Mr. White turns on the phone

Example call

SIP – Session Initiation Protocol

Tutoring the 21st Century

SIP Proxy

b@sip.de=

12.12.12.12Mr. White

waits for callsMr. Blue

places a call

INVITE

FROM: a@1.0.0.1TO: b@sip.de

<Session Data>

Example call

SIP – Session Initiation Protocol

Tutoring the 21st Century

SIP Proxy

b@sip.de=

12.12.12.12

INVITE

FROM: a@1.0.0.1TO: b@sip.de

<Session Data>

100 Trying

Mr. Blue places a call

Mr. White waits for calls

Example call

SIP – Session Initiation Protocol

Tutoring the 21st Century

b@sip.de=

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

Tutoring the 21st Century

b@sip.de=

12.12.12.12

200 OK200 OK

SIP Proxy

Mr. Blue‘s phone rings

Mr. White accepts

Example call

SIP – Session Initiation Protocol

Tutoring the 21st Century

b@sip.de=

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

Tutoring the 21st Century

b@sip.de=

12.12.12.12

SIP Proxy

Example call

Mr. Blue isoff line

Mr. White ends the call

SIP – Session Initiation Protocol

BYEBYE

Tutoring the 21st Century

b@sip.de=

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€

Tutoring the 21st Century

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

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

Tutoring the 21st Century

CPL Scripts can be based on:• Caller/Callee

– Address – Name

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

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

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:dudaszek@hippasus.informatik.uni-

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

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)

Tutoring the 21st Century

Tutoring the 21st Century

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

Tutoring the 21st Century

Sip Servlets• Compromise between security and

power Security provided by Java Sandbox Still powerful

Tutoring the 21st Century

Call processing overviewGenerality Security

CGI highest lowest

Servlets medium medium

CPL lowest highest

Tutoring the 21st CenturyTutoring the 21st Century

SIP User Agents

Functionality and Restrictions

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

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

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

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

Tutoring the 21st Century

RTP

SIPSIP

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

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

Tutoring the 21st Century

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

eStara Softphone

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

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

Tutoring the 21st Century

Microsoft Netmeeting - Features

•Supports :WhiteboardsChatVideocallSharing Programs / DesktopFile Transfer

•H.323 Phone

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

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

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

Tutoring the 21st Century

The Hardphone

Pingtel XPressa

•Multiple simultaneous calls

•Runs Java and SIP

•World´s first Java VoIP-Phone

Tutoring the 21st Century

The Softphone

Instant Xpressa

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

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

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.

Tutoring the 21st Century

DEMONSTRATION

Tutoring the 21st Century

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

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

Assessment

Tutoring the 21st Century

Ideas for the future

• Improve billing function

• Make a SIP call to a telephone network

• Getting CPL scripts to work

Tutoring the 21st Century

Thank you for your attention

Tutoring the 21st Century

?

top related