Red Bank was quite a tiring experience. I hope the work we did at 7:00 am after starting at 8:30 am the previous morning is reasonable (I'll look it over!). Here are the changes we made to Megaco/H.248: 1. The compilation from ASN.1 to ABNF is gone. Annex A will have an ASN.1 which will be encoded with, at least as of now, BER. Annex B will have the ABNF we have been working with, which encodes to text. 2. The wording of the document was changed so that SDP SHALL be used when text encoding and Tag/Value (Appendix D) SHALL be used when binary encoding. This removes one option. 3. Some updates were made to references. An ASN.1 reference was added, RFC2234 was made normative. 4. Some terms in the Definitions and References sections were deleted, as they were no longer used in the text. 5. Clarifications were made in 6.1 to state that a Termination SHALL exists in only one Context at a time. 6. In 6.1.1, context properties were renamed to Attributes. Two new attributes were defined: a "Priority" that is applied per context and is used by the MG when it has conflicts with resource assignment, queuing, etc, and "Emergency", as in 911, which is used for preferential handling in the MG. 7. Text was added in 6.2.1 to state that an MGC can only affect terminations and the resources associated with them (when, for example, multiple virtual MGs are implemented). 8. Properties are now defined with read only or read/write capability. 9. The Descriptor Table in 6.4.2 received minor editing updates. 10. The text that described the hierarchy of Media/Stream/Local-Remote... was moved to 7.1.5 11. Text in 6.2.5 was edited to allow packages to be defined on root. 12. Text in section 7 was added to allow the MGC to instruct the MG to take terminations in or out of service. 13. Text in 7.1.2 was clarified to specify that unspecified optional parameters take defined default values. 14. H.225.0 was removed from the list of MUX types. 15. Text was added to section 7 to make EventsDescriptors and SignalsDescriptors be stream specific, and appear inside Stream. 15. Text in 7.1.5 was clarified to make Local/Remote/LocalControl/Signals/Events appearing at the command level imply stream=1, whatever stream=1 was. Although stream=1 defaults to "audio", it can be assigned to whatever the MGC wants to set it to. 16. TerminationBuffered was moved to LocalControl (although there is, at this writing, still some issues around events that affect this change). 17. Wording on what "send only" mode means was clarified. A stream set to mode=sendonly does not pass received media into the context. 18. Signals were defined NOT to be affected by mode. 19. Section 7.1.9 was edited to specify that when using SDP, "s=", "t=" and "o=" lines are optional, and 'v=' is only required between session descriptors. 20. in 7.1.11, wording was changed so that Signals are defined as proceeding from the termination towards the exterior of the Context. When the same Signal is applied to multiple Terminations within one Transaction, the MG should consider using the same resource for these Signals. Signals now have two default parameters - they need not be defined. One is "SignalType" (Brief, Timeout, On/Off). The other is "Duration". Default values must be specified for these parameters when defining a signal. This means that you can define a signal as normally (defaulting to) Brief, with a specific length, but override it in an EventsDescriptor. The Duration is the length of the signal if it is Brief, the length of the timer if it is TimeOut. Duration is not used with On/Off signals. 21. The table in 7.1.12 was edited to fix errors. Text was added to state that Audit with an empty list causes no descriptors to be returned, and is useful in Subtract to inhibit automatic sending of Statistics. 22. The "Port" parameter of ServiceChange was renamed "ServiceChangeAddress" to account for non IP usage. 23. Digit map wording was edited. The Start timer is started at the beginning of every digit map use, but can be overridden. 23. Text in 7.1.17 was edited to show that the ObservedEvents Descriptor is what Notify returns. 24. Changes were made to the text in 7.1 about topology: - A oneway connection must implemented in such a way that the other Terminations in the Context are not aware of the change in topology. - The Topology Descriptor occurs before any command in an action. - TerminationA or TerminationB may be specified as Choose which takes the value the MG assigns to the first underspecified TerminationID in a command within the same Action as the Topology Descriptor. 25. The "media type" wording in 7.2.1 was removed. 26. Text in 7.25 was edited to clarify various kinds of audits. - Specifying an empty Audit Descriptor results in only the TerminationID being returned. This may be useful to get a list of TerminationIDs when used with wildcard - The table was changed. All the audits with wildcard produce audits of terminations (not lists) - an audit of All contexts with the TerminationID set to root produces a list of all active contextIDs. 27. Changes in AuditCapabilities clarify that events and signals return a possible values of all parameters. 28. Text in 7.2.8 was updated to change Port to ServiceChangeAddress and to permit MGC to MG in service/out of service commands. 29. Additional reasons were added to ServiceChangeReason: 910 Media Capability Failure 911 Modem Capability Failure 912 Mux Capability Failure 913 Signal Capability Failure 914 Event Capability Failure 915 State Loss 30. A line was added to 7.3, command error codes which states: Implementations are encouraged to append diagnostic information to the end of the string. 31. Additional error messages were added (see the list) 32. Text was clarified in Section 9 to state that when the protocol is transported over IP, MGCs shall implement both TCP and UDP/ALF, an MG shall implement TCP or UDP/ALF or both. 33. Wording in 11.1 (Virtual MGs) was edited for clarity. I don't think we changed any behavior. 34. The Packages section was largely rewritten. The changes are numerous, but are not radically different from what was there. Here are some highlights: - Packages have versions. Backwards compatibility is REQUIRED for a new version. A non-backwards compatible change is a new package definition (different packageId) - Packages can "Extend" an existing package. The version of the package being extended must be specified. Extensions only ADD properties, events, signals, statistics and/or new values for parameters . No overloading of names is permitted. - Properties and parameters have a declared type - Properties must specify whether they are defined in TerminationState or LocalControl - Properties have read only or read/write characteristics - Events are described with two sections on parameters, one used with EventsDescriptor, one used with Notify. Names can overlap in these two sections - Default values for SignalType and Duration must be specified - All identifiers are defined with a string name and a binary identifier. 35. Annex A was supplied, with a complete ASN.1 description of the protocol 36. Changes were made in Annex B to realize the changes documented above 37. Annex C, which used to be the "compiler" that complied ASN.1 to ABNF was eliminated. In it's place will be the base package definition. 38. Annex D received heavy editing, primarily adding specific values for various fields. 39. Annex E used to be UDP/ALF. It will have both TCP and UDP/ALF (what used to be Annex E and F). The ABNF for TransactionAck is in this Annex. 40. Annex F will now be transport on ATM. Three protocols will be defined: AAL5/ALF, AAL5/SSCOP and AAL5/MTP3b. All are optional. 41. Annex G will become Appendix G, as the examples are informative. Examples will be updated. 42. A new Annex, H, will have transport on SCTP. Transport on SCTP is optional at both MG and MGC (and MGCs must still implement both TCP and UDP/ALF, and MGs must support one or both of these). Brian Rosen John Segers Editors