Sunteți pe pagina 1din 93

Commercial in Confidence

VxOneTM Provisioning & Administration Guide

Abstract
This document describes the provisioning and subscriber
administration facilities of VxOneTM.

Release Version
Document Version
Date
Pages

VxOne Provisioning & Administration


Guide

6.0
1.3
15 May 2006
93

1999 - 2005 VoxSurf Ltd

Page 1 of 93

Commercial in Confidence

Table of Contents
1
1.1

Scope ............................................................................................................................5

1.2

Related Documents.......................................................................................................5

1.3

Document Audience ......................................................................................................5

1.4

Document Conventions .................................................................................................5

PROVISIONING................................................................................................................6

XML BULK LOAD ............................................................................................................7

3.1

Overview .......................................................................................................................7

3.2

XML Bulk Load provisioning mechanism .......................................................................7

3.3

Planning XML Bulk provisioning ....................................................................................7

3.3.1

XML file creation ........................................................................................................8

3.3.2

Property file configuration ........................................................................................11

3.3.3

Pre - Encrypted Data ...............................................................................................12

3.3.4

Bulk XML Upload .....................................................................................................12

Page 2

INTRODUCTION ..............................................................................................................5

LDAP AUTO PROVISION ..............................................................................................13

4.1

Overview .....................................................................................................................13

4.2

LDAP provisioning mechanism....................................................................................13

4.3

Planning LDAP provisioning ........................................................................................14

4.3.2

Provision email accounts on the email store. ...........................................................19

4.3.3

Point the LDAP connector to the right directory server. ...........................................19

4.3.4

Set the right context for searches on the particular schema.....................................19

4.3.5

Configure all tags for the LDAP search. ...................................................................20

4.3.6

Verify LDAP schema................................................................................................20

4.3.7

Pre Encrypted Data...............................................................................................21

4.3.8

Verify User and Email Account defaults. ..................................................................21

4.3.9

Activate LDAP auto provisioning..............................................................................21

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

4.3.10
4.4
5

Restart the server. ...................................................................................................21


Creating new Automatic Provisioning plug-in ..............................................................21

PROVISIONING ON DEMAND.......................................................................................22

5.1

Overview .....................................................................................................................22

5.2

Provisioning Service....................................................................................................22

ADMINISTRATION SOAP INTERFACE.........................................................................23

6.1

Overview .....................................................................................................................23

6.2

Attribute Description ....................................................................................................23

6.3

Methods Overview.......................................................................................................25

6.4

Response Codes.........................................................................................................28

6.5

Method Description .....................................................................................................31

6.5.1

CreateUser service ..................................................................................................31

6.5.2

CreateCompleteCWUser Service ............................................................................35

6.5.3

RetrieveUsers service..............................................................................................37

6.5.4

RetrieveUserDetails service.....................................................................................41

6.5.5

RetrieveUserDetailsByLogin ....................................................................................45

6.5.6

RetrieveSpecificUserDetails service ........................................................................49

6.5.7

UpdateUser service .................................................................................................50

6.5.8

UpdateCWUserIdentifiedByLogin service ................................................................54

6.5.9

UpdateCWUserMSISDN..........................................................................................56

6.5.10

DeleteUser service ..................................................................................................57

6.5.11

DeleteUserOnAppAndMailStore Request ................................................................59

6.5.12

CreateEmailAccount service ....................................................................................60

6.5.13

RetrieveEmailAccounts service................................................................................63

6.5.14

RetrieveEmailAccountDetails service.......................................................................64

6.5.15

UpdateEmailAccount service ...................................................................................67

6.5.16

DeleteEmailAccount service ....................................................................................70

6.5.17

RetrieveRegisteredDevices service .........................................................................71

6.5.18

UpdateRegisteredDevices service ...........................................................................73

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 3

Commercial in Confidence

6.6

SOAP Message Examples ..........................................................................................76

6.6.1

Request message....................................................................................................76

6.6.2

Response message .................................................................................................76

6.7
6.7.1

SOAP ADMIN PROPERTIES ......................................................................................77


Validation .................................................................................................................77

Any trademarks or service marks referred to within this document are the property of
their respective owners.

Page 4

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

1 Introduction
1.1 Scope
This document provides configuration and operational information relating to the
automatic user provisioning and administration interfaces of VxOneTM.

1.2 Related Documents


The following documents should be read to gain a full understanding of the deployment
process.
Document Name

Document Description

[1]

Configuration Guide

This document details all configuration files


relating to VxOneTM

[1]

Operations Guide

This document describes the procedures to


operate VxOneTM.

1.3 Document Audience


The intended audience for this document are IT Support and Operations staff within the
organisation.

1.4 Document Conventions


The table below highlights the values that are to be used when there is a Document
Reference mentioned within this document.

Document Reference

Value

[VOXSURF_HOME]

The directory where VxOneTM has been


deployed

[VOXSURF_PROPERTIES]

The directory where the VxOne shadow


property files have been deployed

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 5

Commercial in Confidence

2 Provisioning
VxOneTM provides three mechanisms for the automatic provisioning of users:

XML bulk load

LDAP auto-provisioning

SOAP provision on demand

Administration SOAP interface

All mechanisms allow deployment operators to specify a few essential parameters within
the bulk load files or LDAP directories while a more blanket definition of the other
values can be provided with default properties files.
The VoxSurf LDAP Connector is just one implementation of an automatic provisioning
APD. Alternative solutions can be implemented by created new automatic provisioning
plug in modules.

Please Note: All configuration changes should be made to the property files located
within the system shadow level ONLY. Please refer to the VxOneTM Configuration
Guide for more information relating to shadow property files.

Page 6

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

3 XML Bulk Load


3.1 Overview
The VxOneTM XML Bulk load tool provisions subscribers within the RDBMS (Relational
Database Management System). The tool does not currently create any email accounts
on the email store. It is assumed that accounts will be created on the email store by a
different mechanism, although support for specific email stores can be added on a
custom basis.

3.2 XML Bulk Load provisioning mechanism


The VxOneTM XML Bulk load tool requires an XML file as the basis to provision
subscribers into the system. The XML DTD (Document Type Definition) can be found in
section Appendix 1: Bulk Load DTD.

The bulk load tool does not create the account on the mail store, although this feature
can be added for specific email stores on a custom basis.

The high-level steps required to provision subscribers using this mechanism are as
follows:

Provision email accounts on the mail store (unless they already exist)

Create one XML file, which contains the <user> elements for each of the
subscribers. Each <user> element defines:
o

User Details

Application Details

Email Account Details

Some of the elements within the <user> element are mandatory and some are
optional. The optional elements are denoted within the DTD by an asterisk (*).
If these elements are not included within the XML, the default values are
configured from the following configuration files:
o

[VOXSURF_PROPERTIES]/system/VxsProvisioningDefaultUser.propert
ies

[VOXSURF_PROPERTIES]/system/VxsProvisioningDefaultEmailAccou
nt.properties

Execute the file [VOXSURF-HOME]\WEB-INF\bin\provisioning\provision.sh


<location of the xml file>

Review the log file to ensure all subscribers have been provisioned successfully.
The log file should be located in the directory where the bulk load is run from.

3.3 Planning XML Bulk provisioning


The XML Bulk tool requires the following components to be configured prior to executing
the process

XML file creation - Create one XML file, which contains the <user> elements for
each of the subscribers.

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 7

Commercial in Confidence

3.3.1

Configure the default values specified within the following configuration files:
o

[VOXSURF_PROPERTIES]/system/VxsProvisioningDefaultUser.propert
ies

[VOXSURF_PROPERTIES]/system/VxsProvisioningDefaultEmailAccou
nt.properties

XML file creation

The following table contains information about all the items that the Bulk Load tool
requires in order to provision a subscriber.
Refer to section Appendix 2: Bulk Load XML Example for an example file, or
alternatively, locate the example.xml file within the directory [VOXSURF-HOME]\WEBINF\bin\provisioning\VoxSurf
Fields in bold are mandatory. All others are optional and may be left unmapped so that
default values are picked up from property files.
[1] Fields may be pre encrypted. See the corresponding boolean in
VxsProvisoning.properties.
3.3.1.1

Page 8

Domain Element

Element

Attribute(s)

Description

Domain

Value

The domain number in


which the subscribers will
be provisioned too.

1999 - 2005 VoxSurf Ltd

Value Example
0000

VxOne Provisioning & Administration Guide

Commercial in Confidence

3.3.1.2

UserDetails Element

Element

Attribute(s)

Description

UserId

Value

A unique numeric id used to


identify this user. If no value is
supplied an id will be assigned.

56484511

AccountNumber

Value

The subscribers account


number. This should be
numeric

12345678

AccountPin [1]

Value

The subscribers pin number

1234

Question

Value

The forgotten question text

Mothers Name

Answer [1]

Value

The forgotten question


answer

RegisteredEmailAddre
ss

Value

The subscribers registered


email address

a.smith@company.
com

FirstName

Value

The subscribers first name

Alan

LastName

Value

The subscribers last name

Smith

Title

Value

The subscribers title

Employee

Organisation

Value

The subscribers organisation

Company

Industry

Value

The industry

Telecoms

Administrator

Value

Should the subscriber have


administration rights

MobilePhoneNumber

CountryCode

The country code of the number


The mobile phone number

phoneNumber
LandLine1PhoneNumber

CountryCode
phoneNumber

LandLine2PhoneNumber

Unified

CountryCode

The country code of the number


The first registered land line
phone number

Value Example

Smith

True

44
7855 360915

44
207 759 9250

44

phoneNumber

The country code of the number


The first registered land line
phone number

Value

Should the user be unified

True

CountryCode

The country code of the


number
The mobile phone number

44

PhoneNumber
SMSNotification

VxOne Provisioning & Administration Guide

Should SMS notification be


enabled

1999 - 2005 VoxSurf Ltd

207 759 9251

7855 360 915


True

Page 9

Commercial in Confidence

3.3.1.3

ApplicationDetails Element

Element

Attribute(s)

Description

Value Example

FaxEnabled

Value

Should the subscriber be fax


enabled

Language

Value

The subscribers default language.

VoiceDetails

StartPoint

The starting point of the voice


application -

True

En
T

E for email
V for voicemail
T for the top (main) menu
emailAccStartPoint

The starting point for email


accounts within the voice
application

P for the primary account


M for the main email menu

SendOnHangUp

When composing a message in


voice, should the message still be
sent if the caller hangs-up rather
than explicitly says Send
Message

True

The default voice speed


Speed

135

The default voice volume

Volume
MessageHeaderDetails

EmsgNum

ErcvdDate

True

Default voice settings the


subscriber will hear the message
received date when listening to an
email message

True

Eorig

Default voice settings the


subscriber will hear the originator
when listening to an email
message

VMMsgNum

Default voice settings the


subscriber will hear the message
number when listening to a
voicemail message

VMRcvdDate

Default voice settings the


subscriber will hear the message
received date when listening to a
voicemail message

True

Default voice settings the


subscriber will hear the originator
when listening to a voicemail
message

True

VMOrig

Page 10

Default voice settings the


subscriber will hear the message
number when listening to an email
message

1999 - 2005 VoxSurf Ltd

True

True

VxOne Provisioning & Administration Guide

Commercial in Confidence

3.3.1.4

EmailAccountDetails Element

Element

Attribute(s)

Description

Value Example

AccountName

Value

The name of the email


account

EmailDisplayName

Value

The subscribers preferred


display name

EmailAddress

Value

The subscribers email


address

Locked

Value

Should the account be


locked from subscriber edit

False

MailServer

Name

The mail server IP address

10.0.0.1

protocol

The connection protocol,


IMAP / POP

port

The connection port number

143

secure

Should the connection to the


Mail Server be secure

false

Work

A Smith

a.smith@company.com

IMAP

Username

Value

The email account


username

Password [1]

Value

The email account password

1234

SMTPRelay

Name

The SMTP relay IP Address

10.0.0.2

port

The SMTP relay Port

secure

Should the connection to the


SMTP relay be secure

EnableSentItems

Value

Should the sent items folder


be enabled for the
subscriber

False

EnableDeletedItems

Value

Should the deleted items


folder be enabled for the
subscriber

False

RootFolderName

Value

The name of the root folder


for the subscriber. An
example is INBOX. A blank
option will default to INBOX

3.3.2

a.smith

25

False

Property file configuration

Bulk provisioning retrieves user information from the xml files containing data for each
specific user. If a value is not specified in the XML file (non mandatory values), the bulk
provisioning mechanism looks for a default value in the shadow properties location.
The property files relating to the defaults for both bulk load and LDAP auto provisioning
can be found within the following directory:

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 11

Commercial in Confidence

[VOXSURF_PROPERTIES]\system\

3.3.3

VxsProvisioningDefaultEmailAccount.properties - Refer to section Appendix 3:


VxsProvisioningDefaultEmailAccount.properties for configuration suggestions.

VxsProvisioningDefaultUser.properties - Refer to section Appendix 4:


VxsProvisioningDefaultUser.properties for configuration suggestions.

Pre - Encrypted Data

By default bulk provisioning assumes that the sensitive fields being passed in
(AccountPIN, Answer and Password) are loaded unencrypted and then encrypted
internally by VxOneTM. If however the data is pre encrypted, the provisioning mechanism
must be set to not encrypt the relevant values. This is done by setting the relevant
property to false, in the file:
[VOXSURF_PROPERTIES]\system\

3.3.4

VxsProvisioning.properties Refer to VxOne Configuration Guide

Bulk XML Upload

Before proceeding with the actual bulk load, it is imperative that property files and the
XML file have been configured properly and no mandatory information is left unspecified.
The bulk upload tool should be executed from the console in command-line mode. The
file can be found in the following location

[VOXSURF-HOME]\WEB-INF\bin\provisioning\provision.bat.

The batch file requires 1 parameter, which is the full path details and filename of the
XML file, for example
C:\voxsurf\WEB-INF\bin\provisioning\provision.bat c:/temp/xmlimport.xml

Once the process is complete, please review the log file for the transaction details of
the upload. The log file should be located in the directory where the bulk load is run
from.

Page 12

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

4 LDAP Auto Provision


4.1 Overview
The VxOneTM LDAP Connector synchronizes users information between VxOneTM
and LDAP directory servers. The LDAP Connector allows VxOneTM to utilise
subscriber information, stored in an LDAP directory server to automatically provision
information in the RDBMS.
The VxOneTM LDAP Connector enables the automatic provisioning and management of
users on pre-existing LDAP directory servers.
The VxOneTM LDAP Connector supports RFC 2251 (LDAP v3) and RFC 1777 (LDAP v3)
compliant LDAP directory servers connecting via anonymous or basic SASL
authentication binding mechanisms.

The LDAP Connector API can be called from external java applications to trigger the
provisioning of users in bulks if required.
The bulk load tool does not create the account on the mail store, although this feature
can be added for specific email stores on a custom basis.

4.2 LDAP provisioning mechanism


The VxOneTM LDAP Connector retrieves customer information from an LDAP directory
server every time a user logs into the application but his / her authentication information
(i.e. Login ID, CLI, DDI) is not recognised. This information is used to provision the user
information in the RDBMS.
This way of dealing with provisioning has a number of important advantages:

Users can be provisioned on the fly within VxOneTM without the need for any
preliminary provisioning activity.

Since provisioning is done on the fly only the first time the user access the
application, there are no performance implications.

Service Providers can keep a centralised repository of customer information in


an LDAP server, which is used to drive the provisioning of all components. For
example, most of the mail stores support an LDAP directory for provisioning.
This dramatically simplifies the management of customers and their
authorisation and eliminates the problem of synchronisation among different
systems.

The VxOneTM LDAP Connector is a heavily customisable component that can be


modified to cope with different LDAP structures and can be adapted to the needs of
each particular deployment. The VxOneTM The next release of the VoxSurf LDAP
Connector will also support various SASL binding mechanisms.
LDAP connector does not require changes to the LDAP schema to support provisioning.
The LDAP schema could be enhanced to provide more personalised information for
each user.
When the VxOneTM LDAP Connector attempts to automatically provision a user it
retrieves all available information from the LDAP server. If some of the (non-mandatory)
values are not available, default values are used that can be configured on a server. If,
for example, the LDAP server has no information about the name of the email server

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 13

Commercial in Confidence

that the user has an account on, this value will be obtained from the default properties
file.
The order of precedence is therefore:
1. Data on the LDAP server;
2. Default values from the default properties files (described in the remainder of the
chapter).
The Provisioning procedure is therefore as specified in the following diagram:

User Logs in Using LoginID


and PIN (numeric values)

NO

Is the user
provisioned on the
VoxSurf system?

YES

Is the user
provisioned on the
system (LDAP
bind)?

Provisioning Data

NO
Notify User and Exit

First name
Last name
Registered Mobile Number
Language
Is VoxSurf Email enabled?
Is VoxSurf UM enabled?
Is VoxSurf Fax enabled?
Email address
Email Server
Email Account Type (IMAP/POP)
Email acct ID
Timestamp
Domain
Registered CLI1, CLI2, CLI3, CLI4
Is Admin of Domain, X, Y, Z
Is Root Admin

YES
Profile Data is retrieved
from the CPOC LDAP
server

Create New User in


selected domain and
populate user

Start Application

4.3 Planning LDAP provisioning


The VxOneTM LDAP Connector can be configured to cope with any particular LDAP
schema by modifying a LDAP context parameter, and can adapt to make searches on
any parameter to isolate a particular subscriber. The connector expects a small number
of parameters to be available in the LDAP schema for each particular user. The picture
shows a typical database schema, but the actual structure of the particular directory
schema could vary depending on the particular deployment.

Page 14

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

4.3.1.1

User Information

The following table contains all the items that the VxOneTM LDAP Connector looks for in
the LDAP schema for specific user information.
Each of the names of the properties can be configured to make it compatible with the
particular schema. The table column Tag Example contains example values, but these
could change for each schema. E.g. the last name is sometimes assigned to an object
called sn, and sometimes (e.g. in Microsoft Exchange) to an object called surname.

Fields in bold are mandatory. All others are optional and may be left unmapped so that
default values are picked up from property files.
[1] Fields may be pre encrypted. See the corresponding boolean in
VxsProvisoning.properties.

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 15

Commercial in Confidence

Tag ID

Tag Example

Description

Value Example

uid

An optional unique id for this


user.

56484511

DOMAIN_ID

DOMAIN_ID

Id of the VxOneTM domain

0000

USER_ID

LOGIN_ID

UserId

The users Login Id

02077599250

PIN [1]

PIN

The users PIN

23453266

FIRST_NAME

cn

The users firstname

John

LAST_NAME

Gn

This users lastname

Doe

FORGOTTEN_QUESTION

FORGOTTEN_QUESTION

Mother maiden name

Franklin

TITLE

TITLE

Security question asked to the


user when he forgets his login
information
Answer to secret question
required to unlock sending of
user login information
Title

ORGANISATION

Organisation

Organisation

VoxSurf

INDUSTRY

INDUSTRY

Industry

Telecommunications

REGISTERED_EMAIL

Mail

The users registered


email address. (Where
login information is
sent to)

Mail

SUBSCRIBER_NUMBER

SUBSCRIBER_NUMBER

IS_VOICEMAIL_ENABLED

IS_VOICEMAIL_ENABLED

Used to identify a device when 123456789


accessing the application using
a WAP phone. Subscriber
numbers are passed by WAP
gateways and identify a
particular phone.
Determines if the user has
true
voicemail enabled.
Determined if the user has email true
messaging enabled.
true
Determines if the user is
allowed to send faxes

FORGOTTEN_ANSWER [1] FORGOTTEN_ANSWER

IS_EMAIL_MESSAGING_EN IS_EMAIL_MESSAGING_ENABLED
ABLED
IS_FAX_SERVICE_ENABLE IS_FAX_SERVICE_ENABLED
D
IS_ADMINISTRATOR

ADMINISTRATOR

Determines is the user is an


administrator.

PHONE_MOBILE_COUNTR PHONE_MOBILE_COUNTRY_CODE
Y_CODE

CEO

false

44

Country code of the registered


mobile phone number (this is
the number SMS notifications
are sent to)
PHONE_MOBILE_REST_OF PHONE_MOBILE_REST_OF_NUMBER Area code and phone number of
_NUMBER
the registered mobile phone
(this is the number SMS
notifications are sent to)
PHONE_MOBILE_MESSAG PHONE_MOBILE_MESSAGE_DEPOSIT Indicate if registered mobile
E_DEPOSIT_ENABLED
_ENABLED
phone has message deposit
enabled.
ALL_MESSAGES_TO_MOBI ALL_MESSAGES_TO_MOBILE
Indicate whether all voicemails
LE
are sent to an MMS enabled
mobile for the user account.
PHONE_LAND1_COUNTRY PHONE_LAND1_COUNTRY_CODE
Country code of a registered
_CODE
landline number 1.
PHONE_LAND1_REST_OF_ PHONE_LAND1_REST_OF_NUMBER
National code of a registered
NUMBER
landline number 1.
PHONE_LAND1_MESSAGE PHONE_LAND1_MESSAGE_DEPOSIT_ Indicate if registered land line 1
_DEPOSIT_ENABLED
ENABLED
has message deposit enabled.
PHONE_LAND2_COUNTRY PHONE_LAND2_COUNTRY_CODE
Country code of a registered
_CODE
landline number 2.

44

PHONE_LAND2_REST_OF_ PHONE_LAND2_REST_OF_NUMBER
NUMBER

2077599250

Page 16

National code of a registered


landline number 2.

1999 - 2005 VoxSurf Ltd

777983421

true

true

44
2077599250
true

VxOne Provisioning & Administration Guide

Commercial in Confidence

PHONE_LAND2_MESSAGE PHONE_LAND2_MESSAGE_DEPOSIT_ Indicate if registered land line 2 false


_DEPOSIT_ENABLED
ENABLED
has message deposit enabled.
UNIFIED_PHONE_REST_O UNIFIED_PHONE_REST_OF_NUMBER
44
Country code of the DDI
F_NUMBER
assigned to a user for their
answer service (should be
defined for voicemail)
UNIFIED_PHONE_COUNTR UNIFIED_PHONE_REST_OF_NUMBER
Area code of the DDI assigned
Y_CODE
to a user for their answer
service (should be defined for
voicemail)

4.3.1.2

2073425453

Email Account information

The following table contains all the items that the VxOneTM LDAP Connector looks for in
the LDAP schema for the email account of a specific user.
Each of the names of the properties can be configured to make it compatible with the
particular schema. The table column Tag Example contains example values, but these
could change for each schema. E.g. the last name is sometimes assigned to an object
called sn, and sometimes (e.g. in Microsoft Exchange) to an object called surname.
Fields in bold are mandatory. All others are optional and may be left unmapped so that
default values are picked up from property files.
[1] Fields may be pre encrypted. See the corresponding boolean in
VxsProvisoning.properties.

Tag ID

Tag Example

Description

Value Example

EMAIL_ACCT_TYPE

EMAIL_ACCT_TYPE

Type of email account. Possible IMAP


values:
IMAP: IMAP4 account.
POP: POP3 account.
Exchange: Microsoft Exchange
5.5 or 2000 account with MAPI
access and Addressbook,
Calendaring and Tasks
capability.

EMAIL_ACCT_STORE_ADDR EMAIL_ACCT_STORE_ADDRESS
ESS

Network address or IP address


of mail store

EMAIL_ACCT_STORE_USER EMAIL_ACCT_STORE_USER_ID
_ID

Account ID of the user on the john.doe


mail store. This must always
be defined on the LDAP
directory. If it is not specified,
the LDAP provisioning
module (Java strategy) can be
modified to locate account
information from an
alternative source or obtain it
from available information
(e.g. accountId =
firstName.lastName

EMAIL_ACCT_STORE_PASS EMAIL_ACCT_STORE_PASSWORD
WORD [1]

Password of the user on the


Secret
mail store (if not specified, a
default password can be located
in the defaults properties files).

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

imap.voxsurf.com

Page 17

Commercial in Confidence

EMAIL_ACCT_STORE_PORT EMAIL_ACCT_STORE_PORT

Port of the email account


143
(default is 143 for IMAP and 110
for POP; 993 for SecIMAP etc).

EMAIL_ACCT_STORE_SSL

Should use and SSL tunnel for


connectivity to the email store

false

EMAIL_ACCT_EMAIL_ADDR Mail
ESS

Users email address

john.doe@voxsurf.co
m

EMAIL_ACCT_DISPLAY_NA Common Name


ME

This is the name and last name John Doe


shown next to the email address
(e.g. the name in: John Doe
john.doe@voxsurf.com)

EMAIL_ACCT_NAME

EMAIL_ACCT_NAME

Name given to the email


TM
account within VxOne (e.g.
work, home, com, demo etc)

demo

EMAIL_ACCT_LOCKED

EMAIL_ACCT_LOCKED

Email accounts can be locked


so that subscribers cannot
modify them. This saves from
subscribers invalidating their
accounts and unnecessary
support calls to be initiated.

true

EMAIL_ACCT_STORE_SSL

EMAIL_ACCT_ROOT_FOLDE EMAIL_ACCT_ROOT_FOLDER
R

Page 18

Root folder of an email account inbox


(some email accounts support
namespaces so that the
specification of a root folder
such as the INBOX is
necessary)

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

The file VxsProvisioningJNDI.properties can be modified to adapt it to the particular


schema (refer to the Operations Guide and the Configuration Guide for information
on locating, editing and managing configuration files.
The steps to configure the VxOneTM LDAP connector are described in the following
diagram:
1: Create email accounts
on the email store

2: Point LDAP connector


to the LDAP server
3: Set right context
for searches
4: Configure LDAP
searches tags
5: Verify LDAP schema

6: Verify User and Email


Account defaults
7: Activate LDAP
provisioning
8: Restart the server

4.3.2

Provision email accounts on the email store.

The VxOneTM LDAP Connector does not provide this functionality currently. The
functionality can be added by customising the user creation strategy as specified in
chapter: 4.4 Creating new Automatic Provisioning plug-in

4.3.3

Point the LDAP connector to the right directory server.

The following property must be changed in the VxsProvisioningJNDI.properties


configuration file:
Server info:
# ProviderUrl (i.e. ldap://<server address>:<port>)
providerUrl=ldap://10.0.0.1:389
If a username and password are required for the connection to the directory server, they
are set with the security principle and credentials as follows:
securityPrincipal=username
securityCredentials=password

4.3.4

Set the right context for searches on the particular schema.

The context must be set to adapt the LDAP connector to the specific LDAP schema.
Please consult your LDAP administrator to obtain the right context for the section in the
schema containing context information.

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 19

Commercial in Confidence

The example that follows represents the context in a typical Microsoft Exchange 5.5.
active directory deployment. The name of the property is context and the search
string is the whole argument to the right of the first =, that is
ou=DOMAIN,o=Voxsurf,co=UK in the example.
# Context (i.e. ou=DOMAIN,o=Voxsurf,co=UK)
context=ou=DOMAIN,o=Voxsurf,co=UK
If you are unsure about the particular directory schema, a standard LDAP browser can
be used to analyse the directory structure (a powerful, easy to use LDAP browser can be
downloaded from http://www.ldapbrowser.com/). Just open the directories in the sub
tree until you localise the directory containing all the user records. The right context is
the full ID of that node.
For example, dealing with the following type of schema:

Each user can be identified with a search with context:


CN=Users,DC=crayfish,DC=voxsurf,DC=com.
In the above mentioned browser, just right click on the directory containing the users
and click on properties to obtain the name of the node

4.3.5

Configure all tags for the LDAP search.


Configure the tags defined in the user information and email account information
tables
described
above.
The
tags
can
be
located
in
the
VxsProvisioningJNDI.properties file. Some of the tags need to be adapted to the
particular schema (e.g. use sn for LAST_NAME), and some can be left unchanged
in the configuration file if new fields will be added to the existing directory.

4.3.6

Page 20

Verify LDAP schema.

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

Make sure that the mandatory fields for both users and email accounts (as described in
the user information and email account information tables above) are defined for all
users in the directory server.

4.3.7

Pre Encrypted Data

By default provisioning assumes that the sensitive fields being passed in (AccountPIN,
Answer and Password) are loaded unencrypted and then encrypted internally by
VxOneTM. If however the data is pre encrypted, the provisioning mechanism must be set
to not encrypt the relevant values. This is done by setting the relevant property to false,
in the file:
[VOXSURF_PROPERTIES]\system\

4.3.8

VxsProvisioning.properties Refer to VxOne Configuration Guide

Verify User and Email Account defaults.

Verify that all necessary information has been specified correctly in the files for defaults
for user accounts and email accounts. A complete guide to the default value available
can be found in section(s) Appendix 3: VxsProvisioningDefaultEmailAccount.properties
and Appendix 4: VxsProvisioningDefaultUser.properties
For example, if the system will provision users that are allowed to send faxes, a default
value
of
true
for
the
faxServiceEnabled
property
in
the
VxsProvisioningDefaultUser.properties configuration file, or, to provision users that all
have their email account on a server called, for example, imap.voxsurf.com the
property mailServerAddress, in the VxsProvisioningDefaultEmailAccount.properties
class can be modified accordingly.

4.3.9

Activate LDAP auto provisioning.

This can be accomplished by setting the property AutoProvisioningOn to true in the


VxsEnvironment.properties file.

4.3.10 Restart the server.


The application server (just the servlets container, not the whole machine) must be
restarted for changes to take effect.

4.4 Creating new Automatic Provisioning plug-in


The VxOneTM LDAP connector is just one possible version of the VxOneTM automatic
provisioning plug-in. The module can be customised to cope with special requirements
or to deal with completely different mechanisms (e.g. radius etc). For example, if email
account ID and email account password are not available on the LDAP server but can
be obtained from an alternative repository, the LDAP provisioning strategy can be
modified to fetch and manipulate information as required.
The VxsProvisionUserStrategy class, described in section Appendix 5:
VxsProvisionUserStrategy can be implemented by an alternative provisioning strategy.
This gives flexibility to use different provisioning mechanisms (e.g. radius, xml sources,
soap) to do automatic provisioning.
To write an alternative mechanism implement the VxsProvisionUserStrategy interface
and edit the VxsProvisioning.properties to make the application use the alternative
strategy. To activate the new provisioning mechanism modify the following property:
ProvisioningStrategyClass=com.voxsurf.provisioning.VxsProvisionLDAPUserStrategy

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 21

Commercial in Confidence

To make it point to the new strategy, place the new class in a location contained in the
application server class path and the application will use the alternative provisioning
mechanism).

5 Provisioning on Demand
5.1 Overview
As well as provisioning users automatically, VxOneTM provides a web service
interface to provision users on demand. This allows a call to be made via a SOAP
interface to the provisioning service to force a user with a given subscriber id to be
provisioned immediately.

5.2 Provisioning Service


The VxOneTM provisioning-on-demand service is a SOAP web service that exposes
a single method:
/**
* Loads a single subscriber.
*
* @param subscriberId the subscriber to be loaded
* @return the status code of the load
*/
public int load(long subscriberId);

The Web Services Description Language definition for the service can be found in
Appendix 6: Provision-on-Demand WSDL Definition.
The load method takes in a long value which represents the id of the user to be
provisioned via LDAP. This corresponds to the USER_ID tag defined in 4.3 Planning
LDAP provisioning. When the load method is called, the user is provisioned
immediately, using the same mechanism used for auto-provisioning, and the user
details are stored in the database.
If the user does not exist in the database, it will be created, and the email account
will be added. If the user already exists in the database, it will be updated. If the user
has an existing email account with the same name as the provisioned account, it will
be updated, otherwise a new account will be created.
The status code returned by the load method may be one of:
1. The user has been successfully provisioned.
2. The user has not been provisioned due to an error.
3. An exception was raised initializing the LDAP context.

Page 22

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

6 Administration SOAP Interface


6.1 Overview
As well as provisioning users, VxOneTM provides a SOAP interface for administration of
users. This allows external Customer Care tools to be integrated with VxOneTM
providing the following functionality:

User Administration
o

Creating new users.

Searching for existing users.

Retrieving user details.

Updating existing users.

Delete existing users.

Email Account Administration


o

Create email accounts for a user.

Searching for email accounts for a given user.

Retrieving a users specific account details.

Update existing email account.

Delete existing email account.

Registered Device Administration


o

Retrieving registered devices for a user.

Update registered devices for a user.

The Web Services Description Language definition for the administration service can be
found in Appendix 7.
The SOAP Interface also has an XML schema, the VoxSurf.xsd that defines valid
requests and responses, and can be found in Appendix 8.

6.2 Attribute Description


This section describes the attributes used in the SOAP interface to pass user information to
and from VxOneTM.

Attribute
User
ID

LoginID

FirstName
LastName
primaryEmailAddress

VxOne Provisioning & Administration Guide

Description
A synthetic user account ID that is unique across all users and domains.
If this is not specified in the create method, VxOne will generate one
internally.
This is the VoxSurf account login ID. It is unique to the user and used, by
the user, to log in to the VoxSurf Email application. In the edit mode the
administrator cannot modify this field, as it must remain unique to the user.
This is the users first name,
This is the users last name.
This is the users primary email address. It is the address that the login
details will be sent to when the user has answered their security question

1999 - 2005 VoxSurf Ltd

Page 23

Commercial in Confidence

Attribute
AccountLocked

Administrator
AuthenticationAccountId

ClassOfService
domainID
ForgottenAnswer
ForgottenQuestion

Locale

NumberOfVisits
PIN
PinChangeRequired
PinProtection
SubscriberNumber
TimeZone

VoiceboxCountryCode
VoiceboxNumber
EmailDestinations

HtmlLookAndFeel
FaxEnabled
MessagesPerPage
Speed
Volume
Persona

voicemailMmsDirect

VoicemailEnabled 1

emailEnabled
StartPoints
Title
Organisation
Industry

Description
correctly.
This is a flag to indicate whether the users account is locked. After a
configurable number of failed login attempts, a users account will be
locked for security
This sets Administrator status for the user.
This is a secondary authentication account identifier for the user. If VxOne
is configured to use an external authentication mechanism, this is the
identifier that will be passed through.
This defines the users class of service, which defines a logical grouping of
users for which application attributes can be configured.
This is the ID of the domain that a user belongs to.
This is the answer to the users security question.
This is the security question that will be asked on the Forgotten Personal
Identification Number screen in the HTML Email application if the user
forgets their login details.
This is the users choice of language for the VoxSurf Email application (this
is not applicable to the Voice application). The options within this drop
down are taken from the VxsLanguages.properties file, which lists the
supported languages. This overwrites the machine locale when the user
logs in.
This is the number of times the user has accessed the VoxSurf application.
This is the users login password. It is used in association with the users
Account Number to log in to the Voxsurf Email application.
This defines whether this account is protected by a PIN.
This defines whether a user can disable PIN authentication for login when
using a registered device.
This is the users WAP registration number. It is automatically added when
the user accesses the WAP application.
This is the users local time zone, which is used to localise time stamps on
messages within VxOne. The options within this drop down are taken from
the VxsTimeZones.properties file, which lists the supported time zones.
This is the country code of the DDI voicebox number
This is the DDI number that a call must be diverted to or called directly to
leave the user a voicemail message.
This sets where the user is taken to after saying the global command go
to email in the Voice application.
This specifies which look and feel should be used for the html interface.
This sets whether the fax service is enabled for the user.
This sets the number of messages displayed per page on the HTML Email
application folder view page.
This is the words spoken per minute by the Voice application. It ranges
between 20 and 300 and has a default value of 135.
This is the volume setting for the Voice application. It ranges between 1
and 10 and has a default value of 8.
This sets the style of the Voice application. Changing the persona
changes the voice of the application, and the commands the user can give
the application.
This checkbox determines whether the user requires their voicemails to be
sent to them as MMS attachments directly to their mobile phone rather
than being sent as audio files to their email account.
This defines whether the user has access to the Voicemail service. If the
voicemail service is disabled through shadow properties this value cannot
be set on a per user basis.
This defines whether the user has access to the Email service.
This sets where the user is taken to after logging in successfully to the
Voice application.
This is the users title e.g. Mr., Mrs.
This is the organisation that the user works for.
This is the industry that the user works in.

1 Can not be set if the property is disabled at a system level


Email Account
ID

Page 24

The email account ID. This is created by VxOne, but required for the other
operations on this profile (such as updating and deleting).

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

Attribute

Description

emailAccountName

This is the name of the email account. This name may not be the same as
that for another email account for the selected user.
Flag to set this account as primary. There must always be one and only
one primary email account.
This is the users email name. It is the name that will be displayed when
someone receives an email sent from the selected account.
This is the email address for the selected account. Reply to This is the
email address for replies to emails sent from the selected account..
Flag to indicate the selected account as locked. The user in the HTML
Email application cannot edit any account that is locked. The administrator,
however, can always edit an email account through the administration tool
Enables the selected account as the voice mail account.
This is the selected email accounts mail server, e.g. pop.mail.yahoo.com
These define what type of server protocol the account uses. Valid types
are either POP3, IMAP4, or Exchange.
This is the server port number. This is defaulted to 143 for IMAP 4
accounts and 110 for POP3 accounts.
This defines whether the mail protocol is encrypted over SSL.
The name of the SMTP server
The port of the SMTP server. IMAP email settings
This is the users user name for the selected email account
This is the users password for the selected email account.
This is the users reply to email address.
The name of the folder used to store sent messages.
The name of the folder used to store deleted messages
The name of the folder used to store draft messages
Enables the deleted mail folder.
Enables the drafts mail folder.
Enables the sent mail folder.
This should be specified if the users personal folders exist below a folder
other than the default root folder. Usually inbox
This is the name of the NT Domain which the Exchange server is in.
This specifies whether the Exchange account should be used as the
source for contacts within VxOne
This specifies whether the Exchange account should be used as the
source for calendaring within VxOne
This specifies whether the Exchange account should be used as the
source for tasks within VxOne

PrimaryAccount
EmailName
EmailAddress
Locked

VoiceMail
ServerAddress
ServerType
ServerPort
SslRequired
SmtpServerAddress
SmtpServerPort
UserName.
Password
ReplyTo
SentMailFolder 2
DeletedMailFolder 2
DraftsMailFolder 2
EnableDeletedMail 2,4
EnableDraftsMail 2,4
EnableSentMail 2,4
RootFolder 2
NTDomain 3
ContactsSource. 3
CalendarSource. 3
TasksSource. 3

2 Only applicable to accounts that support multiple folders (IMAP4)


3 Only applicable to accounts of type Exchange
4 Can not be set if the property is disabled at a system level
Devices
AdvancedNotificationEnabled 5
AdvancedNotificationMethod 5
BasicNotificationEnabled 5
CountryCode
NationalCode
PinRequired
MessageDepositEnabled
DeviceType

To enable advanced notification types.


The type of advanced notification to send, SMS or MMS.
To enable sending message for the user via MWI
The country code of the registered device.
The national number of the registered device.
This flag specifies whether a pin is required when the device is used to
access the system.
This flag specifies whether the device can deposit messages.
This specifies the type of device. Currently mobile, fixed or pager

5 If there are no registered devices capable of receiveing the notification,


the SOAP interface will not persist changes to the notification values.
Currently at least one mobile device must be specified before these
settings become active.

6.3 Methods Overview

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 25

Commercial in Confidence

Each SOAP administration method requires a different set of required and optional and
attributes. The method can return either an XML document with the attributes listed
below, or an error response with an error code and message detailed in the following
section.

Method

Required Attributes

Optional Attributes

Returned Attributes

createUser

LoginID
FirstName
LastName
PrimaryEmailAddress

Id
AccountLocked
Administrator
AuthenticationAccountId
ClassOfService
DomainId
ForgottenAnswer
ForgottenQuestion
Locale
NumberOfVisits
Pin
PinChangeRequired
PinProtection
SubscriberNumber
TimeZone
VoiceboxCountryCode
VoiceboxNumber
EmailDestinations
HtmlLookAndFeel
MessagesPerPage
Persona
Speed
StartPoints
VoicemailMmsDirect
Industry
Organisation
Title
FirstName
LastName
AccountNumber
DomainID
EmailAddress
MatchCase
MatchWholeWord

UserID

retrieveUsers

retrieveUserDetails

Page 26

userID

1999 - 2005 VoxSurf Ltd

List of

UserID

accountNumber

FirstName

LastName

EmailAddress

DomainID
DomainID
ClassOfService
accountNumber
PINChangeRequired
AuthenticationAccountID
AccountLocked
Question
Answer
PrimaryEmailAddress
FirstName
LastName
Title
Organisation
Industry
NumberOfVisits
FaxService
Speed
Volume
Language
TimeZone
Administrator
HtmlLookAndFeel
Persona
PinProtection
VoicemailEnabled
EmailEnabled
Voicebox Number

VxOne Provisioning & Administration Guide

Commercial in Confidence

Method

Required Attributes

Optional Attributes

Returned Attributes
VoicemailMmsDirect
VoicemailNotificationOption
StartPoint
EmailDestination

updateUserDetails

UserID

AccountLocked
Administrator
AuthenticationAccountId
ClassOfService
DomainId
ForgottenAnswer
ForgottenQuestion
Locale
NumberOfVisits
Pin
PinChangeRequired
PinProtection
SubscriberNumber
TimeZone
VoiceboxCountryCode
VoiceboxNumber
EmailDestination
HtmlLookAndFeel
MessagesPerPage
Persona
Speed
StartPoint
Volume
VoicemailMmsDirect
FirstName
Industry
LastName
Organisation
PrimaryEmailAddress
Title

deleteUser

userID

createEmailAccount

EmailAccountName
EmailAddress
EmailName
Locked
Password
PrimaryAccount
ServerAddress
ServerType
UserName
Voicemail

retrieveEmailAccounts

userID

CalendarSource
ContactsSource
DeletedMailFolder
DraftsMailFolder
EnableDeletedMail
EnableDraftsMail
EnableSentMail
NTDomain
ReplyTo
RootFolder
SentMailFolder
ServerAddress
ServerPort
SMTPServerAddress
SMTPServerPort
SSLRequired
TasksSource

emailAccountID

List of

retrieveEmailAccountDetails

emailAccountID

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

emailAccountID

CalendarSource
ContactsSource
DeletedMailFolder
DraftsMailFolder
EmailAccountName
EmailAddress
EmailName
EnableDeletedMail
EnableDraftsMail
EnableSentMail
Locked
NTDomain

Page 27

Commercial in Confidence

Method

Required Attributes

Optional Attributes

Returned Attributes
Password
PrimaryAccount
ReplyTo
RootFolder
SentMailFolder
ServerAddress
ServerPort
ServerType
SMTPServerAddress
SMTPServerPort
SSLRequired
TasksSource
UserName
Voicemail

updateEmailAccountDetails

emailAccountID

deleteEmailAccount

emailAccountID

retrieveRegisteredDevices

userID

CalendarSource
ContactsSource
DeletedMailFolder
DraftsMailFolder
EmailAccountName
EmailAddress
EmailName
EnableDeletedMail
EnableDraftsMail
EnableSentMail
Locked
NTDomain
Password
PrimaryAccount
ReplyTo
RootFolder
SentMailFolder
ServerAddress
ServerPort
ServerType
SMTPServerAddress
SMTPServerPort
SSLRequired
TasksSource
UserName
Voicemail

AdvancedNotificationEnabled
AdvancedNotificationMethod
BasicNotificationEnabled
List of

CountryCode

DeviceType

MessageDepositEnabled

NationalCode

PinRequired

updateRegisteredDeviceDetails UserID
AdvancedNotificationEnabled
AdvancedNotificationMethod
List of
BasicNotificationEnabled

CountryCode

DeviceType

MessageDepositEna
bled

NationalCode

PinRequired

6.4 Response Codes

Page 28

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

Once a request has been made to the administration SOAP interface, a response XML
document is generated that contains a status code indicating whether the request was
successful or not.
The caller of the service will receive a XML document as a response. It can contain a number
of status messages, each of which has a code and value, which can be broken down into
three groups, success, exception and failure.

Success
Code 0 in the response means the response was carried out successfully.
<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>UpdateEmailAccount</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
</VoxSurf>

Exception
Code 2 in the response means that an exception has occurred whilst processing the
request. If the exception has a message associated it becomes the Value.
<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>UpdateEmailAccount</Service>
<Status>
<StatusMessage>
<Code>2</Code>
<Value>Values Missing during mapping</Value>
</StatusMessage>
</Status>
</VoxSurf>

Failure
Before the response is carried out a number of validation checks are done on the
information contained within the response. If any problems are found during the
validation a specific code and value are produced for each error. Only after all the
values are deemed to be valid will the requested service be fulfilled.
<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>CreateEmailAccount</Service>
<Status>
<StatusMessage>
<Code>5006</Code>
<Value>missing email address</Value>
</StatusMessage>
<StatusMessage>
<Code>5008</Code>
<Value>missing pop server</Value>
</StatusMessage>
</Status>
</VoxSurf>

Failure status messagesCode

Value

1
3
1001
1002
1003
1004
1005

{General code - exception message}


Error with mailstore
Invalid {order number device appers in request} country code.
Invalid {order number device appers in request} number.
Missing {order number device appers in request} country code
Missing {order number device appers in request} number
The {order number device appers in request} number is already registered

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 29

Commercial in Confidence

1006
1007
1007
1008
1008
1009
1009
2001
2002
2006
2007
2008
2009
2011
2012
2013
2014
2017
2018
2019
2020
2021
2024
2025
2026
2027
2028
2033
2039
2040
2041
2042
2043
2044
2045
2046
3001
3002
3003
3004
3005
3006
3007
3008
4018
4019
4020
4044
4045
5001
5002
5003
5005
5006
5008
5009
5011
5017
5018
5020
5021
5024

Page 30

{order number device appers in request} number has already been used
{order number device appers in request} number has already been used Message desposit field
must be a boolean
Device {order number device appears in request} Message desposit field must be a boolean
{order number device appears in request} number has already been used Pin required field must be
a boolean
Device {order number device appears in request} Pin required field must be a boolean
{order number device appears in request} number has already been used has invalid device type.
Device {order number device appears in request} has invalid device type.
Invalid PIN number
No PIN has been entered
The account number must be between $1 and $2 digits
Invalid account number
No first name has been entered
No last name has been entered
No question has been entered
No answer has been entered
No title has been entered
No email address has been entered
Number of visits is invalid
Number of messages per HTML page is invalid
Speed must be between 20 and 300
Volume must be between 1 and 100
Number of messages per HTML page is not within range
No more users can be added to this domain
That domain does not exist
Invalid domain Id
Invalid registered email address
No account number has been entered
Invalid Administrator Boolean
Account number already taken
Invalid password change required field
Invalid PIN protection value
User Id already in use
User not found
Email destination must be of specified enum value
Start point must be of specified enum value
Invalid User Id
Invalid subscriber number
Voice box number in use
Invalid voice box number
Invalid voice box number country code
voice box number not allowed
Missing voice box number
Missing voice box country code
Invalid Voice MMS Direct Field
boolean value must be entered for advanced notification enabled
boolean value must be entered for basic notification enabled
Advanced notification method must be of enum value.
Email destination must be of specified enum value
Start point must be of specified enum value
email account exists
missing account name
No user name has been entered
missing user name
No email address has been entered
missing pop server
missing pop server port
missing smtp server port
The sent mail folder name entered is too long.
The deleted items folder name entered is too long.
Invalid registered email address
Invalid reply email address
Invalid sent mail folder name

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

5025
5026
5027
5028
5032
5033
5034
5035
5036
5037
5038
5039
5040

Invalid deleted mail folder name


Invalid drafts folder name
invalid email account type
invalid email account locked
Invalid value in calendar source field
Invalid contacts source boolean
Invalid value in Trash enabled field
Invalid value in Drafts enabled field
Invalid value in Sent enabled field
Invalid value in PrimaryAccount field
Invalid value in TasksSource field
Invalid value in VoiceMail field
Invalid value in EnableSSL field

6.5 Method Description


This section describes the methods supported by the Administration SOAP interface,
along with XML schema definitions for each method and example XML for requests and
responses.

6.5.1

CreateUser service

This method creates a new user using the information provided in the parameters.
The userID of the new account is returned.

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 31

Commercial in Confidence

6.5.1.1

Request Schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:User" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountSettings" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:InterfaceSettings" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:NotificationSettings" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PersonalSettings" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountLocked" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Administrator" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:AuthenticationAccountId" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ClassOfService" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:DomainId" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ForgottenAnswer" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ForgottenQuestion" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Locale" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:LoginId" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:NumberOfVisits" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Pin" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PinChangeRequired" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PinProtection" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SubscriberNumber" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:TimeZone" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:VoiceboxCountryCode" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:VoiceboxNumber" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InterfaceSettings">
<xs:complexType>
<xs:sequence>
<xs:element name="EmailDestination" type="vxp:EmailDestinations" minOccurs="0"/>
<xs:element ref="vxp:HtmlLookAndFeel" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:MessagesPerPage" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Persona" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Speed" minOccurs="0" maxOccurs="1"/>
<xs:element name="StartPoint" type="vxp:StartPoints" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Volume" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NotificationSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:VoicemailMmsDirect" minOccurs="0" maxOccurs="1"/>

Page 32

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PersonalSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:FirstName" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Industry" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:LastName" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Organisation" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PrimaryEmailAddress" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Title" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="EmailDestinations">
<xs:annotation>
<xs:documentation>The place the voice app should go after saying "go to email". P=Primary
Account, M=Main Menu</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="M"/>
<xs:enumeration value="P"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="StartPoints">
<xs:annotation>
<xs:documentation>The voice app entry point. E=Email, T=Top, V=Voicemail</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="E"/>
<xs:enumeration value="T"/>
<xs:enumeration value="V"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="AccountLocked" type="xs:boolean"/>
<xs:element name="Administrator" type="xs:boolean"/>
<xs:element name="AuthenticationAccountId" type="xs:string"/>
<xs:element name="ClassOfService" type="xs:string"/>
<xs:element name="DomainId" type="xs:string"/>
<xs:element name="FirstName" type="xs:string"/>
<xs:element name="ForgottenAnswer" type="xs:string"/>
<xs:element name="ForgottenQuestion" type="xs:string"/>
<xs:element name="HtmlLookAndFeel" type="xs:string"/>
<xs:element name="Industry" type="xs:string"/>
<xs:element name="LastName" type="xs:string"/>
<xs:element name="Locale" type="xs:string"/>
<xs:element name="LoginId" type="xs:string"/>
<xs:element name="MessagesPerPage" type="xs:int"/>
<xs:element name="NumberOfVisits" type="xs:int"/>
<xs:element name="Organisation" type="xs:string"/>
<xs:element name="PrimaryEmailAddress" type="xs:string"/>
<xs:element name="Persona" type="xs:string"/>
<xs:element name="Pin" type="xs:string"/>
<xs:element name="PinChangeRequired" type="xs:boolean"/>
<xs:element name="PinProtection" type="xs:boolean"/>
<xs:element name="Speed" type="xs:int"/>
<xs:element name="StatusCode" type="xs:int"/>
<xs:element name="SubscriberNumber" type="xs:string"/>
<xs:element name="TimeZone" type="xs:string"/>
<xs:element name="Title" type="xs:string"/>
<xs:element name="VoiceboxCountryCode" type="xs:string"/>
<xs:element name="VoiceboxNumber" type="xs:string"/>
<xs:element name="VoicemailMmsDirect" type="xs:boolean"/>
<xs:element name="Volume" type="xs:int"/>
</xs:schema>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 33

Commercial in Confidence

6.5.1.2

Example request XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging createUserRequest.xsd">
<Service>CreateUser</Service>
<User id="999">
<AccountSettings>
<AccountLocked>false</AccountLocked>
<Administrator>true</Administrator>
<AuthenticationAccountId>authId</AuthenticationAccountId>
<ClassOfService>Gold</ClassOfService>
<DomainId>0000</DomainId>
<ForgottenAnswer>answer</ForgottenAnswer>
<ForgottenQuestion>question</ForgottenQuestion>
<Locale>en_GB</Locale>
<LoginId>99775533</LoginId>
<NumberOfVisits>0</NumberOfVisits>
<Pin>1234</Pin>
<PinChangeRequired>false</PinChangeRequired>
<PinProtection>false</PinProtection>
<SubscriberNumber>192837465</SubscriberNumber>
<TimeZone>Europe/London</TimeZone>
<VoiceboxCountryCode>44</VoiceboxCountryCode>
<VoiceboxNumber>8833774466</VoiceboxNumber>
</AccountSettings>
<InterfaceSettings>
<EmailDestination>M</EmailDestination>
<HtmlLookAndFeel>Mercier</HtmlLookAndFeel>
<MessagesPerPage>25</MessagesPerPage>
<Persona>Paula</Persona>
<Speed>10</Speed>
<StartPoint>T</StartPoint>
<Volume>10</Volume>
</InterfaceSettings>
<NotificationSettings>
<VoicemailMmsDirect>false</VoicemailMmsDirect>
</NotificationSettings>
<PersonalSettings>
<FirstName>FirstName</FirstName>
<Industry>Telecom</Industry>
<LastName>LastName</LastName>
<Organisation>Organisation</Organisation>
<PrimaryEmailAddress>tester1@voxsurf.com</PrimaryEmailAddress>
<Title>CEO</Title>
</PersonalSettings>
</User>
</VoxSurf>

6.5.1.3

Response schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:User" minOccurs="0" maxOccurs="1"/>
</xs:sequence>

Page 34

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.1.4

Example response XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>CreateUser</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
<User id="533"/>
</VoxSurf>

6.5.2

CreateCompleteCWUser Service

The method creates a ready-to-use subscriber, creating a subscriber on VxOne and a


corresponding mailbox on the mailstore. It uses the LoginId element as:
-

The subscribers MSISDN primary registered phone

LoginId

The mailbox name on the mailstore

6.5.2.1

Request Schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="ClassOfService"/>
<xs:element ref="Locale"/>
<xs:element ref="Pin"/>
</xs:sequence>
</xs:complexType>
</xs:element>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 35

Commercial in Confidence

<xs:element name="ClassOfService" type="xs:string"/>


<xs:element name="Locale" type="xs:string"/>
<xs:element name="Pin" type="xs:string"/>
<xs:element name="NotificationSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="ECCEnabled"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ECCEnabled" type="xs:boolean"/>
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="AccountSettings"/>
<xs:element ref="NotificationSettings"/>
</xs:sequence>
<xs:attribute name="LoginId" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="Service"/>
<xs:element ref="User"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.2.2

Example request XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging createCompleteUserRequest.xsd">
<Service>CreateCompleteCWUserr</Service>
<User>
<AccountSettings>
<LoginId>0812345678</LoginId>
<ClassOfService>AdvancedVoicemailWithContacts</ClassOfService>
<Locale>th</Locale>
<Pin>7531</Pin>
</AccountSettings>
<NotificationSettings>
<ECCEnabled>false</ECCEnabled>
</NotificationSettings>
</User>
</VoxSurf>

6.5.2.3

Response Schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:Message" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>

Page 36

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
</xs:schema>

6.5.2.4

Example response XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>CreateCompleteUser</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
</VoxSurf>

6.5.3

RetrieveUsers service

This method retrieves the userIDs of subscribers for a given set of criteria.
6.5.3.1

Request Schema

<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:User" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountSettings" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PersonalSettings" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:DomainId" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:LoginId" minOccurs="0" maxOccurs="1"/>
</xs:sequence>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 37

Commercial in Confidence

</xs:complexType>
</xs:element>
<xs:element name="PersonalSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:FirstName" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:LastName" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PrimaryEmailAddress" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DomainId">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="FirstName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="LastName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="LoginId">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="PrimaryEmailAddress">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
</xs:schema>

6.5.3.2

Page 38

Example request XML payload

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging retrieveUsersRequest.xsd">
<Service>RetrieveUsers</Service>
<User>
<AccountSettings>
<DomainId matchCase="false" matchWholeWord="false">0000</DomainId>
<LoginId matchCase="false" matchWholeWord="false"></LoginId>
</AccountSettings>
<PersonalSettings>
<FirstName matchCase="false" matchWholeWord="false"></FirstName>
<LastName matchCase="false" matchWholeWord="false"></LastName>
<PrimaryEmailAddress matchCase="false" matchWholeWord="false"></PrimaryEmailAddress>
</PersonalSettings>
</User>
</VoxSurf>

6.5.3.3

Response schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:User" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountSettings"/>
<xs:element ref="vxp:PersonalSettings"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:DomainId"/>
<xs:element ref="vxp:LoginId"/>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 39

Commercial in Confidence

</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PersonalSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:FirstName"/>
<xs:element ref="vxp:LastName"/>
<xs:element ref="vxp:PrimaryEmailAddress"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DomainId">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="FirstName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="LastName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="LoginId">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="PrimaryEmailAddress">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>

Page 40

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

6.5.3.4

Example response XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>RetrieveUsers</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
<User id="1">
<AccountSettings>
<DomainId>0000</DomainId>
<LoginId>99999999</LoginId>
</AccountSettings>
<PersonalSettings>
<FirstName>Root Administrator</FirstName>
<LastName>Root Administrator</LastName>
<PrimaryEmailAddress>support@voxsurf.com</PrimaryEmailAddress>
</PersonalSettings>
</User>
<User id="2">
<AccountSettings>
<DomainId>0000</DomainId>
<LoginId>11335577</LoginId>
</AccountSettings>
<PersonalSettings>
<FirstName>Timo</FirstName>
<LastName>Ahokas</LastName>
<PrimaryEmailAddress>timo.ahokas@voxsurf.com</PrimaryEmailAddress>
</PersonalSettings>
</User>
<User id="533">
<AccountSettings>
<DomainId>0000</DomainId>
<LoginId>99775533</LoginId>
</AccountSettings>
<PersonalSettings>
<FirstName>FirstName</FirstName>
<LastName>LastName</LastName>
<PrimaryEmailAddress>tester1@voxsurf.com</PrimaryEmailAddress>
</PersonalSettings>
</User>
</VoxSurf>

6.5.4

RetrieveUserDetails service

This method retrieves the complete user details for a given userID.
6.5.4.1

Request schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:User" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 41

Commercial in Confidence

</xs:element>
</xs:schema>

6.5.4.2

Example request XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging retrieveUserDetailsRequest.xsd">
<Service>RetrieveUserDetails</Service>
<User id="533"/>
</VoxSurf>

6.5.4.3

Response schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:User" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountSettings" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:InterfaceSettings" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:NotificationSettings" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:PersonalSettings" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountLocked" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Administrator" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:AuthenticationAccountId" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ClassOfService" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:DomainId" minOccurs="1" maxOccurs="1"/>

Page 42

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<xs:element ref="vxp:EmailEnabled" minOccurs="0" maxOccurs="1"/>


<xs:element ref="vxp:FaxEnabled" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ForgottenAnswer" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ForgottenQuestion" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Locale" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:LoginId" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:NumberOfVisits" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Pin" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PinChangeRequired" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PinProtection" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SubscriberNumber" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:TimeZone" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:VoiceboxCountryCode" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:VoiceboxNumber" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:VoicemailEnabled" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InterfaceSettings">
<xs:complexType>
<xs:sequence>
<xs:element name="EmailDestination" type="vxp:EmailDestinations" minOccurs="0"
maxOccurs="1"/>
<xs:element ref="vxp:HtmlLookAndFeel" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:MessagesPerPage" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Persona" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Speed" minOccurs="0" maxOccurs="1"/>
<xs:element name="StartPoint" type="vxp:StartPoints" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Volume" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NotificationSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:VoicemailMmsDirect" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PersonalSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:FirstName" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Industry" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:LastName" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Organisation" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PrimaryEmailAddress" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Title" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="EmailDestinations">
<xs:annotation>
<xs:documentation>The place the voice app should go after saying "go to email". P=Primary
Account, M=Main Menu</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="M"/>
<xs:enumeration value="P"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="StartPoints">
<xs:annotation>
<xs:documentation>The voice app entry point. E=Email, T=Top, V=Voicemail</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="E"/>
<xs:enumeration value="T"/>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 43

Commercial in Confidence

<xs:enumeration value="V"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="AccountLocked" type="xs:boolean"/>
<xs:element name="Administrator" type="xs:boolean"/>
<xs:element name="AuthenticationAccountId" type="xs:string"/>
<xs:element name="ClassOfService" type="xs:string"/>
<xs:element name="DomainId" type="xs:string"/>
<xs:element name="EmailEnabled" type="xs:boolean"/>
<xs:element name="FaxEnabled" type="xs:boolean"/>
<xs:element name="FirstName" type="xs:string"/>
<xs:element name="ForgottenAnswer" type="xs:string"/>
<xs:element name="ForgottenQuestion" type="xs:string"/>
<xs:element name="HtmlLookAndFeel" type="xs:string"/>
<xs:element name="Industry" type="xs:string"/>
<xs:element name="LastName" type="xs:string"/>
<xs:element name="Locale" type="xs:string"/>
<xs:element name="LoginId" type="xs:string"/>
<xs:element name="MessagesPerPage" type="xs:int"/>
<xs:element name="NumberOfVisits" type="xs:int"/>
<xs:element name="Organisation" type="xs:string"/>
<xs:element name="PrimaryEmailAddress" type="xs:string"/>
<xs:element name="Persona" type="xs:string"/>
<xs:element name="Pin" type="xs:string"/>
<xs:element name="PinChangeRequired" type="xs:boolean"/>
<xs:element name="PinProtection" type="xs:boolean"/>
<xs:element name="Speed" type="xs:int"/>
<xs:element name="StatusCode" type="xs:int"/>
<xs:element name="SubscriberNumber" type="xs:string"/>
<xs:element name="TimeZone" type="xs:string"/>
<xs:element name="Title" type="xs:string"/>
<xs:element name="VoiceboxCountryCode" type="xs:string"/>
<xs:element name="VoiceboxNumber" type="xs:string"/>
<xs:element name="VoicemailEnabled" type="xs:boolean"/>
<xs:element name="VoicemailMmsDirect" type="xs:boolean"/>
<xs:element name="Volume" type="xs:int"/>
</xs:schema>

6.5.4.4

Example response XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>RetrieveUserDetails</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
<User id="533">
<AccountSettings>
<AccountLocked>false</AccountLocked>
<Administrator>true</Administrator>
<AuthenticationAccountId>authId</AuthenticationAccountId>
<ClassOfService>Gold</ClassOfService>
<DomainID>0000</ DomainID >
<ForgottenAnswer>answer</ForgottenAnswer>
<ForgottenQuestion>question</ForgottenQuestion>
<Locale>en_GB</Locale>
<LoginId>99775533</LoginId>
<NumberOfVisits>0</NumberOfVisits>
<Pin>1234</Pin>
<PinChangeRequired>false</PinChangeRequired>
<PinProtection>false</PinProtection>
<SubscriberNumber>192837465</SubscriberNumber>
<TimeZone>Europe/London</TimeZone>
<VoiceboxCountryCode>44</VoiceboxCountryCode>
<VoiceboxNumber>8833774466</VoiceboxNumber>

Page 44

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

</AccountSettings>
<InterfaceSettings>
<EmailDestination>M</EmailDestination>
<HtmlLookAndFeel>Mercier</HtmlLookAndFeel>
<MessagesPerPage>25</MessagesPerPage>
<Persona>Paula</Persona>
<Speed>10</Speed>
<StartPoint>T</StartPoint>
<Volume>10</Volume>
</InterfaceSettings>
<NotificationSettings>
<VoicemailMmsDirect>false</VoicemailMmsDirect>
<VoicemailNotificationType>S</VoicemailNotificationType>
</NotificationSettings>
<PersonalSettings>
<FirstName>FirstName</FirstName>
<Industry>Telecom</Industry>
<LastName>LastName</LastName>
<Organisation>Organisation</Organisation>
<PrimaryEmailAddress>tester1@voxsurf.com</PrimaryEmailAddress>
<Title>CEO</Title>
</PersonalSettings>
</User>
</VoxSurf>

6.5.5

RetrieveUserDetailsByLogin

This method returns a the details of a subscriber for a given LoginId


6.5.5.1

Request Schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="LoginId" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="Service"/>
<xs:element ref="User"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.5.2

Example request XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging RetrieveSpecificUserDetails.xsd">
<Service>RetrieveUserDetailsByLogin</Service>
<User LoginId="0812457863">
</User>
</VoxSurf>

6.5.5.3

Response schema

<?xml version="1.0" encoding="UTF-8"?>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 45

Commercial in Confidence

<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:User" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountSettings" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:InterfaceSettings" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:NotificationSettings" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:PersonalSettings" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountLocked" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Administrator" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:AuthenticationAccountId" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ClassOfService" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:DomainId" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:EmailEnabled" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:FaxEnabled" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ForgottenAnswer" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ForgottenQuestion" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Locale" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:LoginId" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:NumberOfVisits" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Pin" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PinChangeRequired" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PinProtection" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SubscriberNumber" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:TimeZone" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:VoiceboxCountryCode" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:VoiceboxNumber" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:VoicemailEnabled" minOccurs="0" maxOccurs="1"/>
</xs:sequence>

Page 46

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

</xs:complexType>
</xs:element>
<xs:element name="InterfaceSettings">
<xs:complexType>
<xs:sequence>
<xs:element name="EmailDestination" type="vxp:EmailDestinations" minOccurs="0"
maxOccurs="1"/>
<xs:element ref="vxp:HtmlLookAndFeel" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:MessagesPerPage" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Persona" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Speed" minOccurs="0" maxOccurs="1"/>
<xs:element name="StartPoint" type="vxp:StartPoints" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Volume" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NotificationSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:VoicemailMmsDirect" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PersonalSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:FirstName" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Industry" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:LastName" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Organisation" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PrimaryEmailAddress" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Title" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="EmailDestinations">
<xs:annotation>
<xs:documentation>The place the voice app should go after saying "go to email". P=Primary
Account, M=Main Menu</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="M"/>
<xs:enumeration value="P"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="StartPoints">
<xs:annotation>
<xs:documentation>The voice app entry point. E=Email, T=Top, V=Voicemail</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="E"/>
<xs:enumeration value="T"/>
<xs:enumeration value="V"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="AccountLocked" type="xs:boolean"/>
<xs:element name="Administrator" type="xs:boolean"/>
<xs:element name="AuthenticationAccountId" type="xs:string"/>
<xs:element name="ClassOfService" type="xs:string"/>
<xs:element name="DomainId" type="xs:string"/>
<xs:element name="EmailEnabled" type="xs:boolean"/>
<xs:element name="FaxEnabled" type="xs:boolean"/>
<xs:element name="FirstName" type="xs:string"/>
<xs:element name="ForgottenAnswer" type="xs:string"/>
<xs:element name="ForgottenQuestion" type="xs:string"/>
<xs:element name="HtmlLookAndFeel" type="xs:string"/>
<xs:element name="Industry" type="xs:string"/>
<xs:element name="LastName" type="xs:string"/>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 47

Commercial in Confidence

<xs:element name="Locale" type="xs:string"/>


<xs:element name="LoginId" type="xs:string"/>
<xs:element name="MessagesPerPage" type="xs:int"/>
<xs:element name="NumberOfVisits" type="xs:int"/>
<xs:element name="Organisation" type="xs:string"/>
<xs:element name="PrimaryEmailAddress" type="xs:string"/>
<xs:element name="Persona" type="xs:string"/>
<xs:element name="Pin" type="xs:string"/>
<xs:element name="PinChangeRequired" type="xs:boolean"/>
<xs:element name="PinProtection" type="xs:boolean"/>
<xs:element name="Speed" type="xs:int"/>
<xs:element name="StatusCode" type="xs:int"/>
<xs:element name="SubscriberNumber" type="xs:string"/>
<xs:element name="TimeZone" type="xs:string"/>
<xs:element name="Title" type="xs:string"/>
<xs:element name="VoiceboxCountryCode" type="xs:string"/>
<xs:element name="VoiceboxNumber" type="xs:string"/>
<xs:element name="VoicemailEnabled" type="xs:boolean"/>
<xs:element name="VoicemailMmsDirect" type="xs:boolean"/>
<xs:element name="Volume" type="xs:int"/>
</xs:schema>

6.5.5.4

Example response XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>RetrieveUserDetailsByLogin</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
<User id="899223389">
<AccountSettings>
<AccountLocked>false</AccountLocked>
<Administrator>false</Administrator>
<ClassOfService>Everything</ClassOfService>
<DomainId>0000</DomainId>
<ForgottenAnswer>42</ForgottenAnswer>
<ForgottenQuestion>What is the answer?</ForgottenQuestion>
<Locale>en_GB</Locale>
<LoginId>0812457863</LoginId>
<NumberOfVisits>0</NumberOfVisits>
<Pin>1357</Pin>
<PinChangeRequired>false</PinChangeRequired>
<TimeZone>GMT-05:00</TimeZone>
</AccountSettings>
<InterfaceSettings>
<EmailDestination>M</EmailDestination>
<HtmlLookAndFeel>styled</HtmlLookAndFeel>
<MessagesPerPage>5</MessagesPerPage>
<Speed>135</Speed>
<StartPoint>T</StartPoint>
<Volume>50</Volume>
</InterfaceSettings>
<NotificationSettings>
<VoicemailMmsDirect>false</VoicemailMmsDirect>
</NotificationSettings>
<PersonalSettings>
<FirstName>0812457863</FirstName>
<Industry/>
<LastName>0812457863</LastName>
<Organisation/>
<PrimaryEmailAddress>899223389@voxsurfdev.com</PrimaryEmailAddress>
<Title>title</Title>
</PersonalSettings>
</User>
</VoxSurf>

Page 48

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

6.5.6

RetrieveSpecificUserDetails service

This method returns a limited amount of details for a given LoginId.


6.5.6.1

Request Schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="LoginId" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="Service"/>
<xs:element ref="User"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.6.2

Example request XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging createUserRequest.xsd">
<Service>RetrieveUserDetailsByLogin</Service>
<User LoginId="0812457863">
</User>
</VoxSurf>

6.5.6.3

Response schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="ClassOfService"/>
<xs:element ref="Locale"/>
<xs:element ref="LoginId"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ClassOfService" type="xs:string"/>
<xs:element name="Code" type="xs:int"/>
<xs:element name="ECCEnabled" type="xs:boolean"/>
<xs:element name="Locale" type="xs:string"/>
<xs:element name="LoginId" type="xs:int"/>
<xs:element name="NotificationSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="ECCEnabled"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="StatusMessage"/>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 49

Commercial in Confidence

</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="Code"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="AccountSettings"/>
<xs:element ref="NotificationSettings"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="Service"/>
<xs:element ref="Status"/>
<xs:element ref="User"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.6.4

Example response XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging
retrieveSpecificUserDetailsResponse.xsd">
<Service>RetrieveSpecificUserDetails</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
<User>
<AccountSettings>
<ClassOfService>AdvancedVoicemailWithContacts</ClassOfService>
<Locale>th</Locale>
<LoginId>0812345678</LoginId>
</AccountSettings>
<NotificationSettings>
<ECCEnabled>true</ECCEnabled>
</NotificationSettings>
</User>
</VoxSurf>

6.5.7

UpdateUser service

This method updates the user details for a given userID.


6.5.7.1

Request Schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>

Page 50

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:User" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountSettings" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:InterfaceSettings" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:NotificationSettings" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PersonalSettings" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountLocked" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Administrator" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:AuthenticationAccountId" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ClassOfService" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:DomainId" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ForgottenAnswer" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ForgottenQuestion" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Locale" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:LoginId" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:NumberOfVisits" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Pin" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PinChangeRequired" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PinProtection" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SubscriberNumber" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:TimeZone" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:VoiceboxCountryCode" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:VoiceboxNumber" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InterfaceSettings">
<xs:complexType>
<xs:sequence>
<xs:element name="EmailDestination" type="vxp:EmailDestinations" minOccurs="0"
maxOccurs="1"/>
<xs:element ref="vxp:HtmlLookAndFeel" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:MessagesPerPage" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Persona" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Speed" minOccurs="0" maxOccurs="1"/>
<xs:element name="StartPoint" type="vxp:StartPoints" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Volume" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NotificationSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:VoicemailMmsDirect" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PersonalSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:FirstName" minOccurs="0" maxOccurs="1"/>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 51

Commercial in Confidence

<xs:element ref="vxp:Industry" minOccurs="0" maxOccurs="1"/>


<xs:element ref="vxp:LastName" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Organisation" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PrimaryEmailAddress" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Title" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name = "EmailDestinations">
<xs:annotation>
<xs:documentation>The place the voice app should go after saying "go to email". P=Primary Account,
M=Main Menu</xs:documentation>
</xs:annotation>
<xs:restriction base = "xs:string">
<xs:enumeration value = "M"/>
<xs:enumeration value = "P"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name = "StartPoints">
<xs:annotation>
<xs:documentation>The voice app entry point. E=Email, T=Top, V=Voicemail</xs:documentation>
</xs:annotation>
<xs:restriction base = "xs:string">
<xs:enumeration value = "E"/>
<xs:enumeration value = "T"/>
<xs:enumeration value = "V"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="AccountLocked" type="xs:boolean"/>
<xs:element name="Administrator" type="xs:boolean"/>
<xs:element name="AuthenticationAccountId" type="xs:string"/>
<xs:element name="ClassOfService" type="xs:string"/>
<xs:element name="DomainId" type="xs:string"/>
<xs:element name="FirstName" type="xs:string"/>
<xs:element name="ForgottenAnswer" type="xs:string"/>
<xs:element name="ForgottenQuestion" type="xs:string"/>
<xs:element name="HtmlLookAndFeel" type="xs:string"/>
<xs:element name="Industry" type="xs:string"/>
<xs:element name="LastName" type="xs:string"/>
<xs:element name="Locale" type="xs:string"/>
<xs:element name="LoginId" type="xs:string"/>
<xs:element name="MessagesPerPage" type="xs:int"/>
<xs:element name="NumberOfVisits" type="xs:int"/>
<xs:element name="Organisation" type="xs:string"/>
<xs:element name="PrimaryEmailAddress" type="xs:string"/>
<xs:element name="Persona" type="xs:string"/>
<xs:element name="Pin" type="xs:string"/>
<xs:element name="PinChangeRequired" type="xs:boolean"/>
<xs:element name="PinProtection" type="xs:boolean"/>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Speed" type="xs:int"/>
<xs:element name="StatusCode" type="xs:int"/>
<xs:element name="SubscriberNumber" type="xs:string"/>
<xs:element name="TimeZone" type="xs:string"/>
<xs:element name="Title" type="xs:string"/>
<xs:element name="VoiceboxCountryCode" type="xs:string"/>
<xs:element name="VoiceboxNumber" type="xs:string"/>
<xs:element name="VoicemailMmsDirect" type="xs:boolean"/>
<xs:element name="Volume" type="xs:int"/>
</xs:schema>

6.5.7.2

Example request XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging updateUserRequest.xsd">
<Service>UpdateUser</Service>

Page 52

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<User id="99775533">
<AccountSettings>
<AccountLocked>false</AccountLocked>
<Administrator>false</Administrator>
<AuthenticationAccountId>authId</AuthenticationAccountId>
<ClassOfService>Gold</ClassOfService>
<DomainId>0000</DomainId>
<ForgottenAnswer>answer</ForgottenAnswer>
<ForgottenQuestion>question</ForgottenQuestion>
<Locale>en_GB</Locale>
<NumberOfVisits>0</NumberOfVisits>
<Pin>1234</Pin>
<PinChangeRequired>false</PinChangeRequired>
<PinProtection>false</PinProtection>
<SubscriberNumber>192837465</SubscriberNumber>
<TimeZone>Europe/London</TimeZone>
<VoiceboxCountryCode>44</VoiceboxCountryCode>
<VoiceboxNumber>8833774455</VoiceboxNumber>
</AccountSettings>
<InterfaceSettings>
<EmailDestination>P</EmailDestination>
<HtmlLookAndFeel>Mercier</HtmlLookAndFeel>
<MessagesPerPage>20</MessagesPerPage>
<Persona>Paula</Persona>
<Speed>10</Speed>
<StartPoint>T</StartPoint>
<Volume>10</Volume>
</InterfaceSettings>
<NotificationSettings>
<VoicemailMmsDirect>false</VoicemailMmsDirect>
</NotificationSettings>
<PersonalSettings>
<FirstName>First</FirstName>
<Industry>Finance</Industry>
<LastName>Last</LastName>
<Organisation>Organisation</Organisation>
<PrimaryEmailAddress>test@voxsurf.com</PrimaryEmailAddress>
<Title>CEO</Title>
</PersonalSettings>
</User>
</VoxSurf>

6.5.7.3

Response schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:Message" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 53

Commercial in Confidence

</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
</xs:schema>

6.5.7.4

Example response XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>UpdateUser</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
</VoxSurf>

6.5.8

UpdateCWUserIdentifiedByLogin service

This method updates PIN, ClassOfService, Locale and ECC notification settings.
6.5.8.1

Request schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="ClassOfService"/>
<xs:element ref="Locale"/>
<xs:element ref="Pin"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ClassOfService" type="xs:string"/>
<xs:element name="Locale" type="xs:string"/>
<xs:element name="Pin" type="xs:string"/>
<xs:element name="NotificationSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="ECCEnabled"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ECCEnabled" type="xs:boolean"/>
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="AccountSettings"/>
<xs:element ref="NotificationSettings"/>
</xs:sequence>
<xs:attribute name="LoginId" type="xs:int" use="required"/>

Page 54

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

</xs:complexType>
</xs:element>
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="Service"/>
<xs:element ref="User"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.8.2

Example request XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging
updateUserIdentifiedByLoginRequest.xsd">
<Service> UpdateCWUserIdentifiedByLogin </Service>
<User LoginId="0812345678">
<AccountSettings>
<ClassOfService>AdvancedVoicemailWithContacts</ClassOfService>
<Locale>en</Locale>
<Pin>1357</Pin>
</AccountSettings>
<NotificationSettings>
<ECCEnabled>false</ECCEnabled>
</NotificationSettings>
</User>
</VoxSurf>

6.5.8.3

Response Schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:Message" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 55

Commercial in Confidence

<xs:element name="Code" type="xs:int"/>


<xs:element name="Value" type="xs:string"/>
</xs:schema>

6.5.8.4

Example response XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>UpdateCWUserIdentifiedByLogin </Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
</VoxSurf>

6.5.9

UpdateCWUserMSISDN

This methodupdates the user details when an MSIDN change is nessecary.


6.5.9.1

Request schema

<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="NewLoginId"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NewLoginId" type="xs:string"/>
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="AccountSettings"/>
</xs:sequence>
<xs:attribute name="LoginId" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="Service"/>
<xs:element ref="User"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.9.2

Example request XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging updateCWUserMSISDN.xsd">
<Service>UpdateCWUserMSISDN</Service>
<User LoginId="0812457863">
<AccountSettings>
<NewLoginId>081299999</NewLoginId>
</AccountSettings>
</User>
</VoxSurf>

Page 56

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

6.5.9.3

Response schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:Message" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:string"/>
<xs:element name="Value" type="xs:string"/>
</xs:schema>

6.5.9.4

Example response XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>UpdateCWUserMSISDN </Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
</VoxSurf>

6.5.10 DeleteUser service


This method deletes the user account for a given userID
6.5.10.1 Request schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:element ref="vxp:User"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="User">

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 57

Commercial in Confidence

<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
</xs:schema>

6.5.10.2 Example request XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging deleteUserRequest.xsd">
<Service>DeleteUser</Service>
<User id="533"/>
</VoxSurf>

6.5.10.3 Response schema


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:Message" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:string"/>
<xs:element name="Value" type="xs:string"/>
</xs:schema>

6.5.10.4 Example response XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>DeleteUser</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
</VoxSurf>

Page 58

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

6.5.11 DeleteUserOnAppAndMailStore Request


This method deletes the subscriber from VxOne and the associated mailbox from the
mailstore.
6.5.11.1 Request schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="LoginId" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="Service"/>
<xs:element ref="User"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.11.2 Example request XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging
deleteUserOnAppAndMailStoreRequest.xsd">
<Service>DeleteUserOnAppAndMailStore</Service>
<User LoginId="0812345678"/>
</VoxSurf>

6.5.11.3 Response schema

<?xml version="1.0" encoding="UTF-8"?>


<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:Message" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 59

Commercial in Confidence

<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
</xs:schema>

6.5.11.4 Example response XML payload

<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service> DeleteUserOnAppAndMailStore</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
</VoxSurf>

6.5.12 CreateEmailAccount service


This method creates a new email account for a given userID using the information given
in the parameters.
The emailAccountID of the new email account is returned.
6.5.12.1 Request schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:User" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:EmailAccount" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="EmailAccount">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:CalendarSource" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ContactsSource" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:DeletedMailFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:DraftsMailFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EmailAccountName" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:EmailAddress" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:EmailName" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:EnableDeletedMail" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EnableDraftsMail" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EnableSentMail" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Locked" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:NTDomain" minOccurs="0" maxOccurs="1"/>

Page 60

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<xs:element ref="vxp:Password" minOccurs="0" maxOccurs="1"/>


<xs:element ref="vxp:PrimaryAccount" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:ReplyTo" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:RootFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SentMailFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ServerAddress" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ServerPort" minOccurs="0" maxOccurs="1"/>
<xs:element name="ServerType" type="vxp:ServerTypes" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SMTPServerAddress" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SMTPServerPort" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SSLRequired" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:TasksSource" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:UserName" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Voicemail" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="ServerTypes">
<xs:annotation>
<xs:documentation>ServerTypes: POP3, IMAP4, EXCHANGE</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="POP3"/>
<xs:enumeration value="IMAP4"/>
<xs:enumeration value="EXCHANGE"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="CalendarSource" type="xs:boolean"/>
<xs:element name="ContactsSource" type="xs:boolean"/>
<xs:element name="DeletedMailFolder" type="xs:string"/>
<xs:element name="DraftsMailFolder" type="xs:string"/>
<xs:element name="EmailAccountName" type="xs:string"/>
<xs:element name="EmailAddress" type="xs:string"/>
<xs:element name="EmailName" type="xs:string"/>
<xs:element name="EnableDeletedMail" type="xs:boolean"/>
<xs:element name="EnableDraftsMail" type="xs:boolean"/>
<xs:element name="EnableSentMail" type="xs:boolean"/>
<xs:element name="Locked" type="xs:boolean"/>
<xs:element name="NTDomain" type="xs:string"/>
<xs:element name="Password" type="xs:string"/>
<xs:element name="PrimaryAccount" type="xs:boolean"/>
<xs:element name="ReplyTo" type="xs:string"/>
<xs:element name="RootFolder" type="xs:string"/>
<xs:element name="SentMailFolder" type="xs:string"/>
<xs:element name="ServerAddress" type="xs:string"/>
<xs:element name="ServerPort" type="xs:int"/>
<xs:element name="Service" type="xs:string"/>
<xs:element name="SMTPServerAddress" type="xs:string"/>
<xs:element name="SMTPServerPort" type="xs:int"/>
<xs:element name="SSLRequired" type="xs:boolean"/>
<xs:element name="TasksSource" type="xs:boolean"/>
<xs:element name="UserName" type="xs:string"/>
<xs:element name="Voicemail" type="xs:boolean"/>
</xs:schema>

6.5.12.2 Example request XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging createEmailAccountRequest.xsd">
<Service>CreateEmailAccount</Service>
<User id="999"/>
<EmailAccount>
<CalendarSource>false</CalendarSource>
<ContactsSource>false</ContactsSource>
<DeletedMailFolder>Deleted Items Test</DeletedMailFolder>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 61

Commercial in Confidence

<DraftsMailFolder>Drafts Folder Test</DraftsMailFolder>


<EmailAccountName>Test Account Black4</EmailAccountName>
<EmailAddress>black4@voxsurfdev.com</EmailAddress>
<EmailName>black4EmailName</EmailName>
<EnableDeletedMail>true</EnableDeletedMail>
<EnableDraftsMail>true</EnableDraftsMail>
<EnableSentMail>true</EnableSentMail>
<Locked>false</Locked>
<NTDomain>SomeDomain</NTDomain>
<Password>1234</Password>
<PrimaryAccount>false</PrimaryAccount>
<ReplyTo>purple@voxsurfdev.com</ReplyTo>
<RootFolder>SomeRoot</RootFolder>
<SentMailFolder>Sent Items Test</SentMailFolder>
<ServerAddress>devcp.voxsurf.com</ServerAddress>
<ServerPort>143</ServerPort>
<ServerType>IMAP4</ServerType>
<SMTPServerAddress>smtp.voxsurf.com</SMTPServerAddress>
<SMTPServerPort>25</SMTPServerPort>
<SSLRequired>false</SSLRequired>
<TasksSource>false</TasksSource>
<UserName>black4username</UserName>
<Voicemail>true</Voicemail>
</EmailAccount>
</VoxSurf>

6.5.12.3 Response schema


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:User" minOccurs="0"/>
<xs:element ref="vxp:EmailAccount" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>

Page 62

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<xs:element name="EmailAccount">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.12.4 Example response XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>CreateEmailAccount</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
<User id="534"/>
<EmailAccount id="2"/>
</VoxSurf>

6.5.13 RetrieveEmailAccounts service


This method returns the emailAccountIDs of the email accounts for a given userID.
6.5.13.1 Request schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:element ref="vxp:User"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.13.2 Example request XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging retrieveEmailAccountsRequest.xsd">
<Service>RetrieveEmailAccounts</Service>
<User id="534"/>
</VoxSurf>

6.5.13.3 Response schema


<?xml version="1.0" encoding="UTF-8"?>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 63

Commercial in Confidence

<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:User" minOccurs="0"/>
<xs:element ref="vxp:EmailAccount" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="EmailAccount">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.13.4 Example response XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>RetrieveEmailAccounts</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
<User id="534"/>
<EmailAccount id="2"/>
<EmailAccount id="3"/>
<EmailAccount id="6"/>
</VoxSurf>

6.5.14 RetrieveEmailAccountDetails service


This method returns the email account details for a given emailAccountID.

Page 64

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

6.5.14.1 Request schema


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:User" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:EmailAccount" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="EmailAccount">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

6.5.14.2 Example request XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging
retrieveEmailAccountDetailsRequest.xsd">
<Service>RetrieveEmailAccountDetails</Service>
<User id="534"/>
<EmailAccount id="2"/>
</VoxSurf>

6.5.14.3 Response schema


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:EmailAccount" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 65

Commercial in Confidence

<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>


<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
<xs:element name="EmailAccount">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:CalendarSource" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ContactsSource" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:DeletedMailFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:DraftsMailFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EmailAccountName" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:EmailAddress" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:EmailName" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EnableDeletedMail" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:EnableDraftsMail" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:EnableSentMail" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Locked" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:NTDomain" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Password" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:PrimaryAccount" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:ReplyTo" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:RootFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SentMailFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ServerAddress" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:ServerPort" minOccurs="0" maxOccurs="1"/>
<xs:element name="ServerType" type="vxp:ServerTypes" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:SMTPServerAddress" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SMTPServerPort" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SSLRequired" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:TasksSource" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:UserName" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Voicemail" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="ServerTypes">
<xs:annotation>
<xs:documentation>ServerTypes: POP3, IMAP4, EXCHANGE</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="POP3"/>
<xs:enumeration value="IMAP4"/>
<xs:enumeration value="EXCHANGE"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="CalendarSource" type="xs:boolean"/>
<xs:element name="ContactsSource" type="xs:boolean"/>
<xs:element name="DeletedMailFolder" type="xs:string"/>
<xs:element name="DraftsMailFolder" type="xs:string"/>
<xs:element name="EmailAccountName" type="xs:string"/>
<xs:element name="EmailAddress" type="xs:string"/>
<xs:element name="EmailName" type="xs:string"/>
<xs:element name="EnableDeletedMail" type="xs:boolean"/>
<xs:element name="EnableDraftsMail" type="xs:boolean"/>
<xs:element name="EnableSentMail" type="xs:boolean"/>
<xs:element name="Locked" type="xs:boolean"/>
<xs:element name="NTDomain" type="xs:string"/>
<xs:element name="Password" type="xs:string"/>
<xs:element name="PrimaryAccount" type="xs:boolean"/>
<xs:element name="ReplyTo" type="xs:string"/>
<xs:element name="RootFolder" type="xs:string"/>

Page 66

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<xs:element name="SentMailFolder" type="xs:string"/>


<xs:element name="ServerAddress" type="xs:string"/>
<xs:element name="ServerPort" type="xs:int"/>
<xs:element name="SMTPServerAddress" type="xs:string"/>
<xs:element name="SMTPServerPort" type="xs:int"/>
<xs:element name="SSLRequired" type="xs:boolean"/>
<xs:element name="TasksSource" type="xs:boolean"/>
<xs:element name="UserName" type="xs:string"/>
<xs:element name="Voicemail" type="xs:boolean"/>
</xs:schema>

6.5.14.4 Example response XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Service>RetrieveEmailAccountDetails</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
<EmailAccount id="2">
<CalendarSource>false</CalendarSource>
<ContactsSource>false</ContactsSource>
<DeletedMailFolder>Deleted Items</DeletedMailFolder>
<DraftsMailFolder>Drafts</DraftsMailFolder>
<EmailAccountName>Test Account Black4</EmailAccountName>
<EmailAddress>black4@voxsurfdev.com</EmailAddress>
<EmailName>black4</EmailName>
<EnableDeletedMail>false</EnableDeletedMail>
<EnableDraftsMail>false</EnableDraftsMail>
<EnableSentMail>false</EnableSentMail>
<Locked>false</Locked>
<NTDomain xsi:nil="true"/>
<Password>1234</Password>
<PrimaryAccount>false</PrimaryAccount>
<ReplyTo>black4@voxsurfdev.com</ReplyTo>
<RootFolder>INBOX</RootFolder>
<SentMailFolder>Sent Items</SentMailFolder>
<ServerAddress>devcp.voxsurf.com</ServerAddress>
<ServerPort>143</ServerPort>
<ServerType>IMAP4</ServerType>
<SMTPServerAddress>devcp.voxsurf.com</SMTPServerAddress>
<SMTPServerPort>25</SMTPServerPort>
<SSLRequired>false</SSLRequired>
<TasksSource>false</TasksSource>
<UserName>black4</UserName>
<Voicemail>false</Voicemail>
</EmailAccount>
</VoxSurf>

6.5.15 UpdateEmailAccount service


This method updates the email account details for a given emailAccountID.
6.5.15.1 Request schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:User" minOccurs="1" maxOccurs="1"/>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 67

Commercial in Confidence

<xs:element ref="vxp:EmailAccount" minOccurs="1" maxOccurs="1"/>


</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="EmailAccount">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:CalendarSource" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ContactsSource" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:DeletedMailFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:DraftsMailFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EmailAccountName" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EmailAddress" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EmailName" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EnableDeletedMail" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EnableDraftsMail" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:EnableSentMail" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Locked" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:NTDomain" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Password" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:PrimaryAccount" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ReplyTo" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:RootFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SentMailFolder" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ServerAddress" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:ServerPort" minOccurs="0" maxOccurs="1"/>
<xs:element name="ServerType" type="vxp:ServerTypes" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SMTPServerAddress" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SMTPServerPort" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:SSLRequired" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:TasksSource" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:UserName" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Voicemail" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="ServerTypes">
<xs:annotation>
<xs:documentation>ServerTypes: POP3, IMAP4, EXCHANGE</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="POP3"/>
<xs:enumeration value="IMAP4"/>
<xs:enumeration value="EXCHANGE"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="CalendarSource" type="xs:boolean"/>
<xs:element name="ContactsSource" type="xs:boolean"/>
<xs:element name="DeletedMailFolder" type="xs:string"/>
<xs:element name="DraftsMailFolder" type="xs:string"/>
<xs:element name="EmailAccountName" type="xs:string"/>
<xs:element name="EmailAddress" type="xs:string"/>
<xs:element name="EmailName" type="xs:string"/>
<xs:element name="EnableDeletedMail" type="xs:boolean"/>
<xs:element name="EnableDraftsMail" type="xs:boolean"/>
<xs:element name="EnableSentMail" type="xs:boolean"/>
<xs:element name="Locked" type="xs:boolean"/>
<xs:element name="NTDomain" type="xs:string"/>
<xs:element name="Password" type="xs:string"/>

Page 68

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<xs:element name="PrimaryAccount" type="xs:boolean"/>


<xs:element name="ReplyTo" type="xs:string"/>
<xs:element name="RootFolder" type="xs:string"/>
<xs:element name="SentMailFolder" type="xs:string"/>
<xs:element name="ServerAddress" type="xs:string"/>
<xs:element name="ServerPort" type="xs:int"/>
<xs:element name="SMTPServerAddress" type="xs:string"/>
<xs:element name="SMTPServerPort" type="xs:int"/>
<xs:element name="SSLRequired" type="xs:boolean"/>
<xs:element name="TasksSource" type="xs:boolean"/>
<xs:element name="UserName" type="xs:string"/>
<xs:element name="Voicemail" type="xs:boolean"/>
</xs:schema>

6.5.15.2 Example request XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging updateEmailAccountRequest.xsd">
<Service>UpdateEmailAccount</Service>
<User id="99776042"/>
<EmailAccount id="162">
<CalendarSource>false</CalendarSource>
<ContactsSource>false</ContactsSource>
<DeletedMailFolder>Deleted Items</DeletedMailFolder>
<DraftsMailFolder>Drafts</DraftsMailFolder>
<EmailAccountName>Test Account Black3</EmailAccountName>
<EmailAddress>black3@voxsurfdev.com</EmailAddress>
<EmailName>black3</EmailName>
<EnableDeletedMail>false</EnableDeletedMail>
<EnableDraftsMail>false</EnableDraftsMail>
<EnableSentMail>false</EnableSentMail>
<Locked>false</Locked>
<NTDomain></NTDomain>
<Password>1234</Password>
<PrimaryAccount>false</PrimaryAccount>
<ReplyTo>black4@voxsurfdev.com</ReplyTo>
<RootFolder></RootFolder>
<SentMailFolder>Sent Items</SentMailFolder>
<ServerAddress>192.168.1.27</ServerAddress>
<ServerPort>143</ServerPort>
<ServerType>IMAP4</ServerType>
<SMTPServerAddress>192.168.1.27</SMTPServerAddress>
<SMTPServerPort>25</SMTPServerPort>
<SSLRequired>false</SSLRequired>
<TasksSource>false</TasksSource>
<UserName>black3</UserName>
<Voicemail>false</Voicemail>
</EmailAccount>
</VoxSurf>

6.5.15.3 Response schema


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 69

Commercial in Confidence

<xs:element name="Service" type="xs:string"/>


<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
</xs:schema>

6.5.15.4 Example response XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>UpdateEmailAccount</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
</VoxSurf>

6.5.16 DeleteEmailAccount service


This method deletes the email account for a given emailAccountID.
6.5.16.1 Schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:element ref="vxp:User"/>
<xs:element ref="vxp:EmailAccount"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="EmailAccount">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

Page 70

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

6.5.16.2 Example request XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging deleteEmailAccountRequest.xsd">
<Service>DeleteEmailAccount</Service>
<User id="534"/>
<EmailAccount id="2"/>
</VoxSurf>

6.5.16.3 Response schema


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:Message" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
</xs:schema>

6.5.16.4 Example response XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>DeleteEmailAccount</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
</VoxSurf>

6.5.17 RetrieveRegisteredDevices service


This method returns the deviceIDs of the registered devices for a given userID.
6.5.17.1 Request schema
<?xml version="1.0" encoding="UTF-8"?>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 71

Commercial in Confidence

<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:User" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
</xs:schema>

6.5.17.2 Example request XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging
retrieveRegisteredDevicesRequest.xsd">
<Service>RetrieveRegisteredDevices</Service>
<User id="534"/>
</VoxSurf>

6.5.17.3 Response schema


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:User" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Devices" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
<xs:element name="User">

Page 72

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Devices">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:RegisteredDevice" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="AdvancedNotificationEnabled" type="xs:boolean"/>
<xs:attribute name="AdvancedNotificationMethod" type="vxp:AdvancedNotificationMethods"/>
<xs:attribute name="BasicNotificationEnabled" type="xs:boolean"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="AdvancedNotificationMethods">
<xs:annotation>
<xs:documentation>Available advanced notification methods: MMS or SMS.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="MMS"/>
<xs:enumeration value="SMS"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="RegisteredDevice">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:CountryCode" minOccurs="1" maxOccurs="1"/>
<xs:element name="DeviceType" type="vxp:DeviceTypes" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:MessageDepositEnabled" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:NationalCode" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:PinRequired" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="DeviceTypes">
<xs:annotation>
<xs:documentation>The registered device types: PHONE_MOBILE (M), PHONE_FIXED (F),
PAGER (P)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="M"/>
<xs:enumeration value="F"/>
<xs:enumeration value="P"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="CountryCode" type="xs:string"/>
<xs:element name="MessageDepositEnabled" type="xs:boolean"/>
<xs:element name="NationalCode" type="xs:string"/>
<xs:element name="PinRequired" type="xs:boolean"/>
</xs:schema>

6.5.18 UpdateRegisteredDevices service


This method returns the deviceIDs of the registered devices for a given userID.
6.5.18.1 Request schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 73

Commercial in Confidence

<xs:element ref="vxp:Service" minOccurs="1" maxOccurs="1"/>


<xs:element ref="vxp:User" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:Devices" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="User">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Devices">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:RegisteredDevice" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="AdvancedNotificationEnabled" type="xs:boolean"/>
<xs:attribute name="AdvancedNotificationMethod" type="vxp:AdvancedNotificationMethods"/>
<xs:attribute name="BasicNotificationEnabled" type="xs:boolean"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="AdvancedNotificationMethods">
<xs:annotation>
<xs:documentation>Available advanced notification methods: MMS or SMS.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="MMS"/>
<xs:enumeration value="SMS"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="RegisteredDevice">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:CountryCode" minOccurs="1" maxOccurs="1"/>
<xs:element name="DeviceType" type="vxp:DeviceTypes" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:MessageDepositEnabled" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:NationalCode" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:PinRequired" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="DeviceTypes">
<xs:annotation>
<xs:documentation>The registered device types: PHONE_MOBILE (M), PHONE_FIXED (F),
PAGER (P)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="M"/>
<xs:enumeration value="F"/>
<xs:enumeration value="P"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="CountryCode" type="xs:string"/>
<xs:element name="MessageDepositEnabled" type="xs:boolean"/>
<xs:element name="NationalCode" type="xs:string"/>
<xs:element name="Service" type="xs:string"/>
<xs:element name="PinRequired" type="xs:boolean"/>
</xs:schema>

6.5.18.2 Example request XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging
updateRegisteredDevicesRequest.xsd">
<Service>UpdateRegisteredDevices</Service>
<User id="99776042"/>

Page 74

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<Devices AdvancedNotificationEnabled="true" AdvancedNotificationMethod="SMS"


BasicNotificationEnabled="false">
<RegisteredDevice>
<CountryCode>44</CountryCode>
<DeviceType>M</DeviceType>
<MessageDepositEnabled>true</MessageDepositEnabled>
<NationalCode>12345678</NationalCode>
<PinRequired>false</PinRequired>
</RegisteredDevice>
<RegisteredDevice>
<CountryCode>44</CountryCode>
<DeviceType>F</DeviceType>
<MessageDepositEnabled>false</MessageDepositEnabled>
<NationalCode>23456789</NationalCode>
<PinRequired>false</PinRequired>
</RegisteredDevice>
</Devices>
</VoxSurf>

6.5.18.3 Response schema


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:vxp="http://www.voxsurf.com/provisioning/messaging" xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:Message" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
</xs:schema>

6.5.18.4 Example response XML payload


<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>UpdateRegisteredDevices</Service>
<Status>
<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 75

Commercial in Confidence

</VoxSurf>

6.6 SOAP Message Examples


Listed below is an example of a full HTTP request message with the corresponding response
message. The messages contain the appropriate SOAP messages for the RetrieveUser
service.

6.6.1

Request message

POST /voxsurf/services/CustomerCareWS HTTP/1.0


Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.1
Host: 127.0.0.1
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Content-Length: 1081
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance">
<soapenv:Body>
<service xmlns="http://www.voxsurf.com/provisioning/messaging">
<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.voxsurf.com/provisioning/messaging retrieveUserRequest.xsd">
<Service>RetrieveUsers</Service>
<User>
<AccountSettings>
<DomainId matchCase="false" matchWholeWord="false">0000</DomainId>
<LoginId matchCase="false" matchWholeWord="false">99887733</LoginId>
</AccountSettings>
<PersonalSettings>
<FirstName matchCase="false" matchWholeWord="false">FirstName</FirstName>
<LastName matchCase="false" matchWholeWord="false">LastName</LastName>
<PrimaryEmailAddress matchCase="false"
matchWholeWord="false">tester1@voxsurf.com</PrimaryEmailAddress>
</PersonalSettings>
</User>
</VoxSurf>
</service>
</soapenv:Body>
</soapenv:Envelope>

6.6.2

Response message

HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
Date: Tue, 22 Feb 2005 12:01:44 GMT
Server: Apache-Coyote/1.1
Connection: close
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance">
<soapenv:Body>
<service xmlns="http://www.voxsurf.com/provisioning/messaging">
<VoxSurf xmlns="http://www.voxsurf.com/provisioning/messaging">
<Service>RetrieveUsers</Service>
<Status>

Page 76

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<StatusMessage>
<Code>0</Code>
</StatusMessage>
</Status>
<User id="99777053">
<AccountSettings>
<DomainId>0000</DomainId>
<LoginId>99887733</LoginId>
</AccountSettings>
<PersonalSettings>
<FirstName>FirstName</FirstName>
<LastName>LastName</LastName>
<PrimaryEmailAddress>tester1@voxsurf.com</PrimaryEmailAddress>
</PersonalSettings>
</User>
</VoxSurf>
</service>
</soapenv:Body>
</soapenv:Envelope>

6.7 SOAP ADMIN PROPERTIES


Properties that control aspects of SOAP provisioning are found in [VOXSURF_PROPERTIES]/system/VxsProvisioning.properties

6.7.1

Validation

SOAPAdminValidator property controls if validation occurs on the request values before the
service is carried out e.g. checking that values are booleans. By default, validation is turned
on by setting the property to true. Validation can be quite expensive. If SOAP Admin is being
used for Bulk provisioning, it may be wise to consider turning off the validation, by setting the
property to false.

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 77

Commercial in Confidence

Appendix 1: Bulk Load DTD


<!--==================================================================================-->
<!-- VoxSurf Provisioning Interface
-->
<!--==================================================================================-->

<!--==================================================================================-->
<!-- VoxSurfProvisionining
-->
<!--==================================================================================-->
<!ELEMENT VoxSurfProvisioning (DomainID, Subscribers)>
<!ELEMENT DomainID EMPTY>
<!ATTLIST DomainID
value CDATA #REQUIRED
>
<!--==================================================================================-->
<!-- Subscribers
-->
<!--==================================================================================-->
<!ELEMENT Subscribers (User+)>
<!--==================================================================================-->
<!-- User
-->
<!--==================================================================================-->
<!ELEMENT User (
UserDetails,
ApplicationDetails*,
EmailAccountDetails
)>
<!--==================================================================================-->
<!-- UserDetails
-->
<!--==================================================================================-->
<!ELEMENT UserDetails (
UserId,
AccountNumber,
AccountPin,
Question,
Answer,
RegisteredEmailAddress,
FirstName,
LastName,
Title,
Organisation*,
Industry*,
Administrator*,
MobilePhoneNumber*,
LandLine1PhoneNumber*,
LandLine2PhoneNumber*,
Unified,
ClassOfService,
TimeZone)>
<!--==================================================================================-->
<!-- ApplicationDetails
-->
<!--==================================================================================-->
<!ELEMENT ApplicationDetails (
Fax*,
Locale*,
VoiceDetails*,
MessageHeaderDetails*)>
<!--==================================================================================-->

Page 78

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<!-- EmailAccountDetails
-->
<!--==================================================================================-->
<!ELEMENT EmailAccountDetails (
AccountName*,
EmailDisplayName,
EmailAddress,
Locked*,
MailServer*,
UserName,
Password*,
SMTPRelay*,
EnableSentItems*,
EnableDeletedItems*,
RootFolderName*
)>
<!--==================================================================================-->
<!UserDetails
-->
<!--==================================================================================-->
<!ELEMENT UserId
<!ATTLIST UserId

EMPTY>
value CDATA #IMPLIED>

<!ELEMENT AccountNumber
<!ATTLIST AccountNumber

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT AccountPin
<!ATTLIST AccountPin

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT Question
<!ATTLIST Question

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT Answer
<!ATTLIST Answer

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT RegisteredEmailAddress
<!ATTLIST RegisteredEmailAddress

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT FirstName
<!ATTLIST FirstName

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT LastName
<!ATTLIST LastName

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT Title
<!ATTLIST Title

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT Organisation
<!ATTLIST Organisation

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT Industry
<!ATTLIST Industry

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT Administrator
<!ATTLIST Administrator

EMPTY>
value (True|False) #REQUIRED>

<!ELEMENT MobilePhoneNumber
<!ATTLIST MobilePhoneNumber

EMPTY>
countryCode CDATA #REQUIRED
phoneNumber CDATA #REQUIRED>

<!ELEMENT LandLine1PhoneNumber
<!ATTLIST LandLine1PhoneNumber

EMPTY>
countryCode CDATA #REQUIRED
phoneNumber CDATA #REQUIRED>

<!ELEMENT LandLine2PhoneNumber
<!ATTLIST LandLine2PhoneNumber

EMPTY>
countryCode CDATA #REQUIRED
phoneNumber CDATA #REQUIRED>

<!ELEMENT Unified
<!ATTLIST Unified

EMPTY>
value (True|False) #REQUIRED
countryCode CDATA #REQUIRED

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 79

Commercial in Confidence

phoneNumber CDATA #REQUIRED


smsNotification (True|False) #REQUIRED>
<!ELEMENT ClassOfService
<!ATTLIST ClassOfService

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT TimeZone
<!ATTLIST TimeZone

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT Fax
<!ATTLIST Fax

EMPTY>
enabled (True|False) #REQUIRED>

<!ELEMENT Language
<!ATTLIST Language

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT VoiceDetails
<!ATTLIST VoiceDetails

EMPTY>
startPoint (E|V|T) #REQUIRED
emailAccStartPoint (P|M) #REQUIRED
sendOnHangUp (True|False) #REQUIRED
speed CDATA #REQUIRED
volume CDATA #REQUIRED>

<!ELEMENT HTMLMessagesPerPage
<!ATTLIST HTMLMessagesPerPage

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT MessageHeaderDetails
<!ATTLIST MessageHeaderDetails

EMPTY>
EMsgNum (True|False) #REQUIRED
ERcvdDate (True|False) #REQUIRED
EOrig (True|False) #REQUIRED
VMMsNum (True|False) #REQUIRED
VMRcvdDate (True|False) #REQUIRED
VMOrig (True|False) #REQUIRED>

<!--==================================================================================-->
<!-- EmailAccountCredentials
-->
<!--==================================================================================-->
<!ELEMENT AccountName
EMPTY>
<!ATTLIST AccountName
value CDATA #REQUIRED>

Page 80

<!ELEMENT EmailDisplayName
<!ATTLIST EmailDisplayName

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT EmailAddress
<!ATTLIST EmailAddress

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT Locked
<!ATTLIST Locked

EMPTY>
value (True|False) #REQUIRED>

<!ELEMENT MailServer
<!ATTLIST MailServer

EMPTY>
name CDATA #REQUIRED
protocol (IMAP|POP) #REQUIRED
port CDATA #REQUIRED
secure (True|False) #REQUIRED>

<!ELEMENT UserName
<!ATTLIST UserName

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT Password
<!ATTLIST Password

EMPTY>
value CDATA #REQUIRED>

<!ELEMENT SMTPRelay
<!ATTLIST SMTPRelay

EMPTY>
name CDATA #REQUIRED
port CDATA #REQUIRED
secure (True|False) #REQUIRED>

<!ELEMENT EnableSentItems
<!ATTLIST EnableSentItems

EMPTY>
value (True|False) #REQUIRED>

<!ELEMENT EnableDeletedItems
<!ATTLIST EnableDeletedItems

EMPTY>
value (True|False) #REQUIRED>

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<!ELEMENT RootFolderName
<!ATTLIST RootFolderName

EMPTY>
value CDATA #REQUIRED>

<!--====================================================================================-->

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 81

Commercial in Confidence

Appendix 2: Bulk Load XML Example


<?xml version="1.0"?>
<VoxSurfProvisioning>
<DomainID value="0000"/>
<Subscribers>
<User>
<UserDetails>
<UserId value="1000000"/>
<AccountNumber value="1000000"/>
<AccountPin value="1357"/>
<Question value="Question"/>
<Answer value="Answer"/>
<RegisteredEmailAddress value="username@company.com"/>
<FirstName value="Firstname"/>
<LastName value="Lastname"/>
<Title value="Title"/>
<Organisation value="Company"/>
<Industry value="Industry"/>
<Administrator value="True"/>
<MobilePhoneNumber countryCode="44" phoneNumber="1234576"/>
<LandLine1PhoneNumber countryCode="44" phoneNumber="1234577"/>
<LandLine2PhoneNumber countryCode="44" phoneNumber="1234578"/>
<VoiceMail value="True" countryCode="44" phoneNumber="1234579"
smsNotification="True"/>
<Email value="True"/>
<ClassOfService value="Gold"/>
<TimeZone value="TimeZone"/>
</UserDetails>
<ApplicationDetails>
<Fax enabled="True"/>
<Language value="en"/>
<VoiceDetails startPoint="T" emailAccStartPoint="P" sendOnHangUp="True" speed="10"
volume="10"/>
<HTMLMessagesPerPage value="15"/>
<MessageHeaderDetails EMsgNum="True" ERcvdDate="True" EOrig="True"
VMMsgNum="True" VMRcvdDate="True" VMOrig="True"/>
</ApplicationDetails>
<EmailAccountDetails>
<AccountName value="AccountName"/>
<EmailDisplayName value="DisplayName"/>
<EmailAddress value="emailAddress"/>
<Locked value="False"/>
<MailServer name="IP Address" protocol="IMAP" port="143" secure="False"/>
<UserName value="Username"/>
<Password value="Pin"/>
<SMTPRelay name="IP Address" port="25" secure="False"/>
<EnableSentItems value="True"/>
<EnableDeletedItems value="True"/>
<RootFolderName value=""/>
</EmailAccountDetails>
</User>
</Subscribers>
</VoxSurfProvisioning>

Page 82

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

Appendix 3: VxsProvisioningDefaultEmailAccount.pr
operties
Please refer to the Configuration Guide for more details on this property file.

Field

Description

Possible
Values

Example

accountName

The default Email Account Name

accountType

The default Email Account Type

enableDeletedItems

Enable the Deleted Items Folder

TRUE

enableSentItems

Enabled the Sent Items Folder

TRUE

VoxSurf
IMAP,POP

IMAP

locked

Locked from subscriber edit

TRUE

mailServerAddress

The default Mail Server IP Address

10.0.0.1

mailServerPort

The default Mail Server Port

mailServerSecure

The default Mail Server Secure Connection

password

The default password

rootFolderName

The default Root folder name

smtpRelayName

The default SMTP Relay IP Address

smtpRelayPort

The default SMTP Relay Port

25,465

25

smtpRelaySecure

The default SMTP Relay Secure Connection

True/False

FALSE

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

143, 110, 993,


995
True/false

143
FALSE

INBOX

INBOX

1234
10.0.0.1

Page 83

Commercial in Confidence

Appendix 4: VxsProvisioningDefaultUser.properties
Please refer to the Configuration Guide for more details on this property file.

Field

Description

domainID
accountPin

The default domain id to import the


subscribers in to
The default pin for the subscribers

title

The default title

Employee

organisation

The default organisation

VoxSurf

industry

The default industry

IT

umEnabled

Should the subscribers be Unified


True, False
Messaging enabled
Should the subscriber have administrative True, False
rights
Should the subscriber have the fax facility True, False
enabled
The default subscriber locale

FALSE

administrator
faxServiceEnabled
language

The user's default time zone, in the format


defined by java.util.TimeZoneData. The
time zone defined here MUST be of the
format region/time_zone_city, and may
NOT be a three letter abbreviation (e.g.
GMT, EST), as these are just aliases for
the true time zone ID.
clock24Hour
Should the user's times be shown in 12 or
24 hour mode
newMsgsPerHTMLPage The default number of messages to display
per html page
sendOnHangUp
Should composed messages be sent on
user hang-up?
voiceApplicationStartingP The starting point for the voice application.
oint
Available options are -V - VoicemailE EmailT - Top (main menu)
voiceApplicationEmailStart The starting point for email access.
ingPoint
Available options are -P - Primary email
accountM - Main email menu
emailReceivedDate
Should the received date be played in
email header?
emailMessageNumber
Should the email message number be
played in email header?
emailOriginator
Should the sender be played in email
header?
voiceMailReceivedDate
Should the received date be played in
voicemail header?
voiceMailMessageNumber Should the voicemail message number be
played in voicemail header?
voiceMailOriginator
Should the sender be played in voicemail
header?

Possible Values

0000
1357

1999 - 2005 VoxSurf Ltd

FALSE
FALSE
en
Europe/London

TimeZone

Page 84

Example

True, False

TRUE
10
TRUE

V,E,T

P,M

True, False

FALSE

True, False

FALSE

True, False

FALSE

True, False

FALSE

True, False

FALSE

True, False

FALSE

VxOne Provisioning & Administration Guide

Commercial in Confidence

Appendix 5: VxsProvisionUserStrategy
package com.voxsurf.provisioning;

import javax.naming.directory.Attributes;
import javax.naming.directory.SearchResult;
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attribute;

import com.voxsurf.core.entities.VxsUser;
import com.voxsurf.core.VxsException;
import com.voxsurf.core.entities.VxsUserId;
import com.voxsurf.util.VxsLogger;
import com.voxsurf.ldap.VxsLdapContext;
/*
* Copyright VoxSurf Software, All rights reserved.
*/
/**
* Retrieves a user from a provisioning mechanism and provisions it in the voxsurf system. This class
* can be implemented by the particular provisioning mechanism.
*
* @author: VoxSurf Ltd
*/
public interface VxsProvisionUserStrategy {
/**
* If a user can be authenticated against a directory server, auto-provision one.
*
* @param browserNumber the browser number.
* @return true if the user was created correctly.
* @exception VxsException if there was a problem retrieving the user.
*/
public boolean provisionUserByBrowserNumberIfAvailable(String browserNumber) throws VxsException;
/**
* If a user can be authenticated against a directory server, auto-provision one.
*
* @param callingNumber the caller id.
* @return true if the user was created correctly.
* @exception VxsException if there was a problem retrieving the user.
*/
public boolean provisionUserByPhoneIfAvailable(String domainId, String callingNumber) throws VxsException;
/**
* If a user can be authenticated against a directory server, auto-provision one.
*

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 85

Commercial in Confidence

* @param domainId the user domain.


* @param countryCode the country code of the calling number.
* @param callingNumber the area code and remainder of the calling number.
* @return true if the user was created correctly.
* @exception VxsException if there was a problem retrieving the user.
*/
public boolean provisionUserByPhoneIfAvailable(String domainId, String countryCode, String callingNumber)
throws VxsException;
/**
* If a user can be authenticated against a directory server, auto-provision one.
*
* @param userId the domain and login id of the user to be provisioned.
* @return true if the user was created correctly.
* @exception VxsException if there was a problem retrieving the user.
*/
public boolean provisionUserIfAvailable(VxsUserId userId) throws VxsException;
/**
* If a user can be authenticated against a directory server, auto-provision one.
*
* @param domainId the domain of the user.
* @param subscriberNumber the subscriber number.
* @return true if the user was created correctly.
* @exception VxsException if there was a problem retrieving the user.
*/
public boolean provisionUserIfAvailable(String domainId, String subscriberNumber) throws VxsException;
}

Page 86

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

Appendix 6: Provision-on-Demand WSDL Definition


<wsdl:definitions targetNamespace="http://localhost:8080/voxsurf/services/ProvisioningWS">
<wsdl:message name="loadResponse">
<wsdl:part name="loadReturn" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="deleteResponse">
<wsdl:part name="deleteReturn" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="deleteRequest">
<wsdl:part name="subscriberId" type="xsd:long"/>
</wsdl:message>
<wsdl:message name="loadRequest">
<wsdl:part name="subscriberId" type="xsd:long"/>
<wsdl:part name="domainId" type="xsd:string"/>
</wsdl:message>
<wsdl:portType name="VxsProvisioningService">
<wsdl:operation name="load" parameterOrder="subscriberId domainId">
<wsdl:input message="impl:loadRequest" name="loadRequest"/>
<wsdl:output message="impl:loadResponse" name="loadResponse"/>
</wsdl:operation>
<wsdl:operation name="delete" parameterOrder="subscriberId">
<wsdl:input message="impl:deleteRequest" name="deleteRequest"/>
<wsdl:output message="impl:deleteResponse" name="deleteResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ProvisioningWSSoapBinding" type="impl:VxsProvisioningService">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="load">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="loadRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://provisioning.voxsurf.com" use="encoded"/>
</wsdl:input>
<wsdl:output name="loadResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://localhost:8080/voxsurf/services/ProvisioningWS" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="delete">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="deleteRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://provisioning.voxsurf.com" use="encoded"/>
</wsdl:input>
<wsdl:output name="deleteResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://localhost:8080/voxsurf/services/ProvisioningWS" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="VxsProvisioningServiceService">
<wsdl:port binding="impl:ProvisioningWSSoapBinding" name="ProvisioningWS">
<wsdlsoap:address location="http://localhost:8080/voxsurf/services/ProvisioningWS"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 87

Commercial in Confidence

Appendix 7: Customer Care WSDL Definition


<wsdl:definitions targetNamespace="http://localhost:8080/voxsurf/services/CustomerCareWS">
<wsdl:types>
<schema targetNamespace="http://provisioning.voxsurf.com">
<element name="service" type="xsd:anyType"/>
</schema>
<schema targetNamespace="http://localhost:8080/voxsurf/services/CustomerCareWS">
<element name="serviceReturn" type="xsd:anyType"/>
</schema>
</wsdl:types>
<wsdl:message name="serviceRequest">
<wsdl:part element="tns1:service" name="part"/>
</wsdl:message>
<wsdl:message name="serviceResponse">
<wsdl:part element="impl:serviceReturn" name="serviceReturn"/>
</wsdl:message>
<wsdl:portType name="VxsProvisioningCustomerCareWS">
<wsdl:operation name="service">
<wsdl:input message="impl:serviceRequest" name="serviceRequest"/>
<wsdl:output message="impl:serviceResponse" name="serviceResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CustomerCareWSSoapBinding" type="impl:VxsProvisioningCustomerCareWS">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="service">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="serviceRequest">
<wsdlsoap:body namespace="http://provisioning.voxsurf.com" use="literal"/>
</wsdl:input>
<wsdl:output name="serviceResponse">
<wsdlsoap:body namespace="http://localhost:8080/voxsurf/services/CustomerCareWS"
use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="VxsProvisioningCustomerCareWSService">
<wsdl:port binding="impl:CustomerCareWSSoapBinding" name="CustomerCareWS">
<wsdlsoap:address location="http://localhost:8080/voxsurf/services/CustomerCareWS"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Page 88

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

Appendix 8: Customer Care : Voxsurf XSD


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.voxsurf.com/provisioning/messaging"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vxp="http://www.voxsurf.com/provisioning/messaging"
elementFormDefault="qualified">
<xs:element name="VoxSurf">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Service" minOccurs="0"/>
<xs:sequence>
<xs:element ref="vxp:Status" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:element ref="vxp:User" minOccurs="0"/>
<xs:element ref="vxp:Domain" minOccurs="0"/>
<xs:element ref="vxp:EmailAccount" minOccurs="0"/>
<xs:element ref="vxp:Devices" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Service" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:StatusMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusMessage">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:Code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vxp:Value" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Code" type="xs:int"/>
<xs:element name="Value" type="xs:string"/>
<!-- User definition -->
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountSettings" minOccurs="0"/>
<xs:element ref="vxp:InterfaceSettings" minOccurs="0"/>
<xs:element ref="vxp:NotificationSettings" minOccurs="0"/>
<xs:element ref="vxp:PersonalSettings" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="AccountSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:AccountLocked" minOccurs="0"/>
<xs:element ref="vxp:Administrator" minOccurs="0"/>
<xs:element ref="vxp:AuthenticationAccountId" minOccurs="0"/>
<xs:element ref="vxp:ClassOfService" minOccurs="0"/>
<xs:element ref="vxp:DomainId" minOccurs="0"/>
<xs:element ref="vxp:EmailEnabled" minOccurs="0"/>
<xs:element ref="vxp:FaxEnabled" minOccurs="0"/>
<xs:element ref="vxp:ForgottenAnswer" minOccurs="0"/>
<xs:element ref="vxp:ForgottenQuestion" minOccurs="0"/>
<xs:element ref="vxp:Locale" minOccurs="0"/>
<xs:element ref="vxp:LoginId" minOccurs="0"/>
<xs:element ref="vxp:NumberOfVisits" minOccurs="0"/>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 89

Commercial in Confidence

<xs:element ref="vxp:Pin" minOccurs="0"/>


<xs:element ref="vxp:PinChangeRequired" minOccurs="0"/>
<xs:element ref="vxp:PinProtection" minOccurs="0"/>
<xs:element ref="vxp:SubscriberNumber" minOccurs="0"/>
<xs:element ref="vxp:TimeZone" minOccurs="0"/>
<xs:element ref="vxp:VoiceboxCountryCode" minOccurs="0"/>
<xs:element ref="vxp:VoiceboxNumber" minOccurs="0"/>
<xs:element ref="vxp:VoicemailEnabled" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InterfaceSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:EmailDestination" minOccurs="0"/>
<xs:element ref="vxp:HtmlLookAndFeel" minOccurs="0"/>
<xs:element ref="vxp:MessagesPerPage" minOccurs="0"/>
<xs:element ref="vxp:Persona" minOccurs="0"/>
<xs:element ref="vxp:Speed" minOccurs="0"/>
<xs:element ref="vxp:StartPoint" minOccurs="0"/>
<xs:element ref="vxp:Volume" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NotificationSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:VoicemailMmsDirect" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PersonalSettings">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:FirstName" minOccurs="0"/>
<xs:element ref="vxp:Industry" minOccurs="0"/>
<xs:element ref="vxp:LastName" minOccurs="0"/>
<xs:element ref="vxp:Organisation" minOccurs="0"/>
<xs:element ref="vxp:PrimaryEmailAddress" minOccurs="0"/>
<xs:element ref="vxp:Title" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AccountLocked" type="xs:boolean"/>
<xs:element name="Administrator" type="xs:boolean"/>
<xs:element name="AuthenticationAccountId" type="xs:string"/>
<xs:element name="ClassOfService" type="xs:string"/>
<xs:element name="DomainId">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="EmailDestination" type="xs:string"/>
<xs:element name="EmailEnabled" type="xs:boolean"/>
<xs:element name="FaxEnabled" type="xs:boolean"/>
<xs:element name="FirstName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>

Page 90

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ForgottenAnswer" type="xs:string"/>
<xs:element name="ForgottenQuestion" type="xs:string"/>
<xs:element name="HtmlLookAndFeel" type="xs:string"/>
<xs:element name="Industry" type="xs:string"/>
<xs:element name="LastName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Locale" type="xs:string"/>
<xs:element name="LoginId">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MessagesPerPage" type="xs:int"/>
<xs:element name="NumberOfVisits" type="xs:int"/>
<xs:element name="Organisation" type="xs:string"/>
<xs:element name="PrimaryEmailAddress">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="matchCase" type="xs:boolean" use="optional"/>
<xs:attribute name="matchWholeWord" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Persona" type="xs:string"/>
<xs:element name="Pin" type="xs:string"/>
<xs:element name="PinChangeRequired" type="xs:boolean"/>
<xs:element name="PinProtection" type="xs:boolean"/>
<xs:element name="Speed" type="xs:int"/>
<xs:element name="StartPoint" type="xs:string"/>
<xs:element name="SubscriberNumber" type="xs:string"/>
<xs:element name="TimeZone" type="xs:string"/>
<xs:element name="Title" type="xs:string"/>
<xs:element name="VoiceboxCountryCode" type="xs:string"/>
<xs:element name="VoiceboxNumber" type="xs:string"/>
<xs:element name="VoicemailEnabled" type="xs:boolean"/>
<xs:element name="VoicemailMmsDirect" type="xs:boolean"/>
<xs:element name="Volume" type="xs:int"/>
<!-- Domain definition -->
<xs:element name="Domain">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:DomainName" minOccurs="0"/>
<xs:element ref="vxp:GlobalAccessCountryCode" minOccurs="0"/>
<xs:element ref="vxp:GlobalAccessNumber" minOccurs="0"/>
<xs:element ref="vxp:GlobalGuestCountryCode" minOccurs="0"/>
<xs:element ref="vxp:GlobalGuestNumber" minOccurs="0"/>
<xs:element ref="vxp:OutdialCLICountryCode" minOccurs="0"/>
<xs:element ref="vxp:OutdialCLINumber" minOccurs="0"/>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 91

Commercial in Confidence

<xs:element ref="vxp:HTMLLookAndFeel" minOccurs="0"/>


<xs:element ref="vxp:VoiceLookAndFeel" minOccurs="0"/>
<xs:element ref="vxp:MaxUsers" minOccurs="0"/>
<xs:element ref="vxp:WEBAuthenticationSchema" minOccurs="0"/>
<xs:element ref="vxp:WAPAuthenticationSchema" minOccurs="0"/>
<xs:element ref="vxp:VoiceAuthenticationSchema" minOccurs="0"/>
<xs:element ref="vxp:UserPINRequirement" minOccurs="0"/>
<xs:element ref="vxp:DomainClassOfService" minOccurs="0"/>
<xs:element ref="vxp:OperatorCountryCode" minOccurs="0"/>
<xs:element ref="vxp:OperatorNumber" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="DomainName" type="xs:string"/>
<xs:element name="GlobalAccessCountryCode" type="xs:string"/>
<xs:element name="GlobalAccessNumber" type="xs:string"/>
<xs:element name="GlobalGuestCountryCode" type="xs:string"/>
<xs:element name="GlobalGuestNumber" type="xs:string"/>
<xs:element name="OutdialCLICountryCode" type="xs:string"/>
<xs:element name="OutdialCLINumber" type="xs:string"/>
<xs:element name="HTMLLookAndFeel" type="xs:string"/>
<xs:element name="VoiceLookAndFeel" type="xs:string"/>
<xs:element name="MaxUsers" type="xs:int"/>
<xs:element name="WEBAuthenticationSchema" type="xs:string"/>
<xs:element name="WAPAuthenticationSchema" type="xs:string"/>
<xs:element name="VoiceAuthenticationSchema" type="xs:string"/>
<xs:element name="UserPINRequirement" type="xs:boolean"/>
<xs:element name="DomainClassOfService" type="xs:string"/>
<xs:element name="OperatorCountryCode" type="xs:string"/>
<xs:element name="OperatorNumber" type="xs:string"/>
<!-- Email account definition -->
<xs:element name="EmailAccount">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:CalendarSource" minOccurs="0"/>
<xs:element ref="vxp:ContactsSource" minOccurs="0"/>
<xs:element ref="vxp:DeletedMailFolder" minOccurs="0"/>
<xs:element ref="vxp:DraftsMailFolder" minOccurs="0"/>
<xs:element ref="vxp:EmailAccountName" minOccurs="0"/>
<xs:element ref="vxp:EmailAddress" minOccurs="0"/>
<xs:element ref="vxp:EmailName" minOccurs="0"/>
<xs:element ref="vxp:EnableDeletedMail" minOccurs="0"/>
<xs:element ref="vxp:EnableDraftsMail" minOccurs="0"/>
<xs:element ref="vxp:EnableSentMail" minOccurs="0"/>
<xs:element ref="vxp:Locked" minOccurs="0"/>
<xs:element ref="vxp:NTDomain" minOccurs="0"/>
<xs:element ref="vxp:StoreUserId" minOccurs="0"/>
<xs:element ref="vxp:Password" minOccurs="0"/>
<xs:element ref="vxp:PrimaryAccount" minOccurs="0"/>
<xs:element ref="vxp:ReplyTo" minOccurs="0"/>
<xs:element ref="vxp:RootFolder" minOccurs="0"/>
<xs:element ref="vxp:SentMailFolder" minOccurs="0"/>
<xs:element ref="vxp:ServerAddress" minOccurs="0"/>
<xs:element ref="vxp:ServerPort" minOccurs="0"/>
<xs:element ref="vxp:ServerType" minOccurs="0"/>
<xs:element ref="vxp:SMTPServerAddress" minOccurs="0"/>
<xs:element ref="vxp:SMTPServerPort" minOccurs="0"/>
<xs:element ref="vxp:SSLRequired" minOccurs="0"/>
<xs:element ref="vxp:TasksSource" minOccurs="0"/>
<xs:element ref="vxp:UserName" minOccurs="0"/>
<xs:element ref="vxp:Voicemail" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>

Page 92

1999 - 2005 VoxSurf Ltd

VxOne Provisioning & Administration Guide

Commercial in Confidence

<xs:element name="CalendarSource" type="xs:boolean"/>


<xs:element name="ContactsSource" type="xs:boolean"/>
<xs:element name="DeletedMailFolder" type="xs:string"/>
<xs:element name="DraftsMailFolder" type="xs:string"/>
<xs:element name="EmailAccountName" type="xs:string"/>
<xs:element name="EmailAddress" type="xs:string"/>
<xs:element name="EmailName" type="xs:string"/>
<xs:element name="EnableDeletedMail" type="xs:boolean"/>
<xs:element name="EnableDraftsMail" type="xs:boolean"/>
<xs:element name="EnableSentMail" type="xs:boolean"/>
<xs:element name="Locked" type="xs:boolean"/>
<xs:element name="NTDomain" type="xs:string"/>
<xs:element name="StoreUserId" type="xs:string"/>
<xs:element name="Password" type="xs:string"/>
<xs:element name="PrimaryAccount" type="xs:boolean"/>
<xs:element name="ReplyTo" type="xs:string"/>
<xs:element name="RootFolder" type="xs:string"/>
<xs:element name="SentMailFolder" type="xs:string"/>
<xs:element name="ServerAddress" type="xs:string"/>
<xs:element name="ServerPort" type="xs:int"/>
<xs:element name="ServerType" type="xs:string"/>
<xs:element name="SMTPServerAddress" type="xs:string"/>
<xs:element name="SMTPServerPort" type="xs:int"/>
<xs:element name="SSLRequired" type="xs:boolean"/>
<xs:element name="TasksSource" type="xs:boolean"/>
<xs:element name="UserName" type="xs:string"/>
<xs:element name="Voicemail" type="xs:boolean"/>
<!-- Devices definition -->
<xs:element name="Devices">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:RegisteredDevice" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="AdvancedNotificationEnabled" type="xs:boolean"/>
<xs:attribute name="AdvancedNotificationMethod" type="xs:string"/>
<xs:attribute name="BasicNotificationEnabled" type="xs:boolean"/>
</xs:complexType>
</xs:element>
<xs:element name="RegisteredDevice">
<xs:complexType>
<xs:sequence>
<xs:element ref="vxp:CountryCode" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:DeviceType" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:MessageDepositEnabled" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:NationalCode" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vxp:PinRequired" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CountryCode" type="xs:string"/>
<xs:element name="DeviceType" type="xs:string"/>
<xs:element name="MessageDepositEnabled" type="xs:boolean"/>
<xs:element name="NationalCode" type="xs:string"/>
<xs:element name="PinRequired" type="xs:boolean"/>
</xs:schema>

VxOne Provisioning & Administration Guide

1999 - 2005 VoxSurf Ltd

Page 93

S-ar putea să vă placă și