/// <summary>
/// Start a friends conference
/// </summary>
/// <param name="participants"><seealso cref="UUID"/> List of UUIDs to start a conference with</param>
/// <param name="tmp_session_id">the temportary session ID returned in the <see cref="OnJoinedGroupChat"/> callback></param>
public void StartIMConference(List<UUID> participants, UUID tmp_session_id)
{
if (Client.Network.CurrentSim == null || Client.Network.CurrentSim.Caps == null)
throw new Exception("ChatSessionRequest capability is not currently available");
Uri url = Client.Network.CurrentSim.Caps.CapabilityURI("ChatSessionRequest");
if (url != null)
{
ChatSessionRequestStartConference startConference = new ChatSessionRequestStartConference();
startConference.AgentsBlock = new UUID[participants.Count];
for (int i = 0; i < participants.Count; i++)
startConference.AgentsBlock[i] = participants[i];
startConference.SessionID = tmp_session_id;
CapsClient request = new CapsClient(url);
request.BeginGetResponse(startConference.Serialize(), OSDFormat.Xml, Client.Settings.CAPS_TIMEOUT);
}
else
{
throw new Exception("ChatSessionRequest capability is not currently available");
}
}