Screen Sharing enables conference participants to share a screen. The SIP [1] protocol is used to setup calls and the VNC [2] protocol is used for trnsport of framebuffer data. The shared screen is created by one participant and other participants can access the screen by way of sipconf server.
This document describes screen sharing. Screen Sharing function is
added to SIP conference server
sipconf and SIP user agent
sipc.
Screen data are transported by the
VNC
(Virtual Network Computing) protocol.
The rest of this document is laid out as follows: I first briefly mention
related work in the field.
I then provide some background
on the system.
After this I describe the architecture
of the system.
This is followed by the program documentation.
Then I describe the limitations of my program,
and finally I describe future work to the system.
VNC (Virtual Network Computing) is a remote display system which allows to access a computer's screen from any Internet-connected machine [2]. VNC was created by AT&T Laboratories Cambridge (The laboratory closed April 23, 2002). It however does not use SIP for signalling.
The conference server sipconf had already supported audio, video and chat functions. The user agent sipc had also supported point to point VNC function. However, sipconf and sipc hadn't supported multipoint screen sharing function. This project added a screen sharing interface to both sipconf and sipc.
Screen Sharing system is configured by sipc, sipconf and
vncserver/vncviewer programs.
There are two processing parts : 1. SIP signaling, 2. VNC processing.
1. SIP signaling
This part is processed by sipc and sipconf.
A participant who will be a vncserver sends the following SDP message
to sipconf.
port is the port number which vncserver program uses. string is random eight characters and used for VNC authentication. string is created by sipc program.m=application port TCP vncserver k=clear:string
port is the port number which sipconf's vncviewer function uses.m=application port TCP vncviewer
On the other hand, a participant who will be a vncviewer sends the following SDP message to sipconf.
port is the unused port number of this participant's machine. When sipconf receives this message, sipconf returns the following SDP message.m=application port TCP vncviewer
port is the port number which sipconf's vncserver function uses. string is random eight characters and used for VNC authentication. string is created per participant by sipconf program.m=application port TCP vncserver k=clear:string
2. VNC processing
This part is processed by VNC programs and sipconf.
This part starts after SIP signaling.
This part is divided to two parts. One is Initial Handshaking Part
and the other is Message Transfer Part.
I modified sipc, sipconf and Windows version VNC program. Modification parts of those programs are described in the following documents.
Unfortunately, my program has some problems. The followings are remained issues.
I appreciate Prof. Henning Shultzrinne for giving me this project and guided me. I also appreciate Kundan Singh and Xiaotao Wu for giving me many advices about sipconf, sipc and VNC.
Last updated by Kazuumi Koguchi