ssip: Blocks of Messages Commands

 
 4.4 Blocks of Messages Commands
 ===============================
 
 Block commands allow the client to concatenate several messages to form
 one block that behaves as one message in the priority system and
 history.  After opening the block, client can send a specified subset of
 the commands and the messages introduced by 'SPEAK' will be processed
 immediately, however there will be no priority interaction before
 closing the block.  The ⇒Speech Output Control Commands also
 handle the whole block as one message.
 
    Take for example this message from an email client:
 
      > Hi, how are you?
      I'm fine. Thank you.
 
    The character '>' clearly marks who said which part.  So it'd be nice
 to say the two lines with different voices, however, it'd be desirable
 to treat it all as one message with priority TEXT and have it put
 together in history, because in fact, it logically _is_ one message.
 
 'BLOCK BEGIN'
      Opens a block of messages.  There will be no priority interaction
      between the messages inside the block, the whole block will be
      treated as one message of the priority that was specified by
      previous 'SET' command.
 
      It can only be called outside of a block; nesting is not allowed.
 
           The allowed commands inside a block are:
         * 'SPEAK'
         * 'SOUND_ICON'
         * 'CHAR'
         * 'KEY'
         * 'SET SELF RATE'
         * 'SET SELF PITCH'
         * 'SET SELF VOLUME'
         * 'SET SELF VOICE'
         * 'SET SELF LANGUAGE'
         * 'SET SELF PUNCTUATION'
         * 'SET SELF CAP_LET_RECOGN'
         * 'QUIT'
         * 'BLOCK END'
 
 'BLOCK END'
      Closes a block of messages, see 'BLOCK BEGIN'.
 
      It can be only called inside a block opened by 'BLOCK BEGIN';
      nesting is not allowed.
 
    A more complete example of SSIP communication using BLOCKs.
 
      [...]
      SET SELF PRIORITY TEXT
      202 OK PRIORITY SET
 
      BLOCK BEGIN
      260 OK INSIDE BLOCK
 
      SET SELF VOICE MALE1
      209 OK VOICE SET
 
      SPEAK
      230 OK RECEIVING DATA
      The word
      225 OK MESSAGE QUEUED
 
      SET SELF VOICE MALE2
      209 OK VOICE SET
      SPEAK
      230 OK RECEIVING DATA
      `Free'
      225 OK MESSAGE QUEUED
 
      SET SELF VOICE MALE1
      209 OK VOICE SET
      SPEAK
      230 OK RECEIVING DATA
      in Free Software refers to freedom, not price.
      225 OK MESSAGE QUEUED
 
      BLOCK END
      261 OK OUTSIDE BLOCK