RFC2801 - Internet Open Trading Protocol - IOTP Version 1.0(5)

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

<CurrencyAmount ID ='M1.28'

Amount='100.00'

CurrCode='FFR'/>

<CurrencyAmount ID ='M1.29'

Amount='22.00'

CurrCode='CAD'/>

<CurrencyAmount ID ='M1.30'

Amount='15000'

CurrCode='ITL'/>

<PayProtocol ID ='M1.31'

ProtocolId='MXv1.0'

ProtocolName='Mondex IOTP Protocol Version 1.0'

PayReqNetLocn='http://www.mxbankus.com/etill/mx' >

</PayProtocol>

<PayProtocol ID ='M1.32'

ProtocolId='MXv1.0'

ProtocolName='Mondex IOTP Protocol Version 1.0'

PayReqNetLocn='http://www.mxbankuk.com/vserver' >

</PayProtocol>

<PayProtocol ID ='M1.33'

ProtocolId='Ccashv1.0'

ProtocolName='CyberCoin Version 1.0'

PayReqNetLocn='http://www.cybercash.com/ccoin' >

</PayProtocol>

<PayProtocol ID ='M1.34'

ProtocolId='CCashv2.0'

ProtocolName='CyberCoin Version 2.0'

PayReqNetLocn='http://www.cybercash.com/ccoin' >

</PayProtocol>

<PayProtocol ID ='M1.35'

ProtocolId='GKv1.0'

ProtocolName='GeldKarte Version 1.0'

PayReqNetLocn='http://www.example.com/pgway' >

</PayProtocol>

<PayProtocol ID ='M1.36'

ProtocolId='DCashv1.0'

ProtocolName='DigiCash Protocol Version 1.0'

PayReqNetLocn='http://www.example.com/digicash' >

</PayProtocol>

</BrandList>

12. IANA Considerations

This section describes the codes that are controlled by IANA, and

also how new codes can be created for testing purposes that are not

controlled by IANA.

12.1 Codes Controlled by IANA

To help ensure interoperability, there is a need for codes used by

IOTP to be maintained in a controlled environment so that their

meaning and usage are well defined and duplicate codes avoided.

[IANA] is the mechanism to be used for this purpose as described in

RFC2434.

The element types and attributes names to which this procedure

applies is shown in the table below together with the initial values

that are valid for these attributes.

Note that:

o the IETF Trade mailing list's email address is ietf-

trade@elistx.com

o "Designated Experts" (see [IANA]) are appointed by the IESG.

Element Type/ Attribute Values

Attribute Name

Algorithm/ "sha1" - indicates that a [SHA1] authentication

Name will apply

(When Algorithm

is a child of an "signature" - indicates that authentication

AuthReq consists of the generation of a digital signature.

Component)

"Pay:ppp" where "ppp" may be set to any valid

value for "iotpbrand" (see below)

With the exception of Algorithms that begin with

"pay:", new values are allocated following review

on the IETF Trade mailing list and by the

Designated Expert.

Note: The Algorithm element is likely to be eventually defined

within the [DSIG] name space. It is likely that the maintenance

procedure defined here may need to vary over time, as the DSIG

proposals become more widely adopted.

Element Type/ Attribute Values

Attribute Name

Brand/BrandId The following list of initial BrandIds have been

taken from those Organisations that have applied

for SET certificates as at 1st June 1999:

"Amex" - American Express

"Dankort" - Dankort

"JCB" - JCB

"Maestro" - Maestro

"MasterCard" - MasterCard

"NICOS" - NICOS

"VISA" - Visa

In addition the following Brand Id values are

defined:

"Mondex"

"GeldKarte"

New values of BrandId must be announced to the

IETF Trade mailing list and, if there are no

objections within three weeks, are allocated on a

"first come first served" basis.

CurrencyAmount/ Currency codes are dependent on CurrCodeType (see

CurrCode below).

If CurrCodeType is "ISO4217-A" then the currency

code is an alphabetic currency code as defined by

[ISO4217].

If CurrCodeType is "IOTP" then new values must be

announced to the IETF Trade mailing list and, if

there are no objections within three weeks, are

allocated on a "first come first served" basis.

Note: The Currency Code Type of IOTP, is designed to allow the

support of "new" psuedo currencies such as loyalty or frequent flyer

points. At the time of writing this specification, no currency codes

of this type have been defined.

Element Type/ Attribute Values

Attribute Name

CurrencyAmount/ "ISO4217-A"

CurrCodeType

"IOTP"

New values of CurrCodeType attribute are allocated

following review on the IETF Trade mailing list

and by the Designated Expert.

DeliveryData/ "Post"

DelivMethod

"Web"

"Email"

New values of Delivery Method attribute are

allocated following review on the IETF Trade

mailing list and by the Designated Expert. This

may require the publication of additional

documentation to describe how the delivery method

is used.

PackagedContent/ "PCDATA"

Content

"MIME"

"MIME:mimetype" (where mimetype must be the same

as content-type as defined by [MIME] )

"XML"

If the Content attribute is of the form

"MIME"mimetype", then control of new values for

"mimetype" is as defined in [MIME].

Otherwise, new values of the Content attribute are

allocated following review on the IETF Trade

mailing list and by the Designated Expert. This

may require the publication of additional

documentation to describe how the new attribute is

used within a Packaged Content element.

RelatedTo/ "IotpTransaction"

RelationshipType

"Reference"

New values of the RelationshipType attribute are

allocated following review on the IETF Trade

Working Group mailing list and by the Designated

Expert. This may require the publication of

additional documentation to describe how the

Element Type/ Attribute Values

Attribute Name

delivery method is used.

Status/ Offer

StatusType

Payment

Delivery

Authentication

Unidentified

New values of the Status Type attribute are

allocated following:

o publication to the IETF Trade Working Group,

of an RFCdescribing the Trading Exchange,

Trading Roles and associated components that

relate to the Status, and

o review of the document on the IETF Trade

mailing list and by the Designated Expert.

Note: The document describing new values for the Status Type

attribute may be combined with documents that describe new Trading

Roles and types of signatures (see below).

TradingRole/ "Consumer"

TradingRole

"Merchant"

"PaymentHandler"

"DeliveryHandler"

"DelivTo"

"CustCare"

New values of the Trading Role attribute are

allocated following:

o publication to the IETF Trade Working Group,

of an RFCdescribing the Trading Exchange,

Trading Roles and associated components that

relate to the Trading Role, and

o review of the document on the IETF Trade

mailing list and by the Designated Expert.

Note: The document describing new values for the Trading Role

attribute may be

Element Type/ Attribute Values

Attribute Name

combined with documents that describe

new Status Types (see above) and

types of signatures (see below).

TransId/ "BaselineAuthentication"

IotpTransType

"BaselineDeposit"

"BaselinePurchase"

"BaselineRefund"

"BaselineWithdrawal"

"BaselineValueExchange"

"BaselineInquiry"

"BaselinePing"

New values of the IotpTransType attribute are

allocated following:

o publication to the IETF Trade mailing list, of

an RFCdescribing the new IOTP Transaction, and

o review of the document on the IETF Trade

Working Group mailing list and by the

Designated Expert.

Attribute/ Content

(see Signature

"OfferResponse"

Component) "PaymentResponse"

"DeliveryResponse"

"AuthenticationRequest"

"AuthenticationResponse"

"PingRequest"

"PingResponse"

New values of the code that define the type of a

signature are allocated following:

o publication to the IETF Trade Working Group,

of an RFCdescribing the Trading Exchange where

the signature is being used, and

o review of the document on the IETF Trade

mailing list and by the Designated Expert.

Element Type/ Attribute Values

Attribute Name

Note: The document describing new values for the types of signatures

may be combined with documents that describe new Status Types and

Trading Roles (see above).

12.2 Codes not controlled by IANA

In addition to the formal development and registration of codes as

described above, there is still a need for developers to experiment

using new IOTP codes. For this reason, "user defined codes" may be

used to identify additional values for the codes contained within

this specification without the need for them to be registered with

IANA.

The definition of a user defined code is as follows:

user_defined_code ::= ( "x-" "X-" ) NameChar (NameChar)*

NameChar NameChar has the same definition as the [XML]

definition of NameChar

Use of domain names (see [DNS]) to make user defined codes unique is

recommended although this method cannot be relied upon.

13. Internet Open Trading Protocol Data Type Definition

This section contains the XML DTD for the Internet Open Trading

Protocols.

<!--

******************************************************

* *

* INTERNET OPEN TRADING PROTOCOL VERSION 1.0 DTD *

* Filename: ietf.org/rfc/rfc2801.dtd *

* *

* Changes from version 07 (iotp-v1.0-protocol-07.dtd)*

* - NO CHANGES *

* *

* *

* *

* *

* Copyright Internet Engineering Task Force 1998-2000*

* *

******************************************************

******************************************************

* IOTP MESSAGE DEFINITION *

******************************************************

-->

<!ELEMENT IotpMessage

( TransRefBlk,

IotpSignatures?,

ErrorBlk?,

( AuthReqBlk

AuthRespBlk

AuthStatusBlk

CancelBlk

DeliveryReqBlk

DeliveryRespBlk

InquiryReqBlk

InquiryRespBlk

OfferRespBlk

PayExchBlk

PayReqBlk

PayRespBlk

PingReqBlk

PingRespBlk

TpoBlk

TpoSelectionBlk

)*

) >

<!ATTLIST IotpMessage

xmlns CDATA

'iotp:ietf.org/iotp-v1.0' >

<!--

******************************************************

* TRANSACTION REFERENCE BLOCK DEFINITION *

******************************************************

-->

<!ELEMENT TransRefBlk (TransId, MsgId, RelatedTo*) >

<!ATTLIST TransRefBlk

ID ID #REQUIRED >

<!ELEMENT TransId EMPTY >

<!ATTLIST TransId

ID ID #REQUIRED

Version NMTOKEN #FIXED '1.0'

IotpTransId CDATA #REQUIRED

IotpTransType CDATA #REQUIRED

TransTimeStamp CDATA #REQUIRED >

<!ELEMENT MsgId EMPTY >

<!ATTLIST MsgId

ID ID #REQUIRED

RespIotpMsg NMTOKEN #IMPLIED

xml:lang NMTOKEN #REQUIRED

LangPrefList NMTOKENS #IMPLIED

CharSetPrefList NMTOKENS #IMPLIED

SenderTradingRoleRef NMTOKEN #IMPLIED

SoftwareId CDATA #REQUIRED

TimeStamp CDATA #IMPLIED >

<!ELEMENT RelatedTo (PackagedContent) >

<!ATTLIST RelatedTo

ID ID #REQUIRED

xml:lang NMTOKEN #REQUIRED

RelationshipType NMTOKEN #REQUIRED

Relation CDATA #REQUIRED

RelnKeyWords NMTOKENS #IMPLIED >

<!--

******************************************************

* Packaged Content Common Element *

******************************************************

-->

<!ELEMENT PackagedContent (#PCDATA) >

<!ATTLIST PackagedContent

Name CDATA #IMPLIED

Content NMTOKEN "PCDATA"

Transform (NONEBASE64) "NONE" >

<!--

******************************************************

* TRADING COMPONENTS *

******************************************************

-->

<!-- PROTOCOL OPTIONS COMPONENT -->

<!ELEMENT ProtocolOptions EMPTY >

<!ATTLIST ProtocolOptions

ID ID #REQUIRED

xml:lang NMTOKEN #REQUIRED

ShortDesc CDATA #REQUIRED

SenderNetLocn CDATA #IMPLIED

SecureSenderNetLocn CDATA #IMPLIED

SuccessNetLocn CDATA #REQUIRED >

<!-- AUTHENTICATION DATA COMPONENT -->

<!ELEMENT AuthReq (Algorithm, PackagedContent*)>

<!ATTLIST AuthReq

ID ID #REQUIRED

AuthenticationId CDATA #REQUIRED

ContentSoftwareId CDATA #IMPLIED >

<!-- AUTHENTICATION RESPONSE COMPONENT -->

<!ELEMENT AuthResp (PackagedContent*) >

<!ATTLIST AuthResp

ID ID #REQUIRED

AuthenticationId CDATA #REQUIRED

SelectedAlgorithmRef NMTOKEN #REQUIRED

ContentSoftwareId CDATA #IMPLIED >

<!-- TRADING ROLE INFO REQUEST COMPONENT -->

<!ELEMENT TradingRoleInfoReq EMPTY>

<!ATTLIST TradingRoleInfoReq

ID ID #REQUIRED

TradingRoleList NMTOKENS #REQUIRED >

<!-- ORDER COMPONENT -->

<!ELEMENT Order (PackagedContent*) >

<!ATTLIST Order

ID ID #REQUIRED

xml:lang NMTOKEN #REQUIRED

OrderIdentifier CDATA #REQUIRED

ShortDesc CDATA #REQUIRED

OkFrom CDATA #REQUIRED

OkTo CDATA #REQUIRED

ApplicableLaw CDATA #REQUIRED

ContentSoftwareId CDATA #IMPLIED >

<!-- ORGANISATION COMPONENT -->

<!ELEMENT Org (TradingRole+, ContactInfo?,

PersonName?, PostalAddress?)>

<!ATTLIST Org

ID ID #REQUIRED

xml:lang NMTOKEN #REQUIRED

OrgId CDATA #REQUIRED

LegalName CDATA #IMPLIED

ShortDesc CDATA #IMPLIED

LogoNetLocn CDATA #IMPLIED >

<!ELEMENT TradingRole EMPTY >

<!ATTLIST TradingRole

ID ID#REQUIRED

TradingRole NMTOKEN #REQUIRED

IotpMsgIdPrefix NMTOKEN #REQUIRED

CancelNetLocn CDATA #IMPLIED

ErrorNetLocn CDATA #IMPLIED

ErrorLogNetLocn CDATA #IMPLIED >

<!ELEMENT ContactInfo EMPTY >

<!ATTLIST ContactInfo

xml:lang NMTOKEN #IMPLIED

Tel CDATA #IMPLIED

Fax CDATA #IMPLIED

Email CDATA #IMPLIED

NetLocn CDATA #IMPLIED >

<!ELEMENT PersonName EMPTY >

<!ATTLIST PersonName

xml:lang NMTOKEN #IMPLIED

Title CDATA #IMPLIED

GivenName CDATA #IMPLIED

Initials CDATA #IMPLIED

FamilyName CDATA #IMPLIED >

<!ELEMENT PostalAddress EMPTY >

<!ATTLIST PostalAddress

xml:lang NMTOKEN #IMPLIED

AddressLine1 CDATA #IMPLIED

AddressLine2 CDATA #IMPLIED

CityOrTown CDATA #IMPLIED

StateOrRegion CDATA #IMPLIED

PostalCode CDATA #IMPLIED

Country CDATA #IMPLIED

LegalLocation (True False) 'False' >

<!-- BRAND LIST COMPONENT -->

<!ELEMENT BrandList (Brand+, ProtocolAmount+,

CurrencyAmount+, PayProtocol+) >

<!ATTLIST BrandList

ID ID #REQUIRED

xml:lang NMTOKEN #REQUIRED

ShortDesc CDATA #REQUIRED

PayDirection (Debit Credit) #REQUIRED >

<!ELEMENT Brand (ProtocolBrand*, PackagedContent*) >

<!ATTLIST Brand

ID ID #REQUIRED

xml:lang NMTOKEN #IMPLIED

BrandId CDATA #REQUIRED

BrandName CDATA #REQUIRED

BrandLogoNetLocn CDATA #REQUIRED

BrandNarrative CDATA #IMPLIED

ProtocolAmountRefs IDREFS #REQUIRED

ContentSoftwareId CDATA #IMPLIED >

<!ELEMENT ProtocolBrand (PackagedContent*) >

<!ATTLIST ProtocolBrand

ProtocolId CDATA #REQUIRED

ProtocolBrandId CDATA #REQUIRED >

<!ELEMENT ProtocolAmount (PackagedContent*) >

<!ATTLIST ProtocolAmount

ID ID #REQUIRED

PayProtocolRef IDREF #REQUIRED

CurrencyAmountRefs IDREFS #REQUIRED

ContentSoftwareId CDATA #IMPLIED >

<!ELEMENT CurrencyAmount EMPTY >

<!ATTLIST CurrencyAmount

ID ID #REQUIRED

Amount CDATA #REQUIRED

CurrCodeType NMTOKEN 'ISO4217-A'

CurrCode CDATA #REQUIRED >

<!ELEMENT PayProtocol (PackagedContent*) >

<!ATTLIST PayProtocol

ID ID #REQUIRED

xml:lang NMTOKEN #IMPLIED

ProtocolId NMTOKEN #REQUIRED

ProtocolName CDATA #REQUIRED

ActionOrgRef NMTOKEN #REQUIRED

PayReqNetLocn CDATA #IMPLIED

SecPayReqNetLocn CDATA #IMPLIED

ContentSoftwareId CDATA #IMPLIED >

<!-- BRAND SELECTION COMPONENT -->

<!ELEMENT BrandSelection (BrandSelBrandInfo?,

BrandSelProtocolAmountInfo?,

BrandSelCurrencyAmountInfo?) >

<!ATTLIST BrandSelection

ID ID #REQUIRED

BrandListRef NMTOKEN #REQUIRED

BrandRef NMTOKEN #REQUIRED

ProtocolAmountRef NMTOKEN #REQUIRED

CurrencyAmountRef NMTOKEN #REQUIRED >

<!ELEMENT BrandSelBrandInfo (PackagedContent+) >

<!ATTLIST BrandSelBrandInfo

ID ID #REQUIRED

ContentSoftwareId CDATA #IMPLIED >

<!ELEMENT BrandSelProtocolAmountInfo (PackagedContent+) >

<!ATTLIST BrandSelProtocolAmountInfo

ID ID #REQUIRED

ContentSoftwareId CDATA #IMPLIED >

<!ELEMENT BrandSelCurrencyAmountInfo (PackagedContent+) >

<!ATTLIST BrandSelCurrencyAmountInfo

ID ID #REQUIRED

ContentSoftwareId CDATA #IMPLIED >

<!-- PAYMENT COMPONENT -->

<!ELEMENT Payment EMPTY >

<!ATTLIST Payment

ID ID #REQUIRED

OkFrom CDATA #REQUIRED

OkTo CDATA #REQUIRED

BrandListRef NMTOKEN #REQUIRED

SignedPayReceipt (True False) #REQUIRED

StartAfterRefs NMTOKENS #IMPLIED >

<!-- PAYMENT SCHEME COMPONENT -->

<!ELEMENT PaySchemeData (PackagedContent+) >

<!ATTLIST PaySchemeData

ID ID #REQUIRED

PaymentRef NMTOKEN #IMPLIED

ConsumerPaymentId CDATA #IMPLIED

PaymentHandlerPayId CDATA #IMPLIED

ContentSoftwareId CDATA #IMPLIED >

<!-- PAYMENT RECEIPT COMPONENT -->

<!ELEMENT PayReceipt (PackagedContent*) >

<!ATTLIST PayReceipt

ID ID #REQUIRED

PaymentRef NMTOKEN #REQUIRED

PayReceiptNameRefs NMTOKENS #IMPLIED

ContentSoftwareId CDATA #IMPLIED >

<!-- PAYMENT NOTE COMPONENT -->

<!ELEMENT PaymentNote (PackagedContent+) >

<!ATTLIST PaymentNote

ID ID #REQUIRED

ContentSoftwareId CDATA #IMPLIED >

<!-- DELIVERY COMPONENT -->

<!ELEMENT Delivery (DeliveryData?, PackagedContent*) >

<!ATTLIST Delivery

ID ID #REQUIRED

xml:lang NMTOKEN #REQUIRED

DelivExch (True False) #REQUIRED

DelivAndPayResp (True False) #REQUIRED

ActionOrgRef NMTOKEN #IMPLIED >

<!ELEMENT DeliveryData (PackagedContent*) >

<!ATTLIST DeliveryData

xml:lang NMTOKEN #IMPLIED

OkFrom CDATA #REQUIRED

OkTo CDATA #REQUIRED

DelivMethod NMTOKEN #REQUIRED

DelivToRef NMTOKEN #REQUIRED

DelivReqNetLocn CDATA #IMPLIED

SecDelivReqNetLocn CDATA #IMPLIED

ContentSoftwareId CDATA #IMPLIED >

<!-- CONSUMER DELIVERY DATA COMPONENT -->

<!ELEMENT ConsumerDeliveryData EMPTY >

<!ATTLIST ConsumerDeliveryData

ID ID #REQUIRED

ConsumerDeliveryId CDATA #REQUIRED >

<!-- DELIVERY NOTE COMPONENT -->

<!ELEMENT DeliveryNote (PackagedContent+) >

<!ATTLIST DeliveryNote

ID ID #REQUIRED

xml:lang NMTOKEN #REQUIRED

DelivHandlerDelivId CDATA #IMPLIED

ContentSoftwareId CDATA #IMPLIED >

<!-- STATUS COMPONENT -->

<!ELEMENT Status EMPTY >

<!ATTLIST Status

ID ID #REQUIRED

xml:lang NMTOKEN #REQUIRED

StatusType NMTOKEN #REQUIRED

ElRef NMTOKEN #IMPLIED

ProcessState (NotYetStarted InProgress

CompletedOk Failed ProcessError) #REQUIRED

CompletionCode NMTOKEN #IMPLIED

ProcessReference CDATA #IMPLIED

StatusDesc CDATA #IMPLIED >

<!-- TRADING ROLE DATA COMPONENT -->

<!ELEMENT TradingRoleData (PackagedContent+) >

<!ATTLIST TradingRoleData

ID ID #REQUIRED

OriginatorElRef NMTOKEN #REQUIRED

DestinationElRefs NMTOKENS #REQUIRED >

<!-- INQUIRY TYPE COMPONENT -->

<!ELEMENT InquiryType EMPTY >

<!ATTLIST InquiryType

ID ID #REQUIRED

Type NMTOKEN #REQUIRED

ElRef NMTOKEN #IMPLIED

ProcessReference CDATA #IMPLIED >

<!-- ERROR COMPONENT -->

<!ELEMENT ErrorComp (ErrorLocation+, PackagedContent*) >

<!ATTLIST ErrorComp

ID NMTOKEN #REQUIRED

xml:lang NMTOKEN #REQUIRED

ErrorCode NMTOKEN #REQUIRED

ErrorDesc CDATA #REQUIRED

Severity (WarningTransientErrorHardError) #REQUIRED

MinRetrySecs CDATA #IMPLIED

SwVendorErrorRef CDATA #IMPLIED >

<!ELEMENT ErrorLocation EMPTY >

<!ATTLIST ErrorLocation

ElementType NMTOKEN #REQUIRED

IotpMsgRef NMTOKEN #IMPLIED

BlkRef NMTOKEN #IMPLIED

CompRef NMTOKEN #IMPLIED

ElementRef NMTOKEN #IMPLIED

AttName NMTOKEN #IMPLIED >

<!--

******************************************************

* TRADING BLOCKS *

******************************************************

-->

<!-- TRADING PROTOCOL OPTIONS BLOCK -->

<!ELEMENT TpoBlk ( ProtocolOptions, BrandList*, Org* ) >

<!ATTLIST TpoBlk

ID ID #REQUIRED >

<!-- TPO SELECTION BLOCK -->

<!ELEMENT TpoSelectionBlk (BrandSelection+) >

<!ATTLIST TpoSelectionBlk

ID ID #REQUIRED >

<!-- OFFER RESPONSE BLOCK -->

<!ELEMENT OfferRespBlk (Status, Order?, Payment*,

Delivery?, TradingRoleData*) >

<!ATTLIST OfferRespBlk

ID ID #REQUIRED >

<!-- AUTHENTICATION REQUEST BLOCK -->

<!ELEMENT AuthReqBlk (AuthReq*, TradingRoleInfoReq?) >

<!ATTLIST AuthReqBlk

ID ID #REQUIRED >

<!-- AUTHENTICATION RESPONSE BLOCK -->

<!ELEMENT AuthRespBlk (AuthResp?, Org*) >

<!ATTLIST AuthRespBlk

ID ID #REQUIRED >

<!-- AUTHENTICATION STATUS BLOCK -->

<!ELEMENT AuthStatusBlk (Status) >

<!ATTLIST AuthStatusBlk

ID ID #REQUIRED >

<!-- PAYMENT REQUEST BLOCK -->

<!ELEMENT PayReqBlk (Status+, BrandList, BrandSelection,

Payment, PaySchemeData?, Org*, TradingRoleData*) >

<!ATTLIST PayReqBlk

ID ID #REQUIRED >

<!-- PAYMENT EXCHANGE BLOCK -->

<!ELEMENT PayExchBlk (PaySchemeData) >

<!ATTLIST PayExchBlk

ID ID #REQUIRED >

<!-- PAYMENT RESPONSE BLOCK -->

<!ELEMENT PayRespBlk (Status, PayReceipt?, PaySchemeData?,

PaymentNote?, TradingRoleData*) >

<!ATTLIST PayRespBlk

ID ID #REQUIRED >

<!-- DELIVERY REQUEST BLOCK -->

<!ELEMENT DeliveryReqBlk (Status+, Order, Org*, Delivery,

ConsumerDeliveryData?, TradingRoleData*) >

<!ATTLIST DeliveryReqBlk

ID ID #REQUIRED >

<!-- DELIVERY RESPONSE BLOCK -->

<!ELEMENT DeliveryRespBlk (Status, DeliveryNote) >

<!ATTLIST DeliveryRespBlk

ID ID #REQUIRED >

<!-- INQUIRY REQUEST BLOCK -->

<!ELEMENT InquiryReqBlk ( InquiryType, PaySchemeData? ) >

<!ATTLIST InquiryReqBlk

ID ID #REQUIRED >

<!-- INQUIRY RESPONSE BLOCK -->

<!ELEMENT InquiryRespBlk (Status, PaySchemeData?) >

<!ATTLIST InquiryRespBlk

ID ID #REQUIRED

LastReceivedIotpMsgRef NMTOKEN #IMPLIED

LastSentIotpMsgRef NMTOKEN #IMPLIED >

<!-- PING REQUEST BLOCK -->

<!ELEMENT PingReqBlk (Org*)>

<!ATTLIST PingReqBlk

ID ID #REQUIRED>

<!-- PING RESPONSE BLOCK -->

<!ELEMENT PingRespBlk (Org+)>

<!ATTLIST PingRespBlk

ID ID #REQUIRED

PingStatusCode (Ok Busy Down) #REQUIRED

SigVerifyStatusCode (Ok NotSupported Fail) #IMPLIED

xml:lang NMTOKEN #IMPLIED

PingStatusDesc CDATA #IMPLIED>

<!-- ERROR BLOCK -->

<!ELEMENT ErrorBlk (ErrorComp+, PaySchemeData*) >

<!ATTLIST ErrorBlk

ID ID #REQUIRED >

<!-- CANCEL BLOCK -->

<!ELEMENT CancelBlk (Status) >

<!ATTLIST CancelBlk

ID ID #REQUIRED >

<!--

******************************************************

* IOTP SIGNATURES BLOCK DEFINITION *

******************************************************

-->

<!ELEMENT IotpSignatures (Signature+ ,Certificate*) >

<!ATTLIST IotpSignatures

ID ID #IMPLIED

>

<!--

******************************************************

* IOTP SIGNATURE COMPONENT DEFINITION *

******************************************************

-->

<!ELEMENT Signature (Manifest, Value+) >

<!ATTLIST Signature

ID ID #IMPLIED

>

<!ELEMENT Manifest

( Algorithm+,

Digest+,

Attribute*,

OriginatorInfo,

RecipientInfo+

)

>

<!ATTLIST Manifest

LocatorHRefBase CDATA #IMPLIED

>

<!ELEMENT Algorithm (Parameter*) >

<!ATTLIST Algorithm

ID ID #REQUIRED

type (digestsignature) #IMPLIED

name NMTOKEN #REQUIRED

>

<!ELEMENT Digest (Locator, Value) >

<!ATTLIST Digest

DigestAlgorithmRef IDREF #REQUIRED

>

<!ELEMENT Attribute ( ANY ) >

<!ATTLIST Attribute

type NMTOKEN #REQUIRED

critical ( true false ) #REQUIRED

>

<!ELEMENT OriginatorInfo ANY >

<!ATTLIST OriginatorInfo

OriginatorRef NMTOKEN #IMPLIED

>

<!ELEMENT RecipientInfo ANY >

<!ATTLIST RecipientInfo

SignatureAlgorithmRef IDREF #REQUIRED

SignatureValueRef IDREF #IMPLIED

SignatureCertRef IDREF #IMPLIED

RecipientRefs NMTOKENS #IMPLIED

>

<!ELEMENT KeyIdentifier EMPTY>

<!ATTLIST KeyIdentifier

value CDATA #REQUIRED

>

<!ELEMENT Parameter ANY >

<!ATTLIST Parameter

type CDATA #REQUIRED

>

<!--

******************************************************

* IOTP CERTIFICATE COMPONENT DEFINITION *

******************************************************

-->

<!ELEMENT Certificate

( IssuerAndSerialNumber, ( Value Locator ) )

>

<!ATTLIST Certificate

ID ID #IMPLIED

type NMTOKEN #REQUIRED

>

<!ELEMENT IssuerAndSerialNumber EMPTY >

<!ATTLIST IssuerAndSerialNumber

issuer CDATA #REQUIRED

number CDATA #REQUIRED

>

<!--

******************************************************

* IOTP SHARED COMPONENT DEFINITION *

******************************************************

-->

<!ELEMENT Value ( #PCDATA ) >

<!ATTLIST Value

ID ID #IMPLIED

encoding (base64none) 'base64'

>

<!ELEMENT Locator EMPTY>

<!ATTLIST Locator

xml:link CDATA #FIXED 'simple'

href CDATA #REQUIRED

>

14. Glossary

This section contains a glossary of some of the terms used within

this specification in alphabetical order.

NAME DESCRIPTION

Authenticator The Organisation which is requesting the

authentication of another Organisation, and

Authenticatee The Organisation being authenticated by an

Authenticator

Business Error See Status Component.

Brand A Brand is the mark which identifies a particular

type of Payment Instrument. A list of Brands are

the payment options which are presented by the

Merchant to the Consumer and from which the

Consumer makes a selection. Each Brand may have a

different Payment Handler. Examples of Brands

include:

o payment association and proprietary Brands,

for example MasterCard, Visa, American Express,

Diners Club, American Express, Mondex,

GeldKarte, CyberCash, etc.

o Promotional Brands (see below). These include:

o store Brands, where the Payment Instrument is

issued to a Consumer by a particular Merchant,

for example Walmart, Sears, or Marks and

Spencer (UK)

o coBrands, for example American Advantage Visa,

where an a company uses their own Brand in

conjunction with, typically, a payment

association Brand.

Consumer The Organisation which is to receive the benefit

of and typically pay for the goods or services.

ContentSoftwareId This contains information which identifies the

software which generated the content of the

element. Its purpose is to help resolve

interoperability problems that might occur as a

result of incompatibilities between messages

produced by different software. It is a single

text string in the language defined by xml:lang.

It must contain, as a minimum:

o the name of the software manufacturer

o the name of the software

o the version of the software, and

o the build of the software

It is recommended that this attribute is included

whenever the software which generated the content

cannot be identified from the SoftwareId attribute

on the Message Id Component (see section 3.3.2)

Customer Care An Organisation that is providing customer care

Provider typically on behalf of a Merchant. Examples of

customer care include, responding to problems

raised by a Consumer arising from an IOTP

Transaction that the Consumer took part in.

Delivery Handler The Organisation that directly delivers the goods

or services to the Consumer on behalf of the

Merchant. Delivery can be in the form of either

digital goods (e.g., a [MIME] message), or

physically delivered using the post or a courier.

Document Exchange A Document Exchange consists of a set of IOTP

Messages exchanged between two parties that

implement part or all of two Trading Exchanges

simultaneously in order to minimise the number of

actual IOTP Messages which must be sent over the

Internet.

Document Exchanges are combined together in

sequence to implement a particular IOTP

Transaction.

Dual Brand A Dual Brand means that a single Payment

Instrument may be used as if it were two separate

Brands. For example there could be a single

Japanese "UC" MasterCard which can be used as

either a UC card or a regular MasterCard. The UC

card Brand and the MasterCard Brand could each

have their own separate Payment Handlers. This

means that:

o the Merchant treats, for example "UC" and

"MasterCard" as two separate Brands when

offering a list of Brands to the Consumer,

o the Consumer chooses a Brand, for example

either "UC" or "MasterCard,

o the Consumer IOTP aware application determines

which Payment Instrument(s) match the chosen

Brand, and selects, perhaps with user

assistance, the correct Payment Instrument to

use.

Error Block An Error Block reports that a Technical Error was

found in an IOTP Message that was previously

received. Typically Technical Errors are caused by

errors in the XML which has been received or some

technical failure of the processing of the IOTP

Message. Frequently the generation or receipt of

an Error Block will result in failure of the IOTP

Transaction. They are distinct from Business

Errors, reported in a Status Component, which can

also cause failure of an IOTP Transaction.

Exchange Block An Exchange Block is sent between the two Trading

Roles involved in a Trading Exchange. It contains

one or more Trading Components. Exchange Blocks

are always sent after a Request Block and before a

Response Block in a Trading Exchange. The content

of an Exchange Block is dependent on the type of

Trading Exchange being carried out.

IOTP Message An IOTP Message is the outermost wrapper for the

document(s) which are sent between Trading Roles

that are taking part in a trade. It is a well

formed XML document. The documents it contains

consist of:

o a Transaction Reference Block to uniquely

identify the IOTP Transaction of which the IOTP

Message is part,

o an optional Signature Block to digitally sign

the Trading Blocks or Trading Components

associated with the IOTP Transaction

o an optional Error Block to report on technical

errors contained in a previously received IOTP

Message, and

o a collection of IOTP Trading Blocks which

carries the data required to carry out an IOTP

Transaction.

IOTP Transaction An instance of an Internet Open Trading Protocol

Transaction consists of a set of IOTP Messages

transferred between Trading Roles. The rules for

what may be contained in the IOTP Messages is

defined by the Transaction Type of the IOTP

Transaction.

IOTP Transaction A Transaction Type identifies the type an of IOTP

Type Transaction. Examples of Transaction Type include:

Purchase, Refund, Authentication, Withdrawal,

Deposit (of electronic cash). The Transaction Type

specifies for an IOTP Transaction:

o the Trading Exchanges which may be included in

the transaction,

o how those Trading Exchanges may be combined to

meet the business needs of the transaction

o which Trading Blocks may be included in the

IOTP Messages that make up the transaction

o Consult this specification for the rules that

apply for each Transaction Type.

Merchant The Organisation from whom the service or goods

are being obtained, who is legally responsible for

providing the goods or services and receives the

benefit of any payment made

Merchant Customer The Organisation that is involved with customer

Care Provider dispute negotiation and resolution on behalf of

the Merchant

Organisation A company or individual that takes part in a Trade

as a Trading Role. The Organisations may take one

or more of the roles involved in the Trade

Payment Handler The Organisation that physically receives the

payment from the Consumer on behalf of the

Merchant

Payment A Payment Instrument is the means by which

Instrument Consumer pays for goods or services offered by a

Merchant. It can be, for example:

o a credit card such as MasterCard or Visa;

o a debit card such as MasterCard's Maestro;

o a smart card based electronic cash Payment

Instrument such as a Mondex Card, a GeldKarte

card or a Visa Cash card

o a software based electronic payment account

such as a CyberCash's CyberCoin or DigiCash

account.

All Payment Instruments have a number, typically

an account number, by which the Payment Instrument

can be identified.

Promotional Brand A Promotional Brand means that, if the Consumer

pays with that Brand, then the Consumer will

receive some additional benefit which can be

received in two ways:

o at the time of purchase. For example if a

Consumer pays with a "Walmart MasterCard" at a

Walmart web site, then a 5% discount might

apply, which means the Consumer actually pays

less,

o from their Payment Instrument (card) issuer

when the payment appears on their statement.

For example loyalty points in a frequent flyer

scheme could be awarded based on the total

payments made with the Payment Instrument since

the last statement was issued.

Each Promotional Brand should be identified as a

separate Brand in the list of Brands offered by

the Merchant.

Receipt Component A Receipt Component is a record of the successful

completion of a Trading Exchange. Examples of

Receipt Components include: Payment Receipts, and

Delivery Notes. It's content may dependent on the

technology used to perform the Trading Exchange.

For example a Secure Electronic Transaction (SET)

payment receipt consists of SET payment messages

which record the result of the payment.

Request Block A Request Block is Trading Block that contains a

request for a Trading Exchange to start. The

Trading Components in a Request Block may be

signed by a Signature Block so that their

authenticity may be checked and to determine that

the Trading Exchange being requested is

authorised. Authorisation for a Trading Exchange

to start can be provided by the signatures

contained on Receipt Components contained in

Response Blocks resulting from previously

completed Trading Exchanges. Examples of Request

Blocks are Payment Request and Delivery Request

Response Block A Response Block is a Trading Block that indicates

that a Trading Exchange is complete. It is sent by

the Trading Role that received a Request Block to

the Trading Role that sent the Request Block. The

Response Block contains a Status Component that

contains information about the completion of the

Trading Exchange, for example it indicates whether

or not the Trading Exchange completed

successfully. For some Trading Exchanges the

Response Block contains a Receipt Component that

forms a record of the Trading Exchange. Receipt

Components may be digitally signed using a

Signature Block to make completion non-refutable.

Examples of Response Blocks include Offer

Response, Payment Response and Delivery Response.

Signature Block A Signature Block is a Trading Block that contains

one or more digital signatures in the form of

Signature Components. A Signature Component may

digitally sign any Block or Component in any IOTP

Message in the same IOTP Transaction.

Status Component A Status Component contains information that

describes the state of a Trading Exchange.

Before the Trading Exchange is complete the Status

Component can indicate information about how the

Trading Exchange is progressing.

Once a Trading Exchange is complete the Status

Component can only indicate the success of the

Trading Exchange or that a Business Error has

occurred.

A Business Error indicates that continuation with

the Trading Exchange was not possible because of

some business rule or logic, for example,

"insufficient funds available", rather than any

Technical Error associated with the content or

format of the IOTP Messages in the IOTP

Transaction.

Technical Error See Error Block.

Trading Block A Trading Block consists of one or more Trading

Components. One or more Trading Blocks may be

contained within the IOTP Messages which are

physically sent in the form of [XML] documents

between the different Trading Roles that are

taking part in a trade. Trading Blocks are of

three main types:

o a Request Block,

o an Exchange Block, or a

o a Response Block

Trading Component A Trading Component is a collection of XML

elements and attributes. Trading Components are

the child elements of the Trading Blocks. Examples

of Trading Components are: Offer, Brand List,

Payment Receipt, Delivery [information], Payment

Amount [information]

Trading Exchange A Trading Exchange consists of the exchange,

between two Trading Roles, of a sequence of

documents. The documents may be in the form of

Trading Blocks or they may be transferred by some

other means, for example through entering data

into a web page. Each Trading Exchange consists of

three main parts:

o the sending of a Request Block by one Trading

Role (the initiator) to another Trading Role

(the recipient),

o the optional exchange of one or more Exchange

Blocks between the recipient and the initiator,

until eventually,

o the Trading Role that received the Request

Block sends a Response Block to the initiator.

A Trading Exchange is designed to implement a

useful service of some kind. Examples of Trading

Exchanges/services are:

o Offer, which results in a Consumer receiving

an offer from a Merchant to carry out a

business transaction of some kind,

o Payment, where a Consumer makes a payment to a

Payment Handler,

o Delivery, where a Consumer requests, and

optionally obtains, delivery of goods or

services from a Delivery Handler, and

o Authentication, where any Trading Role may

request and receive information about another

Trading Role.

Trading Role A Trading Role identifies the different ways in

which Organisations can participate in a trade.

There are five Trading Roles: Consumer, Merchant,

Payment Handler, Delivery Handler, and Merchant

Customer Care Provider.

Transaction A Transaction Reference Block identifies an IOTP

Reference Block Transaction. It contains data that identifies:

o the Transaction Type,

o the IOTP Transaction uniquely, through a

globally unique transaction identifier

o the IOTP Message uniquely within the IOTP

Transaction, through a message identifier

The Transaction Reference Block may also contain

references to other transactions which may or may

not be IOTP Transactions

15. References

This section contains references to related documents identified in

this specification.

[Base64] Freed, N. and N. Borenstein, "Multipurpose Internet Mail

Extensions (MIME) Part One: Format of Internet Message

Bodies", RFC2045, November 1996.

[DOM-HASH] Maruyama, H., Tamura, K. and N. Uramoto, "Digest Values

for DOM (DOMHASH)", RFC2803, April 2000.

[DNS] Mockapetris, P., "Domain names - concepts and

facilities", STD 13, RFC1034, November 1987.

[DNS] Mockapetris, P., "Domain names - implementation and

specification", STD 13, RFC1035, November 1987.

[DSA] The Digital Signature Algorithm (DSA) published by the

National Institute of Standards and Technology (NIST) in

the Digital Signature Standard (DSS), which is a part of

the US government's Capstone project.

[ECCDSA] Elliptic Curve Cryptosystems Digital Signature Algorithm

(ECCDSA). Elliptic curve cryptosystems are analogues of

public-key cryptosystems such as RSA in which modular

multiplication is replaced by the elliptic curve addition

operation. See: V. S. Miller. Use of elliptic curves in

cryptography. In Advances in Cryptology - Crypto '85,

pages 417-426, Springer-Verlag, 1986.

[HMAC] Krawczyk, H., Bellare, M. and R. Canetti, "HMAC: Keyed-

Hashing for Message Authentication", RFC2104, February

1997.

[HTML] Berners-Lee, T. and D. Connolly, "Hypertext Markup

Language - 2.0", RFC1866, November 1995.

[HTML] Hyper Text Mark Up Language. The Hypertext Mark-up

Language (HTML) is a simple mark-up language used to

create hypertext documents that are platform independent.

See the World Wide Web (W3C) consortium web site at:

http://www.w3.org/MarkUp/

[HTTP] Berners-Lee, T., Fielding, R. and H. Frystyk, "Hypertext

Transfer Protocol -- HTTP/1.0", RFC1945, May 1996.

[HTTP] Fielding, R., Gettys, J., Mogul, J., Frystyk, T. and T.

Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1.",

RFC2616, June 1999.

[IANA] The Internet Assigned Numbers Authority. The organisation

responsible for co-ordinating the names and numbers

associated with the Internet. See http://www.iana.org/

[ISO4217] ISO 4217: Codes for the Representation of Currencies.

Available from ANSI or ISO.

[IOTPDSIG] Davidson, K. and Y. Kawatsura, "Digital Signatures for

the v1.0 Internet Open Trading Protocol (IOTP)", RFC

2802, April 2000.

[MD5] Rivest, R., "The MD5 Message-Digest Algorithm", RFC1321,

April 1992.

[MIME] Crocker, D., "Standard for the Format of ARPA Internet

Text Messages", STD 11, RFC822, August 1982.

[MIME] Freed, N. and N. Borenstein, "Multipurpose Internet Mail

Extensions (MIME) Part One: Format of Internet Message

Bodies", RFC2045, November 1996.

[MIME] Freed, N. and N. Borenstein, "Multipurpose Internet Mail

Extensions (MIME) Part Two: Media Types", RFC2046,

November 1996.

[MIME] Moore, K., "MIME (Multipurpose Internet Mail Extensions)

Part Three: Message Header Extensions for Non-ASCII Text"

RFC2047, November 1996.

[MIME] Freed, N., Klensin, J. and J. Postel, "Multipurpose

Internet Mail Extensions (MIME) Part Four: Registration

Procedures", RFC2048, November 1996.

[MIME] Freed, N. and N. Borenstein, "Multipurpose Internet Mail

Extensions (MIME) Part Five: Conformance Criteria and

Examples" RFC2049, November 1996.

[OPS] Open Profiling Standard. A proposed standard which

provides a framework with built-in privacy safeguards for

the trusted exchange of profile information between

individuals and web sites. Being developed by Netscape

and Microsoft amongst others.

[RFC1738] Berners-Lee, T., Masinter, L. and M. McCahill, "Uniform

Resource Locators (URL)", RFC1738, December 1994.

[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an

IANA Considerations Section in RFCs", BCP 26, RFC2434,

October 1998.

[RSA] RSA is a public-key cryptosystem for both encryption and

authentication supported by RSA Data Security Inc. See:

R. L. Rivest, A. Shamir, and L.M. Adleman. A method for

obtaining digital signatures and public-key

cryptosystems. Communications of the ACM, 21(2): 120-126,

February 1978.

[SCCD] Secure Channel Credit Debit. A method of conducting a

credit or debit card payment where unauthorised access to

account information is prevented through use of secure

channel transport mechanisms such as SSL/TLS. An IOTP

supplement describing how SCCD works is under

development.

[SET] Secure Electronic Transaction Specification, Version 1.0,

May 31, 1997. Supports credit and debit card payments

using certificates at the Consumer and Merchant to help

ensure authenticity. Download from:

<http://www.setco.org>.

[SSL/TLS] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0",

RFC2246, January 1999.

[SHA1] [FIPS-180-1]"Secure Hash Standard", National Institute of

Standards and Technology, US Department Of Commerce,

April 1995. Also known as: 59 Fed Reg. 35317 (1994). See

http://www.itl.nist.gov/div897/pubs/fip180-1.htm

[UTC] Universal Time Co-ordinated. A method of defining time

absolutely relative to Greenwich Mean Time (GMT).

Typically of the form: "CCYY-MM-DDTHH:MM:SS.sssZ+n"

where the "+n" defines the number of hours from GMT. See

ISO DIS8601.

[UTF16] The Unicode Standard, Version 2.0. The Unicode

Consortium, Reading, Massachusetts. See ISO/IEC 10646 1

Proposed Draft Amendment 1

[X.509] ITU Recommendation X.509 1993 ISO/IEC 9594-8: 1995,

Including Draft Amendment 1: Certificate Extensions

(Version 3 Certificate)

[XML Recommendation for Namespaces in XML, World Wide Web

Namespace] Consortium, 14 January 1999, "http://www.w3.org/TR/REC-

xml-names"

[XML] Extensible Mark Up Language. A W3C recommendation. See

http://www.w3.org/TR/1998/REC-xml-19980210 for the 10

February 1998 version.

16. Author's Address

The author of this document is:

David Burdett

Commerce One

4440 Rosewood Drive, Bldg 4

Pleasanton

California 94588

USA

Phone: +1 (925) 520 4422

EMail: david.burdett@commerceone.com

The author of this document particularly wants to thank Mondex

International Limited (www.mondex.com) for the tremendous support

provided in the formative stages of the development of this

specification.

In addition the author appreciates the following contributors to this

protocol (in alphabetic order of company) without which it could not

have been developed.

- Phillip Mullarkey, British Telecom plc

- Andrew Marchewka, Canadian Imperial Bank of Commerce

- Brian Boesch, CyberCash Inc.

- Tom Arnold, CyberSource

- Terry Allen, Commerce One (formally Veo Systems)

- Richard Brown, GlobeSet Inc.

- Peter Chang, Hewlett Packard

- Masaaki Hiroya, Hitachi Ltd

- Yoshiaki Kawatsura, Hitachi Ltd

- Mark Linehan, International Business Machines

- Jonathan Sowler, JCP Computer Services Ltd

- John Wankmueller, MasterCard International

- Steve Fabes, Mondex International Ltd

- Donald Eastlake 3rd, Motorola Inc (formerly International

Business Machines Inc)

- Surendra Reddy, Oracle Corporation

- Akihiro Nakano, Plat Home, Inc. (ex Hitachi Ltd)

- Chris Smith, Royal Bank of Canada

- Hans Bernhard-Beykirch, SIZ (IT Development and Coordination

Centre of the German Savings Banks Organisation)

- W. Reid Carlisle, Spyrus (ex Citibank Universal Card Services,

formally AT&T Universal Card Services)

- Efrem Lipkin, Sun Microsystems

- Tony Lewis, Visa International

The author would also like to thank the following organisations for

their support:

- Amino Communications

- DigiCash

- Fujitsu

- General Information Systems

- Globe Id Software

- Hyperion

- InterTrader

- Nobil I T Corp

- Mercantec

- Netscape

- Nippon Telegraph and Telephone Corporation

- Oracle Corporation

- Smart Card Integrations Ltd.

- Spyrus

- Verifone

- Unisource nv

- Wells Fargo Bank

17. Full Copyright Statement

Copyright (C) The Internet Society (2000). All Rights Reserved.

This document and translations of it may be copied and furnished to

others, and derivative works that comment on or otherwise explain it

or assist in its implementation may be prepared, copied, published

and distributed, in whole or in part, without restriction of any

kind, provided that the above copyright notice and this paragraph are

included on all such copies and derivative works. However, this

document itself may not be modified in any way, such as by removing

the copyright notice or references to the Internet Society or other

Internet organizations, except as needed for the purpose of

developing Internet standards in which case the procedures for

copyrights defined in the Internet Standards process must be

followed, or as required to translate it into languages other than

English.

The limited permissions granted above are perpetual and will not be

revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an

"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING

TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING

BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION

HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF

MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

Funding for the RFCEditor function is currently provided by the

Internet Society.

第一頁    上一頁    第5頁/共5頁    下一頁    最後頁
第01頁 第02頁 第03頁 第04頁 第05頁 
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航