Subject: RE: IotpMsgIdPrefix for InquiryResp messages

From: David Burdett <[email-masked]>
Date: Tue, 19 Oct 1999 11:13:10 -0700

Masaaki

The key point about IotpMsgIds is that they are unique. Section 3.4.1 is
designed to provide guidance on how to generate the IotpMsgId to ensure they
are unique. The actual values are not particularly important although the
various trading roles need to know what domain of Ids they can use that will
ensure uniqueness, hence the prefix.

I think the simplest solution is to use the prefix "I" for both Inquiry and
Ping Requests. I'm reluctant to use the same prefix for responses since it
invalidates the guideline for IotpMsgSuffixes which says:
	" o the first IOTP Message sent by a trading role is given the
suffix "1"
	  o the second and subsequent IOTP Messages sent by the same trading
role are incremented by one for each message".

So I've changed the first two paragraphs that define the IotpMsgIdPrefix to
read ...
Apart from messages which contain: an Inquiry Request Trading Block, an
Inquiry Response Trading Block, a Ping Request Trading Block or a Ping
Response Trading Block; then the same prefix is used for all messages sent
by the Merchant or Consumer role as follows:
o "M" - Merchant
o "C" - Consumer

For messages which contain an Inquiry Request Trading Block or a Ping
Request Trading Block, the prefix is set to "I" for Inquiry.

For messages which contain an Inquiry Response Trading Block or a Ping
Response Trading Block, the prefix is set to "Q".
<<

Note that the choice of "Q" is completely aribitrary.

Regards

David

-----Original Message-----
From: Masaaki Hiroya [mailto:[email-masked]]
Sent: Monday, October 18, 1999 6:59 AM
To: David Burdett
Cc: [email-masked]
Subject: IotpMsgIdPrefix for InquiryResp messages

David

I want to confirm which IotpMsgIdPrefixes should be used for 
InquiryResp messages.  

IOTP Spec defines IotpMsgPrefix on page 39 as follows:

> Apart from messages which contain an Inquiry Request Trading 
> Block (see section 8.12), the same prefix is used for all messages
> sent by the Merchant or Consumer role as follows:
> o "M" - Merchant
> o "C" - Consumer

> For messages which contain an Inquiry Request Trading Block, 
> the prefix is set to "I" for Inquiry.

Should "M", "P", or "D" be used for InquiryResp messages?

If so and the Inquiry Transaction is made during the Purchase 
Transaction, how does the server assign the number to the 
IotpMsgId for each message? Just a different number which was
previously used on the transactions with the same IotpTransId?
##This was my original thinking##

Why does the InquiryReq message uses "I" as an IotpMsgPrefix 
but the Inquiry Resp message doesn't?
##Because it is possible that a non-consumer role might inquire on the
status of a transaction therefore a neutral prefix helps.##

I thought the client uses odd numbers such as "I1", "I3",
and the server uses even numbers generated by incrementing
the received InquiryReq Message's MsgId such as "I2", "I4".
##This is an equally possible alternative##

What do you think?

I have one more thing to confirm the rules of IotpMsgPrefixes.
For Ping Transactions, "C", "M", "P" or "D" is used
as an IotpMsgPrefix, isn't it?

I think there will be no problems in this case since
Ping Transactions have the different IotpTransId from
any other transactions including the Purchase Transactions.

Regards
Masaaki

-----
Masaaki Hiroya
Systems Development Laboratory
Hitachi, Ltd.
email: [email-masked]
tel: +81-44-549-1531
fax: +81-44-549-1640