0% found this document useful (0 votes)
914 views54 pages

Is XML HTTP Cellcube

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

Uploaded by

ashujiit888
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
914 views54 pages

Is XML HTTP Cellcube

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

Uploaded by

ashujiit888
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Cellcube XML/HTTP

Interface specification
Release 3.6

Cellcube XML/HTTP: Interface specification


Release 3.6
Copyright 2001, 2002, 2003, 2004, 2005, 2006 Cellicium
Abstract
This document specifies the XML file format and HTTP interface between Cellcube and external service
providers. It is intended as the main technical reference for implementers of USSD Browsing services.

Legal notice
Proprietary and confidential.

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Cellcube XML/HTTP

Confidential
Page iii

Table of Contents
1. Introduction ............................................................................................................................................... 1
1.1. GSM USSD ..................................................................................................................................... 1
1.2. Cellcube .......................................................................................................................................... 1
1.3. External Service Provider interface................................................................................................. 1
1.4. USSD Browsing versus WAP and WWW - Features....................................................................... 2
1.5. USSD Browsing versus WAP and WWW - Architecture ................................................................. 2
1.6. XML/HTTP example ........................................................................................................................ 3
1.7. Architecture ..................................................................................................................................... 4
1.7.1. Stand-alone Cellcube configuration..................................................................................... 5
1.7.2. Cellcube, HTTP module option, and HTTP servers ............................................................ 5
1.7.3. Cellcube, HTTP module option and third-party HTTP services........................................... 6
2. Compliance requirements........................................................................................................................ 8
3. XML features ........................................................................................................................................... 10
3.1. Cellcube XML................................................................................................................................ 10
3.1.1. Multiple pages ................................................................................................................... 10
3.1.2. Content adaptation ............................................................................................................ 10
3.1.3. Examples........................................................................................................................... 10
3.2. Links.............................................................................................................................................. 11
3.3. Forms ............................................................................................................................................ 11
3.4. Includes......................................................................................................................................... 12
3.5. Volatile contents ............................................................................................................................ 13
3.6. Multiple languages ........................................................................................................................ 13
3.7. Server hang-up ............................................................................................................................. 14
3.8. Navigation labels ........................................................................................................................... 15
3.9. Link labels ..................................................................................................................................... 15
3.10. Navigation control........................................................................................................................ 16
3.11. Navigation shortcuts.................................................................................................................... 16
3.12. Forbid shortcuts .......................................................................................................................... 17
3.13. XML redirect................................................................................................................................ 18
3.14. Billing........................................................................................................................................... 18
3.15. Plugin functions and commands ................................................................................................. 19
3.15.1. Static Link ........................................................................................................................ 19
3.16. Dynamic content in Links ............................................................................................................ 21
3.16.1. Description....................................................................................................................... 21
3.16.2. Evaluation Format............................................................................................................ 21
3.16.3. Session Field ................................................................................................................... 22
3.16.4. Variable evaluation .......................................................................................................... 22
3.16.5. Plugin Filter...................................................................................................................... 23

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

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Cellcube XML/HTTP

Confidential
Page iv

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


4.1. Service code allocation ................................................................................................................. 24
4.2. URL input ...................................................................................................................................... 24
4.3. IP networking ................................................................................................................................ 25
4.4. HTTP............................................................................................................................................. 25
4.5. Quality of Service .......................................................................................................................... 26
4.6. HTTP errors .................................................................................................................................. 26
4.7. Error notification ............................................................................................................................ 27
4.8. HTTP-S ......................................................................................................................................... 28
4.9. Keep-Alive ..................................................................................................................................... 28
4.10. Cache-Control ............................................................................................................................. 28
4.11. HTTP cookies.............................................................................................................................. 30
4.12. User identity ................................................................................................................................ 30
4.13. Customer profile.......................................................................................................................... 31
4.14. Handset capabilities .................................................................................................................... 31
4.15. Variables...................................................................................................................................... 32
4.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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Cellcube XML/HTTP

Confidential
Page v

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

List of Figures
1-1. Standalone architecture........................................................................................................................... 5
1-2. Gateway architecture ............................................................................................................................... 5
1-3. Open gateway architecture ...................................................................................................................... 6
3-1. Plugin function synopsis ........................................................................................................................ 19
3-2. Plugin command synopsis ..................................................................................................................... 20
B-1. Cellcube XML DTD version 1.1 ............................................................................................................. 35

List of Examples
1-1. XML/HTTP overview................................................................................................................................ 3
3-1. URLs...................................................................................................................................................... 10
3-2. Links ...................................................................................................................................................... 11
3-3. Form ...................................................................................................................................................... 12
3-4. Include ................................................................................................................................................... 12
3-5. Language............................................................................................................................................... 14
3-6. Server hang-up...................................................................................................................................... 14
3-7. Navigation labels ................................................................................................................................... 15
3-8. Link label ............................................................................................................................................... 15
3-9. Shortcut ................................................................................................................................................. 16

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

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Cellcube XML/HTTP

Confidential
Page vi

3-10. Forbid shortcut..................................................................................................................................... 17


3-11. XML redirect ........................................................................................................................................ 18
3-12. Billing ................................................................................................................................................... 18
3-13. Plugin command .................................................................................................................................. 20
3-14. Plugin command, function and substitution ......................................................................................... 20
3-15. plugin call with dynamic argument: session field evaluation................................................................ 22
3-16. plugin call with dynamic arguments: session field evaluation .............................................................. 23
4-1. Direct access to ESP URL..................................................................................................................... 24
4-2. Indirect access to ESP URL .................................................................................................................. 24
4-3. URL input form ...................................................................................................................................... 24
4-4. HTTP transaction................................................................................................................................... 25
4-5. HTTP status........................................................................................................................................... 26
4-6. Error notification .................................................................................................................................... 27
4-7. Cache-Control: ...................................................................................................................................... 29
4-8. Cookie: .................................................................................................................................................. 30
4-9. User-Identity .......................................................................................................................................... 30
4-10. Customer profile .................................................................................................................................. 31
4-11. Handset capabilities ............................................................................................................................ 32
4-12. Variable................................................................................................................................................ 32
4-13. Handset capabilities ............................................................................................................................ 33
C-1. XML example ........................................................................................................................................ 40

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

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Chapter 1. Introduction

Confidential
Page 1

Chapter 1. Introduction
1.1. GSM USSD
Specifies 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 GSM
specifications) to their mobile subscribers. USSD is typically invoked when a user dials a number which
matches [*#]([*#])([*#])1[0-9]([0-9])(*...)#, for example #100# or *#100*1234#. USSD
messages are similar to SMS messages, but may contain up to 182 characters, and are typically
transmitted 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-specific
services.

1.2. Cellcube
USSD Browsing services are implemented in Cellcube, a hardware and software service platform managed
by GSM operators and connected to GSM networks, provisioning databases and prepaid/postpaid billing
systems.
USSD Browsing services are described in XML-formatted files containing menus, redirections and
hyper-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. With
an optional XML/HTTP module, Cellcube also supports links to remote HTTP servers. This allows Cellcube
to act as an intelligent gateway between GSM networks and external service providers (ESPs).

1.3. External Service Provider interface


Cellcubes optional XML/HTTP module allows external service providers (ESPs) to offer USSD services
with minimal cost and complexity, leveraging on existing WAP and WWW infrastructures.
Essentially, Cellcube handles all USSD-specific issues and presents a consistent, homogeneous user
interface to the user. Cellcube sends HTTP GET/PUT/POST requests to external service providers on
behalf 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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Chapter 1. Introduction

Page 2

Since Cellcube is tightly integrated with the operators GSM network and billing system, it can be configured
to: 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

Hyper-links

Yes

Yes

Yes

Forms

Yes

Yes

Yes

Images

No

Yes

Yes

Unlimited

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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

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/HTML
decoding

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 example


Example 1-1 shows how Cellcube interacts with mobile users on the one hand, and service providers on the
other hand.
Note: For clarity, HTTP headers, XML prologues and some XML elements are not shown in some of the
examples in this document. See Example 4-4 for details.

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Chapter 1. Introduction

Page 4

Example 1-1. XML/HTTP overview

Handset

#100# [SEND]

Cellcube

#100#

Welcome to news.com
1:Weather
2:Sport
2 [SEND]

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

GET /sport.xml HTTP/1.0


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

Sport
1:Soccer
2:Sailing
1 [SEND]

ESP

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

GET /soccer.xml HTTP/1.0

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Chapter 1. Introduction

Page 5

1.7. Architecture
1.7.1. Stand-alone Cellcube configuration
Figure 1-1. Standalone architecture

GSM network

Cellcube
XML

File transfer
(batch)

XML authoring
environment

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

In the configuration of Figure 1-1, Cellcube retrieves XML documents from the local filesystem. Documents
must comply with the requirements described in this specification, but can be authored with any XML editing
software or even with a text editor.
Even though these documents are static files, they may contain invocations of Cellcubes plugin functions
and commands. This makes it possible to implement complex dynamic services by combining generic
building blocks.

1.7.2. Cellcube, HTTP module option, and HTTP servers


Figure 1-2. Gateway architecture

XML
XML/HTTP
GSM network

Cellcube

HTTP servers
XML

Local files
Other operator platforms

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Chapter 1. Introduction

Page 6

In the configuration of Figure 1-2, some services are implemented in HTTP servers managed by the
operator. Cellcube retrieves Cellcube-compliant XML documents from these servers with HTTP requests in
real-time. Any HTTP server product may be used as long as it complies with the Cellcube Interface and
HTTP requirements described in this specification. Cellcube-compliant XML documents may be generated
from 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 WAP
services. Cellcube aims to provide all the functionality that is required to bridge the gap between USSD and
legacy 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
Internet
Firewalls
DMZ, ...

GSM network

Remote
HTTP servers
Cellcube

Local
HTTP servers
XML
Local files

Other operator platforms

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

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

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Chapter 1. Introduction

Confidential
Page 7

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

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

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Chapter 2. Compliance requirements

Confidential
Page 8

Chapter 2. Compliance requirements


Table 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 or
user-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

Format of ESP replies

HTML instead of XML (for simple services)

HTML support
Hyper-links

v1

Basic USSD Browsing navigation feature

Forms

v1

Text input

Includes

v1

Inclusion of pages

Volatile contents

v1

Force refreshing of data

Multiple languages

v1

Multi-language documents

Server hang-up

v1

Allows the ESP to terminate a session

Navigation labels

v1

Allows the ESP to change the menu/back


labels.

Link labels

v1

Allows the ESP to change link labels.

Navigation control

v1

Allows the ESP to control navigation

Navigation shortcuts

v1

Allows the user to skip pages

Forbid shortcuts

v1

Prevents the user from skipping specific


pages

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Confidential

Chapter 2. Compliance requirements

Page 9

Feature

Roadmap Cellcube

ESP

Summary

XML redirect

v1

Redirection with XML elements

Allows a service to specify billing rates.

Building-blocks for complex services.

Billing
Plugin functions and
commands

v1

Table 2-2. HTTP requirements


Feature

Avail

Cellcube

ESP

Summary

Service code
allocation

v1

Mapping of USSD calls to URLs

Allows the user to input a URL

URL input
IP networking

v1

Connection between Cellcube and ESPs

HTTP

v1

Basic transport mechanism

QoS requirements

v1

HTTP response time

HTTP errors

v1

Allows the ESP to reject a request.

Error notification

v1

Allows Cellcube to reject replies from the ESP

HTTP-S

Encrypted connections

Keep-Alive

Persistent HTTP connections

Cache-Control

Controls caching of ESP pages by Cellcube

Allows the ESP to store cookies in Cellcube

User identity

Provides the ESP with user information

Customer profile

Provides the ESP with user information

Handset capabilities

Provides the ESP with user information

User location

Provides the ESP with user information

HTTP cookies

v1

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

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification

Confidential

Chapter 3. XML features

Page 10

Chapter 3. XML features


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

3.1.1. Multiple pages


Each 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 adaptation


Note 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 added
automatically so that the user can navigate between fragments. The length of fragments may depend on
GSM 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 users handset may be translated, e.g. would be replaced
with 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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Chapter 3. XML features

Confidential
Page 11

</page>
<page tag="item1">
WASHINGTON-In a much anticipated move, the Federal Reserve
announced 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 be
interpreted 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. Links
Links in Cellcube XML pages are similar to HTML links. Cellcube will automatically display pages with
hyper-links as menus with numbered items. URLs may be relative, i.e. the server address, absolute path, or
file name may be omitted.
Example 3-2. Links
<a
<a
<a
<a
<a

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

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Chapter 3. XML features

Page 12

3.3. Forms
Cellcube supports simple input with XML elements similar to HTML forms. The contents of the form will be
sent with a HTTP GET (default). Alternatively, method="POST" can be specified in the XML form element.
Example 3-3. Form

Handset

Cellcube

ESP

---

Weather service.
ZIP code ?
75000 [SEND]

75000

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

GET /cgi/weather?zip=75000 HTTP/1.0

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

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Chapter 3. XML features

Page 13

Example 3-4. Include

Handset

#100# [SEND]

Cellcube

#100#

ESP

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

Select a marketplace
1:New York
2:Paris
3:London

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

3.5. Volatile contents


Cellcube 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. The
user invokes Back to return to the menu.

The mobile user invokes a system command (bookmarks, bill inquiry, ...). Cellcube replies with a system
message. 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 the
session recovery delay (typically 2 minutes). Navigation resumes at the page where the session was
interrupted.

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

3.6. Multiple languages


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

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

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 mto de la semaine</fr>
<en>This weeks weather</en>
<l code="de">Wetter Woche</de>
</lang>
</page>
read language preferences
This weeks weather

3.7. Server hang-up


ESPs may terminate a USSD session by setting the attribute nav="end" in a page element.

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

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 using


news.com !
close
close

3.8. Navigation labels


Cellcube normally appends navigation commands at the bottom of pages sent to the user, for example
0:menu 00:back. The link labels are configured by the operator and automatically localized according to
the preferred language of the mobile user. In addition, the labels can be overridden in individual XML pages
with 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 labels


Cellcube normally enumerates links automatically. This behavior can be overridden with the key attribute in
XML 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 and
navigation for phase 1 handsets.

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Chapter 3. XML features

Confidential
Page 16

3.10. Navigation control


The 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"
hist="dohist"

causes the page to be skipped when the user invokes Back.

selects which page in a sequence of redirections will be used when the user invokes

Back.
hist="bookmark"
ismenu="true"

specifies which pages can be recorded as bookmarks. This implies "dohist".

marks the page as a possible target for the Menu command.

3.11. Navigation shortcuts


Cellcube 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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Chapter 3. XML features

Page 17

Example 3-9. Shortcut

Handset

#100*2# [SEND]

Cellcube

#100*2#

ESP

GET / HTTP/1.0
<page>
Welcome to news.com
<a href="weather.xml">Weather</a>
<a href="sport.xml">Sport</a>
</page>
shortcut used

Sport
1:Soccer
2:Sailing

GET /sport.xml HTTP/1.0

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

3.12. Forbid shortcuts


Sometimes it is desirable to forbid the user from using shortcut to skip a page. This can be achieved by
setting the attribute nav="stop" in XML page elements.

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

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 product
1:Product1
2:Product2
2*1 [SEND]

2*1

Please confirm !
1:Accept
2:Cancel

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

3.13. XML redirect


Cellcube interprets pages containing a single XML redirect element as redirections to another URL. Note
that 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. Billing
Cellcube may bill services to the users mobile subscription account on behalf of ESPs. This is achieved
with cost attribute in XML page elements. The value of this attribute refers to pre-configured tariff plans and
billing procedures which must be customized for each billing environment.

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

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Chapter 3. XML features

Confidential
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 Reserve
announced 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 Link
Links in XML pages may refer to special URLS formatted as
erl://MODULE:FUNCTION?ARGUMENT1&ARGUMENT2....
These links trigger the execution of functions and commands which are executed with minimal overhead
inside the Cellcube application. They are typically used to customize the home-page of a service depending
on the user identity, subscription options, location, handset, etc.
Functions and commands are provided by plugin modules. See [FS_CELLCUBE_STDPLUGINS] for a
description of standard plugins. Operator-specific plugin modules can be developed in order to support
proprietary billing systems, provisioning interfaces, etc.
Figure 3-1 and Figure 3-2 illustrate the difference between functions and commands. Plugin functions
generate 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 a
new URL. See #home in Example 3-13. When a plugin command redirects to another page, it may
instantiate subst elements in that page. See #post in Example 3-14.

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Chapter 3. XML features

Confidential
Page 20

Figure 3-1. Plugin function synopsis


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

Figure 3-2. Plugin command synopsis


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

erl://MOD:NAME

<page>
<subst.../>
</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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Chapter 3. XML features

Confidential
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. Description
Links in XML pages may refer to special URLS formatted as
dynerl://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 the
called 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 Format


The format used four reserved characters:

Evaluation Request: $

Evaluation Begin: (

Evaluation End: )

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

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Chapter 3. XML features

Confidential
Page 22

Argument Separator for Evaluation: .

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

3.16.3. Session Field


To 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 Users USSD session has these characteristics.

imsi: 208990099991234

msisdn: +33699991234

vlr: +33900001234

This link dynerl://svc_test:print?$(imsi),$(msisdn)&$(vlr)..., will eventually call the function


svc_test:print with two args 208990099991234,+33699991234 and +33900001234.

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

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Chapter 3. XML features

Confidential
Page 23

3.16.4. Variable evaluation


Some variable are available during the USSD sessions lifetime. svc_variable plugins, see
[FS_CELLCUBE_STDPLUGINS] for more information, allow to stored (use and retrieve) variables during a
session.
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 eventually


call the function svc_test:print with two args 1,test_ok and value2.

3.16.5. Plugin Filter


By 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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Chapter 4. HTTP interface features

Confidential
Page 24

Chapter 4. HTTP interface features


4.1. Service code allocation
Users may access external USSD Browsing services either by dialing a direct USSD code (e.g. #100#) or
after navigating through menus defined by the operator. In both cases, the ESP must provide the operator
with the base URL of the service, and the operator must configure Cellcube to associate it with either a
USSD 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 input


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

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Chapter 4. HTTP interface features

Confidential
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 networking
The network connection between Cellcube and ESPs must be over IPv4, either through a private
connection, or through the Internet. For "Pull" services, connections will always be initiated by Cellcube.

4.4. HTTP
ESPs 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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Chapter 4. HTTP interface features

Confidential
Page 26

Example 4-4. HTTP transaction


GET /index.xml HTTP/1.0
User-MSISDN: 33699991234
HTTP/1.0 200 OK
Content-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 Reserve
announced 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 Service


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

4.6. HTTP errors


ESPs may reject requests by returning standard HTTP error codes. In this case, Cellcube will inform the
user with a configurable error message.

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

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. We
will be investigating it
shortly. Please try
again later.
close
close

4.7. Error notification


In case the data returned by the ESP is invalid, Cellcube will inform the user with a pre-defined message
configured by the operator. In addition, Cellcube may send a human-readable error message to the ESP
with 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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Chapter 4. HTTP interface features

Page 28

Example 4-6. Error notification

Handset

Cellcube

ESP

---

An error occurred. We
will be investigating it
shortly. Please try
again later.

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

close
POST /cgi-bin/reject HTTP/1.0
close

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

4.9. Keep-Alive
The HTTP header field Connection: Keep-Alive can be used to negotiate that a single TCP connection
will 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 the
behavior 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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Chapter 4. HTTP interface features

Page 29

4.10. Cache-Control
Cellcube 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 for
private cache.
Cellcube can also force the use of one of those cache types. See [MAN_CELLCUBE_SW] parameter
pserver::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

#100# [SEND]

Cellcube

#100#

ESP

GET /index.xml HTTP/1.0


Cache-Control: public

Welcome to news.com
1:Sport
1 [SEND]

<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>

1
index.xml#sport found in cache
Sport
1:Soccer
2:Sailing

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Chapter 4. HTTP interface features

Page 30

4.11. HTTP cookies


Cellcube can store WWW-style cookies sent by the ESP, and send them back to the ESP when the user
returns to the service. This allows ESPs to implement personalized services without managing a user
database 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 OK
Set-Cookie: session=12345; path=/

Login successful.
1:Continue
1 [SEND]

<page>
Login successful.
<a href="continue.xml">Continue</a>
</page>
GET /continue.xml HTTP/1.0
Cookie: session=12345

4.12. User identity


Cellcube can provide ESPs with information about the identity of the user with zero or more of the HTTP
header 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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Chapter 4. HTTP interface features

Confidential
Page 31

Example 4-9. User-Identity


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

4.13. Customer profile


Cellcube can provide ESPs with information about the service subscription of the user with zero or more of
the 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 capabilities


Cellcube can provide ESPs with information about the capabilities of the users 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 for
phase 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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification

Confidential

Chapter 4. HTTP interface features

Name

Contents

Handset-FAC

Digits 7-8 of the IMEI.

Handset-SNR

Digits 9-14 of the IMEI.

Handset-IMEI

IMEI.

Page 32

Example 4-11. Handset capabilities


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

4.15. Variables
Cellcube 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 more
information.
Each variable is defined by a service name and a variable name. For each ESP a list of authorized service
name 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 location


Cellcube can provide ESPs with information about the location of the user, if it is known, with zero or more
of the HTTP header fields in Table 4-4. Note that availability of this information generally requires specific
integration with the network and custom interfaces.

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

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Chapter 4. HTTP interface features

Confidential
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: 33999990001
Loc-Lat: 48.8412
Loc-Lon: 2.3217
Loc-Country: fr
Loc-City: Paris
Loc-ZIP: 75000

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Appendix A. Limitations

Confidential
Page 34

Appendix A. Limitations
Table 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

XML document size

Rec Max
10 KB

Pages per XML


document

10

XML page size

1 KB

# of redirections per
message

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

10

Notes

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Appendix B. DTD reference

Confidential
Page 35

Appendix B. DTD reference


This section describes the XML DTD. Note that XML elements not documented in this specification are
reserved 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 #IMPLIED
lifetime
CDATA #IMPLIED
descr
CDATA #IMPLIED>
<!ELEMENT page (%navig;|help|title)*>
<!ATTLIST page
cost
CDATA #IMPLIED
tag
CDATA #IMPLIED
hist
(default|donthist|dohist|bookmark) "default"
volatile (true|false) "false"
nav
(default|end|stop) "default"
backtext CDATA #IMPLIED
menutext CDATA #IMPLIED
log
CDATA #IMPLIED
ismenu
(true|false) "false"
descr
CDATA #IMPLIED>
<!ELEMENT help (%citem;)*>
<!ELEMENT title (%citem;)*>
<!ELEMENT kw EMPTY>
<!ATTLIST kw
kw CDATA #REQUIRED>
<!ELEMENT
<!ELEMENT
<!ATTLIST
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT

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

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT

Appendix B. DTD reference

it
nl
pt
sv

(%pckw;)*>
(%pckw;)*>
(%pckw;)*>
(%pckw;)*>

<!ELEMENT a (%citem;|help)*>
<!ATTLIST a
cost
CDATA #IMPLIED
href
CDATA #REQUIRED
key
CDATA #IMPLIED>
<!ELEMENT form
(entry|choice)*>
<!ATTLIST form
action
CDATA #REQUIRED
method
(GET|POST) "GET"
keywords
(default|disable|user_defined) "default"
back
CDATA #IMPLIED
menu
CDATA #IMPLIED
home
CDATA #IMPLIED
help
CDATA #IMPLIED
sms
CDATA #IMPLIED
bookmark
CDATA #IMPLIED
price
CDATA #IMPLIED
reset_lang CDATA #IMPLIED>
<!ELEMENT entry (prompt,default?)>
<!ATTLIST entry
var
CDATA #IMPLIED
pref
CDATA #IMPLIED
width
CDATA #IMPLIED
kind
(alphanum|digits) "alphanum"
type
(text|password|ccnumber) "text">
<!ELEMENT prompt (%citem;)*>
<!ELEMENT default (%citem;)*>
<!ELEMENT choice (item)*>
<!ATTLIST choice
var
CDATA #IMPLIED
default CDATA #IMPLIED
pref
CDATA #IMPLIED>
<!ELEMENT item (%citem;)*>
<!ATTLIST item
code
CDATA #REQUIRED>
<!ELEMENT include EMPTY>
<!ATTLIST include
src CDATA #REQUIRED>

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

Confidential
Page 36

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Appendix B. DTD reference

<!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

default
donthist
dohist
bookmark

default

Section 3.10

volatile

true
false

false

Section 3.10

nav

default
end
stop

default

Section 3.7
Section 3.12

backtext

""
"notext"
String

""

Section 3.8

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

Page 37

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Appendix B. DTD reference

Attribute

Type

Default

Notes

menutext

""
"notext"
String

""

Section 3.8

log

String

""

Reserved for future use

ismenu

true
false

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

GET
POST

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,2006
All rights reserved - Proprietary and confidential

Page 38

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP

Confidential

Interface specification

Rel: 3.6

Appendix B. DTD reference

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

alphanum
digits

alphanum

Reserved for future use

type

text
password
ccnumber>

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,2006
All rights reserved - Proprietary and confidential

Page 39

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP

Confidential

Interface specification
Appendix C. XML example

Page 40

Appendix C. XML example


The 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
<a href="#cutlink01">Link 01........
<a href="#cutlink02">Link 02........
<a href="#cutlink03">Link 03........
<a href="#cutlink04">Link 04........
<a href="#cutlink05">Link 05........
<a href="#cutlink06">Link 06........
<a href="#cutlink07">Link 07........
<a href="#cutlink08">Link 08........
<a href="#cutlink09">Link 09........
</page>
<page
<page
<page
<page
<page
<page
<page
<page
<page

tag="cutlink01"
tag="cutlink02"
tag="cutlink03"
tag="cutlink04"
tag="cutlink05"
tag="cutlink06"
tag="cutlink07"
tag="cutlink08"
tag="cutlink09"

into 3+3
........
........
........
........
........
........
........
........
........

(for ussd1 and ussd2) -->


...... ........</a><br/>
...... ........</a><br/>
...... ........</a><br/>
...... ........</a><br/>
...... ........</a><br/>
...... ........</a><br/>
...... ........</a><br/>
...... ........</a><br/>
...... ........</a><br/>

hist="bookmark"><title>Page01</title>At
hist="bookmark"><title>Page02</title>At
hist="bookmark"><title>Page03</title>At
hist="bookmark"><title>Page04</title>At
hist="bookmark"><title>Page05</title>At
hist="bookmark"><title>Page06</title>At
hist="bookmark"><title>Page07</title>At
hist="bookmark"><title>Page08</title>At
hist="bookmark"><title>Page09</title>At

<page tag="back" hist="bookmark">


<title>TestBack</title>

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

page
page
page
page
page
page
page
page
page

01</page>
02</page>
03</page>
04</page>
05</page>
06</page>
07</page>
08</page>
09</page>

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Appendix C. XML example

<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,2006
All rights reserved - Proprietary and confidential

Confidential
Page 41

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Appendix C. XML example

Confidential
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------</a>
<a href="#longlinkdest">Second link</a>
</page>
<page tag="longlinkdest">
Page
</page>
</pages>

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

Ref:
IS-XML-HTTPCELLCUBE
Rel: 3.6

Cellcube XML/HTTP
Interface specification
Appendix C. XML example

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

Confidential
Page 43

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

References

Confidential
Page 44

References
[FS_CELLCUBE_STDPLUGINS] Cellicium, CELLCUBE_SW, Cellcube standard plugins: Functional
specification.
[MAN_CELLCUBE_SW] Cellicium, CELLCUBE_SW, Cellcube software application: Reference manual.

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

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Glossary
E1/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,2006
All rights reserved - Proprietary and confidential

Confidential
Page 45

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

[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,2006
All rights reserved - Proprietary and confidential

Confidential
Page 46

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Confidential
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 a
Message 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,2006
All rights reserved - Proprietary and confidential

Ref:
IS-XML-HTTPCELLCUBE

Cellcube XML/HTTP
Interface specification

Rel: 3.6

Confidential
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 Center
and 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,2006
All rights reserved - Proprietary and confidential

You might also like