I don’t know if this is the only way or the best way to do it but you can override the method OnReceivedPDU in your child class of H323_ExternalRTPChannel. Would be something like this for video OLC:

 

PBoolean MyExternalRTPChannel::OnReceivedPDU(const H245_DataType & dataType, const H245_H2250LogicalChannelParameters & param, unsigned & errorCode)

{

    if (!H323_ExternalRTPChannel::OnReceivedPDU(param, errorCode))

        return FALSE;

 

    if (mediaType == H323Capability::e_Video)

    {

        const H245_VideoCapability & videoData = (const H245_VideoCapability &) dataType;

        if (videoData.GetTag() == H245_VideoCapability::e_genericVideoCapability)

        {

            const H245_GenericCapability & genericVideoCapability = (const H245_GenericCapability &) videoData;

            if (genericVideoCapability.HasOptionalField(H245_GenericCapability::e_maxBitRate))

            {

                maxBitrate = genericVideoCapability.m_maxBitRate.GetValue();

            }

        }

    }

 

    return TRUE;

}

 

It is kind complex because you have to go deep in the message structure until you find the field you want. Again, I don’t know of a simpler way. I hope it helps. Regards,

 

Diego Carvalho Domingos

 

From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com] On Behalf Of Ankur Deep Jaiswal
Sent: Monday, August 25, 2014 7:26 AM
To: h323plus@lists.packetizer.com
Subject: [h323plus] maxBitrate in External RTP

 

Hi,

 

I have a doubt,
How do you get Max-Bitrate supported by a Capability in H323_ExternalRTPChannel.

Help appreciated.

 

--
Ankur Deep Jaiswal