A Media Resource Control Protocol (MRCP) Developed by Cisco, Nuance, and Speechworks
draft-shanmugham-mrcp-07
Revision differences
Document history
| Date | Rev. | By | Action |
|---|---|---|---|
|
2012-08-22
|
07 | (System) | post-migration administrative database adjustment to the No Objection position for Scott Hollenbeck |
|
2012-08-22
|
07 | (System) | post-migration administrative database adjustment to the No Objection position for Bill Fenner |
|
2012-08-22
|
07 | (System) | post-migration administrative database adjustment to the Abstain position for Russ Housley |
|
2005-04-06
|
07 | (System) | New version available: draft-shanmugham-mrcp-07.txt |
|
2005-02-09
|
06 | (System) | New version available: draft-shanmugham-mrcp-06.txt |
|
2004-12-02
|
07 | Amy Vezza | State Changes to RFC Ed Queue from Approved-announcement sent by Amy Vezza |
|
2004-12-01
|
07 | Amy Vezza | IESG state changed to Approved-announcement sent |
|
2004-12-01
|
07 | Amy Vezza | IESG has approved the document |
|
2004-12-01
|
07 | Amy Vezza | Closed "Approve" ballot |
|
2004-12-01
|
07 | Amy Vezza | State Changes to Approved-announcement to be sent from IESG Evaluation::AD Followup by Amy Vezza |
|
2004-11-27
|
07 | Scott Hollenbeck | [Ballot Position Update] Position for Scott Hollenbeck has been changed to No Objection from Discuss by Scott Hollenbeck |
|
2004-11-27
|
07 | Scott Hollenbeck | [Ballot comment] References should be split normative/informative. Previous discuss text: Missing security considerations and IANA considerations sections. I don't quite understand if the application/mrcp content, … [Ballot comment] References should be split normative/informative. Previous discuss text: Missing security considerations and IANA considerations sections. I don't quite understand if the application/mrcp content, which looks like XML to me, is a normative part of this specification. If it is, a normative reference to the appropriate W3C XML specifications needs to be added. Where is the application/mrcp MIME type registered? It's not in the IANA registry now, and I don't see a template in the document. |
|
2004-11-27
|
07 | Sam Hartman | I do believe a security considerations section should be added before publication. However under RFC 3932, that does not seem to be sufficient to … I do believe a security considerations section should be added before publication. However under RFC 3932, that does not seem to be sufficient to justify a dnp note, only a comment to the rfc-editor. |
|
2004-11-27
|
07 | Sam Hartman | [Ballot Position Update] New position, No Objection, has been recorded for Sam Hartman by Sam Hartman |
|
2004-09-17
|
07 | (System) | Removed from agenda for telechat - 2004-09-16 |
|
2004-09-16
|
07 | Amy Vezza | State Changes to IESG Evaluation::AD Followup from IESG Evaluation by Amy Vezza |
|
2004-09-16
|
07 | Russ Housley | [Ballot Position Update] Position for Russ Housley has been changed to Abstain from Discuss by Russ Housley |
|
2004-09-16
|
07 | Bill Fenner | [Ballot comment] I sent the contents of my DISCUSS to the draft authors and the RFC-Editor. |
|
2004-09-16
|
07 | Bill Fenner | [Ballot Position Update] Position for Bill Fenner has been changed to No Objection from Discuss by Bill Fenner |
|
2004-09-16
|
07 | Russ Housley | [Ballot discuss] This document does not have a Security Considerations section. |
|
2004-09-16
|
07 | Russ Housley | [Ballot Position Update] New position, Discuss, has been recorded for Russ Housley by Russ Housley |
|
2004-09-16
|
07 | Bert Wijnen | [Ballot comment] Instead of net 10 addresses they should use the addresses as per RFC3330 for the examples Instead of their current fqdns, they should … [Ballot comment] Instead of net 10 addresses they should use the addresses as per RFC3330 for the examples Instead of their current fqdns, they should use xxx.example.com |
|
2004-09-16
|
07 | Bert Wijnen | [Ballot Position Update] New position, Undefined, has been recorded for Bert Wijnen by Bert Wijnen |
|
2004-09-16
|
07 | Harald Alvestrand | [Ballot comment] Reviewed by Spencer Dawkins, Gen-ART His review: Using the criteria for Individual RFC-Editor Submissions: Reviews should focus on these questions: "Does this document … [Ballot comment] Reviewed by Spencer Dawkins, Gen-ART His review: Using the criteria for Individual RFC-Editor Submissions: Reviews should focus on these questions: "Does this document represent an end run around the IETF's working groups or its procedures? Does this document present an incompatible change to IETF technologies as if it were compatible?" This document is ready for publication as an Informational RFC. I would have more comments if it was an IETF document. |
|
2004-09-16
|
07 | Harald Alvestrand | [Ballot Position Update] New position, No Objection, has been recorded for Harald Alvestrand by Harald Alvestrand |
|
2004-09-16
|
07 | Bill Fenner | [Ballot discuss] ABNF errors in the collected ABNF: 168:0: Rule Content-Type previously referred to as content-type - This is relatively harmless, but it's nice to … [Ballot discuss] ABNF errors in the collected ABNF: 168:0: Rule Content-Type previously referred to as content-type - This is relatively harmless, but it's nice to keep the capitalization consistent. 351:0: Rule speech-length-value was already defined on line 281 353:0: Rule text-speech-length was already defined on line 284 356:0: Rule numeric-speech-length was already defined on line 286 361:0: Rule numeric-speech-unit was already defined on line 289 - This group of 4 rules appears twice in the collected ABNF. 379:0: Rule completion-cause was already defined on line 302 400:0: Rule fetch-timeout was already defined on line 338 - These two individual rules each appears twice in the collected ABNF. ABNF errors in the individual rules in the document: 6:50: '/' is the alternation character in ABNF - This is triggered by the definition of "start-line", but there are quite a few others. 38:0: Rule message-header was already defined on line 8 - message-header is defined in section 5 as "1*(generic-header | resource-header)" but then in section 5.4 as "field-name ":" [ field-value ]". 40:56: unterminated prose-val - This is the definition of field-content. Technically, RFC2234 does not permit multi-line prose-vals. 62:23: Illegal character '#' - skipping to end of line - The definition of content-encoding uses RFC822 ABNF syntax 67:44: Illegal character '#' - skipping to end of line - The definition of cache-control uses RFC822 ABNF syntax 159:0: Rule speech-length-value was already defined on line 109 161:0: Rule text-speech-length was already defined on line 111 163:0: Rule numeric-speech-length was already defined on line 113 167:0: Rule numeric-speech-unit was already defined on line 115 - This is the redefintion of these rules in both Jump-Target and Speak Length. It might be better to define them once and cross-reference. 216:0: Rule completion-cause was already defined on line 126 - completion-cause is defined in both 7.4.4 and 8.4.8. -- I didn't go into the specifics of the further duplicate definitions. 226:0: Rule vendor-specific was already defined on line 135 230:0: Rule vendor-specific-av-pair was already defined on line 138 239:0: Rule fetch-timeout was already defined on line 149 240:0: Rule failed-uri was already defined on line 151 241:0: Rule failed-uri-cause was already defined on line 152 245:0: Rule speech-language was already defined on line 143 Many of the rules do not match the examples, at least partly because the rules do not permit linear whitespace as the examples contain. You probably want to use constructs such as HCOLON and SWS as the SIP spec (RFC 3261) does. Oddly, some of the rules do explicitly have *WSP and others don't. There are a significant number of differences between the ABNF in the document and the collected ABNF. Here is the list that was easy to get. There may be others, or some of these differences may be due to some of the above parse errors resulting in trouble getting to the canonical format. --- mrcp-canon Wed Sep 15 21:17:05 2004 +++ mrcp-collected-canon Wed Sep 15 21:16:51 2004 @@ -1,111 +1,142 @@ ; ALPHA UNDEFINED ; CHAR UNDEFINED ; CRLF UNDEFINED -; DEFINE-GRAMMAR UNDEFINED ; DIGIT UNDEFINED -; GET-PARAMS UNDEFINED -; GET-RESULT UNDEFINED -; LWS UNDEFINED -; RECOGNITION-COMPLETE UNDEFINED -; RECOGNITION-START-TIMERS UNDEFINED -; RECOGNIZE UNDEFINED -; SET-PARAMS UNDEFINED +; DQUOTE UNDEFINED +; HEXDIG UNDEFINED +; OCTET UNDEFINED ; SP UNDEFINED -; START-OF-SPEECH UNDEFINED -; STOP UNDEFINED -; TEXT UNDEFINED -; Url UNDEFINED -; absoluteURI UNDEFINED -; and UNDEFINED -; cache-control UNDEFINED -; cache-directive defined but not used -; combinations UNDEFINED -; confidence-threshold UNDEFINED -; consisting UNDEFINED -; content-encoding UNDEFINED +; WSP UNDEFINED ; content-id UNDEFINED -; content-length UNDEFINED -; content-type UNDEFINED -; either UNDEFINED -; field-name defined but not used -; field-value defined but not used ; generic-message defined but not used -; message-body UNDEFINED -; of UNDEFINED -; or UNDEFINED -; prosody-param-name UNDEFINED -; prosody-param-value UNDEFINED -; relativeURI UNDEFINED -; speech-complete-timeout UNDEFINED -; speech-incomplete-timeout UNDEFINED -; status-code UNDEFINED -; token UNDEFINED -; uri UNDEFINED -; vendor-av-pair-name UNDEFINED -; vendor-av-pair-value UNDEFINED -; voice-param-name UNDEFINED -; voice-param-value UNDEFINED +Content-Type = "Content-Type:" media-type +IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT +IPv6address = hexpart [ ":" IPv4address ] +IPv6reference = "[" IPv6address "]" +LWS = [ *WSP CRLF ] 1*WSP +SWS = [ LWS ] +UTF8-CONT = %x80-BF +UTF8-NONASCII = ( %xC0-DF UTF8-CONT ) / ( %xE0-EF 2UTF8-CONT ) / ( %xF0-F7 3UTF8-CONT ) / ( %xF8-FB 4UTF8-CONT ) / ( %xFC-FD 5UTF8-CONT ) +abs-path = "/" path-segments +absoluteURI = scheme ":" ( hier-part / opaque-part ) active-request-id-list = "Active-Request-Id-List:" request-id *( "," request-id ) CRLF +alphanum = ALPHA / DIGIT +attribute = token audio-fetch-hint = "Audio-Fetch-Hint:" 1*ALPHA CRLF +authority = srvr / reg-name boolean-value = "true" / "false" +cache-control = "Cache-Control:" *WSP cache-directive *( *WSP "," *WSP cache-directive *WSP ) CRLF cache-directive = ( "max-age=" delta-seconds ) / ( "max-stale=" delta-seconds ) / ( "min-fresh=" delta-seconds ) completion-cause = "Completion-Cause:" 1*DIGIT SP 1*ALPHA CRLF +confidence-threshold = "Confidence-Threshold:" 1*DIGIT CRLF content-base = "Content-Base:" absoluteURI CRLF +content-coding = token +content-encoding = "Content-Encoding:" *WSP content-coding *( *WSP "," *WSP content-coding *WSP ) CRLF +content-length = "Content-Length:" 1*DIGIT CRLF content-location = "Content-Location:" ( absoluteURI / relativeURI ) CRLF delta-seconds = 1*DIGIT +domainlabel = alphanum / ( alphanum *( alphanum / "-" ) alphanum ) dtmf-interdigit-timeout = "DTMF-Interdigit-Timeout:" 1*DIGIT CRLF dtmf-term-char = "DTMF-Term-Char:" CHAR CRLF dtmf-term-timeout = "DTMF-Term-Timeout:" 1*DIGIT CRLF +escaped = "%" HEXDIG HEXDIG event-line = event-name SP request-id SP request-state SP mrcp-version CRLF event-name = synthesizer-event / recognizer-event -failed-uri = "Failed-URI:" Url CRLF +failed-uri = "Failed-URI:" absoluteURI CRLF failed-uri-cause = "Failed-URI-Cause:" 1*ALPHA CRLF fetch-hint = "Fetch-Hint:" 1*ALPHA CRLF fetch-timeout = "Fetch-Timeout:" 1*DIGIT CRLF -field-content = and consisting of either *TEXT or combinations of token -field-name = token -field-value = *( field-content / LWS ) -generic-header = active-request-id-list / proxy-sync-id / content-id / content-type / content-length / content-base / content-location / content-encoding / cache-control / logging-tag +generic-header = active-request-id-list / proxy-sync-id / content-id / Content-Type / content-length / content-base / content-location / content-encoding / cache-control / logging-tag generic-message = start-line message-header CRLF [ message-body ] +hex4 = 1*4HEXDIG +hexpart = hexseq / ( hexseq "::" [ hexseq ] ) / ( "::" [ hexseq ] ) +hexseq = hex4 *( ":" hex4 ) +hier-part = ( net-path / abs-path ) [ "?" query ] +host = hostname / IPv4address / IPv6reference +hostname = *( domainlabel "." ) toplabel [ "." ] +hostport = host [ ":" port ] jump-target = "Jump-Size:" speech-length-value CRLF kill-on-barge-in = "Kill-On-Barge-In:" boolean-value CRLF logging-tag = "Logging-Tag:" 1*ALPHA CRLF +mark = "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")" +media-type = type "/" subtype *( ";" parameter ) +message-body = *OCTET message-header = 1*( generic-header / resource-header ) method-name = synthesizer-method / recognizer-method mrcp-version = "MRCP/" 1*DIGIT "." 1*DIGIT n-best-list-length = "N-Best-List-Length:" 1*DIGIT CRLF +net-path = "//" authority [ abs-path ] new-audio-channel = "New-Audio-Channel:" boolean-value CRLF no-input-timeout = "No-Input-Timeout:" 1*DIGIT CRLF numeric-speech-length = ( "+" / "-" ) 1*DIGIT SP numeric-speech-unit numeric-speech-unit = "Second" / "Word" / "Sentence" / "Paragraph" +opaque-part = uric-no-slash *uric +param = *pchar +parameter = attribute "=" value +password = *( unreserved / escaped / "&" / "=" / "+" / "$" / "," ) +path-segments = segment *( "/" segment ) +pchar = unreserved / escaped / ":" / "@" / "&" / "=" / "+" / "$" / "," +port = 1*DIGIT +prosody-param-name = 1*ALPHA +prosody-param-value = 1*alphanum prosody-parameter = "Prosody-" prosody-param-name ":" prosody-param-value CRLF proxy-sync-id = "Proxy-Sync-Id:" 1*ALPHA CRLF +qdtext = LWS / "!" / %x23-5B / %x5D-7E / UTF8-NONASCII +query = *uric +quoted-pair = "" ( %x00-09 / %x0B-0C / %x0E-7F ) +quoted-string = SWS DQUOTE *( qdtext / quoted-pair ) DQUOTE recognition-timeout = "Recognition-Timeout:" 1*DIGIT CRLF recognizer-context-block = "Recognizer-Context-Block:" 1*ALPHA CRLF -recognizer-event = START-OF-SPEECH / RECOGNITION-COMPLETE +recognizer-event = "START-OF-SPEECH" / "RECOGNITION-COMPLETE" recognizer-header = confidence-threshold / sensitivity-level / speed-vs-accuracy / n-best-list-length / no-input-timeout / recognition-timeout / waveform-url / completion-cause / recognizer-context-block / recognizer-start-timers / vendor-specific / speech-complete-timeout / speech-incomplete-timeout / dtmf-interdigit-timeout / dtmf-term-timeout / dtmf-term-char / fetch-timeout / failed-uri / failed-uri-cause / save-waveform / new-audio-channel / speech-language -recognizer-method = SET-PARAMS / GET-PARAMS / DEFINE-GRAMMAR / RECOGNIZE / GET-RESULT / RECOGNITION-START-TIMERS / STOP +recognizer-method = "SET-PARAMS" / "GET-PARAMS" / "DEFINE-GRAMMAR" / "RECOGNIZE" / "GET-RESULT" / "RECOGNITION-START-TIMERS" / "STOP" recognizer-start-timers = "Recognizer-Start-Timers:" boolean-value CRLF +reg-name = 1*( unreserved / escaped / "$" / "," / ";" / ":" / "@" / "&" / "=" / "+" ) +rel-path = rel-segment [ abs-path ] +rel-segment = 1*( unreserved / escaped / ";" / "@" / "&" / "=" / "+" / "$" / "," ) +relativeURI = ( net-path / abs-path / rel-path ) [ "?" query ] request-id = 1*DIGIT request-line = method-name SP request-id SP mrcp-version CRLF request-state = "COMPLETE" / "IN-PROGRESS" / "PENDING" +reserved = ";" / "/" / "?" / ":" / "@" / "&" / "=" / "+" / "$" / "," resource-header = recognizer-header / synthesizer-header -response-line = mrcp-version SP request-id SP status-code SP request-state CRLF save-waveform = "Save-Waveform:" boolean-value CRLF +scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) +segment = *pchar *( ";" param ) sensitivity-level = "Sensitivity-Level:" 1*DIGIT CRLF speak-length = "Speak-Length:" speech-length-value CRLF speak-restart = "Speak-Restart:" boolean-value CRLF -speaker-profile = "Speaker-Profile:" uri CRLF +speaker-profile = "Speaker-Profile:" absoluteURI CRLF +speech-complete-timeout = "Speech-Complete-Timeout:" 1*DIGIT CRLF +speech-incomplete-timeout = "Speech-Incomplete-Timeout:" 1*DIGIT CRLF speech-language = "Speech-Language:" 1*ALPHA CRLF speech-length-value = numeric-speech-length / text-speech-length speech-marker = "Speech-Marker:" 1*ALPHA CRLF speed-vs-accuracy = "Speed-Vs-Accuracy:" 1*DIGIT CRLF -start-line = request-line / response-line / event-line +srvr = [ [ userinfo "@" ] hostport ] +start-line = request-line / status-line / event-line +status-code = 1*DIGIT +status-line = mrcp-version SP request-id SP status-code SP request-state CRLF +subtype = token synthesizer-event = "SPEECH-MARKER" / "SPEAK-COMPLETE" synthesizer-header = jump-target / kill-on-barge-in / speaker-profile / completion-cause / voice-parameter / prosody-parameter / vendor-specific / speech-marker / speech-language / fetch-hint / audio-fetch-hint / fetch-timeout / failed-uri / failed-uri-cause / speak-restart / speak-length synthesizer-method = "SET-PARAMS" / "GET-PARAMS" / "SPEAK" / "STOP" / "PAUSE" / "RESUME" / "BARGE-IN-OCCURRED" / "CONTROL" text-speech-length = 1*ALPHA SP "Tag" +token = 1*( alphanum / "-" / "." / "!" / "%" / "*" / "_" / "+" / "`" / "'" / "~" ) +toplabel = ALPHA / ( ALPHA *( alphanum / "-" ) alphanum ) +type = token +unreserved = alphanum / mark +uric = reserved / unreserved / escaped +uric-no-slash = unreserved / escaped / ";" / "?" / ":" / "@" / "&" / "=" / "+" / "$" / "," +user = 1*( unreserved / escaped / user-unreserved ) +user-unreserved = "&" / "=" / "+" / "$" / "," / ";" / "?" / "/" +userinfo = user [ ":" password ] "@" +value = token / quoted-string +vendor-av-pair-name = 1*ALPHA +vendor-av-pair-value = 1*alphanum vendor-specific = "Vendor-Specific-Parameters:" vendor-specific-av-pair *( ";" vendor-specific-av-pair ) CRLF vendor-specific-av-pair = vendor-av-pair-name "=" vendor-av-pair-value +voice-param-name = 1*ALPHA +voice-param-value = 1*alphanum voice-parameter = "Voice-" voice-param-name ":" voice-param-value CRLF -waveform-url = "Waveform-URL:" Url CRLF +waveform-url = "Waveform-URL:" absoluteURI CRLF |
|
2004-09-16
|
07 | Bill Fenner | [Ballot discuss] ABNF errors in the collected ABNF: 168:0: Rule Content-Type previously referred to as content-type - This is relatively harmless, but it's nice to … [Ballot discuss] ABNF errors in the collected ABNF: 168:0: Rule Content-Type previously referred to as content-type - This is relatively harmless, but it's nice to keep the capitalization consistent. 351:0: Rule speech-length-value was already defined on line 281 353:0: Rule text-speech-length was already defined on line 284 356:0: Rule numeric-speech-length was already defined on line 286 361:0: Rule numeric-speech-unit was already defined on line 289 - This group of 4 rules appears twice in the collected ABNF. 379:0: Rule completion-cause was already defined on line 302 400:0: Rule fetch-timeout was already defined on line 338 - These two individual rules each appears twice in the collected ABNF. ABNF errors in the individual rules in the document: 6:50: '/' is the alternation character in ABNF - This is triggered by the definition of "start-line", but there are quite a few others. 38:0: Rule message-header was already defined on line 8 - message-header is defined in section 5 as "1*(generic-header | resource-header)" but then in section 5.4 as "field-name ":" [ field-value ]". 40:56: unterminated prose-val - This is the definition of field-content. Technically, RFC2234 does not permit multi-line prose-vals. 62:23: Illegal character '#' - skipping to end of line - The definition of content-encoding uses RFC822 ABNF syntax 67:44: Illegal character '#' - skipping to end of line - The definition of cache-control uses RFC822 ABNF syntax 159:0: Rule speech-length-value was already defined on line 109 161:0: Rule text-speech-length was already defined on line 111 163:0: Rule numeric-speech-length was already defined on line 113 167:0: Rule numeric-speech-unit was already defined on line 115 - This is the redefintion of these rules in both Jump-Target and Speak Length. It might be better to define them once and cross-reference. 216:0: Rule completion-cause was already defined on line 126 - completion-cause is defined in both 7.4.4 and 8.4.8. -- I didn't go into the specifics of the further duplicate definitions. 226:0: Rule vendor-specific was already defined on line 135 230:0: Rule vendor-specific-av-pair was already defined on line 138 239:0: Rule fetch-timeout was already defined on line 149 240:0: Rule failed-uri was already defined on line 151 241:0: Rule failed-uri-cause was already defined on line 152 245:0: Rule speech-language was already defined on line 143 There are a significant number of differences between the ABNF in the document and the collected ABNF. Here is the list that was easy to get. There may be others, or some of these differences may be due to some of the above parse errors resulting in trouble getting to the canonical format. --- mrcp-canon Wed Sep 15 21:17:05 2004 +++ mrcp-collected-canon Wed Sep 15 21:16:51 2004 @@ -1,111 +1,142 @@ ; ALPHA UNDEFINED ; CHAR UNDEFINED ; CRLF UNDEFINED -; DEFINE-GRAMMAR UNDEFINED ; DIGIT UNDEFINED -; GET-PARAMS UNDEFINED -; GET-RESULT UNDEFINED -; LWS UNDEFINED -; RECOGNITION-COMPLETE UNDEFINED -; RECOGNITION-START-TIMERS UNDEFINED -; RECOGNIZE UNDEFINED -; SET-PARAMS UNDEFINED +; DQUOTE UNDEFINED +; HEXDIG UNDEFINED +; OCTET UNDEFINED ; SP UNDEFINED -; START-OF-SPEECH UNDEFINED -; STOP UNDEFINED -; TEXT UNDEFINED -; Url UNDEFINED -; absoluteURI UNDEFINED -; and UNDEFINED -; cache-control UNDEFINED -; cache-directive defined but not used -; combinations UNDEFINED -; confidence-threshold UNDEFINED -; consisting UNDEFINED -; content-encoding UNDEFINED +; WSP UNDEFINED ; content-id UNDEFINED -; content-length UNDEFINED -; content-type UNDEFINED -; either UNDEFINED -; field-name defined but not used -; field-value defined but not used ; generic-message defined but not used -; message-body UNDEFINED -; of UNDEFINED -; or UNDEFINED -; prosody-param-name UNDEFINED -; prosody-param-value UNDEFINED -; relativeURI UNDEFINED -; speech-complete-timeout UNDEFINED -; speech-incomplete-timeout UNDEFINED -; status-code UNDEFINED -; token UNDEFINED -; uri UNDEFINED -; vendor-av-pair-name UNDEFINED -; vendor-av-pair-value UNDEFINED -; voice-param-name UNDEFINED -; voice-param-value UNDEFINED +Content-Type = "Content-Type:" media-type +IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT +IPv6address = hexpart [ ":" IPv4address ] +IPv6reference = "[" IPv6address "]" +LWS = [ *WSP CRLF ] 1*WSP +SWS = [ LWS ] +UTF8-CONT = %x80-BF +UTF8-NONASCII = ( %xC0-DF UTF8-CONT ) / ( %xE0-EF 2UTF8-CONT ) / ( %xF0-F7 3UTF8-CONT ) / ( %xF8-FB 4UTF8-CONT ) / ( %xFC-FD 5UTF8-CONT ) +abs-path = "/" path-segments +absoluteURI = scheme ":" ( hier-part / opaque-part ) active-request-id-list = "Active-Request-Id-List:" request-id *( "," request-id ) CRLF +alphanum = ALPHA / DIGIT +attribute = token audio-fetch-hint = "Audio-Fetch-Hint:" 1*ALPHA CRLF +authority = srvr / reg-name boolean-value = "true" / "false" +cache-control = "Cache-Control:" *WSP cache-directive *( *WSP "," *WSP cache-directive *WSP ) CRLF cache-directive = ( "max-age=" delta-seconds ) / ( "max-stale=" delta-seconds ) / ( "min-fresh=" delta-seconds ) completion-cause = "Completion-Cause:" 1*DIGIT SP 1*ALPHA CRLF +confidence-threshold = "Confidence-Threshold:" 1*DIGIT CRLF content-base = "Content-Base:" absoluteURI CRLF +content-coding = token +content-encoding = "Content-Encoding:" *WSP content-coding *( *WSP "," *WSP content-coding *WSP ) CRLF +content-length = "Content-Length:" 1*DIGIT CRLF content-location = "Content-Location:" ( absoluteURI / relativeURI ) CRLF delta-seconds = 1*DIGIT +domainlabel = alphanum / ( alphanum *( alphanum / "-" ) alphanum ) dtmf-interdigit-timeout = "DTMF-Interdigit-Timeout:" 1*DIGIT CRLF dtmf-term-char = "DTMF-Term-Char:" CHAR CRLF dtmf-term-timeout = "DTMF-Term-Timeout:" 1*DIGIT CRLF +escaped = "%" HEXDIG HEXDIG event-line = event-name SP request-id SP request-state SP mrcp-version CRLF event-name = synthesizer-event / recognizer-event -failed-uri = "Failed-URI:" Url CRLF +failed-uri = "Failed-URI:" absoluteURI CRLF failed-uri-cause = "Failed-URI-Cause:" 1*ALPHA CRLF fetch-hint = "Fetch-Hint:" 1*ALPHA CRLF fetch-timeout = "Fetch-Timeout:" 1*DIGIT CRLF -field-content = and consisting of either *TEXT or combinations of token -field-name = token -field-value = *( field-content / LWS ) -generic-header = active-request-id-list / proxy-sync-id / content-id / content-type / content-length / content-base / content-location / content-encoding / cache-control / logging-tag +generic-header = active-request-id-list / proxy-sync-id / content-id / Content-Type / content-length / content-base / content-location / content-encoding / cache-control / logging-tag generic-message = start-line message-header CRLF [ message-body ] +hex4 = 1*4HEXDIG +hexpart = hexseq / ( hexseq "::" [ hexseq ] ) / ( "::" [ hexseq ] ) +hexseq = hex4 *( ":" hex4 ) +hier-part = ( net-path / abs-path ) [ "?" query ] +host = hostname / IPv4address / IPv6reference +hostname = *( domainlabel "." ) toplabel [ "." ] +hostport = host [ ":" port ] jump-target = "Jump-Size:" speech-length-value CRLF kill-on-barge-in = "Kill-On-Barge-In:" boolean-value CRLF logging-tag = "Logging-Tag:" 1*ALPHA CRLF +mark = "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")" +media-type = type "/" subtype *( ";" parameter ) +message-body = *OCTET message-header = 1*( generic-header / resource-header ) method-name = synthesizer-method / recognizer-method mrcp-version = "MRCP/" 1*DIGIT "." 1*DIGIT n-best-list-length = "N-Best-List-Length:" 1*DIGIT CRLF +net-path = "//" authority [ abs-path ] new-audio-channel = "New-Audio-Channel:" boolean-value CRLF no-input-timeout = "No-Input-Timeout:" 1*DIGIT CRLF numeric-speech-length = ( "+" / "-" ) 1*DIGIT SP numeric-speech-unit numeric-speech-unit = "Second" / "Word" / "Sentence" / "Paragraph" +opaque-part = uric-no-slash *uric +param = *pchar +parameter = attribute "=" value +password = *( unreserved / escaped / "&" / "=" / "+" / "$" / "," ) +path-segments = segment *( "/" segment ) +pchar = unreserved / escaped / ":" / "@" / "&" / "=" / "+" / "$" / "," +port = 1*DIGIT +prosody-param-name = 1*ALPHA +prosody-param-value = 1*alphanum prosody-parameter = "Prosody-" prosody-param-name ":" prosody-param-value CRLF proxy-sync-id = "Proxy-Sync-Id:" 1*ALPHA CRLF +qdtext = LWS / "!" / %x23-5B / %x5D-7E / UTF8-NONASCII +query = *uric +quoted-pair = "" ( %x00-09 / %x0B-0C / %x0E-7F ) +quoted-string = SWS DQUOTE *( qdtext / quoted-pair ) DQUOTE recognition-timeout = "Recognition-Timeout:" 1*DIGIT CRLF recognizer-context-block = "Recognizer-Context-Block:" 1*ALPHA CRLF -recognizer-event = START-OF-SPEECH / RECOGNITION-COMPLETE +recognizer-event = "START-OF-SPEECH" / "RECOGNITION-COMPLETE" recognizer-header = confidence-threshold / sensitivity-level / speed-vs-accuracy / n-best-list-length / no-input-timeout / recognition-timeout / waveform-url / completion-cause / recognizer-context-block / recognizer-start-timers / vendor-specific / speech-complete-timeout / speech-incomplete-timeout / dtmf-interdigit-timeout / dtmf-term-timeout / dtmf-term-char / fetch-timeout / failed-uri / failed-uri-cause / save-waveform / new-audio-channel / speech-language -recognizer-method = SET-PARAMS / GET-PARAMS / DEFINE-GRAMMAR / RECOGNIZE / GET-RESULT / RECOGNITION-START-TIMERS / STOP +recognizer-method = "SET-PARAMS" / "GET-PARAMS" / "DEFINE-GRAMMAR" / "RECOGNIZE" / "GET-RESULT" / "RECOGNITION-START-TIMERS" / "STOP" recognizer-start-timers = "Recognizer-Start-Timers:" boolean-value CRLF +reg-name = 1*( unreserved / escaped / "$" / "," / ";" / ":" / "@" / "&" / "=" / "+" ) +rel-path = rel-segment [ abs-path ] +rel-segment = 1*( unreserved / escaped / ";" / "@" / "&" / "=" / "+" / "$" / "," ) +relativeURI = ( net-path / abs-path / rel-path ) [ "?" query ] request-id = 1*DIGIT request-line = method-name SP request-id SP mrcp-version CRLF request-state = "COMPLETE" / "IN-PROGRESS" / "PENDING" +reserved = ";" / "/" / "?" / ":" / "@" / "&" / "=" / "+" / "$" / "," resource-header = recognizer-header / synthesizer-header -response-line = mrcp-version SP request-id SP status-code SP request-state CRLF save-waveform = "Save-Waveform:" boolean-value CRLF +scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) +segment = *pchar *( ";" param ) sensitivity-level = "Sensitivity-Level:" 1*DIGIT CRLF speak-length = "Speak-Length:" speech-length-value CRLF speak-restart = "Speak-Restart:" boolean-value CRLF -speaker-profile = "Speaker-Profile:" uri CRLF +speaker-profile = "Speaker-Profile:" absoluteURI CRLF +speech-complete-timeout = "Speech-Complete-Timeout:" 1*DIGIT CRLF +speech-incomplete-timeout = "Speech-Incomplete-Timeout:" 1*DIGIT CRLF speech-language = "Speech-Language:" 1*ALPHA CRLF speech-length-value = numeric-speech-length / text-speech-length speech-marker = "Speech-Marker:" 1*ALPHA CRLF speed-vs-accuracy = "Speed-Vs-Accuracy:" 1*DIGIT CRLF -start-line = request-line / response-line / event-line +srvr = [ [ userinfo "@" ] hostport ] +start-line = request-line / status-line / event-line +status-code = 1*DIGIT +status-line = mrcp-version SP request-id SP status-code SP request-state CRLF +subtype = token synthesizer-event = "SPEECH-MARKER" / "SPEAK-COMPLETE" synthesizer-header = jump-target / kill-on-barge-in / speaker-profile / completion-cause / voice-parameter / prosody-parameter / vendor-specific / speech-marker / speech-language / fetch-hint / audio-fetch-hint / fetch-timeout / failed-uri / failed-uri-cause / speak-restart / speak-length synthesizer-method = "SET-PARAMS" / "GET-PARAMS" / "SPEAK" / "STOP" / "PAUSE" / "RESUME" / "BARGE-IN-OCCURRED" / "CONTROL" text-speech-length = 1*ALPHA SP "Tag" +token = 1*( alphanum / "-" / "." / "!" / "%" / "*" / "_" / "+" / "`" / "'" / "~" ) +toplabel = ALPHA / ( ALPHA *( alphanum / "-" ) alphanum ) +type = token +unreserved = alphanum / mark +uric = reserved / unreserved / escaped +uric-no-slash = unreserved / escaped / ";" / "?" / ":" / "@" / "&" / "=" / "+" / "$" / "," +user = 1*( unreserved / escaped / user-unreserved ) +user-unreserved = "&" / "=" / "+" / "$" / "," / ";" / "?" / "/" +userinfo = user [ ":" password ] "@" +value = token / quoted-string +vendor-av-pair-name = 1*ALPHA +vendor-av-pair-value = 1*alphanum vendor-specific = "Vendor-Specific-Parameters:" vendor-specific-av-pair *( ";" vendor-specific-av-pair ) CRLF vendor-specific-av-pair = vendor-av-pair-name "=" vendor-av-pair-value +voice-param-name = 1*ALPHA +voice-param-value = 1*alphanum voice-parameter = "Voice-" voice-param-name ":" voice-param-value CRLF -waveform-url = "Waveform-URL:" Url CRLF +waveform-url = "Waveform-URL:" absoluteURI CRLF |
|
2004-09-15
|
07 | Bill Fenner | [Ballot Position Update] New position, Discuss, has been recorded for Bill Fenner by Bill Fenner |
|
2004-09-15
|
07 | David Kessens | [Ballot Position Update] New position, No Objection, has been recorded for David Kessens by David Kessens |
|
2004-09-13
|
07 | Steven Bellovin | [Ballot discuss] No Security Considerations section. I didn't read this closely, but it appears that the only authentication mechanism is a password in a URI, … [Ballot discuss] No Security Considerations section. I didn't read this closely, but it appears that the only authentication mechanism is a password in a URI, i.e., a clear-text password. |
|
2004-09-13
|
07 | Steven Bellovin | [Ballot Position Update] New position, Discuss, has been recorded for Steve Bellovin by Steve Bellovin |
|
2004-09-10
|
07 | Scott Hollenbeck | [Ballot discuss] Missing security considerations and IANA considerations sections. I don't quite understand if the application/mrcp content, which looks like XML to me, is a … [Ballot discuss] Missing security considerations and IANA considerations sections. I don't quite understand if the application/mrcp content, which looks like XML to me, is a normative part of this specification. If it is, a normative reference to the appropriate W3C XML specifications needs to be added. Where is the application/mrcp MIME type registered? It's not in the IANA registry now, and I don't see a template in the document. |
|
2004-09-10
|
07 | Scott Hollenbeck | [Ballot comment] References should be split normative/informative. |
|
2004-09-10
|
07 | Scott Hollenbeck | [Ballot discuss] Missing security considerations and IANA considerations sections. I don't quite understanbd if the application/mrcp content, which looks like XML to me, is a … [Ballot discuss] Missing security considerations and IANA considerations sections. I don't quite understanbd if the application/mrcp content, which looks like XML to me, is a normative part of this specification. If it is, a normative reference to the appropriate W3C XML specifications needs to be added. Where is the application/mrcp MIME type registered? It's not in the IANA registry now, and I don't see a template in the document. |
|
2004-09-10
|
07 | Scott Hollenbeck | [Ballot Position Update] New position, Discuss, has been recorded for Scott Hollenbeck by Scott Hollenbeck |
|
2004-09-09
|
07 | Jon Peterson | State Changes to IESG Evaluation from AD Evaluation by Jon Peterson |
|
2004-09-09
|
07 | Jon Peterson | Placed on agenda for telechat - 2004-09-16 by Jon Peterson |
|
2004-09-09
|
07 | Jon Peterson | [Ballot Position Update] New position, Yes, has been recorded for Jon Peterson |
|
2004-09-09
|
07 | Jon Peterson | Ballot has been issued by Jon Peterson |
|
2004-09-09
|
07 | Jon Peterson | Created "Approve" ballot |
|
2004-09-09
|
07 | (System) | Ballot writeup text was added |
|
2004-09-09
|
07 | (System) | Last call text was added |
|
2004-09-09
|
07 | (System) | Ballot approval text was added |
|
2004-09-09
|
07 | Jon Peterson | [Note]: 'Verified with speechsc chairs that this is not an end-run around ongoing work there.' added by Jon Peterson |
|
2004-09-09
|
07 | Jon Peterson | State Changes to AD Evaluation from Publication Requested by Jon Peterson |
|
2004-03-18
|
07 | Amy Vezza | Removed from agenda for telechat - 2004-04-01 by Amy Vezza |
|
2004-03-18
|
07 | Harald Alvestrand | Shepherding AD has been changed to Jon Peterson from Harald Alvestrand |
|
2004-03-17
|
07 | Dinara Suleymanova | Draft Added by Dinara Suleymanova |
|
2004-01-12
|
05 | (System) | New version available: draft-shanmugham-mrcp-05.txt |
|
2003-05-01
|
04 | (System) | New version available: draft-shanmugham-mrcp-04.txt |
|
2003-01-27
|
03 | (System) | New version available: draft-shanmugham-mrcp-03.txt |
|
2002-07-22
|
02 | (System) | New version available: draft-shanmugham-mrcp-02.txt |
|
2001-11-27
|
01 | (System) | New version available: draft-shanmugham-mrcp-01.txt |
|
2001-11-14
|
00 | (System) | New version available: draft-shanmugham-mrcp-00.txt |