ISO/IEC 29179:2012
(Main)Information technology — Mobile item identification and management — Mobile AIDC application programming interface
Information technology — Mobile item identification and management — Mobile AIDC application programming interface
ISO/IEC 29179:2012 provides a description of Mobile AIDC (automatic identification and data capture) applications and specifies the functional requirements of Mobile AIDC application interfaces. It defines abstract Mobile AIDC application interfaces to provide a standardized functional view over various Mobile AIDC application platforms.
Technologies de l'information — Gestion et identification d'élément mobile — Interface de programmation pour application AIDC mobile
General Information
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 29179
First edition
2012-02-01
Information technology — Mobile item
identification and management — Mobile
AIDC application programming interface
Technologies de l'information — Gestion et identification d'élément
mobile — Interface de programmation pour application AIDC mobile
Reference number
ISO/IEC 29179:2012(E)
©
ISO/IEC 2012
---------------------- Page: 1 ----------------------
ISO/IEC 29179:2012(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2012
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2012 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 29179:2012(E)
Contents Page
Foreword . iv
Introduction . v
1 Scope . 1
2 Conformance . 1
3 Normative references . 1
4 Terms, definitions and abbreviated terms . 1
4.1 Terms and definitions . 1
4.2 Abbreviated terms . 2
5 Overview . 2
5.1 Mobile AIDC applications description . 2
5.2 Overview of the Mobile AIDC application interfaces . 3
6 Mobile AIDC application programming interfaces . 4
6.1 General . 4
6.2 Open (mandatory) . 4
6.3 Close (mandatory) . 5
6.4 Read (mandatory) . 5
6.5 ReadUserData (optional). 5
6.6 Write (optional) . 6
6.7 Erase (optional) . 6
6.8 Lock (optional) . 7
6.9 Filter (optional) . 7
Annex A (informative) Mobile AIDC standard architecture . 9
Annex B (informative) Mobile AIDC service scenarios . 10
B.1 Introduction . 10
B.2 Scenario: Obtaining content through UII resolution . 10
B.3 Scenario: Obtaining content without UII resolution . 11
B.4 Scenario: Using a data carrier as a storage device . 13
Annex C (informative) Sample APIs . 15
Bibliography . 18
© ISO/IEC 2012 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 29179:2012(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 29179 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 31, Automatic identification and data capture techniques.
iv © ISO/IEC 2012 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 29179:2012(E)
Introduction
Mobile AIDC is a version of automatic identification and data capture (AIDC) technology that is combined with
mobile communications for the purpose of creating novel services that provide information to Mobile AIDC
terminal users just by pointing the terminal at the objects of interest. Some emerging services supported by
Mobile AIDC technology are wine authentication, movie reviews and trailers, and tourist information. Mobile
AIDC terminals are equipped with various AIDC devices such as a radio frequency (RF) interrogator or
optically readable media (ORM) reader, and interact with data carriers around the terminal by activating
embedded AIDC devices. The data carriers contain the uniform resource identifiers (URIs) of the information
associated with the objects to which the data carriers are affixed, or contain user data that the Mobile AIDC
terminal users intend to use. If data carriers include the URIs of associated information, the Mobile AIDC
applications try to connect to the content servers to get the necessary information. From a service viewpoint,
the Mobile AIDC service users interact with the information infrastructure by using Mobile AIDC terminals in a
way similar to how web users use the web by mouse-clicking. This International Standard intends to cover the
generic mobile application programming interfaces for Mobile AIDC application development and running.
A Mobile AIDC application is a type of mobile application that runs on a mobile application platform. The
mobile application platform is the development and running environment for mobile applications for the
management and coordination of activities and sharing of the limited resources of the mobile terminal. There
are many kinds of mobile application platforms providing various environments or mobile applications. Mobile
AIDC applications need access to data carriers such as RF tags, barcodes, etc. for reading and/or writing
content. For this purpose, Mobile AIDC applications use embedded Mobile AIDC devices such as Mobile radio
frequency identification (RFID) interrogators or Mobile ORM readers. To make this possible, mobile
application platforms provide appropriate application programming interfaces to mobile applications.
This International Standard defines Mobile AIDC application programming interfaces such as open, close,
read, write, lock, etc. This International Standard does not specify implementation level interfaces, but abstract
level interfaces, because of the diversity of mobile application platforms. Different mobile application platforms
have their own particular application programming interface sets or data dictionaries.
This International Standard uses a Unique Item Identifier (UII) as an identifier for the object to which the data
carrier is affixed. Implementers may use an instance of Mobile Item Identifier (MII) defined in ISO/IEC 29174
as a UII or may use an instance of other code schemes as a UII. Implementers who wish to implement GS1
standards using the Electronic Product Code (EPC) as the UII are encouraged to contact GS1.
© ISO/IEC 2012 – All rights reserved v
---------------------- Page: 5 ----------------------
INTERNATIONAL STANDARD ISO/IEC 29179:2012(E)
Information technology — Mobile item identification and
management — Mobile AIDC application programming interface
1 Scope
This International Standard provides a description of Mobile AIDC applications and specifies the functional
requirements of Mobile AIDC application interfaces. It defines abstract Mobile AIDC application interfaces to
provide a standardized functional view over various Mobile AIDC application platforms.
2 Conformance
To claim conformance with this International Standard, a Mobile AIDC application platform shall comply with
all relevant clauses of this International Standard, except those marked as “optional”.
3 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
ISO/IEC 19762-1, Information technology — Automatic identification and data capture (AIDC) techniques —
Harmonized vocabulary — Part 1: General terms related to AIDC
ISO/IEC 19762-3, Information technology — Automatic identification and data capture (AIDC) techniques —
Harmonized vocabulary — Part 3: Radio frequency identification (RFID)
ISO/IEC TR 29172, Information technology — Mobile item identification and management — Reference
architecture for Mobile AIDC services
4 Terms, definitions and abbreviated terms
4.1 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 19762-1, ISO/IEC 19762-3,
ISO/IEC TR 29172 and the following apply.
4.1.1
correspondent
communication participant by means of telecommunication networks
4.1.2
Mobile AIDC device identifier
data used for identification of Mobile AIDC devices in a Mobile AIDC terminal
© ISO/IEC 2012 – All rights reserved 1
---------------------- Page: 6 ----------------------
ISO/IEC 29179:2012(E)
4.1.3
Mobile AIDC application interface
generic application interface to handle AIDC devices attached to mobile terminals
4.1.4
mobile application
computer program designed to operate in a mobile terminal
4.1.5
mobile application platform
set of computer instructions as the place to launch a mobile application in a mobile terminal
4.1.6
mobile terminal
handheld electronic device, e.g. a mobile telephone, a PDA, etc., used for voice or data communication over a
wireless communication network
4.1.7
unique item identifier
UII
identification that uniquely identifies a specific entity (e.g. package, transport unit, returnable asset) during its
life within a particular domain and scope of a code system
NOTE 1 When used with this data protocol, the particular object identifier that defines the unique item identifier relies
on the fact that each instance of its object is unique and unambiguous with all other related objects.
NOTE 2 As the object is unique, its use in the RF tag confers uniqueness to the RF tag itself. [ISO/IEC 19762-1].
NOTE 3 For the purposes of this International Standard the concept of MII is included within UII.
4.1.8
UII resolution server
process of converting UII into its associated information by means of a designated resolution method for the
UII
NOTE When an instance of MII is used as UII, then Object Directory Service (ODS) is a UII resolution server. While
EPC code is used as UII, then Object Naming Service (ONS) is a UII resolution server.
4.2 Abbreviated terms
For the purposes of this document, the abbreviated terms given in ISO/IEC TR 29172 and the following apply.
ONS Object Naming Service
URI Uniform Resource Identifier
5 Overview
5.1 Mobile AIDC applications description
Generally, mobile applications run on the platforms that provide the running environment for mobile terminals.
To provide value-added services, mobile applications can use various peripherals (e.g. camera, Bluetooth, or
mp3 player) attached to the mobile terminals via mobile application platforms. The Mobile AIDC application
uses a device such as an RFID interrogator, or an ORM reader. By using Mobile AIDC devices, the
applications interact with data carriers such as RFID tags, bar codes or two-dimensional symbols.
More specifically, if a Mobile RFID interrogator is embedded in a mobile terminal, the application uses the
interrogator to get the data from RF tags around the Mobile AIDC terminal user. Or, if an ORM reader is
2 © ISO/IEC 2012 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 29179:2012(E)
embedded in a mobile terminal, the application uses the ORM reader to read data from symbols nearby.
Mobile AIDC applications may use the data by itself or they may use the network to get relevant information
from the content servers. When using a network, Mobile applications use the network access utility provided
by the application platforms. In some cases, Mobile AIDC applications try to write data to data carriers or to
erase data from other data carriers.
The characteristics of the Mobile AIDC applications are summarized as follows:
- They use Mobile AIDC devices to interact with data carriers
- Supporting operations are restricted within the capabilities of Mobile AIDC devices and data carriers
- They may use a network to obtain information associated with the UIIs read from data carriers
- Their implementations are highly dependent on Mobile AIDC application platforms. Therefore, it is
almost impossible to define common application programming interfaces at the implementation level
for all Mobile AIDC devices and Mobile AIDC application platforms
5.2 Overview of the Mobile AIDC application interfaces
As mentioned in Clause 5.1, a characteristic of Mobile AIDC applications is that they use an appropriate
Mobile AIDC device to interact with data carriers around a Mobile AIDC terminal. To support the applications’
operations, interfaces are needed to control the devices and to process the data obtained by the devices. But
there are different types of Mobile AIDC devices and their functions and handling methods are all different.
Some devices provide only UIIs read from data carriers. Others may provide other functions such as reading
user data from data carriers or writing user data to data carriers. Therefore, in this International Standard,
possible operations are enumerated and are marked as mandatory or optional.
The main function of a Mobile AIDC application is to read UIIs from data carriers by using Mobile AIDC
devices attached to a Mobile AIDC terminal in order to obtain the relevant information via a network. To
support this function, the interface to read the UIIs shall be defined. Generally, all devices shall be opened
beforehand. After using the device, the device shall be closed. Therefore, the following interfaces shall be
defined and implemented on the application platforms regardless of device types:
Open Device (Mobile AIDC device Identifier): To use the Mobile AIDC device, a Mobile AIDC application
shall open the device
Close Device (Mobile AIDC device Identifier): After using the Mobile AIDC device Identifier, a Mobile
AIDC application shall close the device
Read UIIs (Mobile AIDC device identifier): Read UIIs from surrounding data carriers
Some types of Mobile AIDC devices provide functions such as reading user data written in data carriers,
writing user data on certain data carriers, or erasing data from certain data carriers. To support these
functions, the following interfaces shall be defined and implemented on the application platforms:
Read user data (Mobile AIDC device identifier, Mobile AIDC media identifier): Read user data from a
certain data carrier
Write data (Mobile AIDC device identifier, Mobile AIDC media identifier, user data, repeat count [, access
password, new access password, new Mobile AIDC media identifier]): Write data on a certain data carrier
Erase user data (Mobile AIDC device identifier, Mobile AIDC media identifier, repeat count [, access
password]): delete user data from a certain data carrier
Some types of Mobile AIDC devices provide a security facility to protect user data from overwriting. To provide
this function, the following interface shall be implemented.
Lock/unlock (Mobile AIDC device identifier, Mobile AIDC media identifier, operation type, memory bank
[, access password]): Protect (or release) data from overwriting
© ISO/IEC 2012 – All rights reserved 3
---------------------- Page: 8 ----------------------
ISO/IEC 29179:2012(E)
Some types of Mobile AIDC devices read multiple UIIs from multiple data carriers around the terminal
simultaneously. In this case, reducing target UIIs is reasonable, considering the processing costs. If the
devices support a filtering capability or the application platforms support a filtering capability, the following
interface shall be implemented.
Filtering UIIs (Mobile AIDC device identifier, filter type, mask): filter UIIs read by a Mobile AIDC device
using an appropriate mask
Annex A shows where this International Standard works. A Mobile AIDC application command takes the form
of this International Standard and uses appropriate parameters to exchange necessary information between a
Mobile AIDC application and data carriers through an appropriate Mobile AIDC application platform. In this
International Standard, a UII uniquely identifies a data carrier within a Mobile AIDC service domain. For
example, an instance of ISO/IEC 29174 (MII) may be used as an instance of UII within a Mobile AIDC service
domain. User data in this International Standard contains values for a specific Mobile AIDC service and may
take a form of ISO/IEC 29175.
An application command of a Mobile AIDC application is delivered from an application platform to a specific
device and is transformed into a data carrier-specific command. Communication interfaces between a Mobile
application platform and a Mobile device and between a Mobile device and data carriers are dependent on an
application platform implementation and data carrier technology. For instance, if a Mobile AIDC device is a
Mobile RFID interrogator, then a Mobile AIDC application platform may use ISO/IEC 29173-1 to exchange
information with the RFID interrogator and ISO/IEC 18000-6 or ISO/IEC 29143 may be used between a
Mobile AIDC device and the data carriers.
This international standard supports only ISO/IEC 18000-6 Type C, ISO/IEC 29143 and Mobile ORM.
6 Mobile AIDC application programming interfaces
6.1 General
Mobile AIDC applications may run on various Mobile AIDC application platforms. Each mobile application
platform has unique API sets and data dictionaries. Due to this diversity, it is impossible to make mobile
application implementations interoperable among the various mobile application platforms.
This International Standard defines abstract Mobile AIDC application interfaces to give a standardized
functional view of the various Mobile AIDC application platforms. Implementation-level application interfaces
shall be defined from this abstract set of Mobile AIDC application interfaces. This international standard does
not cover the security aspect of the interface. Security is defined in the air interface.
Generally, a device registration at the mobile terminal is the first step to use that device. The exact method to
register devices and the device names are highly dependent on mobile application platform implementations.
The registration process is outside the scope of this International Standard.
6.2 Open (mandatory)
To use a Mobile AIDC device attached to a Mobile AIDC terminal, a Mobile AIDC application shall open the
device first. Open connects an application to a device and then the device gets ready to operate.
Exact input parameter(s), data type(s) of input parameter(s), return value(s) and data type(s) of return value(s)
shall comply with the application platform implementation on which the application executes.
input parameter
o Mobile AIDC device identifier: a Mobile AIDC device identifier defined at the Mobile AIDC
application platform at registration time
return value
o success/fail
4 © ISO/IEC 2012 – All rights reserved
---------------------- Page: 9 ----------------------
ISO/IEC 29179:2012(E)
6.3 Close (mandatory)
After using a Mobile AIDC device, a Mobile AIDC application shall close the device to conserve energy. Close
disconnects the application from the device. At the same time, the application platform instructs the device to
power down.
Exact input parameter(s), data type(s) of input parameter(s), return value(s) and data type(s) of return value(s)
shall comply with the application platform implementation on which the application executes.
input parameter
o Mobile AIDC device identifier: a Mobile AIDC device identifier defined at the Mobile AIDC
application platform at registration time
return value
o success/fail
6.4 Read (mandatory)
To get UIIs from surrounding data carriers, a Mobile application directs the Mobile AIDC device to read UIIs. If
the user data are written in data carriers and the device provides a reading function for user data, then the
application may get both UIIs and user data at the same time. If TID is written in the data carriers and the
device provides a reading function for TID, then the application may get both UIIs and TIDs at the same time.
If TIDs and user data are written in the data carriers and the device provides a reading function for them, the
application may get all of the data at the same time.
Exact input parameter(s), data type(s) of input parameter(s), return value(s), data type(s) of return value(s)
and response shall comply with the application platform implementation on which the application executes.
The Read operation usually takes time to complete. Therefore, it is recommended to implement in an
asynchronous way. A Mobile AIDC application platform may process other jobs while awaiting a response(s).
When Read is implemented in an asynchronous way, then the return value is returned immediately to notify
the application of a successful calling of the interface and a successful validation check by the platform. Actual
data will be returned as a response(s).
input parameters
o Mobile AIDC device identifier: a Mobile AIDC device identifier defined at the Mobile AIDC
application platform at registration time
o read_type:
00: read UIIs
01: read UIIs and user data
10: read UIIs and TIDs
11: read all
return value
o success/fail
response
o data read from data carriers
NOTE: The returned data corresponding to the UIIs consist of entire UII memory content except StoredCRC
of 18000-6:2010. Parsing of the returned data in order to extract the UII is dependent upon functionality of
the applications.
6.5 ReadUserData (optional)
To get user data from a specific data carrier, a Mobile AIDC application requests a Mobile AIDC device to
read user data from the specific data carrier.
Exact input parameter(s), data type(s) of input parameter(s), return value(s), data type(s) of return value(s)
and response shall comply with the application platform implementation on which the application executes.
The ReadUserData operation usually takes time to complete. Therefore, it is recommended to implement in
an asynchronous way. A Mobile AIDC application platform may process other jobs while awaiting a
© ISO/IEC 2012 – All rights reserved 5
---------------------- Page: 10 ----------------------
ISO/IEC 29179:2012(E)
response(s). When ReadUserData is implemented in an asynchronous way, the return value is returned
immediately to notify the application of a successful calling of the interface and a successful validation check
by the platform. Actual data will be returned as a response(s).
input parameters
o Mobile AIDC device identifier: a Mobile AIDC device identifier defined at the Mobile AIDC
application platform at registration time
o Mobile AIDC media identifier: UII of a target data carrier (ex. Content of MB01 except
StoredCRC of 18000-6:2010)
return value
o success/fail
response
o user data read
6.6 Write (optional)
To record data in the specific data carrier, a Mobile AIDC application directs the Mobile AIDC device to write
data to the data carrier. Write records data to the specific data carrier. Write is performed numerous times set
by the application program to meet the operational need.
Exact input parameter(s), data type(s) of input parameter(s), return value(s), data type(s) of return value(s),
data type(s) of response, and data value(s) of response shall comply with the application platform
implementation on which the application executes.
The Write operation usually takes time to complete. Therefore, it is recommended to implement in an
asynchronous way. An application platform may process other jobs while awaiting a response(s). When Write
is implemented in an asynchronous way, the return value is returned immediately to notify the application of a
successful calling of interface and a successful validation check by the platform. The actual result will be
delivered as a response(s).
input parameters
o Mobile AIDC device identifier: a Mobile AIDC device identifier defined at the Mobile AIDC
application platform at registration time
o Mobile AIDC media identifier: UII written in the data carrier (ex. Content of MB01 except
StoredCRC of 18000-6:2010)
o access password: if programmed and data carrier with UII is locked, the access password
written in the data carrier
o user data: user data to write
o new access password: new access password to overwrite existing one
o new Mobile AIDC media identifier: new UII which is to be written in the data carrier for security
reasons
o repeat count: repeat count
return value
o success/fail
response
o success/fail
6.7 Erase (optional)
To delete user data from a certain data carrier, a Mobile AIDC application directs the Mobile AIDC device to
erase data from the specific data carrier.
Exact input parameter(s), data type(s) of input parameter(s), return value(s), and data type(s) of return
value(s) shall comply with the application platform implementation on which the application executes.
The Erase operation usually takes time to complete. Therefore, it is recommended to implement in an
asynchronous way. A Mobile AIDC application platform may process other jobs while awaiting a response(s).
When Erase is implemented in an asynchronous way, the return value is returned immediately to notify the
6 © ISO/IEC 2012 – All rights reserved
---------------------- Page: 11 ----------------------
ISO/IEC 29179:2012(E)
application of a successful calling of interface and a successful validation check by the platform. The actual
result will be delivered as a response(s).
input parameters
o Mobile AIDC device identifier: a Mobile AIDC device identifier defined at the Mobile AIDC
application platform at registration time
o Mobile AIDC media identifier: UII written in the data carrier (ex. Content of MB01 except
StoredCRC of 18000-6:2010)
o access password: if programmed and data carrier with UII is locked, the access password
written in the data carrier
o repeat count: repeat count
retur
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.