XML based General Session Protocol( XGSP ) Specification ( Version 1.0)

1. XGSP for General Collaboration

 . User session management supports user sign-in, user create/terminate/join/leave/invite-into XGSP conference.

   Application session management supports create/destroy application sessions. Other application methods and events like Join/Leave Application session have to be defined by the application session entities.

  Floor control maintains conductorship in a XGSP conference. A conference chair has the power to control application session management and set the roles in these application sessions.

  XGSP Methods    Explanation
 Create-XGSP-Conference

 Modify-XGSP-Conference

 Terminate-XGSP-Conference

 The methods are used to create/modify/terminate a XGSP conference.

 A XGSP conference is a collaboration involves A/V, text chat, Shared Display, Shared SVG ....

 Join-XGSP-Conference

 Leave-XGSP-Conference

 Invite-into-XGSP-Conference

 Expel-from-XGSP-Conference

 The methods  are used by users to join/leave the XGSP conference.
 Query-XGSP-Conference  A signed-in user uses the method to know how many conferences are available to join.
 Membership-Event  The event is generated when the membership of this conference is changed.

  Three types of events: NewMemberEvent, ByeEvent, TimeOutEvent.

 RequestMembership

 

 This method is used by late-join users to request the latest membership report.
 Create-Application-Session

 Terminate-Application-Session

 The methods deals with the application session management.

 The conference users can use them to create/destroy public or private application sessions.

 Query-Application-Session  The method tells users how many application sessions are available for joining.

 

  Set-Application-Role  The conference chair uses this method to set the roles in the application session.

  For example, a conference chair can ask a user to become a Presenter which can control the shared PowerPoint slides.

  Request-Conference-Chair

  Release-Conference-Chair

  Give-Conference-Chair

  Conference-Chair-Announcement

  These XGSP methods deal with the floor control in the XGSP conference.

  In a moderated conference, there should be one conference chair to co-ordinate the roles of all the users in the conference.

2. XGSP for AV Session Schema

 XGSP application session management has two tasks: control the XGSP session over all the media servers and help application endpoints to join and leave the session. The A/V endpoints of top XGSP users should directly attach to the XGSP A/V Channel Service (called top A/V application session). And the endpoints of the local XGSP users should connect with the local media servers (called local A/V application session). XGSP defines the methods of create/activate/terminate to manage XGSP A/V application sessions. XGSP system will create a XGSP A/V session when a user schedules a XGSP session and defines the profile of the A/V session. The profile specifies the audio/video codec and the list of “rooms” from the communities involved in the session.

 When the XGSP session is activated, the XGSP session server will link all the “rooms” in the session together by connecting multipoint A/V channels from different communities to the XGSP A/V Media Channel Service. For H.323 and SIP communities, they connect with the XGSP A/V channel Service by dialing in the H.323 and SIP gateway. Since a MBONE community like AG, has no signaling procedure, the XGSP servers will launch an AG agent that joins in the multicast A/V groups and forwards the packets between the top XGSP session and the AG multicast groups.

 There are two steps in the join procedure of A/V endpoints, including negotiation of capabilities and establishment of UDP channels. When an application endpoint joins the XGSP application session, it has to make codec negotiation with the media server to ensure that it can support the audio/video codec used in the session. Since different A/V application endpoints have their own signaling procedures for joining and leaving session, we have to define a XGSP signaling protocol for H.225, H.245 (H.323 signaling protocols) and  SIP as well as Access Grid. The H.323 and SIP gateway transform these protocols into XGSP signaling protocol so that H.323 and SIP endpoints could communicate with the XGSP application session server. Access Grid tools like VIC and RAT can join in the multicast XGSP subsession without using XGSP signaling procedure. But if they are running in a unicast environment, they have to reply upon XGSP signaling protocols to connect with the XGSP application session server. For those local users, their endpoints can directly connect with the local session servers.

  XGSP Methods    Explanation
  Activate-AV-Session

  Terminate-AV-Session

  the methods are used to activate/deactivate XGSP AV Sessions

  Active/Terminate-AV-Session  ( Request / Reply )

  Create-Video-Mixer

  Destroy-Video-Mixer

 the methods are used to create/destroy Video Mixer. In a XGSP AV session, there can be zero or multiple video mixer
  Join-AV-Session

  Leave-AV-Session

 the methods are used for A/V endpoints to join/leave XGSP AV session
  AVStreamEvent  this is an event for notifying A/V endpoints about the AV stream.
  RequestAVStreamList  the method is used for A/V endpoints to query the list of AV streams in the session
  Select-Video-Stream

  UnSelect-Video-Stream

 the methods are used for A/V endpoints to select/unselect AV streams. Each user can select more than one video streams if he has the capability to handle it.
  Mute-Audio-Participant

  UnMute-Audio-Participant

 the methods are used for A/V endpoints to choose the audio streams that they want to receive
  Set-AudioRole-Speaker

  Set-AudioRole-Listener

  Set-VideoRole-Presenter

  Set-VideoRole-Viewer

 In a moderated  XGSP A/V Session, the session chair uses the methods to assign the audio floor to the participants.
In a moderated  XGSP A/V Session, the session chair uses the methods to assign the video floor to the participants.