IPv6 Videophone with Windows Driver Model By  Gopinath Rao Sinniah Asian Institute of Medicine, Science and Technology (AIMST)
Current Conferencing Tools WDM Video capture Audio capture QoS and Flow Label IPv6 Address binding Use of Flow Label in IPv6 Types of Communication Videophone using winsock2 Videophone using multicast The flow of packets using WDM and IPv6  Videophone to mobile phone (3G/4G)
Current Tools Vic & Rat HVIP6 (High-quality Video conferencing platform based on IPv6 multicast)  Gnome Meeting
Windows for Driver Model (WDM) Advantages of WDM Video Capture 32 bit address Synergy between DirectShow and CSA Single class driver architecture Television tuner, input selection and support for fields One driver for all Windows OS
Windows Driver Model (WDM) Video Capture
Audio Capture in WDM Audio processing is performed in kernel mode Kernel streaming is built on top of WDM
What is QoS A video phone application requires: The cost is not prohibitive There is a network path available to the other party The user knows the IP address of the terminal the other user The end terminals can reassemble the data packets into a sensible order The end terminals understand how to handle errors in packets The packets arrived at the minimum length of time
Use of Flow Label in IPv6 header Advantages of using flow label Decreases the average processing load of the network routers Facilitates end-to-end IP level security mechanism Reserving resources using flow label reduce problem caused by frequent route changes Facilitate implementation of QoS based routing
The use of 20-bit flow label for QoS Will ensure smooth transition on video and audio packets without degradation Will ensure adequate latency level Requires special handling by routers (a separate project) Still in the implementation level
IPv6 Address binding Most of the nodes will have more than 1 IPv6 address Link Local Address Global Unicast Address Choice of source address based on destination address Will integrate the use of “default address selection for IPv6” – RFC 3484 in future
Types of Communication Initially the system developed using point to point (unicast) Multicast transmission is still under development Multicast in a LAN is not a problem Multicast in WAN - need to use appropriate  multicast routing
How does IPv6 Videophone works? Videophone uses both TCPv6 and UDPv6  TCPv6 for exchanging information between 2 machines UDPv6 for transmitting video and audio packets
IPv6 Videophone using winsock2 Uses winsock2 architecture (RFC 2533) WSASocket() is used as the predefined socket objects Create socket Optimization on WSASocket for receiving continuous audio/video packet  m_hSocket=WSASocket (AF_INET6, SOCK_DGRAM, IPPROTO_UDP, NULL, 0,0); if (WSAAsyncSelect(m_hSocket, mesg_ptr->m_hWnd, WM_SOCKET_EVENT, IEvent) == SOCKET_ERROR)
IPv6 Videophone using multicast Send multicast packet by setting IPv6 multicast address in sendto () function To receive multicast packet, the following is used after the creation of WSASocket This sends ICMPv6 multicast Listener Discovery (MLD) to the multicast group sendto(m_sndSocket, buffer, sendsize, 0, (LPSOCKADDR) &m_sendtoadd, add_size) Multicast address : ff01:0:0:0:0:0:0:2 struct ipv6_mreq imr6; Imr6.ipv6mr_interface=0; Setsockopt(m_hSocket, IPPROTO_IPV6, IPV6_JOIN_GROUP, (char *) &imr6, sizeof(imr6));
Flow of Packet Capture of Video / Audio using WDM Compressed Video / Audio using WDM IPv6 Socket creation IPv6 Address Selection Link Local Address / Unicast Address Multicast address Marking of packets using IPv6 flow label (QoS) 3G / 4G Transition server IPv6 Network 3G / 4G network
The communication  Node A request connection from node B (TCPv6) Node A sends compressed data to node B (UDPv6) Node B decompress and playback Web cam Web cam Accept/Deny Hub Connect IPv6 Node A IPv6 Node B
Capture Audio/Video using WDM Compressed Audio/Video using WDM Sender Receiver Send Flow label and traffic class will check the traffic and ensure it is sending to the proper address. Decompressed Audio/Video using WDM Playback Audio/Video using WDM Node A Node B
Future Extension – pc to mobile phone (3G/4G) in IPv6 mode Translation server IPv6 Videophone
Conclusion The system is not much different from other Video Conferencing tools The use of IPv6 features are primary objective Flow label Mobile communication System is being developed to support: QoS using flow label and traffic class Session Initiation Protocol (SIP) Mobile & wireless communication
Thank You Gopinath Rao Sinniah [email_address]

Video phone

  • 1.
    IPv6 Videophone withWindows Driver Model By Gopinath Rao Sinniah Asian Institute of Medicine, Science and Technology (AIMST)
  • 2.
    Current Conferencing ToolsWDM Video capture Audio capture QoS and Flow Label IPv6 Address binding Use of Flow Label in IPv6 Types of Communication Videophone using winsock2 Videophone using multicast The flow of packets using WDM and IPv6 Videophone to mobile phone (3G/4G)
  • 3.
    Current Tools Vic& Rat HVIP6 (High-quality Video conferencing platform based on IPv6 multicast) Gnome Meeting
  • 4.
    Windows for DriverModel (WDM) Advantages of WDM Video Capture 32 bit address Synergy between DirectShow and CSA Single class driver architecture Television tuner, input selection and support for fields One driver for all Windows OS
  • 5.
    Windows Driver Model(WDM) Video Capture
  • 6.
    Audio Capture inWDM Audio processing is performed in kernel mode Kernel streaming is built on top of WDM
  • 7.
    What is QoSA video phone application requires: The cost is not prohibitive There is a network path available to the other party The user knows the IP address of the terminal the other user The end terminals can reassemble the data packets into a sensible order The end terminals understand how to handle errors in packets The packets arrived at the minimum length of time
  • 8.
    Use of FlowLabel in IPv6 header Advantages of using flow label Decreases the average processing load of the network routers Facilitates end-to-end IP level security mechanism Reserving resources using flow label reduce problem caused by frequent route changes Facilitate implementation of QoS based routing
  • 9.
    The use of20-bit flow label for QoS Will ensure smooth transition on video and audio packets without degradation Will ensure adequate latency level Requires special handling by routers (a separate project) Still in the implementation level
  • 10.
    IPv6 Address bindingMost of the nodes will have more than 1 IPv6 address Link Local Address Global Unicast Address Choice of source address based on destination address Will integrate the use of “default address selection for IPv6” – RFC 3484 in future
  • 11.
    Types of CommunicationInitially the system developed using point to point (unicast) Multicast transmission is still under development Multicast in a LAN is not a problem Multicast in WAN - need to use appropriate multicast routing
  • 12.
    How does IPv6Videophone works? Videophone uses both TCPv6 and UDPv6 TCPv6 for exchanging information between 2 machines UDPv6 for transmitting video and audio packets
  • 13.
    IPv6 Videophone usingwinsock2 Uses winsock2 architecture (RFC 2533) WSASocket() is used as the predefined socket objects Create socket Optimization on WSASocket for receiving continuous audio/video packet m_hSocket=WSASocket (AF_INET6, SOCK_DGRAM, IPPROTO_UDP, NULL, 0,0); if (WSAAsyncSelect(m_hSocket, mesg_ptr->m_hWnd, WM_SOCKET_EVENT, IEvent) == SOCKET_ERROR)
  • 14.
    IPv6 Videophone usingmulticast Send multicast packet by setting IPv6 multicast address in sendto () function To receive multicast packet, the following is used after the creation of WSASocket This sends ICMPv6 multicast Listener Discovery (MLD) to the multicast group sendto(m_sndSocket, buffer, sendsize, 0, (LPSOCKADDR) &m_sendtoadd, add_size) Multicast address : ff01:0:0:0:0:0:0:2 struct ipv6_mreq imr6; Imr6.ipv6mr_interface=0; Setsockopt(m_hSocket, IPPROTO_IPV6, IPV6_JOIN_GROUP, (char *) &imr6, sizeof(imr6));
  • 15.
    Flow of PacketCapture of Video / Audio using WDM Compressed Video / Audio using WDM IPv6 Socket creation IPv6 Address Selection Link Local Address / Unicast Address Multicast address Marking of packets using IPv6 flow label (QoS) 3G / 4G Transition server IPv6 Network 3G / 4G network
  • 16.
    The communication Node A request connection from node B (TCPv6) Node A sends compressed data to node B (UDPv6) Node B decompress and playback Web cam Web cam Accept/Deny Hub Connect IPv6 Node A IPv6 Node B
  • 17.
    Capture Audio/Video usingWDM Compressed Audio/Video using WDM Sender Receiver Send Flow label and traffic class will check the traffic and ensure it is sending to the proper address. Decompressed Audio/Video using WDM Playback Audio/Video using WDM Node A Node B
  • 18.
    Future Extension –pc to mobile phone (3G/4G) in IPv6 mode Translation server IPv6 Videophone
  • 19.
    Conclusion The systemis not much different from other Video Conferencing tools The use of IPv6 features are primary objective Flow label Mobile communication System is being developed to support: QoS using flow label and traffic class Session Initiation Protocol (SIP) Mobile & wireless communication
  • 20.
    Thank You GopinathRao Sinniah [email_address]