• Aucun résultat trouvé

RFC 2705 was issued in October 1999, as the last update of draft version 0.5. This updated document benefits from further

implementation experience. The main changes from RFC 2705 are:

* Contains several clarifications, editorial changes and resolution of known inconsistencies.

* Firmed up specification language in accordance with RFC 2119 and added RFC 2119 conventions section.

* Clarified behavior of mixed wild-carding in endpoint names.

* Deleted naming requirement about having first term identify the physical gateway when the gateway consists of multiple physical gateways. Also added recommendations on wild-carding naming usage from the right only, as well as mixed wildcard usage.

* Clarified that synonymous forms and values for endpoint names are not freely interchangeable.

* Allowed IPv6 addresses in endpoint names.

* Clarified Digit Map matching rules.

* Added missing semantics for symbols used in digit maps.

* Added Timer T description in Digit Maps.

* Added recommendation to support digit map sizes of at least 2048 bytes per endpoint.

* Clarified use of wildcards in several commands.

* Event and Signal Parameters formally defined for events and signals.

* Persistent events now allowed in base MGCP protocol.

* Added additional detail on connection wildcards.

* Clarified behavior of loopback, and continuity test connection modes for mixing and multiple connections in those modes.

* Modified BearerInformation to be conditional optional in the EndpointConfiguration command.

* Clarified "swap audio" action operation for one specific scenario and noted that operation for other scenarios is undefined.

* Added recommendation that all implementations support PCMU encoding for interoperability.

* Changed Bandwidth LocalConnectionOptions value from excluding to including overhead from the IP layer and up for consistency with SDP.

* Clarified that mode of second connection in a CreateConnection command will be set to "send/receive".

* Type of service default changed to zero.

* Additional detail on echo cancellation, silence suppression, and gain control. Also added recommendation for Call Agents not to specify handling of echo cancellation and gain control.

* Added requirement for a connection to have a

RemoteConnectionDescriptor in order to use the "network loopback"

and "network continuity test" modes.

* Removed procedures and specification for NAS’s (will be provided as package instead).

* Removed procedures and specification for ATM (will be provided as package instead).

* Added missing optional NotifiedEntity parameter to the DeleteConnection (from the Call Agent) MGCI command.

* Added optional new MaxMGCPDatagram RequestedInfo code for

AuditEndpoint to enable auditing of maximum size of MGCP datagrams supported.

* Added optional new PackageList RequestedInfo code for AuditEndpoint to enable auditing of packages with a package version number.

PackageList parameter also allowed with return code 518 (unsupported package).

* Added missing attributes in Capabilities.

* Clarified that at the expiration of a non-zero restart delay, an updated RestartInProgress should be sent. Also clarified that a new NotifiedEntity can only be returned in response to a

RestartInProgress command.

* Added Response Acknowledgement response (return code 000) and included in three-way handshake.

* ResponseAck parameter changed to be allowed in all commands.

* Added return codes 101, 405, 406, 407, 409, 410, 503, 504, 505, 506, 507, 508, 509, 533, 534, 535, 536, 537, 538, 539, 540, 541, and defined return codes in range 800-899 to be package specific return codes. Additional text provided for some return codes and additional detail on how to handle unknown return codes added.

* Added reason code 903, 904, 905 and defined reason codes 800-899 to be package specific reason codes.

* Added section clarifying codec negotiation procedure.

* Clarified that resource reservation parameters in a

ModifyConnection command defaults to the current value used.

* Clarified that connection mode is optional in ModifyConnection commands.

* Corrected LocalConnectionDescriptor to be optional in response to CreateConnection commands (in case of failure).

* Clarified that quoted-strings are UTF-8 encoded and

interchangeability of quoted strings and unquoted strings.

* Clarified that Transaction Identifiers are compared as numerical values.

* Clarified bit-ordering for Type Of Service LocalConnectionOptions.

* Clarified the use of RequestIdentifier zero.

* Added example sections for commands, responses, and some call flows.

* Corrected usage of and requirements for SDP to be strictly RFC 2327 compliant.

* Added requirement that all MGCP implementations must support MGCP datagrams up to at least 4000 bytes. Also added new section on Maximum Datagram Size, Fragmentation and reassembly.

* Generalized piggybacking retransmission scheme to only state underlying requirements to be satisfied.

* Clarified the section on computing retransmission timers.

* Clarified operation of long-running transactions, including provisional responses, retransmissions and failures.

* Enhanced description of provisional responses and interaction with three-way handshake.

* Enhanced description of fail-over and the role of "notified entity". An empty "notified entity" has been allowed, although strongly discouraged.

* Clarified retransmission procedure and removed "wrong key"

considerations from it. Also fixed inconsistencies between Max1 and Max2 retransmission boundaries and the associated flow diagram.

* Updated domain name resolution for retransmission procedure to incur less overhead when multiple endpoints are retransmitting.

* Removed requirement for in-order delivery of NotificationRequests response and Notify commands. Notify commands are still delivered in-order.

* Clarified that activating an embedded Notification Request does not clear the list of ObservedEvents.

* Defined interactions between disconnected state and notification state.

* Added section on transactional semantics.

* Defined gateway behavior when multiple interacting transactions are received.

* Additional details provided on service states. Clarified

relationship between endpoint service states, restart methods, and associated processing of commands.

* Clarified operation for transitioning from "restart procedure" to "disconnected state".

* Allowed auditing commands and responses to bypass the "restart" and "disconnected" procedures.

* Clarified operation of "disconnected procedure" and in particular the operation of piggy-backed "disconnected" RestartInProgress messages.

* Added option to aggregate "disconnected" RestartInProgress messages under certain conditions to reduce message volume.

* Defined additional behavior for endpoints wishing to send commands while in the "disconnected" state.

* Added new section on Load Control in General which includes two new error codes (101 and 409) to handle overload.

* Deleted the "Proposed MoveConnection command".

* Removed packages from protocol specification (will be provided in separate documents instead).

* Package concept formally extended to be primary extension mechanism now allowing extensions for the following to be defined in packages as well:

- BearerInformation - LocalConnectionOptions - ExtensionParameters - Connection Modes - Actions

- Digit Map Letters - Connection Parameters - Restart Methods

- Reason Codes - Return Codes

* Requirements and suggested format for package definitions added.

* Defined "operation complete" and "operation failure" events to be automatically present in packages with Time-Out signals.

* Deleted list of differences that were prior to RFC 2705.

* Added Base Package to deal with quarantine buffer overflow,

ObservedEvents overflow, embedded NotificationRequest failure, and to enable events to be requested persistently. A new "Message"

command is included as well.

* IANA registration procedures for packages and other extensions added.

* Updated grammar to fix known errors and support new extensions in a backwards compatible manner. Added new (optional) PackageList and MaxMGCPDatagram for auditing. Changed explicit white space rules in some productions to make grammar more consistent.

* Connection Mode interaction table added.

* Added additional detail on virtual endpoint naming conventions.

Also added suggested gateway endpoint convention and a "Range Wildcard" option to the Endpoint Naming Conventions.