Subject: RE: [Speechsc] message-length clarification

From: "Shanmugham, Saravanan" <[email-masked]>
Date: Thu, 13 Apr 2006 11:25:42 -0700

See inline. 

     -----Original Message-----
     From: Brett Gavagni [mailto:[email-masked]] 
     Sent: Thursday, April 13, 2006 10:52 AM
     To: Shanmugham, Saravanan
     Cc: [email-masked]
     Subject: RE: [Speechsc] message-length clarification
     
     Yes, there are efficiency issues with the way that the 
     message-length is defined today in MRCPv2. 
     
     An example is when a server needs to send a message to the 
     client. The server would need to calculate the size of the 
     MRCP message, and then modify the start-line message-length token.

Sarvi>> I don't see the issue here. You need calculate the message
length and put in the header whether the length includes the header-line
or not. I am not convinced this is significant enough o warrant a change
this alte in the spec.

Sarvi>> Also the length field was added earlier and at a specific
location after the version information, so as to make the parsing of the
message efficient. This way the moment the parse reads the first 2
tokens, it has the MRCP version number and the message to look forward
to allowing for an efficient parser implementation. Which was one the
reasons we went for the current definition of the header line.
     
     Is there any compelling reason why the message-length 
     should include the length of the start-line? 
     
     I would also be curious as for the reasoning related to 
     the general deviation in the request-line and event-line 
     start-line definition from MRCPv1. The MRCPv1 ABNF syntax 
     was similar to what is defined for SIP and HTTP 1.1 w.r.t. 
     to token order. 
     
     Why does the MCRPv2 request-line and the event-line 
     start-line have mrcp-version for the first token (which is 
     what I would expect for the status-line)?
Sarvi>> The reason for having version and length information earlier on
is described above.

Thx,
Sarvi
     
     MRCPv2
        start-line       =    request-line / status-line / event-line
     
        request-line   =    mrcp-version SP message-length SP 
     method-name SP 
     request-id CRLF
     
        event-line       =    mrcp-version SP message-length SP 
     event-name SP 
     request-id SP request-state CRLF
     
     The following protocols are very similar syntactically 
     w.r.t. the request-line start-line.
     
     RFC 2616 - HTTP 1.1
        Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
     
     RFC 3261 - SIP  2.0
        Request-Line   =  Method SP Request-URI SP SIP-Version CRLF
     
     mrcp-07 - MRCPv1 
         request-line   =  method-name SP request-id SP  
     mrcp-version CRLF 
      
         event-line     =    event-name SP request-id SP  
     request-state SP 
     mrcp-version CRLF 
     
     Thanks,
     
     Brett Gavagni
     WebSphere Voice Server Development
     http://www-306.ibm.com/software/pervasive/voice_server/
     (561) 862-2097 T/L (975)
     [email-masked]

     
     "Shanmugham, Saravanan" <[email-masked]>
     04/13/2006 12:59 PM
     
     To
     Brett Gavagni/West Palm Beach/IBM@IBMUS, <[email-masked]> cc
     
     Subject
     RE: [Speechsc] message-length clarification

     
     Do you see any specific implementation or efficiency issue 
     with the way it is defined today. 

     Sarvi
     
          -----Original Message-----
          From: Brett Gavagni [mailto:[email-masked]] 
          Sent: Thursday, April 13, 2006 8:21 AM
          To: [email-masked]
          Subject: [Speechsc] message-length clarification
      
          What is the reasoning for including the length of the 
          start-line in the message-length value? 
      
          Seems a bit inconsistent with other textual based 
          protocols including: SIP 2.0, HTTP 1.1, or even MRCPv1.
      
          5.1.  Common Protocol Elements
      
             The message-length field specifies the length of 
     the message,
             including the start-line, and MUST be the 2nd 
     token from the
             beginning of the message.  This is to make the framing 
          and parsing of
             the message simpler to do.  This field specifies the 
          length of the
             message including data that may be encoded into 
     the body of the
             message.

          5.2.  Request
             The message-length field specifies the length of 
     the message,
             including the start-line.

          5.3.  Response
             The message-length field specifies the length of 
     the message,
             including the start-line.
      
          I hope that this is just a wording problem as even some of 
          the examples don't have an accurate message-length value 
          w.r.t draft-9 wording.
      
          Shanmugham & Burnett      Expires June 10, 2006 
              [Page 99]
                
          Internet-Draft                   MRCPv2 
          December 2005

             S->C:MRCP/2.0 69 543259 200 COMPLETE
             Channel-Identifier:32AECB23433801@speechrecog
                     Completion-Cause:000 success
      
          Propose to modify the wording that message-length does NOT 
          include the start-line as an issue to track for the 
     next draft.
      
          Thanks,
      
          Brett Gavagni
          WebSphere Voice Server Development
          http://www-306.ibm.com/software/pervasive/voice_server/
          [email-masked]

          _______________________________________________
          Speechsc mailing list
          [email-masked]
          https://www1.ietf.org/mailman/listinfo/speechsc

_______________________________________________
Speechsc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/speechsc

---

From: Brett Gavagni <[email-masked]>
Date: Thu, 13 Apr 2006 15:39:18 -0400

My comments in-line.

Thanks,

Brett Gavagni 

04/13/2006 02:25 PM

To
Brett Gavagni/West Palm Beach/IBM@IBMUS
cc
<[email-masked]>
Subject
RE: [Speechsc] message-length clarification

See inline. 

     -----Original Message-----
     From: Brett Gavagni [mailto:[email-masked]] 
     Sent: Thursday, April 13, 2006 10:52 AM
     To: Shanmugham, Saravanan
     Cc: [email-masked]
     Subject: RE: [Speechsc] message-length clarification

Brett>> Agree that the server will always need to calculate the 
message-length. 
I'm arguing that the current wording in draft-9 w.r.t. message-length 
shouldn't 
include the size of the start-line. As I indicated in earlier in this 
thread, 
there are multiple examples throughout draft-9 which do NOT reflect the 
wording 
that the start-line should be included in the message-length.
 
Neither one of the examples below have a message-length token value in the 

start-line that reflects the wording requiring the size of the start-line 
length
in the message-length. The client message is >124 including the 
start_line, and 
server message is >47 including the start-line.

6.1.1.  SET-PARAMS

   C->S:  MRCP/2.0 124 SET-PARAMS 543256
          Channel-Identifier:32AECB23433802@speechsynth
          Voice-gender:female
          Voice-variant:3

   S->C:  MRCP/2.0 47 543256 200 COMPLETE
          Channel-Identifier:32AECB23433802@speechsynth

I don't think that the examples are incorrect, but rather the wording in 
the draft
is counter productive.

 

Brett>> IMO, deviating from HTTP-like similarities will hinder NOT enhance 

interoperability. For example, MRCPv2 could've been defined in ASN.1 if
HTTP-like similarities weren't a beneficial proponent for MRCPv2 
embracement/adoption. =)

Thx,
Sarvi
 
     MRCPv2

 
 
     RFC 2616 - HTTP 1.1
 
     RFC 3261 - SIP  2.0
 
     mrcp-07 - MRCPv1 

     Thanks,
 
     Brett Gavagni

 
 
     To
 
     Subject

 

     Sarvi
 
          -----Original Message-----

 

          5.2.  Request

          5.3.  Response

           
          Internet-Draft                   MRCPv2 
          December 2005

 
          Thanks,
 
          Brett Gavagni