def new_message(self, message_name, protocol=None, *parameters):
proto = self._get_protocol(protocol)<EOL>if not proto:<EOL><INDENT>raise Exception("<STR_LIT>")<EOL><DEDENT>if self._protocol_in_progress:<EOL><INDENT>raise Exception("<STR_LIT>")<EOL><DEDENT>configs, fields, header_fields = self._parse_parameters(parameters)<EOL>self._raise_error_if_configs_or_fields(configs, fields, '<STR_LIT>')<EOL>self._init_new_message_stack(MessageTemplate(message_name, proto, header_fields))<EOL>
Define a new message template with `message_name`.

        `protocol` has to be defined earlier with `Start Protocol Description`.
        Optional parameters are default values for message header separated with
        colon.

        Examples:
        | New message | MyMessage | MyProtocol | header_field:value |