"Say What?" (Q40)
The information in this article applies to:
Return the FunctionNotSupported indication but only in these situations: for request, response, and command messages that are not understood because they have an unsupported nonStandard choice, i.e., RequestMessage.nonStandard, ResponseMessage.nonStandard, or CommandMessage.nonStandard, or their choice is defined in an extension set for a subsequent version of H.245 relative to the version implemented in the terminal, e.g., a v2 terminal receiving a command that was added to the ASN.1 syntax in v3. In particular, do not return FunctionNotSupported in response to
- a message whose action you have simply not implemented yet;
- a request, response, or command that contains an unsupported non-standard ASN.1 component; or
- a request, response, or command that contains an ASN.1 extension that was added to a version of H.245 after the version you implemented.
Frankly, FunctionNotSupported is probably one of the least useful features of H.245. I don't think any implementation expects or makes use of this message, so I doubt whether anyone will notice if you just never send it.
Here are the relevant passages from the Recommendations: Section 6.5/H.324v2: "H.324 terminals shall send the FunctionNotSupported message in response to unrecognized request, response, or command messages" (Section 6.2.8/H.323v2 says the same thing for H.323) and Section 7.13.1/H.245v2: "If a terminal receives a request, response or command that it does not understand, either because it is non-standard or has been defined in a subsequent revision of this Recommendation, it should respond by sending FunctionNotSupported or FunctionNotUnderstood."