Josh

 

Here is some simple code to do what you want.

You will need to collect the H323ChannelNumber in the open session to know which session to close.

 

PBoolean MyH323Connection::OpenMyVideoSession(H323ChannelNumber & num)

{

  PBoolean IsOpen = false;

  for (PINDEX i = 0; i < localCapabilities.GetSize(); i++) {

    H323Capability & localCapability = localCapabilities[i];

    if (localCapability.GetMainType() == H323Capability::e_Video) {

      H323Capability * remoteCapability = remoteCapabilities.FindCapability(localCapability);

      IsOpen = (remoteCapability && logicalChannels->Open(remoteCapability, H323Capability::e_Video ,num));

        if (IsOpen)

            break;

    }

  }

  return IsOpen;

}

 

PBoolean MyH323Connection::CloseMyVideoSession(const H323ChannelNumber & num)

{

    CloseLogicalChannel(num,num.IsFromRemote());

    return true;

}

 

Simon

 

From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com] On Behalf Of J.C Mercier
Sent: 26 November 2011 03:11
To: h323plus@lists.packetizer.com
Subject: [h323plus] Negotiate /Renegotiate video channel during call

 


Hi all,

Does anyone know if it's possible in H323plus renegotiate for video channel during a call?

For instance, let's say I started an audio only call and the remote party is sending either audio only or both audio and video, is there a way for me start sending my video as the call is already in progress?

And also, if i'm in a video call (sending my video) and i want to switch to audio only by stopping video (my video transmission) while the call is in progress, how would go about doing that?

If this is not supported, what approach is supported in H323plus?

Thanks in advance for your help.

Josh C.