is xml http cellcube

54
Cellcube XML/HTTP Interface specification Release 3.6

Upload: ashujiit888

Post on 03-Mar-2015

435 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Is XML Http Cellcube

Cellcube XML/HTTP

Interface specification

Release 3.6

Page 2: Is XML Http Cellcube

Cellcube XML/HTTP: Interface specificationRelease 3.6Copyright © 2001, 2002, 2003, 2004, 2005, 2006 Cellicium

Abstract

This document specifies the XML file format and HTTP interface between Cellcube and external serviceproviders. It is intended as the main technical reference for implementers of USSD Browsing services.

Legal notice

Proprietary and confidential.

Page 3: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Cellcube XML/HTTP Page iii

Table of Contents1. Introduction ............................................................................................................................................... 1

1.1. GSM USSD ..................................................................................................................................... 11.2. Cellcube .......................................................................................................................................... 11.3. External Service Provider interface................................................................................................. 11.4. USSD Browsing versus WAP and WWW - Features....................................................................... 21.5. USSD Browsing versus WAP and WWW - Architecture ................................................................. 21.6. XML/HTTP example ........................................................................................................................ 31.7. Architecture ..................................................................................................................................... 4

1.7.1. Stand-alone Cellcube configuration..................................................................................... 51.7.2. Cellcube, HTTP module option, and HTTP servers ............................................................ 51.7.3. Cellcube, HTTP module option and third-party HTTP services........................................... 6

2. Compliance requirements ........................................................................................................................ 8

3. XML features ........................................................................................................................................... 10

3.1. Cellcube XML................................................................................................................................ 103.1.1. Multiple pages ................................................................................................................... 103.1.2. Content adaptation ............................................................................................................ 103.1.3. Examples........................................................................................................................... 10

3.2. Links.............................................................................................................................................. 113.3. Forms ............................................................................................................................................ 113.4. Includes......................................................................................................................................... 123.5. Volatile contents ............................................................................................................................ 133.6. Multiple languages ........................................................................................................................ 133.7. Server hang-up ............................................................................................................................. 143.8. Navigation labels ........................................................................................................................... 153.9. Link labels ..................................................................................................................................... 153.10. Navigation control........................................................................................................................ 163.11. Navigation shortcuts.................................................................................................................... 163.12. Forbid shortcuts .......................................................................................................................... 173.13. XML redirect................................................................................................................................ 183.14. Billing........................................................................................................................................... 183.15. Plugin functions and commands ................................................................................................. 19

3.15.1. Static Link ........................................................................................................................ 193.16. Dynamic content in Links ............................................................................................................ 21

3.16.1. Description....................................................................................................................... 213.16.2. Evaluation Format............................................................................................................ 213.16.3. Session Field ................................................................................................................... 223.16.4. Variable evaluation .......................................................................................................... 223.16.5. Plugin Filter...................................................................................................................... 23

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 4: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Cellcube XML/HTTP Page iv

4. HTTP interface features .......................................................................................................................... 24

4.1. Service code allocation ................................................................................................................. 244.2. URL input ...................................................................................................................................... 244.3. IP networking ................................................................................................................................ 254.4. HTTP............................................................................................................................................. 254.5. Quality of Service .......................................................................................................................... 264.6. HTTP errors .................................................................................................................................. 264.7. Error notification ............................................................................................................................ 274.8. HTTP-S ......................................................................................................................................... 284.9. Keep-Alive ..................................................................................................................................... 284.10. Cache-Control ............................................................................................................................. 284.11. HTTP cookies.............................................................................................................................. 304.12. User identity ................................................................................................................................ 304.13. Customer profile.......................................................................................................................... 314.14. Handset capabilities .................................................................................................................... 314.15. Variables...................................................................................................................................... 324.16. User location ............................................................................................................................... 32

A. Limitations .............................................................................................................................................. 34

B. DTD reference ......................................................................................................................................... 35

C. XML example .......................................................................................................................................... 40

References ................................................................................................................................................... 44

Glossary ...................................................................................................................................................... 45

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 5: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Cellcube XML/HTTP Page v

List of Tables1-1. USSD Browsing versus WAP and WWW - Features ............................................................................... 21-2. USSD Browsing versus WAP and WWW - Architecture.......................................................................... 22-1. XML requirements ................................................................................................................................... 82-2. HTTP requirements ................................................................................................................................. 94-1. User identity........................................................................................................................................... 304-2. Customer profile .................................................................................................................................... 314-3. Handset capabilities .............................................................................................................................. 314-4. Handset capabilities .............................................................................................................................. 32A-1. Limitations ............................................................................................................................................. 34B-1. pages attributes..................................................................................................................................... 37B-2. page attributes....................................................................................................................................... 37B-3. a attributes............................................................................................................................................. 38B-4. form attributes....................................................................................................................................... 38B-5. entry attributes..................................................................................................................................... 38B-6. include attributes................................................................................................................................. 39B-7. subst attributes..................................................................................................................................... 39B-8. redirect attributes ............................................................................................................................... 39B-9. l attributes............................................................................................................................................. 39

List of Figures1-1. Standalone architecture........................................................................................................................... 51-2. Gateway architecture ............................................................................................................................... 51-3. Open gateway architecture ...................................................................................................................... 63-1. Plugin function synopsis ........................................................................................................................ 193-2. Plugin command synopsis..................................................................................................................... 20B-1. Cellcube XML DTD version 1.1 ............................................................................................................. 35

List of Examples1-1. XML/HTTP overview................................................................................................................................ 33-1. URLs...................................................................................................................................................... 103-2. Links ...................................................................................................................................................... 113-3. Form ...................................................................................................................................................... 123-4. Include ................................................................................................................................................... 123-5. Language............................................................................................................................................... 143-6. Server hang-up...................................................................................................................................... 143-7. Navigation labels ................................................................................................................................... 153-8. Link label ............................................................................................................................................... 153-9. Shortcut ................................................................................................................................................. 16

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 6: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Cellcube XML/HTTP Page vi

3-10. Forbid shortcut..................................................................................................................................... 173-11. XML redirect ........................................................................................................................................ 183-12. Billing ................................................................................................................................................... 183-13. Plugin command.................................................................................................................................. 203-14. Plugin command, function and substitution ......................................................................................... 203-15. plugin call with dynamic argument: session field evaluation................................................................ 223-16. plugin call with dynamic arguments: session field evaluation.............................................................. 234-1. Direct access to ESP URL..................................................................................................................... 244-2. Indirect access to ESP URL .................................................................................................................. 244-3. URL input form ...................................................................................................................................... 244-4. HTTP transaction................................................................................................................................... 254-5. HTTP status........................................................................................................................................... 264-6. Error notification .................................................................................................................................... 274-7. Cache-Control: ...................................................................................................................................... 294-8. Cookie: .................................................................................................................................................. 304-9. User-Identity .......................................................................................................................................... 304-10. Customer profile .................................................................................................................................. 314-11. Handset capabilities ............................................................................................................................ 324-12. Variable................................................................................................................................................ 324-13. Handset capabilities ............................................................................................................................ 33C-1. XML example ........................................................................................................................................ 40

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 7: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 1. Introduction Page 1

Chapter 1. Introduction

1.1. GSM USSDSpecifies a transparent bearer between mobile stations and service platforms through the GSM network.

USSD was originally intended to allow operators to offer specific services (i.e. outside the scope of GSMspecifications) to their mobile subscribers. USSD is typically invoked when a user dials a number whichmatches [*#]([*#])([*#])1[0-9]([0-9])(*...)# , for example #100# or *#100*1234# . USSDmessages are similar to SMS messages, but may contain up to 182 characters, and are typicallytransmitted 7 times faster.

• Phase 1: USSD sessions consist of one request followed by one reply.

• Phase 2: USSD sessions consist of an initial request followed by an arbitrary number of interactions.Sessions may also be initiated by the network rather than by the user.

• Phase 2+: USSD messages carry extended routing information for use with SIM-specific or TE-specificservices.

1.2. CellcubeUSSD Browsing services are implemented in Cellcube, a hardware and software service platform managedby GSM operators and connected to GSM networks, provisioning databases and prepaid/postpaid billingsystems.

USSD Browsing services are described in XML-formatted files containing menus, redirections andhyper-links to other files and directories. Thanks to this open XML format, Cellcube can provide a consistent,service-independent presentation layer for navigating through menus, filling forms, consulting help, etc. Withan optional XML/HTTP module, Cellcube also supports links to remote HTTP servers. This allows Cellcubeto act as an intelligent gateway between GSM networks and external service providers (ESPs).

1.3. External Service Provider interfaceCellcube’s optional XML/HTTP module allows external service providers (ESPs) to offer USSD serviceswith minimal cost and complexity, leveraging on existing WAP and WWW infrastructures.

Essentially, Cellcube handles all USSD-specific issues and presents a consistent, homogeneous userinterface to the user. Cellcube sends HTTP GET/PUT/POST requests to external service providers onbehalf of the mobile user, exactly like a web browser. ESPs are expected to reply with XML-encoded pages,using any off-the-shelf HTTP server and XML authoring software.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 8: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 1. Introduction Page 2

Since Cellcube is tightly integrated with the operator’s GSM network and billing system, it can be configuredto: 1

• Provide user information to external service providers (user identity, commercial profile, preferences)

• Provide location information to external service providers

• Handle billing on behalf of external service providers

• Send SMS messages on behalf of external service providers

• Establish voice calls between users and call centers.

1.4. USSD Browsing versus WAP and WWW - Features

Table 1-1. USSD Browsing versus WAP and WWW - Features

Features USSD Browsing WAP over CSD WWW

Message length(characters)

Up to 182a Unlimited

Hyper-links Yes Yes Yes

Forms Yes Yes Yes

Images No Yes Yes

Notes:a. Depending on networks and handset capabilities

1.5. USSD Browsing versus WAP and WWW - Architecture

Table 1-2. USSD Browsing versus WAP and WWW - Architecture

Functions USSD Browsing WAP over CSD WWW

Display Phone screen Phone screen Browser

Input Phone MMI Phone MMI Keyboard/mouse

Bearer 1 GSM MAP USSD - -

Navigation context Cellcube Phone firmware WWW browser

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 9: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 1. Introduction Page 3

Functions USSD Browsing WAP over CSD WWW

Cookies Cellcube - WWW browser

Bookmarks Cellcube Phone firmware WWW browser

Cache Cellcube Phone firmware WWW browser

Bearer 2 - GSM CSD -

Billing (duration-based) Cellcube GSM network -

XML/WML/HTMLdecoding

Cellcube WAP GW WWW browser

Bearer 3 - HTTP/TCP/IP HTTP/TCP/IP

Billing(content-based) Cellcube Service provider Service provider

Provisioning Cellcube Service provider Service provider

Service preferences Cellcube Service provider Service provider

Location information Cellcube - -

Send SMS/MMS/EMS Cellcube - -

Bearer 4 HTTP/TCP/IP - -

Contents Service provider Service provider Service provider

1.6. XML/HTTP exampleExample 1-1 shows how Cellcube interacts with mobile users on the one hand, and service providers on theother hand.

Note: For clarity, HTTP headers, XML prologues and some XML elements are not shown in some of theexamples in this document. See Example 4-4 for details.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 10: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 1. Introduction Page 4

Example 1-1. XML/HTTP overview

Handset Cellcube ESP

#100# [SEND]#100# GET / HTTP/1.0

<page>Welcome to news.com<a href="weather.xml">Weather</a><a href="sport.xml">Sport</a>

</page>

Welcome to news.com1:Weather2:Sport

2 [SEND]2 GET /sport.xml HTTP/1.0

<page>Sport<a href="soccer.xml">Soccer</a><a href="sailing.xml">Sailing</a>

</page>

Sport1:Soccer2:Sailing

1 [SEND]1 GET /soccer.xml HTTP/1.0

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 11: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 1. Introduction Page 5

1.7. Architecture

1.7.1. Stand-alone Cellcube configuration

Figure 1-1. Standalone architecture

Cellcube

XML XML authoringFile transfer

(batch)

Local files

Other operator platforms(provisioning, prepaid, ...)

environment

GSM network

In the configuration of Figure 1-1, Cellcube retrieves XML documents from the local filesystem. Documentsmust comply with the requirements described in this specification, but can be authored with any XML editingsoftware or even with a text editor.

Even though these documents are static files, they may contain invocations of Cellcube’s plugin functionsand commands. This makes it possible to implement complex dynamic services by combining genericbuilding blocks.

1.7.2. Cellcube, HTTP module option, and HTTP servers

Figure 1-2. Gateway architecture

XML

XML

Cellcube

Other operator platforms

XML/HTTP

HTTP servers

GSM network

Local files

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 12: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 1. Introduction Page 6

In the configuration of Figure 1-2, some services are implemented in HTTP servers managed by theoperator. Cellcube retrieves Cellcube-compliant XML documents from these servers with HTTP requests inreal-time. Any HTTP server product may be used as long as it complies with the Cellcube Interface andHTTP requirements described in this specification. Cellcube-compliant XML documents may be generatedfrom existing data sources and applications with off-the-shelf XML tools such as XSL translators.

With this architecture, developing USSD Browsing services is very similar to developing WWW or WAPservices. Cellcube aims to provide all the functionality that is required to bridge the gap between USSD andlegacy WAP and WWW infrastructures:

• character set translation

• page splitting

• workarounds for known handset limitations

• navigation context and menu management

• cookies

• language preferences

• bookmarks

• interfaces with SMS-Centers, provisioning databases, billing systems.

1.7.3. Cellcube, HTTP module option and third-party HTTP services

Figure 1-3. Open gateway architecture

XML

Cellcube

Other operator platforms

GSM network

HTTP servers

HTTP servers

Local files

Local

Remote

InternetFirewallsDMZ, ...

In the configuration of Figure 1-3, Cellcube routes specific USSD service codes or menu items to HTTPservers operated by third parties. The operator manages privacy and security authorizations such as which

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 13: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 1. Introduction Page 7

servers need to know about the users’ identity and location, which servers are allowed to invoke privilegedplugin functions and commands, etc.

Notes1. Actual functionality depends on the level of integration with the GSM network.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 14: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 2. Compliance requirements Page 8

Chapter 2. Compliance requirementsTable 2-1 and Table 2-2 list mandatory and optional features of the interface between Cellcube and ESPs.Features are described in Chapter 3 and Chapter 4.

• "Cellcube Mandatory" means that a feature is always implemented and available for all ESPs.

• "Cellcube Optional" means that either:

• The feature is an optional functionality of Cellcube and must be specifically licensed by the operator, or

• The feature is provided for reference and will be available in future releases of the product, or

• The feature must be explicitly authorized by the operator. Authorization may be ESP-specific oruser-specific (e.g. depending on privacy preferences).

In both cases, ESPs should contact the operator in order to know which optional features are available.

• "ESP Mandatory" means that the ESP must support the feature in order to offer USSD Browsing services.

• "ESP Optional" means that the ESP is not required to support the feature.

Please contact Cellicium for up-to-date information about feature availability and release schedules.

Table 2-1. XML requirements

Feature Roadmap Cellcube ESP Summary

Cellcube XML v1 M M Format of ESP replies

HTML support O O HTML instead of XML (for simple services)

Hyper-links v1 M O Basic USSD Browsing navigation feature

Forms v1 M O Text input

Includes v1 M O Inclusion of pages

Volatile contents v1 M O Force refreshing of data

Multiple languages v1 M O Multi-language documents

Server hang-up v1 M O Allows the ESP to terminate a session

Navigation labels v1 M O Allows the ESP to change the menu/backlabels.

Link labels v1 M O Allows the ESP to change link labels.

Navigation control v1 M O Allows the ESP to control navigation

Navigation shortcuts v1 M O Allows the user to skip pages

Forbid shortcuts v1 M O Prevents the user from skipping specificpages

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 15: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 2. Compliance requirements Page 9

Feature Roadmap Cellcube ESP Summary

XML redirect v1 M O Redirection with XML elements

Billing O O Allows a service to specify billing rates.

Plugin functions andcommands

v1 O O Building-blocks for complex services.

Table 2-2. HTTP requirements

Feature Avail Cellcube ESP Summary

Service codeallocation

v1 M - Mapping of USSD calls to URLs

URL input O - Allows the user to input a URL

IP networking v1 M M Connection between Cellcube and ESPs

HTTP v1 M M Basic transport mechanism

QoS requirements v1 M M HTTP response time

HTTP errors v1 M O Allows the ESP to reject a request.

Error notification v1 M O Allows Cellcube to reject replies from the ESP

HTTP-S O O Encrypted connections

Keep-Alive O O Persistent HTTP connections

Cache-Control O O Controls caching of ESP pages by Cellcube

HTTP cookies v1 O O Allows the ESP to store cookies in Cellcube

User identity O O Provides the ESP with user information

Customer profile O O Provides the ESP with user information

Handset capabilities O O Provides the ESP with user information

User location O O Provides the ESP with user information

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 16: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 10

Chapter 3. XML features

3.1. Cellcube XMLThis paragraph describes only basic features. Other features are specified in the Cellcube DTD (see FigureB-1) and in subsequent sections. Note that the XML prologues and enclosing pages element aremandatory. However, for clarity, they are omitted in some of the examples below.

3.1.1. Multiple pagesEach XML document may contain multiple pages identified by tags, e.g. index.xml#page1 ,index.xml#page2 . Tags must be unique within a XML document.

3.1.2. Content adaptationNote that Cellcube may modify XML contents as follows before presenting it to the user:

• Text that does not fit in a single USSD message will be split into multiple messages. Links will be addedautomatically so that the user can navigate between fragments. The length of fragments may depend onGSM networks and handset capabilities.

• Link labels may be formatted in various ways depending on the capabilities of the handset.

• Links may be added for navigation commands, e.g. Back , Menu.

• Characters which are not supported by the user’s handset may be translated, e.g. ’é’ would be replacedwith ’e’.

• Consecutive whitespace characters may be replaced with a single space character.

• Carriage-returns may be inserted automatically between links.

3.1.3. Examples

Example 3-1. URLs

<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE pages SYSTEM "cellflash-1.1.dtd"><pages descr="News">

<page>Headlines<br/><a href="#item1">Interest rates cut</a><br/><a href="#item2">Concorde resumes service</a><br/>

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 17: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 11

</page><page tag="item1">

WASHINGTON-In a much anticipated move, the Federal Reserveannounced new rate cuts amid growing economic concerns.<br/><a href="#item2">Next article</a>

</page><page tag="item2">

PARIS-Air France resumed its Concorde service Monday.The plane had been grounded following a tragic accident.

</page></pages>

Assuming the file in Example 3-1 is served from http://www.news.com/business.xml , URLs will beinterpreted as follows:

• http://www.news.com/business.xml will display only the headlines.

• http://www.news.com/business.xml# is the same as http://www.news.com/business.xml .

• http://www.news.com/business.xml#item1 will display the first article and a link to the second article.

• http://www.news.com/business.xml#item2 will display only the second news article.

3.2. LinksLinks in Cellcube XML pages are similar to HTML links. Cellcube will automatically display pages withhyper-links as menus with numbered items. URLs may be relative, i.e. the server address, absolute path, orfile name may be omitted.

Example 3-2. Links

<a href="http://www.myservice.com:8080/path/to/file.xml">Remote link</a><a href="/path/to/file.xml">Absolute local link</a><a href="otherfile.xml">Relative local link</a><a href="#otherpage">Relative local link (same file)</a><a href="#">Back to the main page</a>

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 18: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 12

3.3. FormsCellcube supports simple input with XML elements similar to HTML forms. The contents of the form will besent with a HTTP GET (default). Alternatively, method="POST" can be specified in the XML form element.

Example 3-3. Form

Handset Cellcube ESP

- - -

<page>Weather service.<form action="/cgi/weather"><entry kind="digits" var="zip"><prompt>ZIP code ?</prompt>

</entry></form>

</page>Weather service.ZIP code ?

75000 [SEND]75000 GET /cgi/weather?zip=75000 HTTP/1.0

3.4. IncludesCellcube pages may include the contents of other pages. Note that Cellcube may limit the number ofincludes in order to avoid infinite loops.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 19: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 13

Example 3-4. Include

Handset Cellcube ESP

#100# [SEND]#100# GET /markets.xml HTTP/1.0

<page>Select a marketplace<a href="ny.xml">New York</a><include src="europe.xml"/>

</page>

GET /europe.xml HTTP/1.0

<page><a href="paris.xml">Paris</a><a href="london.xml">London</a>

</page>

Select a marketplace1:New York2:Paris3:London

3.5. Volatile contentsCellcube may resend stored copies of previously-formatted USSD messages in several situations:

• The mobile user selects an invalid menu item. Cellcube replies with an informational error message. Theuser invokes Back to return to the menu.

• The mobile user invokes a system command (bookmarks, bill inquiry, ...). Cellcube replies with a systemmessage. The user invokes Back to return to the service page.

• The mobile user hangs up or is temporarily disconnected by the network. The user reconnects within thesession recovery delay (typically 2 minutes). Navigation resumes at the page where the session wasinterrupted.

This behavior can be disabled by setting the attribute volatile="true" in XML page elements.

3.6. Multiple languagesCellcube pages may contain text in multiple languages. Cellcube will display the appropriate language

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 20: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 14

according to the preferences of each mobile user.

The lang element defines a section with alternative languages. Each alternative is enclosed in a <l>

element labeled with a ISO-639 language code. For convenience, <da> , <de> , <el> , <en> , <es> , <fi> ,<fr> , <it> , <nl> , <pt> , <sv> , can be used in place of <l code="da"> , <l code="de"> , ...

Example 3-5. Language

Handset Cellcube ESP

- - -

<page><lang><fr>La météo de la semaine</fr><en>This week’s weather</en><l code="de">Wetter Woche</de>

</lang></page>

read language preferences

This week’s weather

3.7. Server hang-upESPs may terminate a USSD session by setting the attribute nav="end" in a page element.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 21: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 15

Example 3-6. Server hang-up

Handset Cellcube ESP

- - -

<page nav="end">Thank you for using news.com !

</page>Thank you for usingnews.com !

close

close

3.8. Navigation labelsCellcube normally appends navigation commands at the bottom of pages sent to the user, for example0:menu 00:back . The link labels are configured by the operator and automatically localized according tothe preferred language of the mobile user. In addition, the labels can be overridden in individual XML pageswith the menutext and backtext attributes in XML page elements.

Example 3-7. Navigation labels

<page backtext="Back to news">End of article</page><page backtext="notext" menutext="notext">Hidden navigation commands</page>

3.9. Link labelsCellcube normally enumerates links automatically. This behavior can be overridden with the key attribute inXML a elements.

Example 3-8. Link label

<a href="home.xml" key="9">Home</a>

Note that the use of complex alphanumeric labels might prevent Cellcube from adapting contents andnavigation for phase 1 handsets.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 22: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 16

3.10. Navigation controlThe mobile user can send special keywords that Cellcube will process internally as navigation commands:

• Back : returns to the previous page

• Menu: returns to the latest menu

• Home: returns to the first page of the session

• Bookmark : add a bookmark for the current service.

ESPs can alter the behavior of these commands with the hist and ismenu attributes in XML page

elements:

• hist="donthist" causes the page to be skipped when the user invokes Back .

• hist="dohist" selects which page in a sequence of redirections will be used when the user invokesBack .

• hist="bookmark" specifies which pages can be recorded as bookmarks. This implies "dohist" .

• ismenu="true" marks the page as a possible target for the Menu command.

3.11. Navigation shortcutsCellcube allows users to navigate through several menus with shortcuts. For instance, if the user sends 1*3 ,Cellcube will navigate through item 1, then through item 3 of the resulting page.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 23: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 17

Example 3-9. Shortcut

Handset Cellcube ESP

#100*2# [SEND]#100*2# GET / HTTP/1.0

<page>Welcome to news.com<a href="weather.xml">Weather</a><a href="sport.xml">Sport</a>

</page>

shortcut used GET /sport.xml HTTP/1.0

<page>Sport<a href="soccer.xml">Soccer</a><a href="sailing.xml">Sailing</a>

</page>

Sport1:Soccer2:Sailing

3.12. Forbid shortcutsSometimes it is desirable to forbid the user from using shortcut to skip a page. This can be achieved bysetting the attribute nav="stop" in XML page elements.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 24: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 18

Example 3-10. Forbid shortcut

Handset Cellcube ESP

- - -

<page>Select a product<a href="/order?p=1">Product1</a><a href="/order?p=2">Product2</a>

</page>

Select a product1:Product12:Product2

2*1 [SEND]2*1 GET /order?p=2 HTTP/1.0

<page nav="stop">Please confirm !<a href="accept.xml">Accept</a><a href="cancel.xml">Cancel</a>

</page>

discard ”1”

Please confirm !1:Accept2:Cancel

3.13. XML redirectCellcube interprets pages containing a single XML redirect element as redirections to another URL. Notethat Cellcube may limit the number of redirections in order to avoid loops.

Example 3-11. XML redirect

<page><redirect src="menu.xml"/>

</page>

3.14. BillingCellcube may bill services to the user’s mobile subscription account on behalf of ESPs. This is achievedwith cost attribute in XML page elements. The value of this attribute refers to pre-configured tariff plans andbilling procedures which must be customized for each billing environment.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 25: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 19

Example 3-12. Billing

<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE pages SYSTEM "cellflash-1.1.dtd"><pages descr="News"">

<page>Headlines<br/><a href="#item1">Interest rates cut</a><br/><a href="#item2">Concorde resumes service</a><br/>

</page><page tag="item1" cost="sec002>

WASHINGTON-In a much anticipated move, the Federal Reserveannounced new rate cuts amid growing economic concerns.<br/><a href="#item2">Next article</a>

</page><page tag="item2 cost="sec002">

PARIS-Air France resumed its Concorde service Monday.The plane had been grounded following a tragic accident.

</page></pages>

3.15. Plugin functions and commands

3.15.1. Static LinkLinks in XML pages may refer to special URLS formatted aserl://MODULE:FUNCTION?ARGUMENT1&ARGUMENT2... .

These links trigger the execution of functions and commands which are executed with minimal overheadinside the Cellcube application. They are typically used to customize the home-page of a service dependingon the user identity, subscription options, location, handset, etc.

Functions and commands are provided by plugin modules. See [FS_CELLCUBE_STDPLUGINS] for adescription of standard plugins. Operator-specific plugin modules can be developed in order to supportproprietary billing systems, provisioning interfaces, etc.

Figure 3-1 and Figure 3-2 illustrate the difference between functions and commands. Plugin functionsgenerate a XML stream that will be included into the invoking page.

See #pre in Example 3-14. Plugin commands either generate a complete page or redirect the session to anew URL. See #home in Example 3-13. When a plugin command redirects to another page, it mayinstantiate subst elements in that page. See #post in Example 3-14.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 26: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 20

Figure 3-1. Plugin function synopsis

erl://MOD:NAME

<include src="erl://MOD:NAME"/></page>

<page>

Figure 3-2. Plugin command synopsis

erl://MOD:NAME

<page> <subst.../></page>

<page> <redirect src="erl://MOD:NAME"/></page>

Example 3-13. Plugin command

<pages><page tag="send">

<redirect src="erl://svc_util:send_sms_ext?url=#sms,ok=#success,nok=#failure"/></page><page tag="sms">

Your password is: 1234.</page><page tag="success">

Your password has been sent to you in a SMS.<br/>Please save it for future use.

</page><page tag="failure">

An error occurred while sending the SMS. Please try again later.</page>

</pages>

Example 3-14. Plugin command, function and substitution

<pages>

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 27: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 21

<page tag="home"><redirect src="erl://svc_util:subscr?prepaid=#pre,postpaid=#post"/>

</page><page tag="pre">

Your credit is: <include src="erl://svc_prepaid:credit"/><br/><a href="#reload">Reload</a><a href="#main">Main menu</a>

</page><page tag="post">

Your current bill is <subst name="BILL"/><br/><a href="#main">Main menu</a>

</page></pages>

3.16. Dynamic content in Links

3.16.1. DescriptionLinks in XML pages may refer to special URLS formatted asdynerl://MODULE:FUNCTION?ARGUMENT1&ARGUMENT2... .

This type of URL is reserved to local file, for security reasons, XML/HTTP interfaces cannot use this format.

This link differs for previous one because all arguments are evaluated before the actual execution of thecalled function.

Each argument can be dynamic and is composed of string and/or variable evaluation.

Two types of evaluation are available:

• Session Field $(imsi)

• Session variable $(svc.name)

3.16.2. Evaluation FormatThe format used four reserved characters:

• Evaluation Request: $

• Evaluation Begin: (

• Evaluation End: )

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 28: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 22

• Argument Separator for Evaluation: .

Note: to prevent these characters from being interpreted, you will need to escape them inside evaluationstring: ’$’ must be written ’\\$’, and ’(’ must be written ’\\(.’

3.16.3. Session FieldTo have a session field replaced by its value in a link, simply use $(field_name) .

Session Fields available are:

• ussd_code

• subscription

• language

• bearer

• anonymous

• vlr

• msisdn

• imsi

• imei

• ussdsize

• end_ussdsize

Example 3-15. plugin call with dynamic argument: session field evaluation

An User’s USSD session has these characteristics.

• imsi: 208990099991234

• msisdn: +33699991234

• vlr: +33900001234

This link dynerl://svc_test:print?$(imsi),$(msisdn)&$(vlr)... , will eventually call the functionsvc_test:print with two args ’208990099991234,+33699991234’ and ’+33900001234’.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 29: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 3. XML features Page 23

3.16.4. Variable evaluationSome variable are available during the USSD session’s lifetime. svc_variable plugins, see[FS_CELLCUBE_STDPLUGINS] for more information, allow to stored (use and retrieve) variables during asession.

Each variable is defined by a service name and a variable name.

To have a variable replace by its value in a link, simply use $(svc_name.var_name) .

Example 3-16. plugin call with dynamic arguments: session field evaluation

During a USSD session some variables are set :

• (public,var)="1"

• (public,var2)="value2"

• (test,var)="test_ok"

This link dynerl://svc_test:print?$(public.var),$(test.var)&$(public.var2)... , will eventuallycall the function svc_test:print with two args ’1,test_ok’ and ’value2’.

3.16.5. Plugin FilterBy default, ESP have access to all the plugins , except licensed plugins

If necessary , The Operator can configure for each ESP a list of authorized plugin

When a ESP tries to use an unauthorized plugin:

• an event {failure, session_navigation, xmlhttp_unauthorized_plugin} is generated

• an error message is sent to the User (see parameter pserver::xmlhttp_failed_url in[MAN_CELLCUBE_SW] ).

• if set, an HTTP notification is sent to the ESP

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 30: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 4. HTTP interface features Page 24

Chapter 4. HTTP interface features

4.1. Service code allocationUsers may access external USSD Browsing services either by dialing a direct USSD code (e.g. #100# ) orafter navigating through menus defined by the operator. In both cases, the ESP must provide the operatorwith the base URL of the service, and the operator must configure Cellcube to associate it with either aUSSD service code or a menu item.

Example 4-1. Direct access to ESP URL

Cellcube can be configured to delegate a complete service code to an ESP:

Service code URL

#100 http://www.news.com/

**#100 http://www.weather.com/tomorrow.xml

Example 4-2. Indirect access to ESP URL

Cellcube can be configured to handle the toplevel menu of a service code and delegate branches to ESPs:

Service code URL

#100 file:/main_menu.xml

<!-- main_menu.xml --><page>

Main menu<a href="http://www.news.com/">News</a><a href="http://www.weather.com/tomorrow.xml">Weather</a>

</page>

4.2. URL inputAs an alternative to static addressing, plugins could be used to let the user enter arbitrary URLs.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 31: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 4. HTTP interface features Page 25

Example 4-3. URL input form

Service code URL

#100 file:/url_input.xml

<!-- url_input.xml --><page>

<form action="erl://svc_url_input:resolve?http://www.homepages.com/users/"><entry kind="alpha" var="link">

<prompt>Enter a URL</prompt></entry>

</form></page>

4.3. IP networkingThe network connection between Cellcube and ESPs must be over IPv4, either through a privateconnection, or through the Internet. For "Pull" services, connections will always be initiated by Cellcube.

4.4. HTTPESPs must expect HTTP 1.0 and 1.1 GET, HEAD and POST requests from Cellcube.

Cellcube POST requests:

• The Content-Type is application/x-www-form-urlencoded

• The charset is us-ascii or utf-8 or a variant of iso-8859

• The HTTP Content-Transfer-Encoding is 7bit or 8bit .

ESP replies;

• The HTTP Content-Type must be text/xml

• The body must be strictly compliant with the Cellcube DTD (see Appendix B)

• The charset must be us-ascii or iso-8859-1 or utf-8

• The HTTP Content-Transfer-Encoding must be 7bit or 8bit or chunked .

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 32: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 4. HTTP interface features Page 26

Example 4-4. HTTP transaction

GET /index.xml HTTP/1.0User-MSISDN: 33699991234

HTTP/1.0 200 OKContent-Type: text/xml; charset=iso-8859-1

<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE pages SYSTEM "cellflash-1.1.dtd"><pages descr="News">

<page>Headlines<br/><a href="#item1">Interest rates cut</a><br/><a href="#item2">Concorde resumes service</a><br/>

</page><page tag="item1">

WASHINGTON-In a much anticipated move, the Federal Reserveannounced new rate cuts amid growing economic concerns.<br/><a href="#item2">Next article</a>

</page><page tag="item2">

PARIS-Air France resumed its Concorde service Monday.The plane had been grounded following a tragic accident.

</page></pages>

4.5. Quality of ServiceIn case Cellcube does not receive a reply from an ESP within a configurable response time, it will send aconfigurable error message to the user. The timeout value is typically 5 seconds. In case the ESP needsmore time to process some requests, it can send intermediate pages to the user.

4.6. HTTP errorsESPs may reject requests by returning standard HTTP error codes. In this case, Cellcube will inform theuser with a configurable error message.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 33: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 4. HTTP interface features Page 27

Example 4-5. HTTP status

Handset Cellcube ESP

- - - GET /news.xml HTTP/1.0

HTTP/1.0 404 Not found

An error occurred. Wewill be investigating itshortly. Please tryagain later.

close

close

4.7. Error notificationIn case the data returned by the ESP is invalid, Cellcube will inform the user with a pre-defined messageconfigured by the operator. In addition, Cellcube may send a human-readable error message to the ESPwith a special HTTP request. The default HTTP request for error notification is POST

/cgi-bin/cellcube_reject HTTP/1.0 . ESPs should log and investigate messages posted to this URL.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 34: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 4. HTTP interface features Page 28

Example 4-6. Error notification

Handset Cellcube ESP

- - -

<page>Welcome to news.com<a href="weather.xml">Weather</a><a href="sport.xml">Sport</a>

parsing fails

An error occurred. Wewill be investigating itshortly. Please tryagain later.

close

POST /cgi-bin/reject HTTP/1.0

close

4.8. HTTP-SHTTP-S may be used as an alternative to HTTP in order to authenticate the ESP. Depending on the securityrequirements of the service, the ESP should configure its HTTP server so that it requires SSL clientauthentication.

4.9. Keep-AliveThe HTTP header field Connection: Keep-Alive can be used to negotiate that a single TCP connectionwill be used to transport multiple requests and responses. This improves HTTP throughput.

Notes:

• Cellcube may send requests from several users on a single TCP connection. This is different from thebehavior of single-user Web browsers.

• Cellcube may load-balance requests from the same USSD session over multiple HTTP connections.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 35: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 4. HTTP interface features Page 29

4.10. Cache-ControlCellcube may use HTTP Cache-Control: header fields in order to reduce network traffic.

The ESP should use Cache-Control: private for user-dependent data, and Cache-Control: public

otherwise. Validity of the cached pages is one hour for public cache, and equal to the session duration forprivate cache.

Cellcube can also force the use of one of those cache types. See [MAN_CELLCUBE_SW] parameterpserver::xmlhttp_hosts.

A page will be searched for in the following order until found:

• public cache,

• private cache,

• requested to the ESP.

Example 4-7. Cache-Control:

Handset Cellcube ESP

#100# [SEND]#100# GET /index.xml HTTP/1.0

Cache-Control: public

<pages><page>Welcome to news.com<a href="\#sport">Sport</a>

</page><page tag="sport">Sport<a href="soccer.xml">Soccer</a><a href="sailing.xml">Sailing</a>

</page></pages>

Welcome to news.com1:Sport

1 [SEND]1

index.xml#sport found in cache

Sport1:Soccer2:Sailing

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 36: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 4. HTTP interface features Page 30

4.11. HTTP cookiesCellcube can store WWW-style cookies sent by the ESP, and send them back to the ESP when the userreturns to the service. This allows ESPs to implement personalized services without managing a userdatabase of their own. Note that Cellcube will restrict the number, size, lifetime and scope of cookies.Restrictions may be service-specific (configured by the operator) or user-specific (privacy preferences).

Example 4-8. Cookie:

Handset Cellcube ESP

- - - GET /login?user=XXX&password=YYY

HTTP/1.0 200 OKSet-Cookie: session=12345; path=/

<page>Login successful.<a href="continue.xml">Continue</a>

</page>Login successful.1:Continue

1 [SEND]1 GET /continue.xml HTTP/1.0

Cookie: session=12345

4.12. User identityCellcube can provide ESPs with information about the identity of the user with zero or more of the HTTPheader fields in Table 4-1.

Table 4-1. User identity

Name Value

User-Identity Generic address with a Type of Number (ToN),Numbering Plan Indicator (NPI) and address digits.

User-UID Internal user ID.

User-MSISDN E164 address.

User-IMSI E212 address.

User-Language Preferred language code.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 37: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 4. HTTP interface features Page 31

Example 4-9. User-Identity

User-Language: enUser-UID: 90001234User-MSISDN: 33699991234User-IMSI: 208990099991234User-Identity: ton=international;npi=isdn;address=33699991234User-Identity: ton=subscriber-number;npi=private;address=208990099991234

4.13. Customer profileCellcube can provide ESPs with information about the service subscription of the user with zero or more ofthe HTTP header fields in Table 4-2.

Table 4-2. Customer profile

Name Contents

User-Subscription From the user database. Operator-specific format.

Example 4-10. Customer profile

User-Subscription: prepaid

4.14. Handset capabilitiesCellcube can provide ESPs with information about the capabilities of the user’s handset, if they are known,with zero or more of the HTTP header fields in Table 4-3.

Note: Cellcube will automatically split long XML pages, translate unsupported characters, adapt contents forphase 1 handsets, etc. Therefore ESPs normally do not need to care about handset capabilities.

Table 4-3. Handset capabilities

Name Contents

Handset-Phase 1 or 2

Handset-Input alphanum or num or alpha

Handset-MaxSize Integer

Handset-TAC Digits 1-6 of the IMEI.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 38: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 4. HTTP interface features Page 32

Name Contents

Handset-FAC Digits 7-8 of the IMEI.

Handset-SNR Digits 9-14 of the IMEI.

Handset-IMEI IMEI.

Example 4-11. Handset capabilities

Handset-Phase: 2Handset-Input: alphanumHandset-MaxSize: 182Handset-TAC: 12346Handset-FAC: 12Handset-SNR: 12346Handset-IMEI: 1234612123456

4.15. VariablesCellcube can provide ESPs with information about variables stored during the USSD session.

These variables is stored thanks svc_variable plugins see [FS_CELLCUBE_STDPLUGINS] for moreinformation.

Each variable is defined by a service name and a variable name. For each ESP a list of authorized servicename can be defined.

Example 4-12. Variable

If during USSD session, two variables are defined (public,var)=’3’ and (private,var)=’4’.

ESPs ,which its configuration authorize to receive public variables, will receive inside Header or Cookie:’public-var: 3’.

4.16. User locationCellcube can provide ESPs with information about the location of the user, if it is known, with zero or moreof the HTTP header fields in Table 4-4. Note that availability of this information generally requires specificintegration with the network and custom interfaces.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 39: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Chapter 4. HTTP interface features Page 33

Table 4-4. Handset capabilities

Name Contents

Loc-VLR VLR number (E164)

Loc-Lat Latitude (decimal degrees, positive north)

Loc-Lon Longitude (decimal degrees, positive east)

Loc-Country Country code

Loc-City City name

Loc-ZIP ZIP code.

Example 4-13. Handset capabilities

Loc-VLR: 33999990001Loc-Lat: 48.8412Loc-Lon: 2.3217Loc-Country: frLoc-City: ParisLoc-ZIP: 75000

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 40: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Appendix A. Limitations Page 34

Appendix A. LimitationsTable A-1 lists the Absolute Maximum Value and Recommended Maximum Value for some parameters.Quality of service may be affected if these limitations are exceeded.

Table A-1. Limitations

Parameter Abs Max Rec Max Notes

XML document size 10 KB

Pages per XMLdocument

10

XML page size 1 KB

# of redirections permessage

10

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 41: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Appendix B. DTD reference Page 35

Appendix B. DTD referenceThis section describes the XML DTD. Note that XML elements not documented in this specification arereserved for future use and may be modified in new versions.

Figure B-1. Cellcube XML DTD version 1.1

<!ENTITY % pckw "#PCDATA|kw|br"><!ENTITY % citem "%pckw;|include|subst|lang"><!ENTITY % navig "%citem;|redirect|a|form|nbblock">

<!ELEMENT pages (page*)><!ATTLIST pages

expiration CDATA #IMPLIEDlifetime CDATA #IMPLIEDdescr CDATA #IMPLIED>

<!ELEMENT page (%navig;|help|title)*><!ATTLIST page

cost CDATA #IMPLIEDtag CDATA #IMPLIEDhist (default|donthist|dohist|bookmark) "default"volatile (true|false) "false"nav (default|end|stop) "default"backtext CDATA #IMPLIEDmenutext CDATA #IMPLIEDlog CDATA #IMPLIEDismenu (true|false) "false"descr CDATA #IMPLIED>

<!ELEMENT help (%citem;)*>

<!ELEMENT title (%citem;)*>

<!ELEMENT kw EMPTY><!ATTLIST kw

kw CDATA #REQUIRED>

<!ELEMENT lang (l|da|de|el|en|es|fi|fr|it|nl|pt|sv)*><!ELEMENT l (%pckw;)*><!ATTLIST l code CDATA #REQUIRED><!ELEMENT da (%pckw;)*><!ELEMENT de (%pckw;)*><!ELEMENT el (%pckw;)*><!ELEMENT en (%pckw;)*><!ELEMENT es (%pckw;)*><!ELEMENT fi (%pckw;)*><!ELEMENT fr (%pckw;)*>

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 42: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Appendix B. DTD reference Page 36

<!ELEMENT it (%pckw;)*><!ELEMENT nl (%pckw;)*><!ELEMENT pt (%pckw;)*><!ELEMENT sv (%pckw;)*>

<!ELEMENT a (%citem;|help)*><!ATTLIST a

cost CDATA #IMPLIEDhref CDATA #REQUIREDkey CDATA #IMPLIED>

<!ELEMENT form (entry|choice)*><!ATTLIST form

action CDATA #REQUIREDmethod (GET|POST) "GET"

keywords (default|disable|user_defined) "default"back CDATA #IMPLIEDmenu CDATA #IMPLIEDhome CDATA #IMPLIEDhelp CDATA #IMPLIEDsms CDATA #IMPLIEDbookmark CDATA #IMPLIEDprice CDATA #IMPLIEDreset_lang CDATA #IMPLIED>

<!ELEMENT entry (prompt,default?)><!ATTLIST entry

var CDATA #IMPLIEDpref CDATA #IMPLIEDwidth CDATA #IMPLIEDkind (alphanum|digits) "alphanum"type (text|password|ccnumber) "text">

<!ELEMENT prompt (%citem;)*><!ELEMENT default (%citem;)*>

<!ELEMENT choice (item)*><!ATTLIST choice

var CDATA #IMPLIEDdefault CDATA #IMPLIEDpref CDATA #IMPLIED>

<!ELEMENT item (%citem;)*><!ATTLIST item

code CDATA #REQUIRED>

<!ELEMENT include EMPTY><!ATTLIST include

src CDATA #REQUIRED>

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 43: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Appendix B. DTD reference Page 37

<!ELEMENT subst EMPTY><!ATTLIST subst

name CDATA #REQUIRED>

<!ELEMENT redirect EMPTY><!ATTLIST redirect

src CDATA #REQUIRED>

<!ELEMENT br EMPTY>

<!ELEMENT nbblock (%citem;|a|form)*>

Table B-1. pages attributes

Attribute Type Default Notes

descr String None Informational

expiration Reserved for future use

lifetime Reserved for future use

Table B-2. page attributes

Attribute Type Default Notes

cost String "" Section 3.14

tag String "" Section 3.1.1

hist defaultdonthistdohistbookmark

default Section 3.10

volatile truefalse

false Section 3.10

nav defaultendstop

default Section 3.7Section 3.12

backtext """notext"String

"" Section 3.8

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 44: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Appendix B. DTD reference Page 38

Attribute Type Default Notes

menutext """notext"String

"" Section 3.8

log String "" Reserved for future use

ismenu truefalse

false Section 3.10

descr String "" Informational

Table B-3. a attributes

Attribute Type Default Notes

cost String "" Reserved for future use

href String None Section 3.2

key String "" Section 3.9

Table B-4. form attributes

Attribute Type Default Notes

action String None Section 3.3

method GETPOST

GET Section 3.3

keywords Reserved for future use

back Reserved for future use

menu Reserved for future use

home Reserved for future use

help Reserved for future use

sms Reserved for future use

bookmark Reserved for future use

price Reserved for future use

reset_lang Reserved for future use

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 45: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Appendix B. DTD reference Page 39

Table B-5. entry attributes

Attribute Type Default Notes

var String "" Section 3.3

pref Reserved for future use

width Reserved for future use

kind alphanumdigits

alphanum Reserved for future use

type textpasswordccnumber>

text Reserved for future use

Table B-6. include attributes

Attribute Type Default Notes

src String None Section 3.4

Table B-7. subst attributes

Attribute Type Default Notes

name String None Section 3.15

Table B-8. redirect attributes

Attribute Type Default Notes

src String None Section 3.13

Table B-9. l attributes

Attribute Type Default Notes

code String None ISO-639 language code

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 46: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Appendix C. XML example Page 40

Appendix C. XML exampleThe XML file in Example C-1 is part of a test suite for navigation features.

Example C-1. XML example

<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE pages SYSTEM "cellflash.dtd">

<pages descr="Pages for testing platform navigation features">

<page hist="dohist"><title>Navigation</title>Navigation<br/><a href="#cutlink">Split links</a><br/><a href="#back">Back</a><br/><a href="#close">Close</a><br/><a href="#stop">Stop</a><br/><a href="#tags">Tags</a><br/><a href="#longlink">Long Link</a><br/>

</page>

<page tag="cutlink" hist="bookmark"><title>CutLinks</title><!-- The 6 links below will be split into 3+3 (for ussd1 and ussd2) --><a href="#cutlink01">Link 01........ ........ ...... ........</a><br/><a href="#cutlink02">Link 02........ ........ ...... ........</a><br/><a href="#cutlink03">Link 03........ ........ ...... ........</a><br/><a href="#cutlink04">Link 04........ ........ ...... ........</a><br/><a href="#cutlink05">Link 05........ ........ ...... ........</a><br/><a href="#cutlink06">Link 06........ ........ ...... ........</a><br/><a href="#cutlink07">Link 07........ ........ ...... ........</a><br/><a href="#cutlink08">Link 08........ ........ ...... ........</a><br/><a href="#cutlink09">Link 09........ ........ ...... ........</a><br/>

</page>

<page tag="cutlink01" hist="bookmark"><title>Page01</title>At page 01</page><page tag="cutlink02" hist="bookmark"><title>Page02</title>At page 02</page><page tag="cutlink03" hist="bookmark"><title>Page03</title>At page 03</page><page tag="cutlink04" hist="bookmark"><title>Page04</title>At page 04</page><page tag="cutlink05" hist="bookmark"><title>Page05</title>At page 05</page><page tag="cutlink06" hist="bookmark"><title>Page06</title>At page 06</page><page tag="cutlink07" hist="bookmark"><title>Page07</title>At page 07</page><page tag="cutlink08" hist="bookmark"><title>Page08</title>At page 08</page><page tag="cutlink09" hist="bookmark"><title>Page09</title>At page 09</page>

<page tag="back" hist="bookmark"><title>TestBack</title>

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 47: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Appendix C. XML example Page 41

<a href="#back1">default</a><br/><a href="#back2">dohist</a><br/><a href="#back3">donthist</a><br/><a href="#back4">bookmark</a><br/><a href="#back5">ismenu</a><br/>

</page>

<page tag="back1" hist=""><a href="#backend">From default</a>

</page><page tag="back2" hist="dohist">

<a href="#backend">From dohist</a></page><page tag="back3" hist="donthist">

<a href="#backend">From donthist</a></page><page tag="back4" hist="bookmark">

<title>Back4</title><a href="#backend">From bookmark</a>

</page>

<page tag="back5" ismenu="true"><a href="#back5_1">Down 1</a>

</page><page tag="back5_1">

<a href="#back5_2">Down 2</a></page><page tag="back5_2" ismenu="true">

<a href="#back5_3">Down 3</a></page><page tag="back5_3">

<a href="#back5_4">Down 4</a></page><page tag="back5_4">

Try "back" and "menu" from here.</page>

<page tag="backend">Back to where ?</page>

<page tag="close" nav="end">Closing.<br/><a href="#">Unusable link</a>

</page>

<page tag="stop" nav="stop">Please confirm your payment.<br/><a href="#cutlink01">Confirm</a><a href="#cutlink02">Cancel</a>

</page>

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 48: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Appendix C. XML example Page 42

<page tag="tags"><title>Testing printing or not of menu and back links</title>

Page with menu and back links<br/><a href="#tags_nomenu">No menu</a><a href="#tags_noback">No back</a><a href="#tags_long1">Too long for back</a><a href="#tags_long2">Too long for menu</a>

</page>

<page tag="tags_nomenu" menutext="notext"><title>Page without menu link</title>

Page without menu link</page>

<page tag="tags_noback" backtext="notext"><title>Page without back link</title>

Page without back link</page>

<page tag="tags_long1"><title>Page without back link because too long</title>

1.......10........20........30........40........50........60........70........80........90.......100.......110.......120.......130.......140...146

</page>

<page tag="tags_long2"><title>Page without back and menu links because too long</title>

1.......10........20........30........40........50........60........70........80........90.......100.......110.......120.......130.......140....147

</page>

<page tag="longlink"><title>Page with a link that uses all page -> truncated</title>

<a href="#longlinkdest">1-------10--------20--------30--------40--------50--------60--------70--------80--------90-------100-------110-------120-------130-------140-------150-------160-------170-------180</a><a href="#longlinkdest">Second link</a>

</page>

<page tag="longlinkdest">Page

</page>

</pages>

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 49: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Appendix C. XML example Page 43

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 50: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 References Page 44

References

[FS_CELLCUBE_STDPLUGINS] Cellicium, CELLCUBE_SW, Cellcube standard plugins: Functionalspecification.

[MAN_CELLCUBE_SW] Cellicium, CELLCUBE_SW, Cellcube software application: Reference manual.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 51: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Page 45

GlossaryE1/T1/J1

A physical layer used by SS7 (among others). See G703/G704.

[CAP] CAMEL Application Part

A layer in the SS7 protocol stack.

[CSS] Cascading Style Sheet

[ESME] External Short Message Entity

An external application system, in SMPP terminology.

[ESP] External Service Provider

[GSMDA] GSM Default Alphabet

[gsmSCF] GSM Service Control Function

[GTT] Global Title Translation

[GUI] Graphical User Interface

[HLR] Home Location Register

[HPLMN] Home Public Land Mobile Network

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 52: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Page 46

[HTTP] HyperText Transport Protocol

[IMAP] Internet Message Access Protocol

[IMEI] International Mobile Equipment Identity

[IMSI] International Mobile Subscriber Identity

[ISUP] Integrated Services Digital Network User Part

A layer in the SS7 protocol stack.

[MAP] Mobile Application Part

A layer in the SS7 protocol stack.

[MCC / MNC] Mobile Country Code / Mobile Network Code

[ME] Mobile Equipment

[MMI] Man-Machine Interface

[MS] Mobile Station

[MSISDN] Mobile Subscriber ISDN number

[MTP] Message Transfer Part

A layer in the SS7 protocol stack.

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 53: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Page 47

[NSS] Network SubSystem

[OEN] Originating Entity Number

[OMA] Operation and Maintenance Application

[POP3] Post Office Protocol version 3

[SCCP] Signaling Connection Control Part

A layer in the SS7 protocol stack.

[SIM] Subscriber Identity Module

[SLC] Signaling Link Code

An identifier (0..15) for a signaling link within a Link Set.

[SMPP] Short Message Peer to Peer protocol

A protocol designed for exchanging messages (such as SMS and USSD messages) between aMessage Center and an external application system.

[SMS] Short Message Service

[SMTP] Simple Mail Transfer Protocol

[SNMP] Simple Network Management Protocol

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential

Page 54: Is XML Http Cellcube

Ref:IS-XML-HTTP-

CELLCUBE

Cellcube XML/HTTPInterface specification

Confidential

Rel: 3.6 Page 48

[SQL] Structured Query Language

[SS7] Signaling System 7

[TCAP] Transaction Capabilities Application Part

A layer in the SS7 protocol stack.

[TE] Terminal Equipement

[UCP] Universal Computer Protocol

A protocol designed for exchanging messages (such as SMS messages) between a Message Centerand an external application system.

[UCS2] Universal Character Set coded in 2 octets

[USSD] Unstructured Supplementary Service Data

[VLR] Visitor Location Register

[VPLMN] Visited Public Land Mobile Network

[XML] Extensible Markup Language

© Cellicium 2001,2002,2003,2004,2005,2006All rights reserved - Proprietary and confidential