Third-Party Codec

Many third parties have expressed strong interest in being able to integrate their own codecs into NetMeeting. The long-term goal is to fully enable this. But in NetMeeting 2.1 and NetMeeting 3, support is limited. A third party is able to install a standard ACM or VCM codec through the Installable Codec API for use with NetMeeting. (The codec must be capable of real-time encoding and decoding.) But NetMeeting currently has no means for installing an RTP payload handler to associate with the installed codec. Therefore, a generic RTP payload handler is used for third-party installed codecs.

In most cases, performance on the wire using third-party installed codecs is quite acceptable. But in some cases, performance on the wire will be limited. Performance of custom audio codecs over RTP will likely be indistinguishable from the performance of NetMeeting's own codecs under a variety of traffic conditions. But performance of custom video codecs over RTP will likely vary, and will likely be especially poor on low-bandwidth connections.

Furthermore, the third-party installed codecs will be assigned code points that make them nonstandard capabilities in H.245. (H.245, the call control component in NetMeeting, is the mechanism in the H.323 standard that is used to negotiate capabilities when creating a connection. Code points are specific values assigned to codecs for use in capability negotiation.) The result is that while a third party will be able to install its codecs for use in NetMeeting 2.1, the third party will not be able to effectively replace a NetMeeting standard codec with its own. This means that the third party's implementation of a standard codec will not be selected when H.245 negotiates to use that standard codec.

For example, a third-party implementation of the G.723 codec (say, a hardware implementation) can be installed for use with NetMeeting. But the G.723 hardware codec will be selected only in certain circumstances. A third party can install its codec on two different computers that have NetMeeting installed and can rank the codec's priority at the top. On a call between these two NetMeeting computers, the G.723 hardware codec is selected. However, if one of these two computers calls a third computer that doesn't have the third-party's G.723 hardware codec installed with NetMeeting (or calls a third computer that is an H.323-compliant terminal but isn't NetMeeting), and the "G.723" code point is negotiated as the codec to use, the Microsoft G.723 software codec will be used in NetMeeting. In other words, the third-party G.723 hardware codec will not have replaced Microsoft's G.723 software codec.