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 | 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 | 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 | 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 | 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 | the methods are used to activate/deactivate
XGSP AV Sessions
Active/Terminate-AV-Session ( Request / Reply ) |
Create-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 | 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 | 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 | the methods are used for A/V endpoints to choose the audio streams that they want to receive |
Set-AudioRole-Speaker | 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. |