1.1 UAPROF User Agent Profile

El problema de la heterogeneidad (en términos de diferentes tipos de dispositivo de acceso, ancho de banda de la red, preferencias y características del usuario, etc.) es uno de los grandes inconvenientes que ha de ser resuelto en Internet. Para la determinación de las características tecnológicas de los dispositivos con acceso a Internet, se utilizarán dos estándares: CC/PP (Composite Capabilities / Preferences Profile) para la modelización del perfil de los usuarios y UAProf (User Agent Profile) para dispositivos WAP. Estos dos estándares, están basados en RDF (Resource Description Framework), y permiten describir y administrar las características tecnológicas del usuario. Está diseñado para trabajar con una amplia variedad de dispositivos con capacidad de acceso a Internet (tales como PDAs, PC de escritorio, portátiles, teléfonos móviles, etc.). De esta forma, cuando se realiza una petición al servidor, es posible enviar a través de CC/PP y UAProf información sobre las capacidades del dispositivo, a fin de que este último pueda entregar los contenidos adaptados teniendo en cuenta estas características. UAPROF básicamente advierte de las capacidades de los terminales a los servidores de aplicaciones y otras entidades con objeto de adaptar los contenidos a dichas capacidades. [10]

UAPROF al igual que CC/PP se divide en componentes y éstos a su vez se dividen en atributos. Los distintos componentes en los que se divide son:

· HardwarePlatform Component · SoftwarePlatform Component · NetworkCharacteristics Component · BrowserUA Component · WapCharacteristics Component · PushCharacteristics Component · CurrentBearerService Authoritative Values · SupportedBearers Authoritative Values · JavaPlatform Authoritative Values

El esquema completo de UAPROF con los componentes y atributos es: [11]

HardwarePlatform Component

Component: HardwarePlatform Attribute Description Resolution Datatype Example(s) The number of bits of color or grayscale information per pixel, BitsPerPixel related to the number of colors Override Number "2", "8" or shades of gray the device can display. Supported Bluetooth profiles as Literal "dialup", BluetoothProfile defined in the Bluetooth Locked (bag) "lanAccess" specification Name and model number of the "Pentium III", CPU Locked Literal device CPU. "PowerPC 750" ColorCapable Indicates whether the device's Override Boolean "Yes", "No" display supports color. "Yes" means color is supported. "No" means the display supports only grayscale or black and white. Indicates whether the device supports the display of images. If ImageCapable the value is "Yes", the property Locked Boolean "Yes", "No" CcppAccept may list the types of images supported. List of character sets supported by the device for text entry. "US-ASCII", Property's value is a list of Literal InputCharSet Append "ISO-8859-1", character sets, where each item (bag) "Shift_JIS" in the list is a character set name, as registered with IANA. Type of keyboard supported by "Disambiguating", Keyboard the device, as an indicator of Locked Literal "Qwerty", ease of text entry. "PhoneKeypad" Model number assigned to the "Mustang GT", Model terminal device by the vendor or Locked Literal "Q30" manufacturer. Number of soft keys available on NumberOfSoftKeys Locked Number "3", "2" the device. List of character sets supported by the device for output to the "US-ASCII", display. Property value is a list of Literal OutputCharSet Append "ISO-8859-1", character sets, where each item (bag) "Shift_JIS" in the list is a character set name, as registered with IANA. Ratio of pixel width to pixel PixelAspectRatio Locked Dimension "1x2" height. Type of resolution of the pointing "Character", PointingResolution accessory supported by the Locked Literal "Line", "Pixel" device. The size of the device's screen in units of pixels, composed of "160x160", ScreenSize Locked Dimension the screen width and the screen "640x480" height. Size of the device's screen in units of characters, composed of the screen width and screen height. The device's standard font should be used to determine ScreenSizeChar Locked Dimension "12x4", "16x8" this property's value. (Number of characters per row)x(Number of rows). In calculating this attribute use the largest character in the device's default font. Indicates whether the device supports sound output through SoundOutputCapable an external speaker, headphone Locked Boolean "Yes", "No" jack, or other sound output mechanism. Indicates whether the device's StandardFontProportional Locked Boolean "Yes", "No" standard font is proportional. Indicates whether the device TextInputCapable Locked Boolean "Yes", "No" supports alpha-numeric text entry. "Yes" means the device supports entry of both letters and digits. "No" means the device supports only entry of digits. Name of the vendor Vendor manufacturing the terminal Locked Literal "Ford", "Lexus" device. Indicates whether the device supports any form of voice input, VoiceInputCapable including speech recognition. Locked Boolean "Yes", "No" This includes voice- enabled browsers.

SoftwarePlatform Component

Component: SoftwarePlatform Attribute Description Resolution Datatype Example(s) Indicates the user's preference on whether AcceptDownloadableSoftware to accept Locked Boolean "Yes", "No" downloadable software. List of audio input Literal AudioInputEncoder encoders supported Append "G.711" (bag) by the device. The list of standard Common Language Infrastructure platforms and profiles installed in the device. "Standard CLI Each item in the list is Literal 2002/Compact", CLIPlatform a name token Append (bag) "Standard CLI describing the name 2002/Kernel" and edition of the CLI platform specification including the name of the profile specification. List of content types the device supports. Property value is a list of MIME types, where Literal "text/", "text/plain", CcppAccept Append each item in the list is (bag) "text/html", "image/gif" a content type descriptor as specified by RFC 2045. List of character sets the device supports. Property value is a list of character sets, Literal "US-ASCII", "ISO-8859- CcppAccept-Charset Append where each item in the (bag) 1", "Shift_JIS" list is a character set name registered with IANA. List of transfer encodings the device Literal "base64", "quoted- CcppAccept-Encoding Append supports. Property (bag) printable" value is a list of transfer encodings, where each item in the list is a transfer encoding name as specified by RFC 2045 and registered with IANA. List of preferred document languages. If a resource is available in more than one natural language, the server can use this property to determine which version of the resource to send to the device. The first Literal CcppAccept-Language item in the list should Append "zh-CN", "en", "fr" (seq) be considered the user's first choice, the second the second choice, and so on. Property value is a list of natural languages, where each item in the list is the name of a language as defined by RFC 3066. List of executable content types which the device supports and which it is willing to accept from the network. The property Literal "application/x-msdos- DownloadableSoftwareSupport Locked value is a list of MIME (bag) exe" types, where each item in the list is a content type descriptor as specified by RFC 2045. List of URI schemes the device supports for accessing e-mail. Property value is a list Literal "pop", "imap", "http", -URI-Schemes of URI schemes, Override (bag) "https" where each item in the list is a URI scheme as defined in RFC 2396. List of the Java virtual machines installed on the device. Each item Literal "SunJRE/1.2", JVMVersion in the list is a name Append (bag) "MSJVM/1.0" token describing the vendor and version of the VM. Indicates whether the JavaEnabled device supports a Locked Boolean "Yes", "No" Java virtual machine. (from J2EE Client Literal "com.acme.regexp/1.1", JavaPackage Provisioning) Details Append (bag) "com.acme.helper/3.0" about optional packages installed on the device over and above those that are part of the Java profile, and the versions of these additional packages The list of JAVA platforms and profiles installed in the device. Each item in the list is a name token describing compatibility with the name and version of the java platform Literal "PersonalJava", JavaPlatform Append specification or the (bag) "CLDC", "MIDP" name and version of the profile specification name (if profile is included in the device). See JavaPlatform authoritative values for more information. (from J2EE Client Provisioning) Details about protocols supported by the device over and above Literal JavaProtocol Append "/1.0", "file/1.0" those that are part of (bag) the standard Java profile indicated and the versions of these additional protocols List of MExE classmarks supported by the device. Value "1" means the MExE device supports WAP, value "2" means that MExE device supports Literal MexeClassmarks Locked "1", "3" Personal Java, value (bag) "3" means that MExE device supports MIDP applications and value "4" means the device supports the CLI Platform. Indicates whether the device's supports MExE security domains. "Yes" means that security domains are supported in accordance with MexeSecureDomains Locked Boolean "Yes", "No" MExE specifications identified by the MexeSpec attribute. "No" means that security domains are not supported and the device has only untrusted domain (area). Class mark specialization. Refers MexeSpec to the first two digits of Locked Literal "7.02" the version of the MExE Stage 2 spec. Name of the device's "Mac OS", "Windows OSName Locked Literal operating system. NT" Vendor of the device's OSVendor Locked Literal "Apple", "" operating system. Version of the device's OSVersion Locked Literal "6.0", "4.5" operating system. User agent associated with the current request. Value should match the name of one of the components in the RecipientAppAgent profile. A component Locked Literal "BrowserMail" name is specified by the ID attribute on the prf:Component element containing the properties of that component. Version of the device- specific software SoftwareNumber (firmware) to which the Locked Literal "2" device's low-level software conforms. List of video input Literal "MPEG-1", "MPEG-2", VideoInputEncoder encoders supported Append (bag) "H.261" by the device.

NetworkCharacteristics Component

Component: NetworkCharacteristics Attribute Description Resolution Datatype Example(s) The bearer on which the current session was opened. "GSM_USSD", CurrentBearerService See CurrentBearerService Locked Literal "IPV6", authoritative values for more "GSM_CSD_IPV4" information. List of types of security or "WTLS-1", WTLS- Literal SecuritySupport encryption mechanisms Locked 2", "WTLS-3", (bag) supported by the device. "signText", "PPTP" List of bearers supported by "GSM_USSD", the device. See Literal SupportedBearers Locked "IPV6", SupportedBearers authoritative (bag) "GSM_CSD_IPV4" values for more information. SupportedBluetoothVersion Supported Bluetooth version. Locked Literal "1.0" BrowserUA Component

Component: BrowserUA Attribute Description Resolution Datatype Example(s) "", Name of the browser user agent BrowserName Locked Literal "MSIE", associated with the current request. "WAP42" BrowserVersion Version of the browser. Locked Literal "1.0" List of executable content types which the browser supports and which it is willing to accept from the "application/x- Literal DownloadableBrowserApps network. The property value is a list Append java-vm/java- (bag) of MIME types, where each item in applet" the list is a content type descriptor as specified by RFC 2045. Indicates whether the browser is FramesCapable Override Boolean "Yes", "No" capable of displaying frames. Version of Markup "2.0", "3.2", HtmlVersion Language (HTML) supported by the Locked Literal "4.0" browser. Indicates whether the browser JavaAppletEnabled Locked Boolean "Yes", "No" supports Java applets. Indicates whether the browser JavaScriptEnabled Locked Boolean "Yes", "No" supports JavaScript. Version of the JavaScript language JavaScriptVersion Locked Literal "1.4" supported by the browser. Indicates the user's preference for PreferenceForFrames receiving HTML content that Locked Boolean "Yes", "No" contains frames. Indicates whether the browser is TablesCapable Locked Boolean "Yes", "No" capable of displaying tables. List of XHTML modules supported by the browser. Property value is a list of module names, where each item in the list is the name of an "XHTML1- XHTML module as defined by the struct", W3C document "Modularization of Literal "XHTML1- XhtmlModules XHTML", Section 4. List items are Append (bag) blkstruct", separated by white space. Note that "XHTML1- the referenced document is a work frames" in progress. Any subsequent changes to the module naming conventions should be reflected in the values of this property. Version of XHTML supported by the XhtmlVersion Locked Literal "1.0" browser.

WapCharacteristics Component

Component: WapCharacteristics Attribute Description Resolution Datatype Example(s) DRM Conformance Class as Literal "ForwardLock", DrmClass Locked defined in OMA-Download- (bag) "CombinedDelivery", DRM-v1_0 "SeparateDelivery" DRM permission constraints as defined in OMA-Download- DRMREL-v1_0. The datetime Literal DrmConstraints Locked "datetime", "interval" and interval constraints (bag) depend on having a secure clock in the terminal. Supports OMA Download as OmaDownload defined in OMA-Download- Locked Boolean "Yes", "No" OTA-v1_0 Pictogram classes supported "core", Literal SupportedPictogramSet by the device as defined in Append "core/operation", (bag) "WAP Pictogram specification". "human" Classification of the device based on capabilities as WapDeviceClass identified in the WAP 1.1 Locked Literal "A" specifications. Current values are "A", "B" and "C". WapVersion Version of WAP supported. Locked Literal "1.1", "1.2.1", "2.0" Maximum size of a WML deck that can be downloaded to the device. This may be an WmlDeckSize estimate of the maximum size Locked Number "4096" if the true maximum size is not known. Value is number of bytes. "Lang", "Float", List of mandatory and optional Literal "String", "URL", WmlScriptLibraries libraries supported in the Locked (bag) "WMLBrowser", device's WMLScript VM. "Dialogs", "PSTOR" List of WMLScript versions supported by the device. Property value is a list of Literal WmlScriptVersion Append "1.1", "1.2" version numbers, where each (bag) item in the list is a version string conforming to Version. List of WML language versions supported by the device. Property value is a list of Literal WmlVersion Append "1.1", "2.0" version numbers, where each (bag) item in the list is a version string conforming to Version. WtaVersion Version of WTA user agent. Locked Literal "1.1" List of WTAI network common and network specific libraries "WTAVoiceCall", supported by the device. "WTANetText", Property value is a list of WTA "WTAPhoneBook", library names, where each Literal "WTACallLog", WtaiLibraries item in the list list is a library Locked (bag) "WTAMisc", name as specified by "WAP "WTAGSM", WTAI" and its addendums. Any "WTAIS136", future addendums to "WAP "WTAPDC" WTAI" should be reflected in the values of this property. PushCharacteristics Component

Component: PushCharacteristics Attribute Description Resolution Datatype Example(s) List of content types the device supports, which can be carried inside the message/http entity body when OTA-HTTP "text/html", Literal Push-Accept is used. Property value is a list of MIME Override "text/plain", (bag) types, where each item in the list is a "image/gif" content type descriptor as specified by RFC 2045. List of applications the device supports, where each item in the list is an application- "x-wap- Push-Accept- Literal id on absoluteURI format as specified in Override application:wml.ua", AppID (bag) [PushMsg]. A wildcard ("*") may be used to "*" indicate support for any application. List of character sets the device supports. Push-Accept- Property value is a list of character sets, Literal "US-ASCII", "ISO- Override Charset where each item in the list is a character set (bag) 8859-1", "Shift_JIS" name registered with IANA. List of transfer encodings the device supports. Property value is a list of transfer Push-Accept- Literal "base64", "quoted- encodings, where each item in the list is a Override Encoding (bag) printable" transfer encoding name as specified by RFC 2045 and registered with IANA. List of preferred document languages. If a resource is available in more than one natural language, the server can use this property to determine which version of the resource to send to the device. The first Push-Accept- Literal item in the list should be considered the Override "zh-CN", "en", "fr" Language (seq) user's first choice, the second the second choice, and so on. Property value is a list of natural languages, where each item in the list is the name of a language as defined by RFC 3066[RFC3066]. Push- Maximum number of outstanding push Override Number "1", "5" MaxPushReq requests that the device can handle. Maximum size of a push message that the Push- device can handle. Value is number of Override Number "1024", "1400" MsgSize bytes.

CurrentBearerService Authoritative Values

Appendix C of the Wirless Datagram Protocol specification contains a Network bearer table. The values for this Attribute map directly to the Network bearer table. The table below contains the mapping - the Attribute Value column defines the authoritative values for this Attribute.

Network Bearer Type Address Type Attribute Value Any Any Ipv4 IPV4 Any Any Ipv6 IPV6 GSM USSD Any GSM_USSD GSM SMS GSM_MSISDN GSM_SMS_MSISDN ANSI- GUTS/R-Data ANSI_136_MSISDN ANSI-136_GUTS_MSISDN 136 IS-95 CDMA SMS IS_637_MSISDN IS-195_CDMA_SMS IS-95 CDMA CSD Ipv4 IS-195_CDMA_CSD CDMA Packet IS-95 Ipv4 IS-195_CDMA_PACKET data ANSI- CSD Ipv4 ANSI-136_CSD_IPV4 136 ANSI- Packet Data Ipv4 ANSI-136_PACKET_IPV4 136 GSM CSD Ipv4 GSM_CSD_IPV4 GSM GPRS Ipv4 GSM_GPRS_IPV4 GSM USSD Ipv4 GSM_USSD_IPV4 AMPS CDPD Ipv4 AMPS_CDPD_IPV4 PDC CSD Ipv4 PDC_CSD_IPV4 PDC Packet Data Ipv4 PDC_PACKET_IPV4 IDEN SMS iDEN_MSISDN IDEN_SMS_MSISDN IDEN CSD Ipv4 IDEN_CSD_IPV4 IDEN Packet Data Ipv4 IDEN_PACKET_IPV4 Paging FLEX FLEX_MSISDN PAGING_FLEX_MSISDN network PHS SMS PHS_MSISDN PHS_SMS_MSISDN PHS CSD Ipv4 PHS_CSD_IPV4 GSM USSD GSM_Service_Code GSM_USSD_SERVICE_CODE TETRA SDS TETRA_ITSI TETRA_SDS_ITSI TETRA SDS TETRA_MSISDN TETRA_SDS_MSISDN TETRA Packet Data Ipv4 TETRA_PACKET_IPV4 Paging ReFLEX ReFLEX_MSISDN PAGING_REFLEX_MSISDN network GSM USSD GSM_MSISDN GSM_USSD_MSISDN Mobitex MPAK MAN MOBITEX_MPAK_MAN ANSI- GHOST/R_DATA GSM_MSISDN ANSI-136_GHOST_MSISDN 136

SupportedBearers Authoritative Values

The authoritative values for the SupportedBearers Attribute are defined in the CurrentBearerService section above.

JavaPlatform Authoritative Values

The following table defines the authoritative values for the JavaPlatform attribute. See JCP for more information.

Configuration Java Edition Specification (informative) Attribute Value Profile N/A PersonalJava PersonalJava Application Environment PersonalJava Java 2 Connected Limited J2ME Connected, Limited Device platform, Micro Device Configuration; Connected Limited Device CLDC Edition (J2ME) Configuration Configuration 1.1 Java 2 Mobile Information Device Profile for the Mobile Information platform, Micro J2ME Platform; Mobile Information Device MIDP Device Profile Edition (J2ME) Profile 2.0 Java 2 platform, Micro PDA Profile PDA Profile for the J2ME Platform PDAP Edition (J2ME) Java 2 Connected Device platform, Micro J2ME Connected Device Configuration CDC Configuration Edition (J2ME) Java 2 platform, Micro Foundation Profile J2ME Foundation Profile FoundationProfile Edition (J2ME) Java 2 Personal Basis platform, Micro Personal Basis Profile Specification PersonalBasisProfile Profile Edition (J2ME) Java 2 platform, Micro Personal Profile Personal Profile Specification PersonalProfile Edition (J2ME) Java 2 J2SE Merlin Release Contents; J2SE 1.5 Standard N/A J2SE (Tiger) Release Contents Edition (J2SE) Java 2 Java 2 Platform, Enterprise Edition 1.3 Standard N/A Specification; Java 2 Platform, Enterprise J2EE Edition (J2SE) Edition 1.4 (J2EE 1.4) Specification

Las tablas, en general, contienen el nombre del atributo, su descripción, el tipo de datos y un ejemplo con valores posibles.