Wireless Internet Platform for Interoperability 2.0.1

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum Wireless Internet Platform for Interoperability 2...
Author: Herbert Warren
4 downloads 2 Views 219KB Size
Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

Wireless Internet Platform for Interoperability 2.0.1

Supplement

September 2004

Korea Wireless Internet Standardization Forum

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

1.

Criteria for the Mixed Use of API Between MSF/MSP and CLDC/MIDP......................... 3

2.

Security Policy for MSF/MSP and CLDC/MIDP.............................................................. 5

3.

Return Value for Basic Error .......................................................................................... 6

4.

Usage Example.............................................................................................................. 7 4.1.

4.2. 5.

Usage Example of DLL ........................................................................................ 7 4.1.1.

C API......................................................................................................... 7

4.1.2.

Java API.................................................................................................. 10

Example of Terminal Performance Measurement .............................................. 11

wCard........................................................................................................................... 14 5.1.

Related Specifications........................................................................................ 14

5.2.

Overview of vCard 3.0 Specifications................................................................. 14

5.3.

vCard 3.0 Specifications: Examples................................................................... 15

5.4.

wCard Specifications ......................................................................................... 17 5.4.1.

Add : .......................................................................................... 17

5.4.2.

Add : .......................................................................... 19

5.4.3.

Usage of .................................................................................... 19

5.4.4.

Other Settings ......................................................................................... 21

5.5.

Example of wCard Specifications....................................................................... 23

5.6.

Examples of wCard............................................................................................ 24

2

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

1. Criteria for the Mixed Use of API Between MSF/MSP and CLDC/MIDP In WIPI 2.0, there are APIs with identical functions in MSF/MSP and CLDC/MIDP. Since the mixed use of APIs poses problems depending on the implemented platform, the platform should ensure interoperability in compliance with the following: To define the criteria for the use of CLDC/MIDP API in WIPI 2.0, related packages are classified into three types.

For APIs with identical package names, the platform should provide identical functions. Table 1. Identical packages. Package Group IO Language Utility

MSF/MSP Package java.io java.lang java.util

CLDC/MIDP Package

Although possessing identical functions, certain APIs should be used independently since the content of implementation is different. In this case, the platform should ensure the interoperability of MSF/MSP and CLDC/MIDP packages in identical package groups (including lower-level packages) without being mixed up when they are used independently. For example, when using org.kwis.msp.lcdui, which means selecting a graphics package of MSF/MSP,

javax.microedition.midlet

and

javax.microedition.lcdui

cannot

be

used.

Nonetheless, other package groups are still available for specification and use. In such cases, the platform should ensure interoperability. In other words, org.kwis.msp.lcdui, javax.microedition.rms, org.kwis.msp.media, and javax.microedition.io can be used simultaneously since they do not involve the mixed use of packages

from

identical

javax.microedition.lcdui,

package

org.kwis.msp.io,

groups. and

In

contrast,

javax.microedition.io

org.kwis.msp.lcuio, cannot

be

used

simultaneously since they involve the mixed use of packages from identical package groups. Moreover, interoperability is not maintained.

Table 2. Corresponding packages between MSF/MSP and CLDC/MIDP by identical group. Package Group

MSF/MSP Package

3

CLDC/MIDP Package

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

Package Group Graphics

MSF/MSP Package

DB Media

org.kwis.msp.lcdui (jlet) org.kwis.msp.lwc org.kwis.msp.db org.kwis.msp.media

High level IO

org.kwis.msp.io

CLDC/MIDP Package javax.microedition.midlet javax.microedition.lcdui javax.microedition.rms javax.microedition.media javax.microedition.mediacontrol javax.microedition.io

In addition, it is often necessary to call on other profiles for the required functions since a certain function is available only on one profile. In this case, the platform should ensure interoperability for cross-reference and use since there are no corresponding packages.

Table 3. Unique packages of MSP/MSF and CLDC/MIDP. Package Group

MSF/MSP Package

CLDC/MIDP Package

Low level IO

org.kwis.msf.io

None

Kernel

org.kwisf.core

None

Devices

org.kwis.msp.handset

None

Address book

org.kwis.msp.address

None

org.kwis.msp.addressbook

When adopting the mixed use of packages as described earlier, additional limitations can be identified depending on the actual implementation of the platform since WIPI 2.0 does not provide an implementation method of the platform. As such, the content of this chapter can be revised through protocol revision.

4

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

2. Security Policy for MSF/MSP and CLDC/MIDP - When an application starts with Jlet and uses both MSF/MSP and CLDC/MIDP, the platform should comply with WIPI’s API security policy. - When an application starts with Midlet and uses both MSF/MSP and CLDC/MIDP, the platform should comply with MIDP’s security policy and ensure interoperability with WIPI’s API security policy.

5

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

3. Return Value for Basic Error Error Code M_E_ERROR M_E_BADFD M_E_BADFILENAME M_E_BADSEEKPOS M_E_EXIST M_E_BADFORMAT M_E_INPROGRESS M_E_INUSE M_E_INVALID M_E_ISCONN M_E_LONGNAME M_E_NOENT M_E_NOSPACE M_E_NOTCONN M_E_NOTEMPTY M_E_NOTSUP M_E_NOMEMORY M_E_SHORTBUF M_E_WOULDBLOCK M_E_TIMEOUT M_E_DATABIG M_E_BADRECID M_E_EOF M_E_ACCESS M_E_NORESOURCE M_E_NOTEXIST M_E_BADVERSION

Value -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27

M_E_DEVCLOSE M_E_OEMERROR

-28 -29

M_E_NOTSUPPORTTYPE M_E_NOTSUPPORTLOCK M_E_NOTSUPPORTPLOCK M_E_NOTSUPPORTGLOCK M_E_MAXCOUNT:

-30 -31 -32 -33 -34

Description Other error Wrong ID Wrong filename Wrong file location The resource already exists. Wrong format Operation in progress In use Invalid parameter Connection already established Exceeds the allowed length No entry No space Connection not established Not empty Service unsupported Insufficient memory Buffer shortage Would block generated Timeout Data too big Wrong record ID End of file Access error Insufficient resource File/Resource does not exist. Platform version does not support the execution of the application. IO device closed Specific WIPI operation stopped due to OEM Type not supported Lock not supported Individual lock not supported Group lock not supported More than the maximum value

6

Remarks

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

4. Usage Example 4.1. Usage Example of DLL 4.1.1. C API In WIPI, functions that can add or override libraries dynamically should be provided in addition to the APIs that are established as standard and embedded in a terminal. Examples that can be used to develop dynamic linking libraries (DLL) in Clet and definition of the necessary APIs are presented. A dynamic linking library has a route called interface that communicates with the external environment. An interface refers to a "unit that manages a group consisting of function and variables by assigning it a name and a version." When adding and updating APIs, an interface serves as the basic unit. For example, the method of implementing and using DLLs on the part of a DLL developer or an application program developer providing 3D API is as follows:

z

Definition of DLL Export Function Header A 3D API DLL developer creates a head for the list group of functions to be provided to application program developers. API3D.h typedef struct _API3D { M_Int32 (*draw3DLine)(M_Int32 x, M_Int32 y, M_Int32 x2, M_Int32 y2); M_Int32 (*draw3DRect)(M_Int32 x, M_Int32 y, M_Int32 w, M_Int32 h); … } API3D;

z

Implementing DLL Export Function A 3D API DLL developer creates a DLL that provides the “API3D.h” interface. 3D_DLL.c #Include “API3D.h” #include “Demo_Interface.h” M_Int32 dll_draw3DLine(M_Int32 x, M_Int32 y, M_Int32 x2, M_Int32 y2); M_Int32 dll_draw3DRect(M_Int32 x, M_Int32 y, M_Int32 w, M_Int32 h);

7

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

API3D api3d = { dll_draw3DLine, dll_draw3DRect }; DemoInf demoinf = { … }; MC_EXPORT_DLL_INTERFACE_START(module3D) MC_DLL_INTERFACE(api3d, “Fast3D”, 1, 0) MC_DLL_INTERFACE(demoinf, “TestDLL”, 1, MC_EXPORT_DLL_INTERFACE_END

0)

MC_EXPORT_DLL_START(module3D) DLL_INIT(dll_init) DLL_EXIT(dll_exit) MC_EXPORT_DLL_END M_Int32 dll_init() { return(0); } void dll_exit() { } M_Int32 dll_draw3DLine(M_Int32 x, M_Int32 y, M_Int32 x2, M_Int32 y2) { MC_knlPrintk(“draw3d line\n”); return(0); } M_Int32 dll_draw3DRect(M_Int32 x, M_Int32 y, M_Int32 w, M_Int32 h) { MC_knlPrintk(“draw3d rect\n”); return(0); }

A DLL developer should export a DLL interface. The exported DLL interface is exposed to application program developers through MC_knlGetDLLInterface() and is made available.

8

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

z

Using DLL Function A 3D API application program developer uses the DLL function as follows: Assuming that 3D_DLL.c is compiled as a DLL option and is registered in the server under the program name = “3d_library,” version = “1.1,” and vendor = “testsoft,” it can be used as: 3D_USE.c #include “API3D.h” … API3D* inf3d; int startClet(int argc, char* argc[]) { char buf[256]; … rtn = MC_knlGetExecNames(“3d_library”, NULL, NULL, buf, sizeof(buf)); rtn = MC_knlLoad(buf, 0); inf3d = MC_knlGetDLLInterface("“Fast3D", -1, -1, NULL, NULL); inf3d->draw3DLine (0, 0, 10, 10); rtn = int3d->draw3DRect (10, 10), 50, 60); … }

z

Example of Adding/Overriding API Scenario When the “API3D.h” interface of is embedded as an example of overriding for embedded APIs, there is no change in the code of . When downloading the “API3D.h” DLL/interface, however, the “API3D.h” interface can be overridden. In addition, when executing a program using a specific DLL API that is not embedded, the DLL should be downloaded first before it can be executed.

9

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

4.1.2. Java API Since Java has functions that load and link all functions and variables dynamically as part of the characteristics of the language, dynamic linking libraries are implemented based on the linguistic characteristics of Java. For example, the method of implementing and using DLLs on the part of a DLL developer or an application program developer providing 3D API is as follows:

z

Creating 3D_DLL.Jar to Provide for Application Program Developers A 3D API DLL developer creates 3D DLLs to be provided to application program developers. Engine3D.java package api3d; public class Engine3D { public int draw3DLine(int x, int y, int x2, int y2) { … } public int draw3DRect(int x, int y, int x2, int y2) { … } }

In Java, the 3D_DLL.jar library itself acts as a C header to application program developers.

z

Using 3D DLL Function A 3D API application program developer uses the 3D DLL function as follows: Assuming that the DLL is registered in the server under the program name = “java_3d_library,” version = “1.1,” and vendor = “testsoft,” the function is used as follows: USE_3D.java

10

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

import api3d.Engine3D; public class USE_3D { … public int dLine(int x, int y, int x2, int y2) { String[] exeName = Kernel.getExecNames(“java_3d_llibrary”, “1.1”, “testsoft”); Kernel.load(exeName[0], null); try { Class c = Class.forName("api3d.Engine3D”); Engine3D obj3d = (Engine3D) c.newInstance(); Í Caution 1 obj3d.draw3DLine(x, y, x2, y2); … } catch(Error r) { System.out.println(“3D library is not loaded”); } } … }

In Precaution 1 of , unless the corresponding library is loaded using Kernel.load() before using 3D library API, “java/lang/Error” occurs.

4.2. Example of Terminal Performance Measurement Given the available diverse terminal devices and varying hardware in terms of processing speed, there is a need for developers who have to develop one application on a number of terminals to provide various versions of packages based on different screen sizes and terminal performance. To address difficulties encountered by developers, a tuning guide on performance is provided. Before carrying out tuning, terminal performance should first be measured. The developer can prepare measurement items and source required for the measurement, although the measured data can be shared utilizing a tool used by many people. Among the performance benchmark tools that are easy to use, a benchmark tool called TaylorBench (http://www.poqit.com/midp/bench/) was created using Java MIDlet. It is available to anyone for use and correction for any purpose since no licensing is required, provided the developer's name is specified in “About.” The TaylorBench program consists of the low-level graphics of an MIDP-based device as well as simple items that measure VM/CPU performance. For applications requiring extensive operation, the program places weighted value on items of arithmetic operation. On the other hand, for applications with extensive screen movement, the program can

11

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

be run using the result values for test items. The following is a brief discussion on each item:

z

Low-level Graphics

Lines: Draws a line between two random points Rectangles (outline and filled): Draws an outline and a filled rectangle of random size at random location Ellipses (outline and filled): Draws an outline and a filled ellipse of random size at random location Arcs (outline and filled): Draws an outline and a filled arc of random size at random location Images (small, medium, large): Draws images having three different sizes at random location Fonts (small, medium, large): Writes strings in three different fonts at random location

z

RMS

Record creation: Creates records Record reading using enumeration: Reads records in sequence Record reading by randomly accessing records: Reads records from random locations Record deletion by randomly deleting records: Deletes records

z

CPU/VM

System array copies: As a native method that is not related to the Java implementation, system array copies are used to test CPU/VM performance. VM test (multiply, divide, add): Displays the processing speed of arithmetic operation Random ints.: Shows in a graph whether the numbers created by a random number generator are evenly distributed in the area

z

COMM

Reads files (or dynamically generated number bytes) from an HTTP server Writes files or specific number of bytes to an HTTP server Reads local files: Reads files from among TaylorBench MIDlet jar files ※ Control item displays the amount of time taken by a loop for a set number of repeats.

12

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

First, an example source that applies frame conversion speed for a fixed screen without measured values on performance is presented. The following is a brief description on each item: Game.java while (running) { long time = System.currentTimeMillis(); moveSprites(); checkCollision(); repaint(); serviceRepaints(); time = System.currentTimeMillis(); try { if (time < DELAY) Thread.sleep(DELAY – (int) time); } catch (Exception ex) { } } ※ Reference: “UI Guidelines & Efficient MIDP Java Programming” by Chiam Poh Guan (Forum Nokia)

13

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

5. wCard Based on vCard 3.0, wCard has additional specifications that are necessary for the terminal environment even though they are not included in the vCard 3.0 specifications. This specification provides a detailed explanation on the vCard 3.0 specifications and a definition of the wCard specifications.

5.1. Related Specifications wCard specifications are based on the following specifications (in case parts of the following documents are not consistent with the requirements of this specification, the requirements of this specification shall take precedence; in principle, items that are not stipulated in the requirements of this specification will comply with the following specifications and related specifications):

z

RFC 2425 (MIME Content-Type for Directory Information)

z

RFC 2426 (vCard MIME Directory Profile)

5.2. Overview of vCard 3.0 Specifications vCard format consists of strings. One field consists of a pair of and in a line, and each field is separated from other fields by a line change (CRLF). Denoting the data type, is used in the same way as N (name), NICKNAME (alias), and TEL (telephone number). Corresponding to , is used in the same manner as “N:Kim Cheol-soo” (when the name is Kim Cheol-soo), “NICKNAME:Wipi” (when the alias is Wipi), and “TEL:0200001111” (when the telephone number is 02-0000-1111).

z



consists of and ; it is separated by “;.” Ex 1) “TEL;TYPE=home:0200001111” (when the home telephone number is 02-00001111) Ex 2) “TEL;TYPE=work:0233334444” (when the company telephone number is 023333-4444)

14

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

z



One may have no or multiple parameters. In case of multiple , each is separated by “,.” Before each is “TYPE=.” Ex) “TEL;TYPE=work,cell:01100001111” (when the company mobile phone number is 011-0000-1111)

z



denotes data for ; multiple are possible for one . In case of multiple , each is separated by “;.” Ex 1) “ORG:Korea Telecom;Jeju Research Institute” (if the workplace is Jeju Research Institute, Korea Telecom) In case of multiple for one , may be deleted but not the separator “;.” For the last , however, the separator “;” may be deleted. Ex 2) “ORG:;Jeju Research Institute” (when specifying only the Jeju Research Institute, Korea Telecom as the workplace, the “;” in front of the “Jeju Research Institute” should not be deleted) Ex 3) “ORG:'Korea Telecom” (when specifying only the Korea Telecom if the workplace is Jeju Research Institute, Korea Telecom - there will be no “;” following “Korea Telecom”)

5.3. vCard 3.0 Specifications: Examples z



The following are some of the defined in RFC2426: Type Name

Description

N

Name

NICKNAME

Alias

TEL

Telephone number

E-MAIL

E-mail

15

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

z

URL

Homepage

ADR

Address

NOTE

Memo

ROLE

Occupation

ORG

Workplace

PHOTO

Photo

REV

Revised information



The following are some of the defined in RFC2426:



N NICKNAME TEL

work (workplace), home (home), cell (cellular phone), fax (fax), pager (pager)

E-MAIL URL

work (workplace)

ADR

home (home), work (workplace)

NOTE ROLE ORG PHOTO REV All Type

pref (preferred)

Names Ex 1) “TEL;TYPE=pager:01212345678” (When the pager number is 012-1234-5678) Ex 2) “TEL;TYPE=fax:0298765432” (When the fax number is 02-9876-5432)

16

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

5.4. wCard Specifications Based on vCard3.0, wCard specifications has the following items that are not defined in the vCard 3.0 specifications:

5.4.1. Add X-MDAY

Description Record anniversaries (birthday, wedding anniversary, meeting, memorial day) Follow the “;-1,-2:” format without space between characters.



Description

birthday

Birthday

wedding

Wedding

meeting

Meeting

memorial

Memorial day

sun

Julian calendar

moon

Lunar calendar

-1 is either the birthday, wedding, meeting, or memorial day. -2 is either the sun or moon. For example, record “memorial, sun” or “wedding, moon.”

is the memorial day. For a terminal that supports year display for a memorial day (date), the entry consists of eight digits (YYYYMMDD), e.g., “20030101” and “20031231.” For a terminal that does not support year display for a memorial

17

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

day (date), the entry consists of four digits (MMDD), e.g., “1231.” When the is moon, “L” added at the end of the month means leap month.

Ex 1) “X-MDAY;TYPE=wedding,sun:19960415” (when a wedding anniversary falls on April 15, 1996 in the Julian calendar) Ex 2) “X-MDAY;TYPE=meeting,moon:20040213” (when the memorial day for a meeting falls on February 13, 2004 in the lunar calendar) Ex 3) “X-MDAY;TYPE=meeting,moon:20040213L” (when the memorial day for a meeting falls on February 13, 2004, a leap month) Ex 4) “X-MDAY;TYPE=meeting,moon:1102” (when the memorial day for a meeting falls on November 2 in the lunar calendar, in case the terminal does not support year display) X-GROUP

Record the resource name of a phonebook group to which a phonebook individual belongs. Follow the “:” format without space between characters.

Only one Value exists for one X-GROUP Type. Ex) “X-GROUP:Friend,” “X-GROUP:School,” “XGROUP:Classmate”

In the absence of X-GROUP, the default phonebook group of the terminal is specified (ex: a phonebook group such as "Not Specified"). When a phonebook group is deleted, all phonebook individuals belonging to the phonebook group are specified as a default phonebook group (ex: a phonebook group such as "Not Specified”).

18

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

5.4.2. Add : termres

: PHOTO Description Specify a photo of the terminal resource to the phonebook individual. Follow “;:1;-2” format without space between characters.

-1 is the resource group name of the photo; 2 is the resource name.

Ex 1) “PHOTO;TYPE=termres:PICTUREMATE;mypicture” (when mypicture of PICTUREMATE is specified as the photo) Ex 2) “PHOTO;TYPE=termres:PHOTO;myphoto” (When myphoto of PHOTO is specified as the photo) etc

: TEL Description Other telephone number

Ex) Other telephone number: 02-1234-5678 Î “TEL;TYPE=etc:0212345678”

5.4.3. Usage of N

“Family name;Given name”

Ex 1) “N:Kim;Cheol-soo” (when the name is Kim Cheol-soo) Ex 2) “N:Chae;Shi-ra” (when the name is Chae Shi-ra) Ex 3) “N:Kim;Hye-soo” (when the name is Kim Hye-soo)

19

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

“Entire name” (Family name+Given name)

Ex 1) “N:Kim Cheol-soo” (when the name is Kim Cheol-soo) Ex 2) “N:Chae Shi-ra” (when the name is Chae Shi-ra) Ex 3) “N: Kim Hye-soo” (when the name is Kim Hye-soo) ADR

“;;Address;Gu/Gun/Shi;Shi/Do;Zip Code”

Ex 1) When the home address is WIPI Research Institute, Bongcheon-Dong, Guanak-Gu, Seoul (zip code: 123-456): Î “ADR;TYPE=home:;;Bongcheon-Dong WIPI Research Institute;Guanak-Gu;Seoul;123-456” Ex 2) When the work address is WIPI Research Institute, Bundang-Gu, Seongnam-Shi, Gyeonggi-Do (zip code: 000111): Î “ADR;TYPE=work:;;Bungdang-Ku WIPI Research Institute;Seongnam-Shi;Gyeonggi-Do;000-111” Î “ADR;TYPE=work:;;Seongnam-Shi Bungdan-Ku WIPI Research Institute;;Gyeonggi-Do;000-111” Î “ADR;TYPE=work:;;Gyeonggi-Do Seongnam-Shi BundangKu WIPI Research Institute;;;000-111” Î “ADR;TYPE=work:;; Gyeonggi-Do Seongnam-Shi BundangKu WIPI Research Institute” (when zip code is not used) ORG

“Company;Department”

Ex) When specifying Jeju Research Institute, Korea Telecom as the workplace: Î “ORG:Korea Telecom;Jeju Research Institute” (when both the company and department names are used) Î “ORG:Korea Telecom” (when only the company name is used) Î “ORG:; Jeju Research Institute” (when only the department

20

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

name is used) PHOTO

“Resource group name;Resource name” (: termres)

Ex) When “myphoto” resource is specified in the PHOTO group Î “PHOTO;TYPE=termres:PHOTO;myphoto”

5.4.4. Other Settings z

Use of “pref” “pref” can be used for all . In case of several identical , “pref” should be specified at least for one of them. In case of several identical , “pref” should be specified at least for one of them. “pref” should be located before all . Ex 1) TEL;TYPE=pref,work:01188880000 TEL;TYPE=home:01199991111 TEL;TYPE=cell:01112345678 Ex 2) X-MDAY;TYPE=pref,birthday,moon:19700505 X-MDAY;TYPE=wedding,sun:20000101

z

Record the telephone number without the hyphen (“-“). Ex 1) 01100001111 (O) Ex 2) 011-0000-1111 (X)

z

Always record the “work” at the URL Ex) URL;TYPE=work:http://www.nate.com

21

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

z

When using “:,” “;,” “\” for content, place them after the back slash (“\”). For “:” and “;” used as separator, however, a back slash (“\”) is not necessary. Ex 1) When the alias is “My nick;name”: Î NICKNAME:My nick\;name Ex 2) When the company is “Korea Telecom,” and the department is “Jeju Research:Institute”: Î ORG:Korea Telecom;Jeju Research\:Institute Ex 3) When the company is “Korea Telecom,” and the department is “Jeju Research\Institute”: Î ORG:ORG:Korea Telecom;Jeju Research\\Institute

z

When the representing the type of X-MDAY assumes a variable format that can be entered directly by the user, and if “:” “;” “,” “\” are used as , place them after a back slash (“\”). For “:” and “;” used as separator, however, a back slash (“\”) is not necessary. Ex 1) When the is “Girl friend;the Day (date) that I met,” which falls on January 1 in the Julian calendar (for a terminal that does not support year: MMDD): Î X-MDAY;Type=Girl friend\;the Day (date) that I met,sun:0101 Ex 2) When the is “Girl friend:100 Days,” which falls on December 12, 2000 in the lunar calendar (for a terminal that supports year display YYYYMMDD) Î X-MDAY;Type=Girl friend\:100 Days,moon:20001212 Ex 2) When the is “Girl friend\Separated,” which falls on August 15, 2001 in the lunar calendar (for a terminal that supports year display YYYYMMDD) Î X-MDAY;Type=Girl friend\\Separated,moon:20010815 Ex 3) When the is “Girl friend,Met again,” which falls on August 15, 2001 in the lunar calendar (for a terminal that supports year display YYYYMMDD): Î X-MDAY;Type=Girl friend\,Met again,moon:20010815

22

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

z

REV 1. When generating or revising a phonebook individual on OEM, the time information should be recorded or amended on OEM. 2. When the WIPI address book application MC_termResRead or MH_termResRead requests for phonebook individual data, OEM should provide time information in wCard format and REV type. 3. When a phonebook individual is generated or modified in a WIPI address book application, OEM should record or modify the time information in wCard REV value. 4. When generating or modifying a phonebook individual in a WIPI address book application, if there is no REV value in wCard, OEM should record or modify the time information beginning with the time when MC_termResWrite or MH_termResWrite is called.

5.5. Example of wCard Specifications z



The following are examples that can be used in wCard:

Description

N

Name

NICKNAME

Alias

TEL

Telephone number

E-MAIL

E-mail

URL

Homepage

ADR

Address

NOTE

Memo

ROLE

Occupation

ORG

Workplace

X-MDAY

Memorial day (absent in vCard 3.0 but added in wCard)

X-GROUP

Phonebook group (absent in vCard 3.0 but added in wCard)

PHOTO

Photo

23

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

REV

z

Revised information



The following are examples of that can be used in wCard:



N NICKNAME TEL

work (workplace), home (home), cell (cellular phone), fax (fax), pager (pager), etc.

EMAIL URL

work (workplace)

ADR

home (home), work (workplace)

NOTE ROLE ORG X-MDAY

birthday (birthday), wedding (wedding), meeting (meeting), memorial (memorial day), sun (Julian calendar), moon (lunar calendar)

X-GROUP PHOTO

termres (terminal resource)

REV All Type

pref (preferred)

Names

5.6. Examples of wCard z

Example 1

When MC_termResGetGroupInfo or MH_termResGetGroupInfo results in the following:

InfoType

MC_termResGetGroupInfo MH_termResGetGroupInfo InfoData

24

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

“TYPELIST”

“N\0NICKNAME\0TEL\0EMAIL\0URL\0ADR\0NOTE\0ROLE\0 ORG\0X-MDAY\0X-GROUP\0PHOTO\0REV\0\0”

“TYPEINFO/N”

“10/1”

“TYPEINFO/NI

“10/1”

CKNAME” “TYPEINFO/T

“16/7/work:7/home:7/cell:7/fax:7/pager:7/etc:7”

EL” “TYPEINFO/E

“30/2”

MAIL” “TYPEINFO/U

“50/1”

RL” “TYPEINFO/A

“50/2/home:2/work:2”

DR” “TYPEINFO/N

“40/1”

OTE” “TYPEINFO/R

“20/1”

OLE” “TYPEINFO/O

“30/1”

RG” “TYPEINFO/X-

“4/4/birthday:4/wedding:4/meeting:4/memorial:4/sun:4/moon:4

MDAY”



“TYPEINFO/X-

“10/3”

GROUP” “TYPEINFO/P

“20/1/termres:1”

HOTO” “TYPEINFO/R

“16/1”

EV” “X-

“MMDD/FIXED”

MDAYINFO”

BEGIN:VCARD N:Kim;Cheol-soo

25

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

NICKNAME:WIPI TEL;TYPE=pref,work:0200001111 TEL;TYPE=work:0211110000 TEL;TYPE=home:0222223333 TEL;TYPE=cell:01112345678 TEL;TYPE=fax:0267896789 TEL;TYPE=pager:01203690369 TEL;TYPE=etc:0212345678 EMAIL;TYPE=pref:[email protected] EMAIL:[email protected] URL;TYPE=work:http://www.nate.com ADR;TYPE=pref,home:;;Bongcheon-Dong WIPI Research Institute;GwanakGu;Seoul;123-456 ADR;TYPE=work:;;Bundang-Ku WIPI Research Institute;Seongnam-Shi;GyeonggiDo;000-111 NOTE:wCard example ROLE:Programmer ORG:Korea Telecom;Jeju Research Institute X-MDAY;TYPE=pref,birthday,moon:0505 X-MDAY;TYPE=wedding,sun:0101 X-MDAY;TYPE=meeting,sun:1231 X-MDAY;TYPE=memorial,moon:0630 X-GROUP;TYPE=pref:friend X-GROUP:school X-GROUP:classmate PHOTO;TYPE=termres:PHOTO;myphoto REV:20031009T180135Z END:VCARD

26

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

The following are the descriptions of the wCard examples presented above: Name: Kim Cheol-soo (family name: Kim, given name: Cheon-soo) Alias: WIPI Tel (work, preferred): 02-0000-1111 Tel (work): 02-1111-0000 Tel (home): 02-2222-3333 Tel (HP): 011-1234-5678 Tel (Fax): 02-6789-6789 Tel (Pager): 012-0369-0369 Tel (other): 02-1234-5678 E-mail (preferred): [email protected] E-mail: [email protected] Homepage: http://www.nate.com Address (home, preferred): Bongcheon-Dong WIPI Research Institute, Gwanak-Ku, Seoul (zip code: 123-456) Address (work): Bundang-Ku WIPI Research Institute, Seongnam-Shi, Gyeonggi-Do (zip code: 000-111) Memo: wCard example Occupation: Programmer Workplace: Korea Telecom (company), Jeju Research Institute (department) Memorial day (birthday, preferred): May 5 (lunar calendar) Memorial day (wedding anniversary): January 1 (Julian calendar) Memorial day (meeting): December 31 (Julian calendar) Memorial day (memorial day): June 30 (lunar calendar) Phonebook group (preferred): Friend Phonebook group: School Phonebook group: Classmate Revised on: 18:01:35 October 9, 2003 (GMT) or 03:01:35 October 10, 2003 (GMT + 09:00)

27

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

Photo: myphoto of the terminal resource PHOTO group

z

Example 2

When MC_termResGetGroupInfo or MH_termResGetGroupInfo results in the following: MC_termResGetGroupInfo MH_termResGetGroupInfo infoData

infoType “TYPELIST”

“N\0TEL\0EMAIL\0NOTE\0X-MDAY\0X-GROUP\0REV\0\0”

“TYPEINFO/N”

“10/1”

“TYPEINFO/T

“16/4/work:1/home:1/fax:1/cell:1”

EL” “TYPEINFO/E

“30/1”

MAIL” “TYPEINFO/N

“40/1”

OTE” “TYPEINFO/X-

“8/2/sun:2/moon:2”

MDAY” “TYPEINFO/X-

“10/1”

GROUP” “TYPEINFO/R

“16/1”

EV” “X-

“YYYYMMDD/VARIABLE/10”

MDAYINFO”

BEGIN:VCARD N:Kim Cheol-soo TEL;TYPE=pref,work:0200001111 TEL;TYPE=home:0211110000 TEL;TYPE=fax:0222223333 TEL;TYPE=cell:01112345678 EMAIL:[email protected]

28

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

NOTE:wCard example X-MDAY;TYPE=pref,birthday,moon:19700505 X-MDAY;TYPE=day of first meeting,sun:20000101 X-GROUP:friend REV:20031009T180135Z END:VCARD

The following are the descriptions of the wCard examples presented above: Name: Kim Cheol-soo Tel (work, preferred): 02-0000-1111 Tel (home): 02-1111-0000 Tel (fax): 02-2222-3333 Tel (HP): 011-1234-5678 E-mail: [email protected] Memo: wCard example Memorial day (birthday, preferred): May 5, 1970 (lunar calendar) Memorial day (first meeting): January 2, 2000 (Julian calendar) Phonebook group: Friend Revised on: 18:01:35 October 9, 2003 (GMT) or 03:01:35, October 10, 2003 (GMT + 09:00)

z

Example 3

When MC_termResGetGroupInfo or MH_termResGetGroupInfo results in the following:

InfoType

MC_termResGetGroupInfo MH_termResGetGroupInfo InfoData

“TYPELIST”

“N\0TEL\0EMAIL\0NOTE\0X-MDAY\0X-GROUP\0REV\0\0”

“TYPEINFO/N”

“10/1”

“TYPEINFO/T

“16/4/work:1/home:1/fax:1/cell:1”

EL”

29

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

“TYPEINFO/E

“30/1”

MAIL” “TYPEINFO/N

“40/1”

OTE” “TYPEINFO/X-

“8/2/birthday:2/wedding:2/meeting:2/memorial:2/sun:2/moon:2

MDAY”



“TYPEINFO/X-

“10/1”

GROUP” “TYPEINFO/R

“16/1”

EV” “X-

“YYYYMMDD/FIXED”

MDAYINFO”

BEGIN:VCARD N:Kim Cheol-soo TEL;TYPE=pref,work:0200001111 TEL;TYPE=home:0211110000 TEL;TYPE=fax:0222223333 TEL;TYPE=cell:01112345678 EMAIL:[email protected] NOTE:wCard example X-MDAY;TYPE=pref,birthday,moon:19700505 X-MDAY;TYPE=wedding,sun:20000101 X-GROUP:friend REV:20031009T180135Z END:VCARD

The following are the descriptions of the wCard examples presented above: Name: Kim Cheol-soo Tel (work, preferred): 02-0000-1111

30

Wireless Internet Platform for Interoperability 2.0.1 Korea Wireless Internet Standardization Forum

Tel (home): 02-1111-0000 Tel (fax): 02-2222-3333 Tel (HP): 011-1234-5678 E-mail: [email protected] Memo: wCard example Memorial day (birthday, preferred): May 5, 1970 (Lunar calendar) Memorial day (wedding anniversary): January 1, 2000 (Julian calendar) Phonebook group: Friend Revised on: 18:01:35 October 9, 2003 (GMT) or 03:01:35 October 10, 2003 (GMT + 09:00)

31