posted by bluelimn 2015.12.15 16:17

GPP Generic PIM Profile

 Abbreviation or Acronym



 Backus-Naur Form 


 XML Document Type Definition 


 Feature Requirements Document 


 Generic Access Profile 


 Generic PIM Profile 


 Generic Object Exchange Profile 


 Message Access Profile MRD Market Requirements Document 


 Message Sequence Chart 


 PIM Access Service 


 Personal Information Management 


 PIM Client Equipment 


 PIM Server Equipment 


 PIM Notification Service 


 Protocol Service Multiplexer 


 Working Group 


 eXtensible Markup Language 


 XML Schema Definition

In particular, GPP is based on GOEP v2.0 with OBEX over L2CAP.

• PIM Server Equipment (PIMSE) - is the device that provides the PIM object repository (i.e., has the ability to provide a client unit with PIM objects that are stored in this device and with notifications of changes in its repository). Furthermore, it provides features to upload and modify PIM entries in its repository. For example, a PIM device may be a mobile phone or a smartphone.

• PIM Client Equipment (PIMCE) - is the device that accesses the PIM objects repository engine of the PIMSE for downloading, browsing and displaying existing PIM objects, modifying such objects and also to upload objects to the PIMSE. For example, a PIMCE device may be a car head unit.

User Scenarios

The following are the main scenarios that are covered by this profile:

• The PIMCE browses in the PIM objects repository of the PIMSE: In this scenario, the PIMCE can navigate through the PIMSE’s folder structure, can get listings of PIM objects and can get PIM objects that are locally stored in thePIMSE device. A typical configuration would be that of a Bluetooth car-kit or a PC browsing the content of a mobile phone's PIMSE repository.

• The PIMCE uploads PIM objects onto the PIMSE repository: In this scenario, PIM objects are created on the PIMCE device and uploaded to the PIMSE device for storage (e.g., a new calendar entry or an email for sending).

• The PIMCE deletes PIM objects from the PIMSE repository: In this scenario, the PIMCE device deletes selected objects on the PIMSE (e.g., removal of a calendar entry or a spam mail).

• The PIMSE notifies the PIMCE: In this scenario, the PIMSE notifies the PIMCE about a change in the PIM r (e.g., removal of a calendar entry, a status change of a calendar entry, reception of a new message or modification of a phonebook entry).


GPP considers the following object types that may be transferred:

Literal objects: the actual PIM data objects stored in the repository of the PIMSE (e.g., a message, a phonebook entry, or a calendar entry).

Listing objects: listings of literal objects with a number of listing entries, each with a limited but relevant amount of information about the related literal objects. The listings may be virtual and do not necessarily have to be identical with the contents of the physical PIMSE file system.

Folder listing objects: listings with entries, describing the sub-folders of a folder. The folders structure may be virtual and does not necessarily have to be identical with the structure of the physical PIMSE file system. Event report objects: events are sent by the PIMSE to the PIMCE to report changes in the PIMSE's object repository.


If not defined otherwise by the specific PIM application profile the character set used for the attributes of the PIM application objects shall be UTF-8.


 Support by the PIMCE

 Support by the PIMSE

 Connect PIM Access Service



 Disconnect PIM Access Service



 Connect PIM Notification Service



 Disconnect PIM Notification Service



* ability to request or initiate, ** ability to respond or react 

C1: Feature is mandatory if feature 'Connect PIM Notification Service' is supported by device

Initialization Sequence for a GPP Session That Uses Only the PIM Access Service

Initialization Sequence for a GPP Session That Uses Both the PIM Access Service and the PIM Notification Service

Terminating a PIM Access or PIM Notification Service Connection

The termination of a PIM Access or a PIM Notification Service connection is done in accordance with. The PNS connection of a given GPP-based application shall be closed if :

- all registered PAS connections have been de-registered


- if all the application’s PAS connections have been closed

Generic PIM Profile Functions

5.2 SendEvent Function

5.3 SetNotificationRegistration Function

5.4 GetObjectListing Function

5.5 GetObject function

5.6 PushObject Function

5.7 GetInstanceInformation Function

5.8 SyncInstance Function

5.2 SendEvent Function

5.2.1 Connection ID

The connection ID header shall be used to indicate the connection ID, received during the connection establishment, in order to signal the recipient of the request which OBEX connection this request belongs to. InstanceID

This header shall be used by the PIMSE to indicate the corresponding PIMSE-Instance (see Section 3.3.3). As only one PNS service connection per application can be established from the PIMSE device to the MCE, this parameter is required by the PIMCE to determine the PIMSE Instance that should receive this event. The PIMCE can retrieve the corresponding InstanceID from the PIMSE’s SDP record (see Section 7.1.1 ‘InstanceID’ parameter).

5.3 SetNotificationRegistration Function NotificationStatus

The PIMCE shall indicate the request for being notified about changes in the object repository for the corresponding application profile. The header shall have either of the values:

• "Off", meaning no notification required or

• "On", meaning the notification service (PNS) session of the corresponding application shall be established

5.4 GetObjectListing Function

5.5 GetObject function

5.5.2 Name

The Name header shall be used to indicate the handle of the literal object to be retrieved. The handle shall be represented by a null-terminated Unicode text string with up to 32 hexadecimal digits (the handle is 128 bits but leading zeros may be omitted).

5.5.3 Type

The type header shall be used by the related application profile to indicate the type of object to be transmitted. Accordingly, the value has to be defined by the application profile.

5.6 PushObject Function

5.7 GetInstanceInformation Function

5.7.4 Body/EndOfBody

The Body includes a string with the requested user-readable information of the application instance. It shall be represented by a null-terminated UTF-8 text string of at most 200 characters (including the null termination character).

5.8 SyncInstance Function

Application Parameter Headers

The tag IDs used in the Application Parameters header are listed below.

'BlueTooth > 기본기' 카테고리의 다른 글

Mesh Profile  (0) 2017.10.16
Air packet에서 Bluetooth clock 확인  (0) 2017.09.08
baseband ack nack concept  (0) 2017.09.08
bluetooth timeout spec  (1) 2016.01.28
RFComm  (0) 2016.01.07
GPP(Generic PIM Profile)  (0) 2015.12.15
Paging and Inquiry  (0) 2015.11.26
AVDTP signaling/Media  (0) 2014.10.23
kitkat install 다시 시작  (9) 2014.07.19
BLE 4.1  (0) 2014.06.25
Security Mode  (1) 2014.06.24