Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 4463

A Media Resource Control Protocol (MRCP) Developed by Cisco, Nuance, and Speechworks

Pages: 86
Informational
Part 4 of 4 – Pages 67 to 86
First   Prev   None

Top   ToC   RFC4463 - Page 67   prevText

9. Future Study

Various sections of the recognizer could be distributed into Digital Signal Processors (DSPs) on the Voice Browser/Gateway or IP Phones. For instance, the gateway might perform voice activity detection to reduce network bandwidth and CPU requirement of the automatic speech recognition (ASR) server. Such extensions are deferred for further study and will not be addressed in this document.

10. Security Considerations

The MRCP protocol may carry sensitive information such as account numbers, passwords, etc. For this reason it is important that the client have the option of secure communication with the server for both the control messages as well as the media, though the client is not required to use it. If all MRCP communications happens in a trusted domain behind a firewall, this may not be necessary. If the client or server is deployed in an insecure network, communication happening across this insecure network needs to be protected. In such cases, the following additional security functionality MUST be supported on the MRCP server. MRCP servers MUST implement Transport Layer Security (TLS) to secure the RTSP communication, i.e., the RTSP stack SHOULD support the rtsps: URI form. MRCP servers MUST support Secure Real-Time Transport Protocol (SRTP) as an option to send and receive media.

11. RTSP-Based Examples

The following is an example of a typical session of speech synthesis and recognition between a client and the server. Opening the synthesizer. This is the first resource for this session. The server and client agree on a single Session ID 12345678 and set of RTP/RTCP ports on both sides. C->S:SETUP rtsp://media.server.com/media/synthesizer RTSP/1.0 CSeq:2 Transport:RTP/AVP;unicast;client_port=46456-46457 Content-Type:application/sdp
Top   ToC   RFC4463 - Page 68
          Content-Length:190

          v=0
          o=- 123 456 IN IP4 10.0.0.1
          s=Media Server
          p=+1-888-555-1212
          c=IN IP4 0.0.0.0
          t=0 0
          m=audio 0 RTP/AVP 0 96
          a=rtpmap:0 pcmu/8000
          a=rtpmap:96 telephone-event/8000
          a=fmtp:96 0-15

     S->C:RTSP/1.0 200 OK
          CSeq:2
          Transport:RTP/AVP;unicast;client_port=46456-46457;
                    server_port=46460-46461
          Session:12345678
          Content-Length:190
          Content-Type:application/sdp

          v=0
          o=- 3211724219 3211724219 IN IP4 10.3.2.88
          s=Media Server
          c=IN IP4 0.0.0.0
          t=0 0
          m=audio 46460 RTP/AVP 0 96
          a=rtpmap:0 pcmu/8000
          a=rtpmap:96 telephone-event/8000
          a=fmtp:96 0-15

   Opening a recognizer resource.  Uses the existing session ID and
   ports.

     C->S:SETUP rtsp://media.server.com/media/recognizer RTSP/1.0
          CSeq:3
          Transport:RTP/AVP;unicast;client_port=46456-46457;
                     mode=record;ttl=127
          Session:12345678

     S->C:RTSP/1.0 200 OK
          CSeq:3
          Transport:RTP/AVP;unicast;client_port=46456-46457;
                     server_port=46460-46461;mode=record;ttl=127
          Session:12345678
Top   ToC   RFC4463 - Page 69
   An ANNOUNCE message with the MRCP SPEAK request initiates speech.

     C->S:ANNOUNCE rtsp://media.server.com/media/synthesizer RTSP/1.0
          CSeq:4
          Session:12345678
          Content-Type:application/mrcp
          Content-Length:456

          SPEAK 543257 MRCP/1.0
          Kill-On-Barge-In:false
          Voice-gender:neutral
          Voice-category:teenager
          Prosody-volume:medium
          Content-Type:application/synthesis+ssml
          Content-Length:104

          <?xml version="1.0"?>
          <speak>
          <paragraph>
                   <sentence>You have 4 new messages.</sentence>
                   <sentence>The first is from <say-as
                   type="name">Stephanie Williams</say-as> <mark
          name="Stephanie"/>
                   and arrived at <break/>
                   <say-as type="time">3:45pm</say-as>.</sentence>

                   <sentence>The subject is <prosody
                   rate="-20%">ski trip</prosody></sentence>
          </paragraph>
          </speak>

     S->C:RTSP/1.0 200 OK
          CSeq:4
          Session:12345678
          RTP-Info:url=rtsp://media.server.com/media/synthesizer;
                     seq=9810092;rtptime=3450012
          Content-Type:application/mrcp
          Content-Length:456

          MRCP/1.0 543257 200 IN-PROGRESS


   The synthesizer hits the special marker in the message to be spoken
   and faithfully informs the client of the event.

     S->C:ANNOUNCE rtsp://media.server.com/media/synthesizer RTSP/1.0
          CSeq:5
          Session:12345678
Top   ToC   RFC4463 - Page 70
          Content-Type:application/mrcp
          Content-Length:123

          SPEECH-MARKER 543257 IN-PROGRESS MRCP/1.0
          Speech-Marker:Stephanie
     C->S:RTSP/1.0 200 OK
          CSeq:5

   The synthesizer finishes with the SPEAK request.

     S->C:ANNOUNCE rtsp://media.server.com/media/synthesizer RTSP/1.0
          CSeq:6
          Session:12345678
          Content-Type:application/mrcp
          Content-Length:123

          SPEAK-COMPLETE 543257 COMPLETE MRCP/1.0


     C->S:RTSP/1.0 200 OK
          CSeq:6

   The recognizer is issued a request to listen for the customer
   choices.

     C->S:ANNOUNCE rtsp://media.server.com/media/recognizer RTSP/1.0
          CSeq:7
          Session:12345678

          RECOGNIZE 543258 MRCP/1.0
          Content-Type:application/grammar+xml
          Content-Length:104

          <?xml version="1.0"?>

          <!-- the default grammar language is US English -->
          <grammar xml:lang="en-US" version="1.0">

          <!-- single language attachment to a rule expansion -->
               <rule id="request">
                   Can I speak to
                   <one-of xml:lang="fr-CA">
                            <item>Michel Tremblay</item>
                            <item>Andre Roy</item>
                   </one-of>
               </rule>

          </grammar>
Top   ToC   RFC4463 - Page 71
     S->C:RTSP/1.0 200 OK
          CSeq:7
          Content-Type:application/mrcp
          Content-Length:123

          MRCP/1.0 543258 200 IN-PROGRESS

   The client issues the next MRCP SPEAK method in an ANNOUNCE message,
   asking the user the question.  It is generally RECOMMENDED when
   playing a prompt to the user with kill-on-barge-in and asking for
   input, that the client issue the RECOGNIZE request ahead of the SPEAK
   request for optimum performance and user experience.  This way, it is
   guaranteed that the recognizer is online before the prompt starts
   playing and the user's speech will not be truncated at the beginning
   (especially for power users).

     C->S:ANNOUNCE rtsp://media.server.com/media/synthesizer RTSP/1.0
          CSeq:8 Session:12345678 Content-Type:application/mrcp
          Content-Length:733

          SPEAK 543259 MRCP/1.0
          Kill-On-Barge-In:true
          Content-Type:application/synthesis+ssml
          Content-Length:104

          <?xml version="1.0"?>
          <speak>
          <paragraph>
                   <sentence>Welcome to ABC corporation.</sentence>
                   <sentence>Who would you like Talk to.</sentence>
          </paragraph>
          </speak>

     S->C:RTSP/1.0 200 OK
          CSeq:8
          Content-Type:application/mrcp
          Content-Length:123

          MRCP/1.0 543259 200 IN-PROGRESS

   Since the last SPEAK request had Kill-On-Barge-In set to "true", the
   message synthesizer is interrupted when the user starts speaking, and
   the client is notified.

   Now, since the recognition and synthesizer resources are in the same
   session, they worked with each other to deliver kill-on-barge-in.  If
   the resources were in different sessions, it would have taken a few
   more messages before the client got the SPEAK-COMPLETE event from the
Top   ToC   RFC4463 - Page 72
   synthesizer resource.  Whether the synthesizer and recognizer are in
   the same session or not, the recognizer MUST generate the START-OF-
   SPEECH event to the client.

   The client should have then blindly turned around and issued a
   BARGE-IN-OCCURRED method to the synthesizer resource.  The
   synthesizer, if kill-on-barge-in was enabled on the current SPEAK
   request, would have then interrupted it and issued SPEAK-COMPLETE
   event to the client.  In this example, since the synthesizer and
   recognizer are in the same session, the client did not issue the
   BARGE-IN-OCCURRED method to the synthesizer and assumed that kill-
   on-barge-in was implemented between the two resources in the same
   session and worked.

   The completion-cause code differentiates if this is normal completion
   or a kill-on-barge-in interruption.

     S->C:ANNOUNCE rtsp://media.server.com/media/recognizer RTSP/1.0
          CSeq:9
          Session:12345678
          Content-Type:application/mrcp
          Content-Length:273

          START-OF-SPEECH 543258 IN-PROGRESS MRCP/1.0

     C->S:RTSP/1.0 200 OK
          CSeq:9

     S->C:ANNOUNCE rtsp://media.server.com/media/synthesizer RTSP/1.0
          CSeq:10
          Session:12345678
          Content-Type:application/mrcp
          Content-Length:273

          SPEAK-COMPLETE 543259 COMPLETE MRCP/1.0
          Completion-Cause:000 normal

     C->S:RTSP/1.0 200 OK
          CSeq:10

   The recognition resource matched the spoken stream to a grammar and
   generated results.  The result of the recognition is returned by the
   server as part of the RECOGNITION-COMPLETE event.

     S->C:ANNOUNCE rtsp://media.server.com/media/recognizer RTSP/1.0
          CSeq:11
          Session:12345678
          Content-Type:application/mrcp
Top   ToC   RFC4463 - Page 73
          Content-Length:733

          RECOGNITION-COMPLETE 543258 COMPLETE MRCP/1.0
          Completion-Cause:000 success
          Waveform-URL:http://web.media.com/session123/audio.wav
          Content-Type:application/x-nlsml
          Content-Length:104

          <?xml version="1.0"?>
          <result x-model="http://IdentityModel"
            xmlns:xf="http://www.w3.org/2000/xforms"
            grammar="session:request1@form-level.store">
              <interpretation>
                  <xf:instance name="Person">
                      <Person>
                          <Name> Andre Roy </Name>
                      </Person>
                  </xf:instance>
                            <input>   may I speak to Andre Roy </input>
              </interpretation>
          </result>

     C->S:RTSP/1.0 200 OK
          CSeq:11

     C->S:TEARDOWN rtsp://media.server.com/media/synthesizer RTSP/1.0
          CSeq:12
          Session:12345678

     S->C:RTSP/1.0 200 OK
          CSeq:12

   We are done with the resources and are tearing them down.  When the
   last of the resources for this session are released, the Session-ID
   and the RTP/RTCP ports are also released.

     C->S:TEARDOWN rtsp://media.server.com/media/recognizer RTSP/1.0
          CSeq:13
          Session:12345678

     S->C:RTSP/1.0 200 OK
          CSeq:13
Top   ToC   RFC4463 - Page 74

12. Informative References

[1] Fielding, R., Gettys, J., Mogul, J., Frystyk. H., Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext transfer protocol -- HTTP/1.1", RFC 2616, June 1999. [2] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time Streaming Protocol (RTSP)", RFC 2326, April 1998 [3] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 4234, October 2005. [4] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [5] Handley, M. and V. Jacobson, "SDP: Session Description Protocol", RFC 2327, April 1998. [6] World Wide Web Consortium, "Voice Extensible Markup Language (VoiceXML) Version 2.0", W3C Candidate Recommendation, March 2004. [7] Resnick, P., "Internet Message Format", RFC 2822, April 2001. [8] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [9] World Wide Web Consortium, "Speech Synthesis Markup Language (SSML) Version 1.0", W3C Candidate Recommendation, September 2004. [10] World Wide Web Consortium, "Natural Language Semantics Markup Language (NLSML) for the Speech Interface Framework", W3C Working Draft, 30 May 2001. [11] World Wide Web Consortium, "Speech Recognition Grammar Specification Version 1.0", W3C Candidate Recommendation, March 2004. [12] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003. [13] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, November 1996.
Top   ToC   RFC4463 - Page 75
   [14]  Levinson, E., "Content-ID and Message-ID Uniform Resource
         Locators", RFC 2392, August 1998.

   [15]  Schulzrinne, H. and S. Petrack, "RTP Payload for DTMF Digits,
         Telephony Tones and Telephony Signals", RFC 2833, May 2000.

   [16]  Alvestrand, H., "Tags for the Identification of Languages", BCP
         47, RFC 3066, January 2001.
Top   ToC   RFC4463 - Page 76

Appendix A. ABNF Message Definitions

ALPHA = %x41-5A / %x61-7A ; A-Z / a-z CHAR = %x01-7F ; any 7-bit US-ASCII character, ; excluding NUL CR = %x0D ; carriage return CRLF = CR LF ; Internet standard newline DIGIT = %x30-39 ; 0-9 DQUOTE = %x22 ; " (Double Quote) HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" HTAB = %x09 ; horizontal tab LF = %x0A ; linefeed OCTET = %x00-FF ; 8 bits of data SP = %x20 ; space WSP = SP / HTAB ; white space LWS = [*WSP CRLF] 1*WSP ; linear whitespace SWS = [LWS] ; sep whitespace UTF8-NONASCII = %xC0-DF 1UTF8-CONT / %xE0-EF 2UTF8-CONT / %xF0-F7 3UTF8-CONT / %xF8-Fb 4UTF8-CONT / %xFC-FD 5UTF8-CONT UTF8-CONT = %x80-BF param = *pchar quoted-string = SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE qdtext = LWS / %x21 / %x23-5B / %x5D-7E / UTF8-NONASCII
Top   ToC   RFC4463 - Page 77
   quoted-pair    =  "\" (%x00-09 / %x0B-0C
                     / %x0E-7F)

   token          =  1*(alphanum / "-" / "." / "!" / "%" / "*"
                      / "_" / "+" / "`" / "'" / "~" )

   reserved       =  ";" / "/" / "?" / ":" / "@" / "&" / "="
                     / "+" / "$" / ","

   mark           =  "-" / "_" / "." / "!" / "~" / "*" / "'"
                     / "(" / ")"

   unreserved     =  alphanum / mark

   char           =  unreserved / escaped /
                     ":" / "@" / "&" / "=" / "+" / "$" / ","

   alphanum       =  ALPHA / DIGIT

   escaped        =  "%" HEXDIG HEXDIG

   absoluteURI    =  scheme ":" ( hier-part / opaque-part )

   relativeURI    =  ( net-path / abs-path / rel-path )
                     [ "?" query ]

   hier-part      =  ( net-path / abs-path ) [ "?" query ]

   net-path       =  "//" authority [ abs-path ]

   abs-path       =  "/" path-segments

   rel-path       =  rel-segment [ abs-path ]

   rel-segment    =  1*( unreserved / escaped / ";" / "@"
                     / "&" / "=" / "+" / "$" / "," )

   opaque-part    =  uric-no-slash *uric

   uric           =  reserved / unreserved / escaped

   uric-no-slash  =  unreserved / escaped / ";" / "?" / ":"
                     / "@" / "&" / "=" / "+" / "$" / ","

   path-segments  =  segment *( "/" segment )

   segment        =  *pchar *( ";" param )
Top   ToC   RFC4463 - Page 78
   scheme         =  ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )

   authority      =  srvr / reg-name

   srvr           =  [ [ userinfo "@" ] hostport ]

   reg-name       =  1*( unreserved / escaped / "$" / ","
                     / ";" / ":" / "@" / "&" / "=" / "+" )

   query          =  *uric

   userinfo       =  ( user ) [ ":" password ] "@"

   user           =  1*( unreserved / escaped
                       / user-unreserved )

   user-unreserved  =  "&" / "=" / "+" / "$" / "," / ";"
                       / "?" / "/"

   password         =  *( unreserved / escaped /
                       "&" / "=" / "+" / "$" / "," )

   hostport         =  host [ ":" port ]

   host             =  hostname / IPv4address / IPv6reference

   hostname         =  *( domainlabel "." ) toplabel [ "." ]

   domainlabel      =  alphanum
                       / alphanum *( alphanum / "-" ) alphanum

   toplabel       =    ALPHA / ALPHA *( alphanum / "-" )
                       alphanum

   IPv4address    =    1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "."
                       1*3DIGIT

   IPv6reference  =    "[" IPv6address "]"

   IPv6address    =    hexpart [ ":" IPv4address ]

   hexpart        =    hexseq / hexseq "::" [ hexseq ] / "::"
                       [ hexseq ]

   hexseq         =    hex4 *( ":" hex4)

   hex4           =    1*4HEXDIG
Top   ToC   RFC4463 - Page 79
   port           =    1*DIGIT

   generic-message =   start-line
                       message-header
                       CRLF
                       [ message-body ]

   message-body   =    *OCTET

   start-line     =    request-line / status-line / event-line

   request-line   =    method-name SP request-id SP
                                 mrcp-version CRLF

   status-line    =    mrcp-version SP request-id SP
                       status-code SP request-state CRLF

   event-line     =    event-name SP request-id SP
                       request-state SP mrcp-version CRLF

   message-header =    1*(generic-header / resource-header)

   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
   ; -- content-id is as defined in RFC 2392 and RFC 2046

   mrcp-version   =    "MRCP" "/" 1*DIGIT "." 1*DIGIT

   request-id     =    1*DIGIT

   status-code    =    1*DIGIT

   active-request-id-list =  "Active-Request-Id-List" ":"
                            request-id *("," request-id) CRLF

   proxy-sync-id  =    "Proxy-Sync-Id" ":" 1*ALPHA CRLF

   content-length =    "Content-Length" ":" 1*DIGIT CRLF

   content-base   =    "Content-Base" ":" absoluteURI CRLF
Top   ToC   RFC4463 - Page 80
   content-type   =    "Content-Type" ":" media-type

   media-type     =    type "/" subtype *( ";" parameter )

   type           =    token

   subtype        =    token

   parameter      =    attribute "=" value

   attribute      =    token

   value          =    token / quoted-string

   content-encoding =  "Content-Encoding" ":"
                       *WSP content-coding
                       *(*WSP "," *WSP content-coding *WSP )
                       CRLF

   content-coding   =  token


   content-location =  "Content-Location" ":"
                       ( absoluteURI / relativeURI )  CRLF

   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

   logging-tag    =    "Logging-Tag" ":" 1*ALPHA CRLF


   resource-header =   recognizer-header
                       /    synthesizer-header

   method-name    =    synthesizer-method
                       /    recognizer-method

   event-name     =    synthesizer-event
                       /    recognizer-event
Top   ToC   RFC4463 - Page 81
   request-state  =    "COMPLETE"
                  /    "IN-PROGRESS"
                  /    "PENDING"

   synthesizer-method = "SET-PARAMS"
                  /    "GET-PARAMS"
                  /    "SPEAK"
                  /    "STOP"
                  /    "PAUSE"
                  /    "RESUME"
                  /    "BARGE-IN-OCCURRED"
                  /    "CONTROL"

   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

   recognizer-method = "SET-PARAMS"
                      /    "GET-PARAMS"
                      /    "DEFINE-GRAMMAR"
                      /    "RECOGNIZE"
                      /    "GET-RESULT"
                      /    "RECOGNITION-START-TIMERS"
                      /    "STOP"

   recognizer-event  =      "START-OF-SPEECH"
                     /      "RECOGNITION-COMPLETE"

   recognizer-header =      confidence-threshold
                     /      sensitivity-level
                     /      speed-vs-accuracy
                     /      n-best-list-length
Top   ToC   RFC4463 - Page 82
                     /      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

   jump-target       =  "Jump-Size" ":" speech-length-value CRLF

   speech-length-value =    numeric-speech-length
                     /      text-speech-length

   text-speech-length =     1*ALPHA SP "Tag"

   numeric-speech-length =("+" / "-") 1*DIGIT SP
                       numeric-speech-unit

   numeric-speech-unit =    "Second"
                       /    "Word"
                       /    "Sentence"
                       /    "Paragraph"

   delta-seconds  =    1*DIGIT

   kill-on-barge-in =  "Kill-On-Barge-In" ":" boolean-value CRLF

   boolean-value  =    "true" / "false"

   speaker-profile =    "Speaker-Profile" ":" absoluteURI CRLF

   completion-cause =  "Completion-Cause" ":" 1*DIGIT SP
                       1*ALPHA CRLF

   voice-parameter =   "Voice-" voice-param-name ":"
                       voice-param-value CRLF
Top   ToC   RFC4463 - Page 83
   voice-param-name =  1*ALPHA

   voice-param-value = 1*alphanum

   prosody-parameter = "Prosody-" prosody-param-name ":"
                        prosody-param-value CRLF

   prosody-param-name =     1*ALPHA

   prosody-param-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

   vendor-av-pair-name = 1*ALPHA

   vendor-av-pair-value = 1*alphanum

   speech-marker  =    "Speech-Marker" ":" 1*ALPHA CRLF

   speech-language =   "Speech-Language" ":" 1*ALPHA CRLF

   fetch-hint     =    "Fetch-Hint" ":" 1*ALPHA CRLF

   audio-fetch-hint =  "Audio-Fetch-Hint" ":" 1*ALPHA CRLF

   fetch-timeout  =    "Fetch-Timeout" ":" 1*DIGIT CRLF

   failed-uri     =    "Failed-URI" ":" absoluteURI CRLF

   failed-uri-cause =  "Failed-URI-Cause" ":" 1*ALPHA CRLF

   speak-restart  =    "Speak-Restart" ":" boolean-value CRLF

   speak-length   =    "Speak-Length" ":" speech-length-value
                       CRLF
   confidence-threshold =   "Confidence-Threshold" ":"
                            1*DIGIT CRLF

   sensitivity-level = "Sensitivity-Level" ":" 1*DIGIT CRLF

   speed-vs-accuracy = "Speed-Vs-Accuracy" ":" 1*DIGIT CRLF

   n-best-list-length = "N-Best-List-Length" ":" 1*DIGIT CRLF
Top   ToC   RFC4463 - Page 84
   no-input-timeout =  "No-Input-Timeout" ":" 1*DIGIT CRLF

   recognition-timeout = "Recognition-Timeout" ":" 1*DIGIT CRLF

   waveform-url   =    "Waveform-URL" ":" absoluteURI CRLF

   recognizer-context-block = "Recognizer-Context-Block" ":"
                       1*ALPHA CRLF

   recognizer-start-timers = "Recognizer-Start-Timers" ":"
                       boolean-value CRLF

   speech-complete-timeout = "Speech-Complete-Timeout" ":"
                       1*DIGIT CRLF

   speech-incomplete-timeout = "Speech-Incomplete-Timeout" ":"
                       1*DIGIT CRLF

   dtmf-interdigit-timeout = "DTMF-Interdigit-Timeout" ":"
                             1*DIGIT CRLF

   dtmf-term-timeout = "DTMF-Term-Timeout" ":" 1*DIGIT CRLF

   dtmf-term-char =    "DTMF-Term-Char" ":" CHAR CRLF

   save-waveform  =    "Save-Waveform" ":" boolean-value CRLF

   new-audio-channel = "New-Audio-Channel" ":"
                       boolean-value CRLF

Appendix B. Acknowledgements

Andre Gillet (Nuance Communications) Andrew Hunt (SpeechWorks) Aaron Kneiss (SpeechWorks) Kristian Finlator (SpeechWorks) Martin Dragomirecky (Cisco Systems, Inc.) Pierre Forgues (Nuance Communications) Suresh Kaliannan (Cisco Systems, Inc.) Corey Stohs (Cisco Systems, Inc.) Dan Burnett (Nuance Communications)
Top   ToC   RFC4463 - Page 85

Authors' Addresses

Saravanan Shanmugham Cisco Systems, Inc. 170 W. Tasman Drive San Jose, CA 95134 EMail: sarvi@cisco.com Peter Monaco Nuasis Corporation 303 Bryant St. Mountain View, CA 94041 EMail: peter.monaco@nuasis.com Brian Eberman Speechworks, Inc. 695 Atlantic Avenue Boston, MA 02111 EMail: brian.eberman@speechworks.com
Top   ToC   RFC4463 - Page 86
Full Copyright Statement

   Copyright (C) The Internet Society (2006).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78 and at www.rfc-editor.org/copyright.html, and
   except as set forth therein, the authors retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).