19.4.1.5. Proxying characteristics of H.323
H.323 has almost every characteristic that makes a protocol hard to
proxy; it uses both TCP and UDP, it uses multiple ports, it uses
dynamically allocated ports, it creates connections in both
directions, and it embeds address information inside packets. The
only good news is that the protocol provides a space where clients
can specify a desired destination, making it easy for a proxy to
figure out where connections should be directed.
One way of getting around the problems with proxying H.323 is to use
what the standard calls a Multipoint Control Unit (MCU) and place it
in a publicly accessible part of your network. These systems are
designed primarily to control many-to-many connections, but they do
it by having each person in the conference connect to them. It means
that if you put one on a bastion-host network, you can allow both
internal and external callers to connect to it, and only to it, and
still get conferencing going. If this machine is well configured, it
is relatively safe. However, it's not a true proxy. The
external users have to be able to connect directly to the multipoint
control unit; one multipoint control unit will not connect to
another. The end result is that two sites that both use this
workaround can't talk to each other. It works only if exactly
one site in the conversation uses it. Several systems are available
that provide this functionality, under various names.
It is also possible to get true H.323 proxies, which usually provide
multipoint control and security features as well. In general, these
are special-purpose products, not included with generic proxying
packages. As we've pointed out, proxying H.323 is considerable
work; it's not a minor modification to a normal proxy. However,
vendors like Cisco and Microsoft that offer wide product ranges do
offer H.323 proxying as part of specialized video conferencing
products.