support.intel.com resources
Intel® Video Phone Trial Applet 2.2 Home
Software & Drivers
Compatibility
Installation & Use
Technical Notes
Troubleshooting Assistant
Email Support



Cameras & Conferencing
Cameras & Conferencing
*
 

Intel® Internet Video Phone Trial Applet 2.2
The Problems and Pitfalls of Getting H.323 Safely Through Firewalls



THIS H.323 and Firewalls (DOCUMENT) IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. Intel disclaims all liability, including liability for infringement of any proprietary rights, relating to use of information. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted herein.

Copyright(c) 1997 Intel Corporation.
* Other brands and names are the property of their respective owners.

Except that a license is hereby granted to copy and reproduce this Document for internal use only.

This document is an intermediate draft for comment only and is subject to change without notice. Readers should not design products based on this document.



Contents

1. Overview

2. Executive Summary

3. Introduction to H.323

4. How H.323 Works

5. Classifying Firewall Solutions

6. What's so difficult about getting H.323 through firewalls?

7. Implications of an H.323 Proxy

8. How H.323 works (with proxy-relevant info)

9. A Proxy Architecture

10. An H.323 application

11. Modifying an H.323 application to support proxies

12. Appendix I - Sources of Additional H.323 Information

13. Appendix II - H.323 Decoder Ring

14. Appendix III - Trace Output from a Typical Call

15. Index





H.323 and Firewalls

The problems and pitfalls of getting H.323 safely through firewalls

1. Overview

This document is intended for implementers - both firewall developers planning to implement H.323 support and H.323 application developers planning to add proxy support to their products. With two audiences holding vastly different perspectives and experiences, this paper will often seem to explain the patently obvious (perhaps glossing over some important details). Please accept our apologies up front and bear with us; there is important new information for both groups.

The first part of this document provides an overview of H.323 - what the protocol is, why it's important, and how it works. The second section provides a framework for discussing firewall issues, including a taxonomy for classifying firewalls. The third section discusses the issues of H.323 and proxies - why H.323 is hard for firewalls, and what implications a proxy has on H.323 applications. The fourth section is a short overview of the changes necessary to an H.323 application to support proxies. Finally, the appendices provide additional information, including pointers to other sources, a `decoder ring' for the ITU-T's `alphabet soup' of protocols, and a detailed trace from a typical H.323 call.

2. Executive Summary

H.323 is an international standard for conferencing over packet-based networks. Its main benefits are:

(1) a single standard to permit Internet telephony products to inter-operate,

(2) interoperability standards for ISDN- and telephony-based conferencing systems, and

(3) the flexibility to support different hardware, software, and network capabilities.

What's so difficult about getting H.323 through firewalls? The short answer is that H.323 is complex, uses dynamic ports, and includes multiple UDP streams.

To modify an H.323 application to support proxies, the following changes are needed:

  • Support configuration of a local proxy (and usage of it as appropriate)
  • Support configuration of external proxy address and registration of this address with Address Resolution Services (e.g., User Locator Service)
  • Allow users to enter both pieces of addressing information (proxy address and user name/address) in any address books
  • Whenever possible, populate the destCallSignalingAddress,destinationAddress, and remoteExtensionAlias fields within the H.323 Setup message (as outlined in AVC-1100 referenced in Appendix I)

3. Introduction to H.323

3.1. What is H.323 ?

The personal computer is rapidly becoming a key communication device for millions of users. This trend has been accelerated by the explosion of the Internet. While electronic mail is still the dominant method of computer communications, electronic conferencing, both voice and video connectivity, is attracting an avid set of users. The main issue for computer communication centers on standard ways of providing connectivity - from call control (finding other parties, ringing, etc.) to video and audio encoding. Intel (and most of the rest of the industry) believes that real-time, multimedia communications standards such as H.323 provide an unparalleled ability for compatibility and subsequent expansion.

The ITU-T (International Telecommunications Union) H.323 standard defines how a flexible, real-time, interactive set of multimedia communications can be exchanged on packet-based networks. Personal computers can inter-operate sharing a rich mixture of audio, video and data across all forms of packet-based Inter/Intranets and circuit-switched networks. This internationally-sanctioned standard is the first standard that was provided through the collective input of both traditional telephony communications experts and those from the computer communications arena. In addition to fully-interactive media communications such as conferencing, H.323 also has provisions for other forms of communication, such as multi-media streaming.

The complete specification documents and other related information can be found at http://www.itca.org/ under the subheading of Teleconferencing Standards.

3.2. H.323 Network

The diagram below illustrates the most elementary H.323 configuration on a network. The environment comprises two or more clients that run a multimedia application utilizing the H.323 protocol. As stated previously, any combination of audio, video, or data may be exchanged between the endpoints. Current implementations on IP networks need nothing more from the network than to provide IP addresses of each endpoint, as with any terminal-to-terminal communication.

Although H.323 requires very little for the simplest implementation model, the standard does define a number of H.323 entities (and protocol interactions). The entities such as Gatekeepers, MCs, MCUs, Gateways, and Proxies each provide some additional functionality to the H.323 environment. The picture below illustrates these entities and their logical relationship.

A gatekeeper acts as monitor of all H.323 calls within its zone on the LAN. It provides two main services: call permissioning and address resolution. An H.323 client that wants to place a call can do so with the assistance of the gatekeeper. The gatekeeper provides the address resolution to the destination client (this division of work is due to alias name registration procedures). During this address resolution phase, the gatekeeper may also make permissioning decisions based upon available bandwidth. The gatekeeper can act as an administration point on the network for IT/IS managers to control H.323 traffic on (and off) the network.

A gateway provides the ability for H.323 devices to operate in heterogeneous network environments. These environments can be different in both the communications protocols that they use, and the fundamental transports that carry those communications. Gateways provide interoperability with other standards-based media devices. The H.323 standard pre-defines a number of Gateway devices; this list will expand as gateways are developed to bridge to other environments. Currently gateways are defined for H.320 (ISDN-based Video Conferencing terminals), H.324 (Telephony-based Video Conferencing terminals), and POTS (Plain Old Telephone System) devices. In short, gateways provide the ability to match up dissimilar devices (for example, a plain voice-only telephone with a multimedia terminal).

An MCU (Multipoint Control Unit) provides the ability to have multiparty, multimedia conferences. It coordinates all of the media capabilities of the participants and can provide features such as audio mixing and video selection for endpoints that cannot accomplish this locally. The MCU can provide chair control and rostering capabilities in multi-point conferences. It also facilitates the graceful entrance and exit of conference participants.

An H.323 proxy acts in a manner similar to other types of proxies - it acts on behalf of entities on one side to contact entities on the other. The H.323 proxy typically sits on an enterprise firewall and monitors all H.323 calls between the enterprise and the Internet. The proxy ensures that only valid H.323 traffic goes through the firewall. It also enforces access control policies (these are different from the bandwidth permissioning controls of the Gatekeeper). These access control policies may include determining which users can initiate or receive H.323 calls, what destinations are appropriate, and whether a particular user is allowed to use video facilities. The proxy can be considered a special case of an H.323 gateway in that it accepts H.323 calls from one side and passes those calls to H.323 terminals on the other side. Security-conscious enterprises will not deploy H.323 applications for access to the `outside world' unless an H.323 proxy is available on their firewall. Allowing H.323 traffic to punch holes in a firewall is not an acceptable solution as it defeats the explicit purpose of the firewall.

3.3. Key Benefits of H.323

H.323 offers benefits to end-users, developers and service providers of Internet telephony and Internet multimedia applications. First and foremost is the interoperability among H.323 applications from different vendors; users have the ability to upgrade capabilities without having to relearn applications, and have a greater choice of vendors.

All H.323-compliant applications have a common level of operation that they must provide. This includes base functionality for voice, video and data. Users of these products can be assured that two applications that claim H.323 compliance can inter-operate at this level. Additionally, the H.323 standard supports a wide variety of encodings for voice and data communication. By upgrading their codecs (the encoding and decoding software), user applications can scale upwards to get better performance. A user who upgrades to a faster connection or a more powerful processor could take advantage of a higher quality codec. Due to the wide adoption of the standard, there will be more competition and a greater choice of vendors. Vendors will compete on price and functionality of their application and will be unable to `lock in' users based on a proprietary protocol.

The benefits to developers and service providers are scaleability (both in hardware and software), opportunity for value-added services, and interoperability with legacy systems.

Software that is developed to the H.323 standard is scaleable in hardware. This implies that the more powerful the PC, the better the performance of the software. This allows application developers to provide faster software simply by having the users upgrade hardware.

The H.323 standard itself provides new business opportunities for value-added services such as billing, call tracking, and automatic call distribution. This opportunity is similar to the opportunities for businesses provided by the traditional telecommunication companies. The H.323 standard also defines how an H.323 system will inter-operate with other legacy systems based on regular telephone or ISDN lines. This gateway capability gives vendors a way to support their legacy applications into the existing customer base.

3.4. Intel's involvement in H.323 standard

Intel actively participated in the development of the H.323 specification within the ITU-T. Intel is a founding member (with companies like Microsoft, PictureTel, and Lucent) of the International Multimedia Teleconferencing Commission (IMTC), an organization that is driving the adoption of H.323 in the industry. Intel is an active IMTC member and sponsors events such as interoperability trials and development meetings, and has provided technical resources to get the H.323 specification-wide peer review and acceptance. Intel has also developed and shipped the Intel Internet Phone (available for free download at http://www.intel.com/). This was the first H.323-compliant telephony application on the PC and in the market in general.

3.5. Vendors supporting H.323

Intel's Internet Phone is H.323-compliant. In addition, the following vendors have announced plans for H.323-based products:

  • Microsoft
  • Lucent
  • PictureTel
  • 8x8
  • Radvision
  • Videoserver
  • Vocaltec
  • British Telecom
  • Teles
  • First Virtual

4. How H.323 Works

Below we diagram a point-to-point H.323 call. We've focused primarily on the messages of interest to a proxy, and excluded the details of things like negotiating an audio encoding scheme.

In all of our examples, we will use Alice and Bob. When we start dealing with firewalls, we consider Alice to be an external user, most often attempting to call Bob, who is protected by a firewall.

Let us begin by understanding the basics of a point-to-point call. The call is managed at three different layers. We start with Alice making a TCP connection to the well known port for H.323, port 1720.

Bob and Alice send Q.931 packets across this connection. As part of this exchange, Bob and Alice also send an ephemeral (dynamic and greater than 1024) port to be used for the H.245 connection. According to the standard, once the H.245 connection is established, the Q.931 connection may be dropped (without sending a Release Complete message), without affecting the rest of the H.323 call. In practice, the Q.931 connection is typically left up.

The H.245 connection is made from the caller to the ephemeral port negotiated across the Q.931 stream. H.245 handles all of the call parameter negotiations, such as which codecs to use. H.245 also has commands that cause UDP connections to be made. Essentially, once the audio (and video) codecs and parameters have been negotiated, the H.245 session executes an OpenLogicalChannel sequence. This sequence sends the transmitter's RTCP address and port number as well as the receiver's RTP and RTCP address and port number for a particular media stream (for example, audio or video). It should be noted that in H.323, each logical channel is considered to be one way. Therefore, for two people to exchange audio, two logical channels must be opened - one from Alice to Bob, and another from Bob to Alice. Also, the RTP protocol requires two UDP `connections', using adjacent streams. One connection is for RTP, the actual data stream, and the other is for RTCP, which has control information (and is bi-directional). The associated RTCP and RTP streams are required to be one port apart (with the RTP port being even and the RTCP being the next higher odd).

4.1. Adding a proxy

The diagram below shows how the call messages are handled when a proxy is inserted into the stream. Remember, this is only required by firewalls that use application proxying - packet filtering, circuit filtering, and address translation firewalls all operate at the IP layer, and therefore are transparent to the callers.

When a proxy is inserted, the Q.931 phase of the call looks like this:

Below we've shown the proxy connections for the H.245 session. To help understand the complexity, we've also shown example port numbers. Note that we selected small port numbers for illustrative purposes only; in reality, these port numbers are all ephemeral and therefore larger than 1024.

5. Classifying Firewall Solutions

Generally speaking, firewall solutions fall into one of the four categories shown below in Table 1. While there are products that offer features that fall into multiple categories, this breakdown will suffice to illustrate the various difficulties of passing H.323 through firewalls in each general category.

TypeFeatures Hides Internal Addresses?
Packet Filtering RouterBlocks/allows connections based on addressing information in IP header. Makes decisions based solely on the information in each packet's header - this provides no way to connect a UDP request with its corresponding reply.
No
Circuit (or connection) GatewayMuch like packet filtering router, but maintains limited state. This solution allows a UDP request to trigger an opening in the firewall for a reply, for a limited time. May have a limited understanding of some application protocols. Can dynamically open up ports for associated streams, such as an FTP control connection on port 20, causing an opening for the data connection on port 21.
No
Address Translating FirewallSame features and problems as circuit gateway, but hides the internal addresses by translating all addresses as they cross the firewall.
Yes
Application ProxyActually participates in the application protocol - is visible to the applications. Typically, an internal client connects to the proxy and then the proxy connects to the external server. To the internal client, the proxy looks like a server, while it looks like a client to the external server. Proxies must also perform address translation, essentially, since their address is the one presented to the external server.
Yes

Table 1. Basic Firewall Architectures

Because of H.323's heavy use of ephemeral (dynamic) ports, the only way for a packet filtering router to support H.323 is to open up all UDP and TCP ports above 1024 in each direction. This policy does not provide much protection.

A circuit gateway can provide better support for H.323 if it can disassemble the packets on the control streams and dynamically open up the firewall as indicated. This is better than the solution above because the only ports that are open are those associated with the H.323 connection. However, disassembling the packets is not as easy as it sounds.

An address translating firewall (ATF) can use much of the same solution set as the circuit gateway above. However, the ATF must also be able to recompose valid data in the control streams, since it must change the address (and perhaps port) information as it traverses the firewall.

Finally, an application proxy must implement a partial H.323 stack to manage the connections on both sides. Like an ATF (above), an application proxy must be able to encode and decode the control streams to perform address translation. However, the application proxy has one additional complication - it is visible to the end points. That means that the end points (H.323 applications) must place calls to the proxy's address. The problem is: how does the proxy know who the actual intended callee is? Fortunately, H.323 has fields to provide this information, but this means that the H.323 applications need to fill in those fields. In essence, they need to be slightly enhanced to become proxy-aware, much as web browsers have been enhanced to support web proxies. We will discuss the required enhancements later in this document.

6. What's so difficult about getting H.323 through firewalls?

The short answer is that H.323 is complex, uses dynamic ports, and includes multiple UDP streams. Here is a summary of the relevant issues:

  • An H.323 call is made up of many different simultaneous connections. At least two of the connections are TCP. For an audio-only conference, there may be up to 4 different UDP `connections' made.
  • All connections except one are made to ephemeral (dynamic) ports.
  • Calls can be initiated from outside the firewall, as well as from inside. This is different from today's commonly-provided incoming support, the web for example, where external users are just pointed at a single-function server visible outside the firewall. For conferencing to be useful, external users need to be able to establish calls directly with internal users' desktop systems.
  • The addresses and port numbers are exchanged within the data stream of the `next higher' connection. For example, the port number for the H.245 connection is established within the Q.931 data stream. (This makes it particularly difficult for address translating firewalls, which must modify the addresses inside those data streams.)
  • Most of the control information is encoded in ASN.1 (only the User-User Information within Q.931 Protocol Data Units, or PDUs, is ASN.1-encoded (other parts of each Q.931 PDU are not encoded). For those unfamiliar with ASN.1, suffice it to say that it is a complex encoding scheme, which does not end up with fixed byte offsets for address information. In fact, the same version of the same application connecting to the same destination may negotiate to include different options, changing the byte offsets.

7. Implications of an H.323 Proxy

Using our Firewall classification scheme above, an H.323 proxy is an Application Proxy. Using the ITU terminology, an H.323 proxy is really a form of H.323 Gateway. However, this Gateway is unique in a couple of ways. First of all, it uses H.323 on both sides (as opposed to translating between H.320 and H.323 or between H.324 and H.323). The H.323-only aspect means a proxy need not have a complete H.323 stack implemented. Instead, it need only act upon certain messages and can forward other messages - providing an `intelligent conduit' or `lightweight terminal', if you will.

7.1. Where it Fits

An H.323 proxy fits into an existing screened subnet firewall architecture as an Application Gateway. In the picture below, all traffic is routed through the dual-homed application gateway. The proxy runs as one service on that gateway.

7.2. Protocol Dependencies

In order to successfully proxy H.323, it is vital that certain optional fields within the Q.931 Setup message be populated by H.323 Endpoints. These fields live in the User-User Information within the Q.931 Setup PDU, and should be populated according to the following rules:

  • destCallSignalingAddress = IP address (if known) of the destination proxy/gateway (if one exists) or the destination machine
  • destinationAddress = A routable alias name that can be mapped to the destination proxy/gateway/endpoint IP address (for example, a DNS name)
  • remoteExtensionAddress = H.323 user alias (E.164 address or H323 ID)

The use of these fields is documented in the H.323 Implementor's Guide (AVC_1076) document available at ftp://ftp.intel.com/pub/H.323/DOCS/AVC-1100.doc.

7.3. Why you can't just grab information at specific byte offsets

In a word: ASN.1. For the gory details, check out the appropriate documents listed in Appendix I. One need not actually write the code to pack and unpack the ASN.1-encoded PDUs, as there are commercial compilers that handle that function. For example, Intel used a compiler from OSS in developing our Intel Internet Phone product.

ASN.1 includes variable length and optional fields. This means that things don't necessarily stay in the same place. In the worst case, this means that two different calls, made between the same people running the same version of the same software may have addressing information at different byte offsets, because they selected different options.

While all of this paints a not-very-rosy picture, it's not really as bad as it sounds. By using a compiler, all of the packet-coding details are handled automatically - the developer can just make simple function calls to get packets encoded and decoded into C structures.

8. How H.323 works (with proxy-relevant info)

Below, in Table 2 and Table 3, we provide details of the relevant PDUs for proxying H.323.

PDUScenarioPrincipal Action
SetupRequest for a new call arrives on the call signaling channel (well known port)1. Send Proceeding message back to caller.
2. Determine if call was originated externally or internally.
3. Verify if Setup-UUIE.destCallSignalingAddress is present and valid (not the address of the proxy machine itself). If so, this is the destination address. Go to step 6.
4. If it is not present or valid, walk through alias list in Setup-UUIE.calleeAliasName and attempt to find and resolve a valid destination address (using DNS). If this fails, and call is internal-to-external, reject the call. If DNS name is present, validate that it is not of the proxy machine itself (and if it is, remove it from the alias list before forwarding this alias list in a new Setup message). If a valid DNS name is found and resolved to a network address, and has a user part, and there is no remoteExtensionAlias, then create a remoteExtensionAlias comprised of the user part information for the outgoing Setup message. If valid address is determined, go to step 6.
5. If call is external to internal, and remoteExtensionAlias is present, attempt to translate it to an IP address (using DNS, a gatekeeper, or some other local means).
6. Once a destination IP address has been determined, make a TCP connection to the destination address.
7. Forward modified Setup message.
Connect
Called party sends back to calling party1. If UUIE.H245Address is present, then update the information in UUIE.H245Address and UUIE.destinationInfo.
2. Forward PDU.
Release-
Complete
Either party can send1. Release/Clean up all resources for H.245 and RTP channels.
2. Forward PDU.
3. Cleanup resources related to the Q931 connection and close the connection.
AlertingSent by callee1. Forward with corrected Call Reference Value (CRV).
All other PDUs
 
1. Forward with corrected Call Reference Value (CRV).

Table 2. Proxy-Relevant Q.931 PDUs

PDUScenarioPrincipal Action
Open
Logical
Channel
Sender wants to open a channel1. If dataType is audio or video, then
  • Allocate local ports for RTCP and RTP streams (on both sides of the firewall) making sure that RTP port is even and RTCP is next higher odd.
    2. Replace RTCP address in PDU with that of the proxy.
    3. Forward PDU.
  • Open
    Logical
    Channel
    Ack
    Receiver accepts sender's request to open a channel1. If channel is unknown drop the PDU.
    2. For a known channel,
  • Update port mapping between local and remote ports.
  • Activate packet forwarding on the RTP and RTCP sessions.
    3. Replace RTP and RTCP addressing in PDU with those used by the proxy.
    4. Forward PDU.
  • Open
    Logical
    Channel
    Reject
    Receiver rejects sender's request to open a channel1. If channel is unknown drop the PDU.
    2. For a known channel,
  • Release all port resources.
    3. Forward PDU.
  • Open
    Logical
    Channel
    One side wants to close down an established channel1. If channel is unknown drop the PDU.
    2. For known a channel,
  • Stop packet forwarding on RTP and RTCP ports for this channel.
  • Release all port resources.
    3. Forward PDU.
  • End
    Session
    One side wants to close down all channels and end the call1. For all the channels connected between the endpoints
  • Stop packet forwarding on corresponding RTP and RTCP ports.
  • Release all UDP port resources.
    2. Forward PDU.
    3. Cleanup resources related to the H.245 connection and close the connection.
    4. Send a Release Complete on both Q.931 calls and close the connection.
  • All other PDUs
     
    1. Forward PDU.

    Table 3. Proxy-Relevant H.245 PDUs

    9. A Proxy Architecture

    To understand the complexities of getting H.323 through firewalls, we built a proxy*. We found that there were two main jobs to do: (1) handle the H.323 and H.245 protocols, and (2) pass the data packets back and forth. The requirements for each job are slightly different -- the focus of the packet-passer being to stream packets through as fast as possible - trying to be a minimal bottleneck, while still providing some level of security.

    The focus of the H.323 layer is on call control. In that role it concentrates on proper call setup, maintaining access control, and creating the complete environment for the packet-passer to operate optimally.

    * The proxy built in our lab is not being offered as a product.


    10. An H.323 application

    The Intel Internet Phone application is the H.323 terminal that we have had the most experience with. It conforms to the H.323 standards, but has a few additional implementation details one might want to consider.

    The first such feature is its use of the User Locator Service (ULS) to find another party to talk to. There are two primary reasons for this: first, H.323-based telephony is new, so it makes sense to have a place where people who have this capability can find each other. Over time, this may change and everyone will have this capability.

    The second reason is that people don't always have a constant IP address. Mobile users get an IP address from the Internet Service Provider they've connected to, office workers can be assigned different IP addresses by services such as DHCP, and some users want to connect both from the office and from home. ULS provides a place for users to register their current IP address.

    ULS actually uses HTTP as a transport. A user updates their location with an HTTP "POST", and finds other users with HTTP "GET"s.

    11. Modifying an H.323 application to support proxies

    11.1. The Short Form: Changes needed in the normal H.323 terminals

    H.323 terminals can be `proxy friendly' by:

    • Supporting configuration of a local proxy (and usage of it as appropriate).
    • Supporting configuration of external proxy address and registration of this address with Address Resolution Services (e.g., User Locator Service)
    • Allowing users to enter both pieces of addressing information in any address books.
    • Populating either the destCallSignaling Address or destinationAddress fields (or both of them), and the remoteExtensionAlias field within an H.323 Setup message.

    11.2. User interface changes

    To provide proxy support, an H.323 application developer needs to make a few minor enhancements. The first, and most obvious, is to provide a way for the user to enter proxy-related information. This comes in two flavors: (1) allowing the user to configure their application so it knows about their own company's proxy, and (2) allowing the user to enter a `phone number' (address) for a destination that sits behind a proxy.

    The configuration process should also allow the user to specify which addresses are not proxied so that internal calls are made directly. This is very similar to configuring web browsers to use proxies.

    11.3. Calling a remote system behind a proxy

    If the called destination sits behind a proxy, the calling party must connect to the remote proxy, and tell that proxy who he really wants to talk to. Fortunately, the H.323 setup message supports this. If there is a remote proxy, the destCallSignaling Address and/or the destinationAddress (alias list) must contain the address of the proxy.

    The remoteExtensionAlias field should contain the information about the actual target user. Note that this information can be one of two forms: an H.323-specific alias name (an arbitrary string) or an E.164 address (a phone number). The proxy must resolve (or have resolved) the name into an IP address. There is nothing to say that the string does or does not contain a DNS name or dotted IP address - it is just a Unicode string of up to 256 characters.

    Whenever possible, the application should always fill in these fields. When calling a remote system not behind a proxy, the fields may still be populated without any adverse effect.

    11.4. Calling from a system behind a local proxy

    For calls made through a local proxy, the application must be able to decide whether the destination of the call will go through a proxy or not (this way local calls don't need a proxy).

    If a local proxy will be used, the application must use the local proxy's address as the IP destination for the TCP connection that begins the H.323 call. The desired destination information is passed in the Q.931 setup message. This is done by filling in the destCallSignalingAddress ,destinationAddress ,and remoteExtensionAlias fields within the User-User Information, as described above.

    11.5. Publishing a proxied address

    If a proxied H.323 application publishes its address electronically, then it must publish both the proxy's address and the name of the actual user. As mentioned above, the user name can be in one of many forms. Selecting a form that is resolved at connect time, such as a DNS name, is preferred to using an IP address, since this will allow the system to move or reconnect without requiring an address book change. If DNS names or IP addresses are used for the user name, and if the proxy is expected to use these instead of doing an address translation of some arbitrary string, then the proxy must perform the resolution (this may be a configuration option). However, if the proxy is simply translating some alias string to a DNS name or IP address, then there is really no reason to have the string itself be the DNS name or IP address.

    Similarly, we recommend publishing the proxy's address as its DNS name. This will allow the proxy to be scaled beyond one system, as well as providing support for fail-over.

    12. Appendix I - Sources of Additional H.323 Information

    12.1. ITU documentation

    The following documents are available through the ITU.

    • ITU-T Recommendation H.323 (May 28, 1996), "Visual Telephone Systems and Equipment for Local Area Networks Which Provide A Non-Guaranteed Quality of Service."
    • ITU-T Recommendation H.245, Revision 2 (June 4, 1996), " Blue Sky Associates."
    • ITU-T Recommendation H.225.0 (May 28, 1996), " Media Stream Packetization and Synchronization on Non-Guaranteed Quality of Service LANs."
    • ITU-T Recommendation X.680 (1994), " Information Technology - Abstract Syntax Notation One (ASN.1) Specification of Basic Notation."
    • ITU-T Recommendation X.691 (1994), " Information Technology - ASN.1 Encoding Rules - Specification of Packed Encoding Rules (PER)."
    • ITU-T Recommendation H.245 (1995), " Control Protocol for MultiMedia Communication."

    12.2. Implementor's Group

    The official line on the implementor's group (as found in ftp://ftp.intel.com/pub/H.323/FAQ.txt) is as follows:

      This "H.323 Implementor's Group" e-mail reflector is an open communications forum for persons, companies, and organizations who wish to participate and benefit from the information disseminated here. The "H.323 Implementor's Group" is an open forum for entities who wish to accelerate the market deployment of interoperable H.323-compliant real-time multimedia communications applications through cooperation with other entities engaged in similar activities. Membership and participation in this forum is open and unrestricted.

    The email reflector can be subscribed to by sending email to listserv@mailbag.jf.intel.com with subscribe h323implementors in the body of the message.

    Other information available at the implementor's group FTP site is listed below:

    • H.323 implementor's Guide, December 17, 1996 (available at ftp://ftp.intel.com/pub/H.323/DOCS/AVC-1100.doc). This document is being submitted to the ITU for inclusion in Revision 2 of the H.323 specifications.
    • H.323 FAQ (Frequently Asked Questions) - ftp://ftp.intel.com/pub/H.323/FAQ.txt.
    • Many other contributions in ftp://ftp.intel.com/pub/H.323/contributions.

    13. Appendix II - H.323 Decoder Ring

    This `decoder ring' was created to help the Intel development team understand how H.323 compares to the technology used in early versions of ProShare® Video Conferencing software. We felt its inclusion in this document would help clarify the meaning of the myriad of relevant multimedia protocols.



    13.1. Audio compression

    • G.711: 64 Kbps, 8K samples/sec, 8-bit companded PCM (A-law or µ -law), high quality, low complexity. Required for H.320 and H.323.
    • G.722: ADPCM audio encode/decode (64 kbit/s, 7 kHz) .
    • G.723: Speech coder at 6.3 and 5.3 Kbps data rate. Medium complexity. Required for H.324; Optional for H.323.
    • G.728: 16 Kbps, LD-CELP, high quality speech coder, very high complexity. Optional for H.320 and H.323.
    • G.729: 8Kbps, LD-CELP, high quality speech coder, medium complexity. G.DSVD is an interoperable subset.
    • GSM: Group Special Mobile -- European telephony standard, not ITU. Used by ProShare Video Conferencing software versions 1.0-1.8. 13Kbps, medium quality for voice only, low complexity.

    13.2. Video compression algorithms

    • H.261: Supports 352x288 (CIF or FCIF) and 176x144 (QCIF). DCT-based algorithm tuned for 2B to 6B ISDN communication. Required for H.320, H.323, and H.324.
    • H.263: Much-improved derivative of H.261, tuned for POTS data rates. Mostly aimed at QCIF and Sub-QCIF (128x96 -- SQCIF). Optional for H.323 and H.324, although industry is focusing on it for POTS. Being added as an option to H.261.
    • MRV: Indeo* video compression technology tuned for ISDN and LAN data rates.

      Note: Indeo is now supported by Ligos.

    13.3. Data Sharing standards

    • T.120: Data conferencing, either standalone or alongside H.320, H.323, or H.324.

    13.4. Communication Standards

    • H.221: Frame Structure 64-1920 Kbps.
    • H.223: Multiplexing protocol for low-bit rate multimedia communication.
    • H.225: Media Stream Packetization and synchronization on non-guaranteed quality-of-service LANs.
    • H.230: Frame synchronous control and indication signals for audio visual systems.
    • H.242: System for establishing audio visual terminals using digital channels up to 2 Mbps.
    • H.243: Procedures for establishing communication between three or more audio visual terminals using digital channels up to 2 Mbps.
    • H.245: Control of communications between visual telephone systems and terminal equipment on non-guaranteed bandwidth LANs.

    14. Appendix III - Trace Output from a Typical Call

    The following section is a detailed trace of the PDUs produced during a `normal' H.323 call.

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:21.480
    LAYER: Q931
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    243 octets (hex output):
    08 02 00 d6 05 04 03 88 c0 a5 28 09 72 65 76 65
    69 6c 6c 65 00 7e 00 db 05 10 18 06 00 08 91 4a
    00 01 22 c0 b5 00 80 80 14 49 6e 74 65 6c 20 49
    6e 74 65 72 6e 65 74 20 50 68 6f 6e 65 00 03 31
    2e 30 00 00 01 40 05 00 74 00 77 00 65 00 65 00
    62 00 31 00 86 86 d5 15 06 b8 00 b3 91 4e fb e2
    21 d0 11 8f a3 00 aa 00 af 38 21 01 00 b5 00 80
    80 80 80 72 65 76 65 69 6c 6c 65 40 62 6f 67 75
    73 2e 63 6f 6d 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 68 74 74 70 3a 2f 2f 67 64 61 6e 6e 65
    65 6c 2e 6a 66 2e 69 6e 74 65 6c 2e 63 6f 6d 2f
    63 67 69 2d 62 69 6e 2f 75 6c 73 31 30 2e 62 61
    74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: Setup
    Protocol Discriminator: 8
    Call Reference:
    length (in octets): 2
    value (in hex): 00 d6 , flag: 0 - origination side
    Bearer capability:
    length: 3
    coding standard: 0x0
    information transfer capability: 0x8
    transfer mode: 0x2
    information transfer rate: 0x0
    user information layer 1 protocol: 0x5
    Display:
    length: 9
    display information: reveille
    User-user:
    length: 219
    protocol discriminator: 5
    h323_uu_pdu: setup:
    protocolIdentifier: 0, 0, 8, 2250, 0, 1
    sourceInfo:
    vendor:
    35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    productId:
    21 octet(s) (hex output):
    49 6E 74 65 6C 20 49 6E
    74 65 72 6E 65 74 20 50
    68 6F 6E 65 00
    versionId:
    4 octet(s) (hex output):
    31 2E 30 00
    terminalInfo:
    destinationAddress:
    h323_ID:
    6 octet(s) (hex output):
    74 00 77 00 65 00
    destCallSignalAddress:
    ipAddress: 134.134.213.21
    port: 1720
    conferenceID:
    16 octet(s) (hex output):
    B3 91 4E FB E2 21 D0 11
    8F A3 00 AA 00 AF 38 21
    conferenceGoal: create
    callType: pointToPoint
    nonStandardIdentifier:
    h221NonStandard:
    35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    data:
    length: 128
    value: reveille@bogus.com
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:21.490
    LAYER: Q931
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    23 octets (hex output):
    08 02 80 d6 02 7e 00 0f 05 01 00 06 00 08 91 4a
    00 01 08 80 01 28 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: Proceeding
    Protocol Discriminator: 8
    Call Reference:
    length (in octets): 2
    value (in hex): 00 d6 , flag: 1 - destination side
    User-user:
    length: 15
    protocol discriminator: 5
    h323_uu_pdu: callProceeding:
    protocolIdentifier: 0, 0, 8, 2250, 0, 1
    destinationInfo:
    gateway:
    GtwyInf_nonStandardData:
    h323:

    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:21.530
    LAYER: Q931
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    246 octets (hex output):
    08 02 00 02 05 04 03 88 c0 a5 28 09 72 65 76 65
    69 6c 6c 65 00 7e 00 de 05 10 18 06 00 08 91 4a
    00 01 2a c0 b5 00 80 80 14 49 6e 74 65 6c 20 49
    6e 74 65 72 6e 65 74 20 50 68 6f 6e 65 00 03 31
    2e 30 00 40 01 28 00 01 40 05 00 74 00 77 00 65
    00 65 00 62 00 31 00 86 86 d5 15 06 b8 00 40 cf
    21 53 9d 23 d0 11 ab cd 00 a0 c9 1a bb 91 01 00
    b5 00 80 80 80 80 72 65 76 65 69 6c 6c 65 40 62
    6f 67 75 73 2e 63 6f 6d 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 68 74 74 70 3a 2f 2f 67 64 61
    6e 6e 65 65 6c 2e 6a 66 2e 69 6e 74 65 6c 2e 63
    6f 6d 2f 63 67 69 2d 62 69 6e 2f 75 6c 73 31 30
    2e 62 61 74 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: Setup
    Protocol Discriminator: 8
    Call Reference:
    length (in octets): 2
    value (in hex): 00 02 , flag: 0 - origination side
    Bearer capability:
    length: 3
    coding standard: 0x0
    information transfer capability: 0x8
    transfer mode: 0x2
    information transfer rate: 0x0
    user information layer 1 protocol: 0x5
    Display:
    length: 9
    display information: reveille
    User-user:
    length: 222
    protocol discriminator: 5
    h323_uu_pdu: setup:
    protocolIdentifier: 0, 0, 8, 2250, 0, 1
    sourceInfo:
    vendor:
    35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    productId:
    21 octet(s) (hex output):
    49 6E 74 65 6C 20 49 6E
    74 65 72 6E 65 74 20 50
    68 6F 6E 65 00
    versionId:
    4 octet(s) (hex output):
    31 2E 30 00
    gateway:
    GtwyInf_nonStandardData:
    h323:

    terminalInfo:
    destinationAddress:
    h323_ID:
    6 octet(s) (hex output):
    74 00 77 00 65 00
    destCallSignalAddress:
    ipAddress: 134.134.213.21
    port: 1720
    conferenceID:
    16 octet(s) (hex output):
    40 CF 21 53 9D 23 D0 11
    AB CD 00 A0 C9 1A BB 91
    conferenceGoal: create
    callType: pointToPoint
    nonStandardIdentifier:
    h221NonStandard:
    35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    data:
    length: 128
    value: reveille@bogus.com
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:21.891
    LAYER: Q931
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    23 octets (hex output):
    08 02 80 02 02 7e 00 0f 05 01 00 06 00 08 91 4a
    00 01 08 80 01 28 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: Proceeding
    Protocol Discriminator: 8
    Call Reference:
    length (in octets): 2
    value (in hex): 00 02 , flag: 1 - destination side
    User-user:
    length: 15
    protocol discriminator: 5
    h323_uu_pdu: callProceeding:
    protocolIdentifier: 0, 0, 8, 2250, 0, 1
    destinationInfo:
    gateway:
    GtwyInf_nonStandardData:
    h323:

    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:21.891
    LAYER: Q931
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    23 octets (hex output):
    08 02 00 d6 02 7e 00 0f 05 01 00 06 00 08 91 4a
    00 01 08 80 01 28 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: Proceeding
    Protocol Discriminator: 8
    Call Reference:
    length (in octets): 2
    value (in hex): 00 d6 , flag: 0 - origination side
    User-user:
    length: 15
    protocol discriminator: 5
    h323_uu_pdu: callProceeding:
    protocolIdentifier: 0, 0, 8, 2250, 0, 1
    destinationInfo:
    gateway:
    GtwyInf_nonStandardData:
    h323:

    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:23.593
    LAYER: Q931
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    226 octets (hex output):
    08 02 80 02 07 04 03 88 c0 a5 28 06 74 77 65 65
    62 31 7e 00 cd 05 12 40 06 00 08 91 4a 00 01 00
    86 86 d5 15 06 b9 2a c0 b5 00 80 80 14 49 6e 74
    65 6c 20 49 6e 74 65 72 6e 65 74 20 50 68 6f 6e
    65 00 03 31 2e 30 00 40 01 28 00 40 cf 21 53 9d
    23 d0 11 ab cd 00 a0 c9 1a bb 91 40 b5 00 80 80
    80 80 74 77 65 65 62 31 40 73 6f 6d 65 77 68 65
    72 65 2e 63 6f 6d 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 68 74 74 70 3a 2f 2f 67 64 61 6e 6e 65 65
    6c 2e 6a 66 2e 69 6e 74 65 6c 2e 63 6f 6d 2f 63
    67 69 2d 62 69 6e 2f 75 6c 73 31 30 2e 62 61 74
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: Connect
    Protocol Discriminator: 8
    Call Reference:
    length (in octets): 2
    value (in hex): 00 02 , flag: 1 - destination side
    Bearer capability:
    length: 3
    coding standard: 0x0
    information transfer capability: 0x8
    transfer mode: 0x2
    information transfer rate: 0x0
    user information layer 1 protocol: 0x5
    Display:
    length: 6
    display information: tweeb1
    User-user:
    length: 205
    protocol discriminator: 5
    h323_uu_pdu: connect:
    protocolIdentifier: 0, 0, 8, 2250, 0, 1
    Cnnct_UUIE_h245Address:
    ipAddress: 134.134.213.21
    port: 1721
    destinationInfo:
    vendor:
    35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    productId:
    21 octet(s) (hex output):
    49 6E 74 65 6C 20 49 6E
    74 65 72 6E 65 74 20 50
    68 6F 6E 65 00
    versionId:
    4 octet(s) (hex output):
    31 2E 30 00
    gateway:
    GtwyInf_nonStandardData:
    h323:

    terminalInfo:
    conferenceID:
    16 octet(s) (hex output):
    40 CF 21 53 9D 23 D0 11
    AB CD 00 A0 C9 1A BB 91
    nonStandardIdentifier:
    h221NonStandard:
    35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    data:
    length: 128
    value: tweeb1@somewhere.com
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:23.623
    LAYER: Q931
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    226 octets (hex output):
    08 02 80 d6 07 04 03 88 c0 a5 28 06 74 77 65 65
    62 31 7e 00 cd 05 12 40 06 00 08 91 4a 00 01 00
    86 86 d5 85 06 b9 2a c0 b5 00 80 80 14 49 6e 74
    65 6c 20 49 6e 74 65 72 6e 65 74 20 50 68 6f 6e
    65 00 03 31 2e 30 00 40 01 28 00 b3 91 4e fb e2
    21 d0 11 8f a3 00 aa 00 af 38 21 40 b5 00 80 80
    80 80 74 77 65 65 62 31 40 73 6f 6d 65 77 68 65
    72 65 2e 63 6f 6d 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 68 74 74 70 3a 2f 2f 67 64 61 6e 6e 65 65
    6c 2e 6a 66 2e 69 6e 74 65 6c 2e 63 6f 6d 2f 63
    67 69 2d 62 69 6e 2f 75 6c 73 31 30 2e 62 61 74
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: Connect
    Protocol Discriminator: 8
    Call Reference:
    length (in octets): 2
    value (in hex): 00 d6 , flag: 1 - destination side
    Bearer capability:
    length: 3
    coding standard: 0x0
    information transfer capability: 0x8
    transfer mode: 0x2
    information transfer rate: 0x0
    user information layer 1 protocol: 0x5
    Display:
    length: 6
    display information: tweeb1
    User-user:
    length: 205
    protocol discriminator: 5
    h323_uu_pdu: connect:
    protocolIdentifier: 0, 0, 8, 2250, 0, 1
    Cnnct_UUIE_h245Address:
    ipAddress: 134.134.213.133
    port: 1721
    destinationInfo:
    vendor:
    35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    productId:
    21 octet(s) (hex output):
    49 6E 74 65 6C 20 49 6E
    74 65 72 6E 65 74 20 50
    68 6F 6E 65 00
    versionId:
    4 octet(s) (hex output):
    31 2E 30 00
    gateway:
    GtwyInf_nonStandardData:
    h323:

    terminalInfo:
    conferenceID:
    16 octet(s) (hex output):
    B3 91 4E FB E2 21 D0 11
    8F A3 00 AA 00 AF 38 21
    nonStandardIdentifier:
    h221NonStandard:
    35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    data:
    length: 128
    value: tweeb1@somewhere.com
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:23.984
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    123 octets (hex output):
    02 70 01 06 00 08 81 75 00 02 80 0d 00 00 3c 00
    01 00 00 01 00 00 01 00 00 04 80 00 00 32 00 03
    c0 00 01 30 20 b5 00 80 80 08 07 70 00 04 0c 06
    00 00 80 00 02 30 20 b5 00 80 80 08 07 71 00 08
    25 04 00 00 80 00 03 30 20 b5 00 80 80 08 07 72
    00 0c 25 05 00 00 80 00 04 30 20 b5 00 80 80 08
    07 73 00 10 2b 06 00 00 00 80 00 04 00 00 00 00
    00 01 00 00 02 00 00 03 00 00 04
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: TerminalCapabilitySet

    Sequence Number: 1
    ProtocolIdentifiers: 0, 0, 8, 245, 0, 2,
    Multiplex Capability: h2250Capability
    maximumAudioDelayJitter: 60
    Receive Multipoint Capability:
    Transmit Multipoint Capability:
    Receive And Transmit Multipoint Capability:
    Capability Table:
    1: G.7231 Audio
    MaxAl_sduAudioFrames: 4
    Silence Suppression

    2: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 70 00 04 0C 06 00 00

    3: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 71 00 08 25 04 00 00

    4: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 72 00 0C 25 05 00 00

    5: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 73 00 10 2B 06 00 00

    Capability Descriptors:
    0:
    1,
    2,
    3,
    4,
    5,
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:23.984
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    123 octets (hex output):
    02 70 01 06 00 08 81 75 00 02 80 0d 00 00 3c 00
    01 00 00 01 00 00 01 00 00 04 80 00 00 32 00 03
    c0 00 01 30 20 b5 00 80 80 08 07 70 00 04 0c 06
    00 00 80 00 02 30 20 b5 00 80 80 08 07 71 00 08
    25 04 00 00 80 00 03 30 20 b5 00 80 80 08 07 72
    00 0c 25 05 00 00 80 00 04 30 20 b5 00 80 80 08
    07 73 00 10 2b 06 00 00 00 80 00 04 00 00 00 00
    00 01 00 00 02 00 00 03 00 00 04
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: TerminalCapabilitySet

    Sequence Number: 1
    ProtocolIdentifiers: 0, 0, 8, 245, 0, 2,
    Multiplex Capability: h2250Capability
    maximumAudioDelayJitter: 60
    Receive Multipoint Capability:
    Transmit Multipoint Capability:
    Receive And Transmit Multipoint Capability:
    Capability Table:
    1: G.7231 Audio
    MaxAl_sduAudioFrames: 4
    Silence Suppression

    2: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 70 00 04 0C 06 00 00

    3: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 71 00 08 25 04 00 00

    4: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 72 00 0C 25 05 00 00

    5: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 73 00 10 2B 06 00 00

    Capability Descriptors:
    0:
    1,
    2,
    3,
    4,
    5,
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:23.994
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    7 octets (hex output):
    01 00 32 80 0b d4 d7
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: MasterSlaveDetermination

    Terminal Type: 50
    Determination Number: 775383
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:23.994
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    7 octets (hex output):
    01 00 32 80 0b d4 d7
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: MasterSlaveDetermination

    Terminal Type: 50
    Determination Number: 775383
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:24.685
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    3 octets (hex output):
    21 80 01
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: TerminalCapabilitySetAck

    Sequence Number: 1
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:24.685
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    3 octets (hex output):
    21 80 01
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: TerminalCapabilitySetAck

    Sequence Number: 1
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:24.685
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    123 octets (hex output):
    02 70 01 06 00 08 81 75 00 02 80 0d 00 00 3c 00
    01 00 00 01 00 00 01 00 00 04 80 00 00 32 00 03
    c0 00 01 30 20 b5 00 80 80 08 07 70 00 04 0c 06
    00 00 80 00 02 30 20 b5 00 80 80 08 07 71 00 08
    25 04 00 00 80 00 03 30 20 b5 00 80 80 08 07 72
    00 0c 25 05 00 00 80 00 04 30 20 b5 00 80 80 08
    07 73 00 10 2b 06 00 00 00 80 00 04 00 00 00 00
    00 01 00 00 02 00 00 03 00 00 04
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: TerminalCapabilitySet

    Sequence Number: 1
    ProtocolIdentifiers: 0, 0, 8, 245, 0, 2,
    Multiplex Capability: h2250Capability
    maximumAudioDelayJitter: 60
    Receive Multipoint Capability:
    Transmit Multipoint Capability:
    Receive And Transmit Multipoint Capability:
    Capability Table:
    1: G.7231 Audio
    MaxAl_sduAudioFrames: 4
    Silence Suppression

    2: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 70 00 04 0C 06 00 00

    3: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 71 00 08 25 04 00 00

    4: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 72 00 0C 25 05 00 00

    5: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 73 00 10 2B 06 00 00

    Capability Descriptors:
    0:
    1,
    2,
    3,
    4,
    5,
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:24.685
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    123 octets (hex output):
    02 70 01 06 00 08 81 75 00 02 80 0d 00 00 3c 00
    01 00 00 01 00 00 01 00 00 04 80 00 00 32 00 03
    c0 00 01 30 20 b5 00 80 80 08 07 70 00 04 0c 06
    00 00 80 00 02 30 20 b5 00 80 80 08 07 71 00 08
    25 04 00 00 80 00 03 30 20 b5 00 80 80 08 07 72
    00 0c 25 05 00 00 80 00 04 30 20 b5 00 80 80 08
    07 73 00 10 2b 06 00 00 00 80 00 04 00 00 00 00
    00 01 00 00 02 00 00 03 00 00 04
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: TerminalCapabilitySet

    Sequence Number: 1
    ProtocolIdentifiers: 0, 0, 8, 245, 0, 2,
    Multiplex Capability: h2250Capability
    maximumAudioDelayJitter: 60
    Receive Multipoint Capability:
    Transmit Multipoint Capability:
    Receive And Transmit Multipoint Capability:
    Capability Table:
    1: G.7231 Audio
    MaxAl_sduAudioFrames: 4
    Silence Suppression

    2: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 70 00 04 0C 06 00 00

    3: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 71 00 08 25 04 00 00

    4: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 72 00 0C 25 05 00 00

    5: NonStandard Audio
    t35CountryCode: 181
    t35Extension: 0
    manufacturerCode: 32896
    Value: 8 octets (hex output):
    07 73 00 10 2B 06 00 00

    Capability Descriptors:
    0:
    1,
    2,
    3,
    4,
    5,
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:24.695
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    7 octets (hex output):
    01 00 32 80 8b 7d e8
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: MasterSlaveDetermination

    Terminal Type: 50
    Determination Number: 9141736
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:24.695
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    7 octets (hex output):
    01 00 32 80 8b 7d e8
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: MasterSlaveDetermination

    Terminal Type: 50
    Determination Number: 9141736
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:24.695
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    2 octets (hex output):
    20 a0
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: MasterSlaveDeterminationAck

    Role: SLAVE
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:24.695
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    2 octets (hex output):
    20 a0
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: MasterSlaveDeterminationAck

    Role: SLAVE
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:25.85
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    3 octets (hex output):
    21 80 01
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: TerminalCapabilitySetAck

    Sequence Number: 1
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:25.85
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    3 octets (hex output):
    21 80 01
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: TerminalCapabilitySetAck

    Sequence Number: 1
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:25.85
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    2 octets (hex output):
    20 80
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: MasterSlaveDeterminationAck

    Role: MASTER
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:25.85
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    2 octets (hex output):
    20 80
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: MasterSlaveDeterminationAck

    Role: MASTER
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:25.85
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    21 octets (hex output):
    03 00 00 00 0d 00 03 c0 00 0b 0f 00 01 00 86 86
    d5 c8 13 81 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: OpenLogicalChannel

    Forward Logical Channel Number: 1
    Capability: G.7231 Audio
    MaxAl_sduAudioFrames: 4
    Silence Suppression
    fLCPs_mPs_h2250LCPs:
    SessionID: 1
    SilenceSuppression: FALSE
    H2250LCPs_mdCntrlChnnl:
    Unicast Address: IP, 134.134.213.200
    TSAPIdentifier: 4993
    H2250LCPs_mdGrntdDlvry: FALSE
    H2250LCPs_mCGDy: FALSE
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:25.95
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    21 octets (hex output):
    03 00 00 00 0d 00 03 c0 00 0b 0f 00 01 00 86 86
    d5 85 07 d3 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: OpenLogicalChannel

    Forward Logical Channel Number: 1
    Capability: G.7231 Audio
    MaxAl_sduAudioFrames: 4
    Silence Suppression
    fLCPs_mPs_h2250LCPs:
    SessionID: 1
    SilenceSuppression: FALSE
    H2250LCPs_mdCntrlChnnl:
    Unicast Address: IP, 134.134.213.133
    TSAPIdentifier: 2003
    H2250LCPs_mdGrntdDlvry: FALSE
    H2250LCPs_mCGDy: FALSE
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:26.587
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    21 octets (hex output):
    03 00 00 00 0d 00 03 c0 00 0b 0f 00 01 00 86 86
    d5 15 07 d1 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: OpenLogicalChannel

    Forward Logical Channel Number: 1
    Capability: G.7231 Audio
    MaxAl_sduAudioFrames: 4
    Silence Suppression
    fLCPs_mPs_h2250LCPs:
    SessionID: 1
    SilenceSuppression: FALSE
    H2250LCPs_mdCntrlChnnl:
    Unicast Address: IP, 134.134.213.21
    TSAPIdentifier: 2001
    H2250LCPs_mdGrntdDlvry: FALSE
    H2250LCPs_mCGDy: FALSE
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:26.587
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    21 octets (hex output):
    03 00 00 00 0d 00 03 c0 00 0b 0f 00 01 00 86 86
    d5 85 07 d1 00
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: OpenLogicalChannel

    Forward Logical Channel Number: 1
    Capability: G.7231 Audio
    MaxAl_sduAudioFrames: 4
    Silence Suppression
    fLCPs_mPs_h2250LCPs:
    SessionID: 1
    SilenceSuppression: FALSE
    H2250LCPs_mdCntrlChnnl:
    Unicast Address: IP, 134.134.213.133
    TSAPIdentifier: 2001
    H2250LCPs_mdGrntdDlvry: FALSE
    H2250LCPs_mCGDy: FALSE
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:26.587
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    22 octets (hex output):
    22 c0 00 00 02 80 0f 0c 00 86 86 d5 15 07 d0 00
    86 86 d5 15 07 d1
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: OpenLogicalChannelAck

    Forward Logical Channel Number: 1
    frwrdMltplxAckPrmtrs:
    H2250LCAPs_mdChnnl:
    Unicast Address: IP, 134.134.213.21
    TSAPIdentifier: 2000
    H2250LCAPs_mdCntrlChnnl:
    Unicast Address: IP, 134.134.213.21
    TSAPIdentifier: 2001
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:26.617
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    22 octets (hex output):
    22 c0 00 00 02 80 0f 0c 00 86 86 d5 85 07 d0 00
    86 86 d5 85 07 d1
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: OpenLogicalChannelAck

    Forward Logical Channel Number: 1
    frwrdMltplxAckPrmtrs:
    H2250LCAPs_mdChnnl:
    Unicast Address: IP, 134.134.213.133
    TSAPIdentifier: 2000
    H2250LCAPs_mdCntrlChnnl:
    Unicast Address: IP, 134.134.213.133
    TSAPIdentifier: 2001
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:27.689
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    22 octets (hex output):
    22 c0 00 00 02 80 0f 0c 00 86 86 d5 c8 13 80 00
    86 86 d5 c8 13 81
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: OpenLogicalChannelAck

    Forward Logical Channel Number: 1
    frwrdMltplxAckPrmtrs:
    H2250LCAPs_mdChnnl:
    Unicast Address: IP, 134.134.213.200
    TSAPIdentifier: 4992
    H2250LCAPs_mdCntrlChnnl:
    Unicast Address: IP, 134.134.213.200
    TSAPIdentifier: 4993
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:27.689
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    22 octets (hex output):
    22 c0 00 00 02 80 0f 0c 00 86 86 d5 85 07 d2 00
    86 86 d5 85 07 d3
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: OpenLogicalChannelAck

    Forward Logical Channel Number: 1
    frwrdMltplxAckPrmtrs:
    H2250LCAPs_mdChnnl:
    Unicast Address: IP, 134.134.213.133
    TSAPIdentifier: 2002
    H2250LCAPs_mdCntrlChnnl:
    Unicast Address: IP, 134.134.213.133
    TSAPIdentifier: 2003
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:37.974
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    5 octets (hex output):
    64 80 00 00 08
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: MiscellaneousIndication

    Logical Channel Number: 1
    LogicalChannelInactive
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:37.984
    LAYER: H245
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    5 octets (hex output):
    64 80 00 00 08
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: MiscellaneousIndication

    Logical Channel Number: 1
    LogicalChannelInactive
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:37.984
    LAYER: H245
    DIRECTION: Received
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    2 octets (hex output):
    45 20
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: EndSessionCommand

    Disconnect
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:37.984
    LAYER: Q931
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    24 octets (hex output):
    08 02 80 d6 5a 08 03 00 00 90 7e 00 0b 05 05 40
    06 00 08 91 4a 00 01 58
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: Release Complete
    Protocol Discriminator: 8
    Call Reference:
    length (in octets): 2
    value (in hex): 00 d6 , flag: 1 - destination side
    Cause:
    length: 3
    coding standard: 0x0
    location: 0x0
    recommendation: 0x0
    cause value: 0x10
    User-user:
    length: 11
    protocol discriminator: 5
    h323_uu_pdu: releaseComplete:
    protocolIdentifier: 0, 0, 8, 2250, 0, 1
    reason: RlsCmpltRsn_undfndRsn
    END_PDU: ================================ END PDU =============================

    START_PDU: ============================= START PDU ============================
    TIMESTAMP: 14:26:37.994
    LAYER: Q931
    DIRECTION: Sent
    RAW_PDU: - - - - - - - - RAW PDU - - - - - - - -
    24 octets (hex output):
    08 02 80 02 5a 08 03 00 00 90 7e 00 0b 05 05 40
    06 00 08 91 4a 00 01 58
    DECODED_PDU: - - - - - - - DECODED PDU - - - - - - -
    PDU_TYPE: Release Complete
    Protocol Discriminator: 8
    Call Reference:
    length (in octets): 2
    value (in hex): 00 02 , flag: 1 - destination side
    Cause:
    length: 3
    coding standard: 0x0
    location: 0x0
    recommendation: 0x0
    cause value: 0x10
    User-user:
    length: 11
    protocol discriminator: 5
    h323_uu_pdu: releaseComplete:
    protocolIdentifier: 0, 0, 8, 2250, 0, 1
    reason: RlsCmpltRsn_undfndRsn
    END_PDU: ================================ END PDU =============================

    15. Index

    None at this time.





    Back to Top


    * Legal Information and Privacy Policy © 2001 Intel Corporation