focus on internet & telecom standardization topics

hist. pages: SIP/IMS, SEC...
  Home Search
Organizations
# IETF   # 3GPP   # ETSI
# Alliances, Fora, & other SDOs
Standardization work
# IETF WGs: RFCs   # RFC index
# 3GPP Specifications  
# ETSI TISPAN NGN   # ETSI SCP
# SIP RFC3261's Example  
# SIP Protocol Structure  
# SIP Dialogs & Routing  
# SIP Service Examples  
# SIP Authentication Service  
# ABNF Grammars  
# IMS Signalling flows  
# 2G-3G Network Evolution  
# Cryptography Basics  
# SSL/TLS Sequence Charts  
# PKI Certificate Examples  
# PKI's ASN.1 Definitions  
# CMS Examples  
# CMS's ASN.1 Definitions  
# Network Simulation  

ABNF Grammars
MRCPv2 (Media Resource Control Protocol v2)

This page documents the ABNF (Augmented Backus-Naur Form) definitions for MRCPv2 text messages, defined in [draft-ietf-speechsc-mrcpv2].
Prev Next   ABNF Grammars
SIP Messages & URIs  #  SIP Headers  #  SIP Private Headers  #  SDP  #  MSRP  #  Internet Message Format 
RTSP 2.0  #  MRCP  #  URI Generic Syntax  #  ABNF Notation & Rules 
Top  Generic  Synthesizer  Recognizer  Recorder  Verifier  Common Headers  URI  Common Rules

MRCPv2 Messages

generic-message= start-line   message-header   CRLF
[ message-body ]
 
start-line= request-line   /   status-line   /   event-line
 
message-header= 1* (generic-header / resource-header)
 
resource-header=     synthesizer-header
/   recognizer-header
/   recorder-header
/   verifier-header
 
message-body= *OCTET
 
request-line= mrcp-version   SP   message-length   SP   method-name
SP   request-id   CRLF
 
status-line= mrcp-version   SP   message-length   SP   request-id
SP   status-code   SP   request-state   CRLF
 
event-line= mrcp-version   SP   message-length   SP   event-name
SP   request-id   SP   request-state   CRLF
 
mrcp-version= "MRCP"   "/"   1*2DIGIT   "."   1*2DIGIT
 
message-length= 1*19DIGIT
 
method-name=     generic-method
/   synthesizer-method
/   recognizer-method
/   recorder-method
/   verifier-method
 
request-id= 1*19DIGIT
 
status-code= 3DIGIT
 
request-state=     "COMPLETE"
/   "IN-PROGRESS"
/   "PENDING"
 
event-name=     synthesizer-event
/   recognizer-event
/   recorder-event
/   verifier-event
 
generic-method   Up Top
## generic-method ## synthesizer-method ## recognizer-method ## recorder-method ## verifier-method ## 
generic-method=     "SET-PARAMS"
/   "GET-PARAMS"
 
generic-header   Up Top
## generic-header ## synthesizer-header ## recognizer-header ## recorder-header ## verifier-header ## 
generic-header=     channel-identifier
/   accept
/   active-request-id-list
/   proxy-sync-id
/   accept-charset
/   content-type
/   content-id
/   content-base
/   content-encoding
/   content-location
/   content-length
/   fetch-timeout
/   cache-control
/   logging-tag
/   set-cookie
/   set-cookie2
/   vendor-specific
 
Channel-Identifier   Up Top
channel-identifier= "Channel-Identifier"   ":"
channel-id
CRLF
 
channel-id= 1*alphanum   "@"   1*alphanum
 
Accept   Up Top
Note: as defined in RFC 2616, section section-14.1.
accept= "Accept"   ":"
*( media-range   [ accept-params ] )
 
media-range= ( "*/*"
/   ( type   "/"   "*" )
/   ( type   "/"   subtype )
)   *(   ";"   parameter )
 
accept-params= ";"   "q"   "="   qvalue   *( accept-extension )
 
accept-extension= ";"   token   [ "="   ( token   /   quoted-string ) ]
 
Active-Request-Id-List   Up Top
active-request-id-list= "Active-Request-Id-List"   ":"
request-id   *(","   request-id)
CRLF
 
Proxy-Sync-Id   Up Top
proxy-sync-id= "Proxy-Sync-Id"   ":"
1*VCHAR
CRLF
 
Accept-Charset   Up Top
Note: as defined in RFC 2616, section section-14.2.
Content-Type   Up Top
content-type= "Content-Type"   ":"
media-type-value
CRLF
 
media-type-value= type   "/"   subtype   *( ";"   parameter )
type= token
subtype= token
parameter= attribute   "="   value
attribute= token
value= token / quoted-string
 
Content-Id   Up Top
Note: as defined in RFC 2392, RFC 2046, and RFC2822.
Content-Base   Up Top
content-base= "Content-Base"   ":"
absoluteURI
CRLF
 
Content-Encoding   Up Top
content-encoding= "Content-Encoding"   ":"
*WSP   content-coding
  *(*WSP   ","   *WSP   content-coding   *WSP )
CRLF
 
content-coding= token
 
Content-Location   Up Top
content-location= "Content-Location"   ":"
( absoluteURI / relativeURI )
CRLF
 
Content-Length   Up Top
content-length= "Content-Length"   ":"
1*19DIGIT
CRLF
 
Fetch-Timeout   Up Top
fetch-timeout= "Fetch-Timeout"   ":"
1*19DIGIT
CRLF
 
Cache-Control   Up Top
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   Up Top
logging-tag= "Logging-Tag"   ":"
1*UTFCHAR
CRLF
 
Set-Cookie   Up Top
set-cookie= "Set-Cookie:"
cookies
CRLF
 
cookies= cookie   *( ","   *LWS   cookie )
cookie= attribute   "="   value *( ";"   cookie-av )
cookie-av=     "Comment"   "="   value
/   "Domain"   "="   value
/   "Max-Age"   "="   value
/   "Path"   "="   value
/   "Secure"
/   "Version"   "="   1*19DIGIT
/   "Age"   "="   delta-seconds
 
Set-Cookie2   Up Top
set-cookie2= "Set-Cookie2:"
cookies2
CRLF
 
cookies2= cookie2   *( ","   *LWS   cookie2)
cookie2= attribute   "="   value *( ";"   cookie-av2)
cookie-av2=     "Comment"   "="   value
/   "CommentURL"   "="   DQUOTE   uri   DQUOTE
/   "Discard"
/   "Domain"   "="   value
/   "Max-Age"   "="   value
/   "Path"   "="   value
/   "Port"   [ "="   DQUOTE   portlist   DQUOTE ]
/   "Secure"
/   "Version"   "="   1*19DIGIT
/   "Age"   "="   delta-seconds
portlist= portnum   *( ","   *LWS   portnum )
portnum= 1*19DIGIT
 
Vendor-Specific-Parameters   Up Top
vendor-specific= "Vendor-Specific-Parameters"   ":"
vendor-specific-av-pair
*(  ";"   vendor-specific-av-pair )   ]
CRLF
 
vendor-specific-av-pair= vendor-av-pair-name "=" value
 
vendor-av-pair-name= 1*UTFCHAR
 
Top  Generic  Synthesizer  Recognizer  Recorder  Verifier  Common Headers  URI  Common Rules

MRCPv2 Speech Synthesizer Resource

synthesizer-method   Up Top
## generic-method ## synthesizer-method ## recognizer-method ## recorder-method ## verifier-method ## 
synthesizer-method=     "SPEAK"
/   "STOP"
/   "PAUSE"
/   "RESUME"
/   "BARGE-IN-OCCURRED"
/   "CONTROL"
/   "DEFINE-LEXICON"
 
synthesizer-event   Up Top
## synthesizer-event ## recognizer-event ## recorder-event ## verifier-event ## 
synthesizer-event=     "SPEECH-MARKER"
/   "SPEAK-COMPLETE"
 
synthesizer-header   Up Top
## generic-header ## synthesizer-header ## recognizer-header ## recorder-header ## verifier-header ## 
synthesizer-header=     jump-size
/   kill-on-barge-in
/   speaker-profile
/   completion-cause
/   completion-reason
/   voice-parameter
/   prosody-parameter
/   speech-marker
/   speech-language
/   fetch-hint
/   audio-fetch-hint
/   failed-uri
/   failed-uri-cause
/   speak-restart
/   speak-length
/   load-lexicon
/   lexicon-search-order
 
Jump-Size   Up Top
jump-size= "Jump-Size"   ":"
speech-length-value
CRLF
 
speech-length-value=     numeric-speech-length
/   text-speech-length
text-speech-length= 1*UTFCHAR   SP   "Tag"
numeric-speech-length= ("+"   /   "-")   positive-speech-length
positive-speech-length= 1*19DIGIT   SP   numeric-speech-unit
numeric-speech-unit=     "Second"
/   "Word"
/   "Sentence"
/   "Paragraph"
 
Kill-On-Barge-In   Up Top
kill-on-barge-in= "Kill-On-Barge-In"   ":"
BOOLEAN
CRLF
 
Speaker-Profile   Up Top
speaker-profile= "Speaker-Profile"   ":"
absoluteURI
CRLF
 
voice-parameter   Up Top
voice-parameter=     voice-gender
/   voice-age
/   voice-variant
/   voice-name
 
voice-gender= "Voice-Gender:"
voice-gender-value
CRLF
 
voice-gender-value=     "male"   /   "female"   /   "neutral"
 
voice-age= "Voice-Age:"
1*3DIGIT
CRLF
 
voice-variant= "Voice-Variant:"
1*19DIGIT
CRLF
 
voice-name= "Voice-Name:"
1*UTFCHAR   *(1*WSP   1*UTFCHAR)
CRLF
 
prosody-parameter   Up Top
prosody-parameter= "Prosody-"   prosody-param-name   ":"
[prosody-param-value]
CRLF
 
prosody-param-name= 1*VCHAR
prosody-param-value= 1*VCHAR
 
Speech-Marker   Up Top
speech-marker= "Speech-Marker"   ":"
timestamp
[ ";"   1*(UTFCHAR   /   %x20) ]
CRLF
 
timestamp= "timestamp"   "="   time-stamp-value
time-stamp-value= 1*20DIGIT
 
Fetch-Hint   Up Top
fetch-hint= "Fetch-Hint"   ":"
1*ALPHA
CRLF
 
Audio-Fetch-Hint   Up Top
audio-fetch-hint= "Audio-Fetch-Hint"   ":"
1*ALPHA
CRLF
 
Speak-Restart   Up Top
speak-restart= "Speak-Restart"   ":"
BOOLEAN
CRLF
 
Speak-Length   Up Top
speak-length= "Speak-Length"   ":"
positive-length-value
CRLF
 
positive-length-value=     positive-speech-length
/   text-speech-length
 
Load-Lexicon   Up Top
load-lexicon= "Load-Lexicon"   ":"
BOOLEAN
CRLF
 
Lexicon-Search-Order   Up Top
lexicon-search-order= "Lexicon-Search-Order"   ":"
"<"   absoluteURI   ">"   *( " "   "<"   absoluteURI   ">" )
CRLF
 
Top  Generic  Synthesizer  Recognizer  Recorder  Verifier  Common Headers  URI  Common Rules

MRCPv2 Speech Recognizer Resource

recognizer-method   Up Top
## generic-method ## synthesizer-method ## recognizer-method ## recorder-method ## verifier-method ## 
recognizer-method=     recog-only-method
/   enrollment-method
 
recog-only-method=     "DEFINE-GRAMMAR"
/   "RECOGNIZE"
/   "INTERPRET"
/   "GET-RESULT"
/   "START-INPUT-TIMERS"
/   "STOP"
 
enrollment-method=     "START-PHRASE-ENROLLMENT"
/   "ENROLLMENT-ROLLBACK"
/   "END-PHRASE-ENROLLMENT"
/   "MODIFY-PHRASE"
/   "DELETE-PHRASE"
 
recognizer-event   Up Top
## synthesizer-event ## recognizer-event ## recorder-event ## verifier-event ## 
recognizer-event=     "START-OF-INPUT"
/   "RECOGNITION-COMPLETE"
/   "INTERPRETATION-COMPLETE"
 
recognizer-header   Up Top
## generic-header ## synthesizer-header ## recognizer-header ## recorder-header ## verifier-header ## 
recognizer-header=     recog-only-header
/   enrollment-header
 
recog-only-header=     confidence-threshold
/   sensitivity-level
/   speed-vs-accuracy
/   n-best-list-length
/   input-type
/   no-input-timeout
/   recognition-timeout
/   waveform-uri
/   input-waveform-uri
/   completion-cause
/   completion-reason
/   recognizer-context-block
/   start-input-timers
/   speech-complete-timeout
/   speech-incomplete-timeout
/   dtmf-interdigit-timeout
/   dtmf-term-timeout
/   dtmf-term-char
/   failed-uri
/   failed-uri-cause
/   save-waveform
/   media-type
/   new-audio-channel
/   speech-language
/   ver-buffer-utterance
/   recognition-mode
/   cancel-if-queue
/   hotword-max-duration
/   hotword-min-duration
/   interpret-text
/   dtmf-buffer-time
/   clear-dtmf-buffer
/   early-no-match
 
enrollment-header=     num-min-consistent-pronunciations
/   consistency-threshold
/   clash-threshold
/   personal-grammar-uri
/   enroll-utterance
/   phrase-id
/   phrase-nl
/   weight
/   save-best-waveform
/   new-phrase-id
/   confusable-phrases-uri
/   abort-phrase-enrollment
 
Confidence-Threshold   Up Top
confidence-threshold= "Confidence-Threshold"   ":"
FLOAT
CRLF
 
Speed-Vs-Accuracy   Up Top
speed-vs-accuracy= "Speed-Vs-Accuracy"   ":"
FLOAT
CRLF
 
N-Best-List-Length   Up Top
n-best-list-length= "N-Best-List-Length"   ":"
1*19DIGIT
CRLF
 
Recognition-Timeout   Up Top
recognition-timeout= "Recognition-Timeout"   ":"
1*19DIGIT
CRLF
 
Recognizer-Context-Block   Up Top
recognizer-context-block= "Recognizer-Context-Block"   ":"
[1*VCHAR]
CRLF
 
Speech-Incomplete-Timeout   Up Top
speech-incomplete-timeout= "Speech-Incomplete-Timeout"   ":"
1*19DIGIT
CRLF
 
DTMF-Interdigit-Timeout   Up Top
dtmf-interdigit-timeout= "DTMF-Interdigit-Timeout"   ":"
1*19DIGIT
CRLF
 
DTMF-Term-Timeout   Up Top
dtmf-term-timeout= "DTMF-Term-Timeout"   ":"
1*19DIGIT
CRLF
 
DTMF-Term-Char   Up Top
dtmf-term-char= "DTMF-Term-Char"   ":"
VCHAR
CRLF
 
Recognition-Mode   Up Top
recognition-mode= "Recognition-Mode"   ":"
1*ALPHA
CRLF
 
Cancel-If-Queue   Up Top
cancel-if-queue= "Cancel-If-Queue"   ":"
BOOLEAN
CRLF
 
Hotword-Max-Duration   Up Top
hotword-max-duration= "Hotword-Max-Duration"   ":"
1*19DIGIT
CRLF
 
Hotword-Min-Duration   Up Top
hotword-min-duration= "Hotword-Min-Duration"   ":"
1*19DIGIT
CRLF
 
Interpret-Text   Up Top
interpret-text= "Interpret-Text"   ":"
1*VCHAR
CRLF
 
DTMF-Buffer-Time   Up Top
dtmf-buffer-time= "DTMF-Buffer-Time"   ":"
1*19DIGIT
CRLF
 
Clear-DTMF-Buffer   Up Top
clear-dtmf-buffer= "Clear-DTMF-Buffer"   ":"
BOOLEAN
CRLF
 
Early-No-Match   Up Top
early-no-match= "Early-No-Match"   ":"
BOOLEAN
CRLF
 
Num-Min-Consistent-Pronunciations   Up Top
num-min-consistent-pronunciations= "Num-Min-Consistent-Pronunciations"   ":"
1*19DIGIT
CRLF
 
Consistency-Threshold   Up Top
consistency-threshold= "Consistency-Threshold"   ":"
FLOAT
CRLF
 
Clash-Threshold   Up Top
clash-threshold= "Clash-Threshold"   ":"
FLOAT
CRLF
 
Personal-Grammar-URI   Up Top
personal-grammar-uri= "Personal-Grammar-URI"   ":"
uri
CRLF
 
Enroll-Utterance   Up Top
enroll-utterance= "Enroll-Utterance"   ":"
BOOLEAN
CRLF
 
Phrase-ID   Up Top
phrase-id= "Phrase-ID"   ":"
1*VCHAR
CRLF
 
Phrase-NL   Up Top
phrase-nl= "Phrase-NL"   ":"
1*UTFCHAR
CRLF
 
Weight   Up Top
weight= "Weight"   ":"
weight-value
CRLF
 
weight-value= FLOAT
 
Save-Best-Waveform   Up Top
save-best-waveform= "Save-Best-Waveform"   ":"
BOOLEAN
CRLF
 
New-Phrase-ID   Up Top
new-phrase-id= "New-Phrase-ID"   ":"
1*VCHAR
CRLF
 
Confusable-Phrases-URI   Up Top
confusable-phrases-uri= "Confusable-Phrases-URI"   ":"
uri
CRLF
 
Abort-Phrase-Enrollment   Up Top
abort-phrase-enrollment= "Abort-Phrase-Enrollment"   ":"
BOOLEAN
CRLF
 
Top  Generic  Synthesizer  Recognizer  Recorder  Verifier  Common Headers  URI  Common Rules

MRCPv2 Speech Recorder Resource

recorder-method   Up Top
## generic-method ## synthesizer-method ## recognizer-method ## recorder-method ## verifier-method ## 
recorder-method=     "RECORD"
/   "STOP"
 
recorder-event   Up Top
## synthesizer-event ## recognizer-event ## recorder-event ## verifier-event ## 
recorder-event=     "START-OF-INPUT"
/   "RECORD-COMPLETE"
 
recorder-header   Up Top
## generic-header ## synthesizer-header ## recognizer-header ## recorder-header ## verifier-header ## 
recorder-header=     sensitivity-level
/   no-input-timeout
/   completion-cause
/   completion-reason
/   failed-uri
/   failed-uri-cause
/   record-uri
/   media-type
/   max-time
/   trim-length
/   final-silence
/   capture-on-speech
/   new-audio-channel
/   start-input-timers
/   input-type
 
Record-URI   Up Top
record-uri= "Record-URI"   ":"
[  "<"   uri   ">"
  ";"   "size"   "="   1*19DIGIT
  ";"   "duration"   "="   1*19DIGIT   ]
CRLF
 
Max-Time   Up Top
max-time= "Max-Time"   ":"
1*19DIGIT
CRLF
 
Trim-Length   Up Top
trim-length= "Trim-Length"   ":"
1*19DIGIT
CRLF
 
Final-Silence   Up Top
final-silence= "Final-Silence"   ":"
1*19DIGIT
CRLF
 
Capture-On-Speech   Up Top
capture-on-speech= "Capture-On-Speech"   ":"
BOOLEAN
CRLF
 
Top  Generic  Synthesizer  Recognizer  Recorder  Verifier  Common Headers  URI  Common Rules

MRCPv2 Speaker Verification and Identification

verifier-method   Up Top
## generic-method ## synthesizer-method ## recognizer-method ## recorder-method ## verifier-method ## 
verifier-method=     "START-SESSION"
/   "END-SESSION"
/   "QUERY-VOICEPRINT"
/   "DELETE-VOICEPRINT"
/   "VERIFY"
/   "VERIFY-FROM-BUFFER"
/   "VERIFY-ROLLBACK"
/   "STOP"
/   "START-INPUT-TIMERS"
/   "GET-INTERMEDIATE-RESULT"
 
verifier-event   Up Top
## synthesizer-event ## recognizer-event ## recorder-event ## verifier-event ## 
verifier-event=     "START-OF-INPUT"
/   "VERIFICATION-COMPLETE"
 
verifier-header   Up Top
## generic-header ## synthesizer-header ## recognizer-header ## recorder-header ## verifier-header ## 
verifier-header=     repository-uri
/   voiceprint-identifier
/   verification-mode
/   adapt-model
/   abort-model
/   min-verification-score
/   num-min-verification-phrases
/   num-max-verification-phrases
/   no-input-timeout
/   save-waveform
/   media-type
/   waveform-uri
/   voiceprint-exists
/   ver-buffer-utterance
/   input-waveform-uri
/   completion-cause
/   completion-reason
/   speech-complete-timeout
/   new-audio-channel
/   abort-verification
/   start-input-timers
/   input-type
 
Repository-URI   Up Top
repository-uri= "Repository-URI"   ":"
uri
CRLF
 
Voiceprint-Identifier   Up Top
voiceprint-identifier= "Voiceprint-Identifier"   ":"
1*VCHAR   "."   3VCHAR
[ ";"   1*VCHAR   "."   3VCHAR ]
CRLF
 
Verification-Mode   Up Top
verification-mode= "Verification-Mode"   ":"
verification-mode-string
CRLF
 
verification-mode-string= "train" / "verify"
 
Adapt-Model   Up Top
adapt-model= "Adapt-Model"   ":"
BOOLEAN
CRLF
 
Abort-Model   Up Top
abort-model= "Abort-Model"   ":"
BOOLEAN
CRLF
 
Min-Verification-Score   Up Top
min-verification-score= "Min-Verification-Score"   ":"
[ %x2D ] FLOAT
CRLF
 
Num-Min-Verification-Phrases   Up Top
num-min-verification-phrases= "Num-Min-Verification-Phrases"   ":"
1*19DIGIT
CRLF
 
Num-Max-Verification-Phrases   Up Top
num-max-verification-phrases= "Num-Max-Verification-Phrases"   ":"
1*19DIGIT
CRLF
 
Voiceprint-Exists   Up Top
voiceprint-exists= "Voiceprint-Exists"   ":"
BOOLEAN
CRLF
 
Abort-Verification   Up Top
abort-verification= "Abort-Verification"   ":"
BOOLEAN
CRLF
 
Top  Generic  Synthesizer  Recognizer  Recorder  Verifier  Common Headers  URI  Common Rules

MRCPv2 Common Headers

Completion-Cause   Up Top
completion-cause= "Completion-Cause"
3DIGIT   SP   1*VCHAR
CRLF
 
Completion-Reason   Up Top
completion-reason= "Completion-Reason"   ":"
quoted-string
CRLF
 
Speech-Language   Up Top
speech-language= "Speech-Language"   ":"
1*VCHAR
CRLF
 
Failed-URI   Up Top
failed-uri= "Failed-URI"   ":"
absoluteURI
CRLF
 
Failed-URI-Cause   Up Top
failed-uri-cause= "Failed-URI-Cause"   ":"
1*alphanum
CRLF
 
Sensitivity-Level   Up Top
sensitivity-level= "Sensitivity-Level"   ":"
FLOAT
CRLF
 
Input-Type   Up Top
input-type= "Input-Type"   ":"
[ "speech" / "dtmf" ]
CRLF
 
No-Input-Timeout   Up Top
no-input-timeout= "No-Input-Timeout"   ":"
1*19DIGIT
CRLF
 
Waveform-URI   Up Top
waveform-uri= "Waveform-URI"   ":"
[ "<"   absoluteURI   ">"
";"   "size"   "="   1*19DIGIT
";"   "duration"   "="   1*19DIGIT ]
CRLF
 
Start-Input-Timers   Up Top
start-input-timers= "Start-Input-Timers"   ":"
BOOLEAN
CRLF
 
Speech-Complete-Timeout   Up Top
speech-complete-timeout= "Speech-Complete-Timeout"   ":"
1*19DIGIT
CRLF
 
Save-Waveform   Up Top
save-waveform= "Save-Waveform"   ":"
BOOLEAN
CRLF
 
New-Audio-Channel   Up Top
new-audio-channel= "New-Audio-Channel"   ":"
BOOLEAN
CRLF
 
Media-Type   Up Top
media-type= "Media-Type"   ":"
media-type-value
CRLF
 
Ver-Buffer-Utterance   Up Top
ver-buffer-utterance= "Ver-Buffer-Utterance"   ":"
BOOLEAN
CRLF
 
Input-Waveform-URI   Up Top
input-waveform-uri= "Input-Waveform-URI"   ":"
uri
CRLF
 
Top  Generic  Synthesizer  Recognizer  Recorder  Verifier  Common Headers  URI  Common Rules

MRCPv2 URI-related Rules

uri= [   absoluteURI   /   relativeURI   ]
[   "#"   fragment   ]
 
fragment= *uric
 
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 ]
 
authority= srvr / reg-name
 
srvr= [ [ userinfo   "@" ]   hostport ]
 
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 )
 
scheme= ALPHA *( ALPHA / DIGIT   /   "+"   /   "-"   /   "." )
 
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
 
port= 1*19DIGIT
 
Top  Generic  Synthesizer  Recognizer  Recorder  Verifier  Common Headers  URI  Common Rules

MRCPv2 Common Rules

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
 
quoted-string= SWS   DQUOTE   *(qdtext / quoted-pair)   DQUOTE
 
qdtext= LWS   /   %x21   /   %x23-5B   /   %x5D-7E
/   UTF8-NONASCII
 
quoted-pair= "\"   ( %x00-09   /   %x0B-0C   /   %x0E-7F )
 
token= 1* (alphanum
/   "-"   /   "."   /   "!"   /   "%"   /   "*"
/   "_"   /   "+"   /   "`"   /   "'"   /   "~" )
 
reserved= ";"   /   "/"   /   "?"   /   ":"   /   "@"   /   "&"   /   "="
/   "+"   /   "$"   /   ","
 
unreserved= alphanum / mark
 
mark= "-"   /   "_"   /   "."   /   "!"   /   "~"   /   "*"   /   "'"
/   "("   /   ")"
 
alphanum= ALPHA / DIGIT
 
UTFCHAR= %x21-7E   /   UTF8-NONASCII
 
param= *pchar
 
pchar= unreserved / escaped
/   ":"   /   "@"   /   "&"   /   "="   /   "+"   /   "$"   /   ","
 
BOOLEAN= "true" / "false"
 
FLOAT= *DIGIT   [ "."   *DIGIT]
 
escaped= "%"   HEXDIG   HEXDIG
 
delta-seconds= 1*19DIGIT
 
cmid-attribute= "a=cmid:"   identification-tag
 
identification-tag= token
 
Last update: September 3, 2009 
© 2005-2010 Joël Repiquet, All Rights Reserved.