1 / 27

Development of E-learning and VoIP over IPv6

Development of E-learning and VoIP over IPv6. Ren-Hung Hwang Jenq-Muh Hsu National Chung Cheng University Taiwan, R.O.C. Outline. Native IPv6 Network in CCU Porting e-Learning to IPv6 Porting Open H.323 to IPv6 Future Works. IPv6 Development in CCU. 6BONE. Tunnel. NBEN. HiNet.

burke
Download Presentation

Development of E-learning and VoIP over IPv6

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. Development of E-learning and VoIP over IPv6 Ren-Hung Hwang Jenq-Muh Hsu National Chung Cheng University Taiwan, R.O.C.

  2. Outline • Native IPv6 Network in CCU • Porting e-Learning to IPv6 • Porting Open H.323 to IPv6 • Future Works

  3. IPv6 Development in CCU 6BONE Tunnel NBEN HiNet Native IPv6 Tunnel Tunnel CS CCU

  4. Services • DNS • Bind-9.2.1 • WWW • Apache 1.3.24 • Apache-1.3.24-v6-20020405.diff.gz • FTP • Proftpd1.21 • Proftpd-1.2.1-v6-20010303.patch.gz • News • inn-2.3.2 • inn-2.3.2-v6-20010807.diff.gz • tin-1.5.12.tar.bz2

  5. Mobile IPv6 • Mobile IPv6 for Linux (MIPL)

  6. e-Learning System for IPv6 • A SCORM-compliant e-Learning system ported to IPv6 networks

  7. Wireless Campus –m-Learning • Objectives: e-Learning activities on following platforms • Tablet PC • PDA (Pocket PC/WebPAD) • Issues • Develop a pen-based discussion tool: e-Board • Develop a PDA-based Walkie-Talkie • Enable SCORM API on handheld devices (limited function of Javascript) • Enable streaming media on handheld devices

  8. VoIP for IPv6 • Objective: VoIP over IPv6 Network • PWLib and OpenH323 – OpenSource VoIP Softwares • Porting PWLib and OpenH323 to IPv6 • Porting H.323 Components to IPv6

  9. H.323 System Architecture Components: Terminal, Gateway, MCU, Answer Machine

  10. H.323 Protocol Stack

  11. OpenH323 Applications • SimpleH323 • H.323 Terminal (EndPoint) • Command-Line/Voice Phone • GNOMEMeeting • H.323 Terminal (EndPoint) • Video Phone/Video Conferencing • OpenMCU • Multiple Control Unit • OpenAM • Answering Machine • OpenGK • GateKeeper

  12. VoIPv6 Porting Components (Conti.) OpenAM OpenMCU SimpleH323 GnomeMeeting OpenH323 (Porting to IPv6) PWLIB (Porting to IPv6) Multiple ControlUnit H323 Terminal(command line) H323 Terminal(support UI) Answer Machine

  13. PWLib Classes • PWLib • PSocket • PIPSocket • PTCPSocket • PIPDatagramSocket • PUDSocket

  14. PWLib Classes Modified • PSocket • A network communications channel • PIPSocket • Describes a type of socket that will communicate using the Internet Protocol • PTCPSocket • A socket that uses the TCP transport on the Internet Protocol • PIPDatagramSocket • Internet Protocol Datagram Socket class • PUDPSocket • A socket channel that uses the UDP transport on the Internet Protocol

  15. Modification Details class PIPCacheData(src/ptlib/common/sockets.cxx) const PString & GetHostName_v6() const { return hostname; } const PIPSocket::Address6 & GetHostAddress_v6() const { return address6; } class PHostByName(src/ptlib/common/sockets.cxx) BOOL GetHostName_v6(const PString & name, PString & hostname); BOOL GetHostAddress_v6(const PString & name, PIPSocket::Address6 & address); PIPCacheData * GetHost_v6(const PString & name); class PHostByAddr(src/ptlib/common/sockets.cxx) BOOL GetHostName_v6(const PIPSocket::Address6 & addr, PString & hostname); BOOL GetHostAddress_v6(const PIPSocket::Address6 & addr, PIPSocket::Address6 & address); BOOL GetHostAliases_v6(const PIPSocket::Address6 & addr, PStringArray & aliases); PIPCacheData * GetHost_v6(const PIPSocket::Address6 & addr);

  16. Modification Details class PIPSocket(src/ptlib/common/sockets.cxx、src/ptlib/unix/socket.cxx) Class Address6 virtual PString GetName_v6() const virtual BOOL Connect_v6() virtual BOOL Listen_v6() static PString GetHostName_v6() static BOOL GetHostAddress_v6() virtual BOOL GetLocalAddress_v6() virtual BOOL GetPeerAddress_v6() PString GetLocalHostName_v6() PString GetPeerHostName_v6() static BOOL GetInterfaceTable_v6() class PSocket(src/ptlib/common/sockets.cxx) virtual BOOL OpenSocket_v6() = 0;

  17. Modification Details class PTCPSocket(src/ptlib/common/sockets.cxx) virtual BOOL Listen_v6() virtual BOOL Accept_v6() virtual BOOL OpenSocket_v6() class PUDPSocket(src/ptlib/common/sockets.cxx) BOOL Connect_v6() void SetSendAddress_v6() void GetSendAddress_v6() void GetLastReceiveAddress_v6() virtual BOOL OpenSocket_v6()

  18. PObject H323Connection MyH323Connect PThread -OpenAudioChannel(BOOL, unsigned, H323AudioCodec & codec); -OnAnswerCall(const PString &, const H323SignalPDU &, H323SignalPDU &); -OnStartLogicalChannel(H323Channel & channel); ConsoleThread -StartRecording(); -Main(); H323EndPoint PProcess MyH323EndPoint OpenAM -Initialise(PConfigArgs & args); +Main(); -CreateConnection(unsigned callReference) +RecordFile(PArgList & args); +PlayFile(PArgList & args); PChannel -GetCodec(const PString & codecname); -GetDevice(const PString & device); PObject PIndircetChannel PObject PCM_OGMChannel G7231_File_Codec -AdjustFrame(void * buffer, PINDEX amount); -GetFrameLen(int val); -Read(BYTE * buffer, unsigned & length, RTP_DataFrame &); -CreateSilenceFrame(PINDEX amount); -Write(const BYTE * buffer, unsigned length, const RTP_DataFrame & rtp, unsigned & frames); -QueueFile(const PString & cmd); -Synchronise(PINDEX amount); -Read(void * buffer, PINDEX amount); H323Capability G7231_OGMChannel -CreateSilenceFrame(PINDEX amount); PCM_RecordFile H323RealTimeCapability -Synchronise(PINDEX amount); -Write(const void * buf, PINDEX len); H323AudioCapability G7231_RecordFile G7231_File_Capability -WriteFrame(const void * buf, PINDEX len); -......... OpenH323 Classes

  19. OpenH323 Libraries Architecture

  20. OpenH323 Classes Modified • H323TransportAddress • H323Transport • H323ListenerTCP • H323TransportIP • H323TransportTCP • H323TransportUDP

  21. Changing the IP Addressing Format in OpenH323 • The Original IP Address Format for IPv4 • ip$xxx.xxx.xxx.xxx:oooo • ip$IPv4 Address:Port Number • The Modified IP Address Format for IPv6 • ip$[xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]oooo • ip$[IPv6 Address]Port Number • Change the delimitation between IP address and port number • :  [ ]

  22. OpenH323 Applications IPv6 Porting • Ported Components • SimpleH323 • GNOMEMeeting • OpenMCU • OpenAM • In Progress • OpenGK

  23. Snapshot of the GnomeMeeting for IPv6 IPv6 Address

  24. Conclusion • Experimental IPv6 network in CCU • IPv6 applications • e-Learning, m-Learning • VoIP • Future works • IPv6/v4 Transition • IPv6 multicast • IPv6 QoS (broadband, WLAN, MANET)

More Related