Skip Headers
Oracle® Communications Service Broker VPN Implementation Guide
Release 6.0

Part Number E23531-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
View PDF

8 VPN Provisioning API Reference

This chapter describes the VPN Provisioning API, a RESTful application programming interface for configuring and administering an Oracle Communications Service Broker VPN implementation.

For each operation in the API, this chapter lists the parameters accepted and returned by the operation and provides examples of HTTP requests and responses.

All JSON body parameters for POST (create) operations are required unless indicated as optional in the parameter description. For PUT (modify) operations, the request only needs to contain the attributes to be changed.

Note:

In the request and response message examples in this chapter, line breaks and spaces have been added to the JSON data in the body of the message to improve readability.

Create Administrator

Creates an administrative user account in the system. The administrative user uses the VPN Provisioning API to configure VPN services.

There are two types of administrative users:

For each operation in the API, the role of the administrator permitted to invoke the operation is indicated in the User Authorization sections.

If security is enabled for the API, invoking an API operation requires administrative user credentials in the form of basic authentication credentials.

User Authorization

Provider administrator

HTTP Method

POST

URI

/vpn/admins

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-1 Request: Create Subscriber Administrator

POST /vpn/admins HTTP/1.1 
Host: 10.148.126.81 
Accept: */* 
Content-Length:83 
 
{"adminName":"oracle_admin", 
"adminPassword":"password", 
"role":4, 
"vpnID":"oracle"} 

Example 8-2 Request: Create Provider Administrator

POST /vpn/admins HTTP/1.1
Host: 10.148.126.81
Accept: */*
Content-Length:103
 
{"adminName":"admin006",
"adminPassword":"password",
"role":1, 
"vpnID":"-"}

Example 8-3 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 140
Server: Jetty(8.0.1.0)
 
Add the adminUser successfully. Possible effective fields include:
1.adminName; 2.adminPassword; 3.role; 4.vpnID.  Other fields are 
ignored.

Get All Administrators

Returns a list of administrators in the system. Each administrator is identified by user name and URI.

User Authorization

Provider administrator

HTTP Method

GET

URI

/vpn/admins

Request Body

Empty

Response Body

The response body contains:

Examples

Example 8-4 Request

GET /vpn/admins HTTP/1.1Host: 10.148.126.22Accept: */*

Example 8-5 Response

HTTP/1.1 200 OK
Content-Type: application/text
Content-Length: 227
Server: Jetty(8.0.1.0)
 
[{"admin003":"http://10.148.126.22:80/vpn/admin/admin003"},
{"admin":"http://10.148.126.22:80/vpn/admin/admin"},
{"admin001":"http://10.148.126.22:80/vpn/admin/admin001"},
{"admin002":"http://10.148.126.22:80/vpn/admin/admin002"}]

Get Administrator

Returns information about a specific provider or subscriber administrator.

User Authorization

Provider administrator or subscriber administrator

HTTP Method

GET

URI

/vpn/admin/admin_name

Request Body

Empty

Response Body

Response body parameters are:

Examples

Example 8-6 Request

GET /vpn/admin/prov_admin HTTP/1.1
Host: 10.148.126.81
Accept: */*

Example 8-7 Response: Provider Administrator

HTTP/1.1 200 OK
Content-Type: application/text
Content-Length: 64
Server: Jetty(8.0.1.0)
 
{"adminName":"prov_admin",
"role":1,
"vpnID":"-"}

Example 8-8 Response: Subscriber Administrator

HTTP/1.1 200 OK
Content-Type: application/text
Content-Length: 50
Server: Jetty(8.0.1.0)
 
{"adminName":"admin001",
"role":4,
"vpnID":"vpn001"}

Modify Administrator

Changes settings for an administrative user.

For a provider administrator, you use this operation to change password, enable bulk operations in the API, or enable authentication for API access.

For a subscriber administrator, you use this operation to modify a password only. The user name, role, and VPN ID values for administrators cannot be modified. To change these values, you must delete the administrator and create a new one with the desired user name, role, or VPN ID.

Authorization

Provider administrator

HTTP Method

PUT

URI

/vpn/admin/admin_name

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-9 Request

PUT /vpn/admin/sysadmin HTTP/1.1
Host: 10.148.126.36
Accept: */*

{"adminPassword":"password"}

Example 8-10 Response

HTTP/1.1 200 OK
Content-Type: application/text
Content-Length: 113
Server: Jetty(8.0.1.0)
 
Modify the adminUser successfully. Possible effective fields include:
1.adminPassword.  Other fields are ignored.

Delete Administrator

Removes an administrative user account from the system, disabling access to the VPN Provisioning API for the account user.

You cannot remove a subscriber administrator if it is the only administrator for the VPN subscriber. You must first delete the subscriber instance before you are permitted to remove the administrator for that subscriber.

The built-in admin administrator account cannot be deleted.

Authorization

Subscriber administrator

HTTP Method

DELETE

URI

/vpn/admin/username

Request Body

Empty

Response Body

Empty

Examples

Example 8-11 Request

DELETE /vpn/admin/admin004 HTTP/1.1
Host: 10.148.126.36
Accept: */*

Example 8-12 Response

HTTP/1.1 200 OK
Content-Type: application/text; charset=utf-8
Content-Length: 42

Successfully delete an AdminUser[admin004]

Get VPN Service Provider

Returns information about the service provider organization, including general properties for the provider and global VPN settings, such as the global call barring list.

There can be only one VPN service provider object in the system. It is created automatically and cannot be deleted.

Privileges

Provider administrator or subscriber administrator

HTTP Method

GET

URI

vpn/sp

Request Body

Empty

Response Body

Response body parameters are:

Examples

Example 8-13 Request

GET /vpn/sp HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-14 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 270 
Server: Jetty(8.0.1.0) 
 
{"callBarringBlackList":[],
"localAreaCode":"10",
"numberRange":["86139*","86138*"],
"address":"",
"localCountryCode":"86",
"description":"Mobile Telecommunication operations, worldwide",
"name":"Mobile Telco",
"pbxPrefix":"",
"mtcSuppressionPrefix":"22",
"privateCallMarker":"7"}

Modify VPN Service Provider

Changes settings for the service provider. The service provider object contains general properties for the provider organization along with global VPN settings, such as a global call barring list. The global settings apply to all VPN subscribers in the system.

There can be only one VPN service provider object in the system. It is created automatically and cannot be deleted.

Authorization

Provider administrator or subscriber administrator

HTTP Method

PUT

URI

vpn/sp

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-15 Request

PUT /vpn/sp HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:144
 
{
"address":"500 Main St, Redwood Shores, CA",
"callBarringBlackList":["2894*","499*","18665555555"],
"numberRange":["86139*","86138*","86140*"]}

Example 8-16 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 257 
Server: Jetty(8.0.1.0) 
 
Modify the sp successfully. Possible effective fields include: 
1.name; 2.address; 3.description; 4.privateCallMarker; 5.pbxPrefix;
6.localCountryCode; 7.localAreaCode; 8.mtcSuppressionPrefix;
9.callBarringBlackList; 10.numberRange. Other fields are ignored.

Create VPN Subscriber

Creates a subscriber object, which contains settings for a particular organization that subscribes to VPN services. You must create a subscriber object for each organization for which you are making VPN services available.

Before you can call this operation, the subscriber administrator account associated with the subscriber instance must exist.

Privileges

Provider administrator or subscriber administrator

HTTP Method

POST

URI

/vpn/subscribers

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-17 Request

POST /vpn/subscribers HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:331 
 
{"callScreeningBlackList":[],
"exclusionList":[],
"maxExtensionNumberLength":4,
"callBarringBlackList":["2894*","499*","18665555555"],
"escapeCode":"0",
"timeZone":8,
"vpnID":"vpn004",
"privateNumberCLI":false,
"forcedOnNet":true,
"partnerVPNSwitch":true,
"name":"company004",
"partnerVPN":["vpn002"],
"privateCallEnable":true,
"worktimeID":""}

Example 8-18 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 343 
Server: Jetty(8.0.1.0) 
 
Add the vpnsubscriber successfully. Possible effective fields include: 
1.vpnID; 2.name; 3.escapeCode; 4.privateCallEnable; 5.privateNumberCLI;
6.maxExtensionNumberLength; 7.forcedOnNet; 8.partnerVPNSwitch; 9.timeZone;
10.exclusionList; 11.callBarringBlackList; 12.callScreeningBlackList;
13.partnerVPN; 14.worktimeID. Other fields are ignored.

Get All VPN Subscribers

Returns a list of subscribers in the system. Each subscriber in the list is represented by its vpnID name and URI.

Privileges

Provider administrator

HTTP Method

GET

URI

/vpn/subscribers/

Request Body

Empty

Response Body

The response body contains:

Examples

Example 8-19 Request

GET /vpn/subscribers HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-20 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 178 
Server: Jetty(8.0.1.0) 
 
[{"vpn001":"http://10.148.126.22:80/vpn/subscriber/vpn001"},
{"vpn003":"http://10.148.126.22:80/vpn/subscriber/vpn003"},
{"vpn002":"http://10.148.126.22:80/vpn/subscriber/vpn002"}

Get VPN Subscriber

Returns information on a particular subscriber.

Privileges

Provider administrator or subscriber administrator

HTTP Method

GET

URI

/vpn/subscriber/vpn_id

Request Body

Empty

Response Body

Response body parameters are:

Examples

Example 8-21 Request

GET /vpn/subscriber/vpn002 HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-22 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 323 
Server: Jetty(8.0.1.0) 
 
{"callScreeningBlackList":[],
"exclusionList":[],
"maxExtensionNumberLength":4,
"callBarringBlackList":["2894*","499*","18665555555"],
"escapeCode":"0",
"timeZone":8,
"vpnID":"vpn002",
"privateNumberCLI":false,
"forcedOnNet":true,
"partnerVPNSwitch":true,
"name":"company002",
"partnerVPN":[],
"privateCallEnable":true,
"worktimeID":""}

Modify VPN Subscriber

Changes settings for a subscriber.

Privileges

Provider administrator or subscriber administrator

HTTP Method

PUT

URI

/vpn/subscriber/vpn_id

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-23 Request

PUT /vpn/subscriber/vpn004 HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:34 
 
{"partnerVPN":["vpn002","vpn003"]}

Example 8-24 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 336 
Server: Jetty(8.0.1.0) 
 
Modify the vpnsubscriber successfully. Possible effective fields include: 
1.name; 2.escapeCode; 3.privateCallEnable; 4.privateNumberCLI;
5.maxExtensionNumberLength; 6.forcedOnNet; 7.partnerVPNSwitch; 8.timeZone; 
9.exclusionList; 10.callBarringBlackList; 11.callScreeningBlackList; 
12.partnerVPN; 13.worktimeID. Other fields are ignored.

Delete VPN Subscriber

Removes a subscriber definition from the system. Removing the subscriber removes all VPN users, policies, groups, and other objects associated with the subscriber.

Privileges

Provider administrator or subscriber administrator

HTTP Method

DELETE

URI

/vpn/subscriber/vpn_id

Request Body

Empty

Response Body

Empty

Examples

Example 8-25 Request

DELETE /vpn/subscriber/vpn004 HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-26 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 42 
Server: Jetty(8.0.1.0) 
 
Successfully delete the subscriber[vpn004]

Create Virtual User

Creates a virtual user for a subscriber. A virtual user is a VPN user that is external to the subscribing organization. Calls to the virtual user are considered on-net, but calls from the virtual user to other types of VPN users are not.

Privileges

Provider administrator or subscriber administrator

HTTP Method

POST

URI

/vpn/subscriber/vpn_id/virtualusers

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-27 Request

POST /vpn/subscriber/vpn003/virtualusers HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length: 100 
 
{
"phoneExtension":"4999",
"publicPhoneNumber":"861030004999",
"name":"travelagentcontact"
}

Example 8-28 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 141 
Server: Jetty(8.0.1.0)
 
Add the virtualuser successfully. Possible effective fields include: 
1.publicPhoneNumber; 2.name; 3.phoneExtension. Other fields are ignored.

Get All Virtual Users

Returns a list of virtual users for a subscriber. Each virtual user is identified by its public number and URL.

Privileges

Provider administrator or subscriber administrator

HTTP Method

GET

URI

vpn/subscriber/vpn_id/virtualusers

Request Body

Empty

Response Body

The response body contains:

Examples

Example 8-29 Request

GET /vpn/subscriber/vpn003/virtualusers HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-30 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 181 
Server: Jetty(8.0.1.0) 
 
[{"861030009999":
   "http://10.148.126.22:80/vpn/subscriber/vpn003/virtualuser/861030009999"}, {"861030003999":
   "http://10.148.126.22:80/vpn/subscriber/vpn003/virtualuser/861030003999"}]

Get Virtual User

Returns information on a specific virtual user.

Privileges

Provider administrator or subscriber administrator

HTTP Method

GET

URI

/vpn/subscriber/vpn_id/virtualuser/public_phone_number

Request Body

Empty

Response Body

Request body parameters are:

Examples

Example 8-31 Request

GET /vpn/subscriber/vpn003/virtualuser/861030009999 HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-32 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 100 
Server: Jetty(8.0.1.0) 
 
{"phoneExtension":"9999",
"publicPhoneNumber":"861030009999",
"name":"travelagentcontact",
"vpnID":"vpn003"}

Modify Virtual User

Changes settings for a virtual user, including the virtual user's name or phone extension. To change the public number for a user, you must remove the existing virtual user object and create a new one with the desired number.

Privileges

Provider administrator or subscriber administrator

HTTP Method

PUT

URI

/vpn/subscriber/vpn_id/virtualuser/publicPhoneNumber

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-33 Request

PUT /vpn/subscriber/vpn003/virtualuser/861030009999 HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:25 
 
{"phoneExtension":"8999"}

Example 8-34 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 123 
Server: Jetty(8.0.1.0) 
 
Modify the virtualuser successfully. Possible effective fields include: 
1.name; 2.phoneExtension. Other fields are ignored.

Delete Virtual User

Removes a virtual user from the subscriber.

Privileges

Provider administrator or subscriber administrator

HTTP Method

DELETE

URI

/vpn/subscriber/vpn_id/virtualuser/publicPhoneNumber

Request Body

Empty

Response Body

Empty

Examples

Example 8-35 Request

DELETE /vpn/subscriber/vpn003/virtualuser/861030004999 HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-36 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 49 
Server: Jetty(8.0.1.0) 
 
Successfully delete the VirtualUser[861030004999]

Create VPN User

Creates a VPN user object, which represents an on-net mobile or PBX on-net device.

For a mobile user, the VPN user defines properties such as the user's group membership and usage policy. For a PBX user, you specify the public phone number, phone extension, and member type parameters for the user. The phone extension and public phone number usually take the form of a number range. The other VPN user parameters do not apply to a PBX VPN user.

Privileges

Provider administrator or subscriber administrator

HTTP Method

POST

URI

/vpn/subscriber/vpn_id/users

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-37 Request

POST /vpn/subscriber/vpn001/users HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:205 
 
{"phoneExtension":"1115",
"publicPhoneNumber":"861391001015",
"memberType":0,
"homeProfileID":"",
"closedUserGroupID":"bjManager",
"privateCallEnable":false,
"roamingProfileID":"",
"personID":""}

Example 8-38 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 235 
Server: Jetty(8.0.1.0) 
 
Add the vpnuser successfully. Possible effective fields include: 
1.publicPhoneNumber; 2.phoneExtension; 3.memberType; 4.closedUserGroupID; 
5.homeProfileID; 6.roamingProfileID; 7.personID; 8. privateCallEnable. Other 
fields are ignored.

Get All VPN Users

Returns a list of users in the system. Each user is represented by the public number of the device and URI.

User Authorization

Provider administrator or subscriber administrator

HTTP Method

GET

URI

/vpn/subscriber/vpn_id/users

Request Body

Empty

Response Body

The response body contains:

Examples

Example 8-39 Request

GET /vpn/subscriber/vpn001/users HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-40 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 576 
Server: Jetty(8.0.1.0) 
 
[{"861391001002":
  "http://10.148.126.22:80/vpn/subscriber/vpn001/user/861391001002"},
{"861391001001":
  "http://10.148.126.22:80/vpn/subscriber/vpn001/user/861391001001"},
{"861391001003":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/user/861391001003"},
{"861391001005":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/user/861391001005"},
{"861391001110":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/user/861391001110"},
{"86101000111*":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/user/86101000111*"},
{"17240011*":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/user/17240011*"}]

Get VPN User

Returns information on a specific user by public phone number or, for a PBX user, by phone number range.

Privileges

Provider administrator or subscriber administrator

HTTP Method

GET

URI

/vpn/subscriber/vpn_id/user/public_phone_number

Request Body

Empty

Response Body

Response body parameters are:

Examples

Example 8-41 Request: Get Mobile User

GET /vpn/subscriber/vpn001/user/861391001003 HTTP/1.1 
Host: 10.148.126.22 
Accept: */*

Example 8-42 Response: Get Mobile User

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 205 
Server: Jetty(8.0.1.0) 
 
{"phoneExtension":"1003",
"publicPhoneNumber":"861391001003",
"memberType":0,
"homeProfileID":"",
"closedUserGroupID":"bjManager",
"vpnID":"vpn001",
"privateCallEnable":false,
"roamingProfileID":"",
"personID":""}

Example 8-43 Request: Get PBX User

GET /vpn/subscriber/vpn001/user/17240011* HTTP/1.1
Host: 10.148.126.22
Accept: */*

Example 8-44 Response: Get PBX User

HTTP/1.1 200 OK
Content-Type: application/text
Content-Length: 192
Server: Jetty(8.0.1.0) 
 
{"phoneExtension":"11*",
"publicPhoneNumber":"17240011*",
"memberType":1,
"homeProfileID":"",
"closedUserGroupID":"",
"vpnID":"vpn001",
"privateCallEnable":false,
"roamingProfileID":"",
"personID":""}

Modify VPN User

Changes settings for a user device.

Privileges

Provider administrator or subscriber administrator

HTTP Method

PUT

URI

/vpn/subscriber/vpn_id/user/public_phone_number

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-45 Request

PUT /vpn/subscriber/vpn001/user/17240011* HTTP/1.1
Host: 10.148.126.22
Accept: */*
Content-Length:29
 
{"homeProfileID":"hqProfile"}

Delete VPN User

Removes a user device from the system.

Privileges

Provider administrator or subscriber administrator

HTTP Method

DELETE

URI

/vpn/subscriber/vpn_id/user/public_phone_number

Request Body

Empty

Response Body

Empty

Examples

Example 8-46 Request

DELETE /vpn/subscriber/vpn001/user/861391001001 HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-47 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 48 
Server: Jetty(8.0.1.0) 
 
Successfully deleting the vpn user[861391001001]

Create Profile

Creates a profile, which defines a particular usage policy for VPN users.

Privileges

Provider administrator or subscriber administrator

HTTP Method

POST

URI

vpn/subscriber/vpnID/profiles/

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-48 Request

POST /vpn/subscriber/vpn001/profiles HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:325 
 
{"durationControlList":[99999,99999,99999,7200],
"profileID":"hqProfile",
"description":"The headquarters group profile",
"callScreeningList":[],
"timeZone":6,
"callBarringList":[ 
    {"range":"17909*","timeSpan":0,"permit":false,"type":0},
    {"range":"17910*","timeSpan":0,"permit":false,"type":0}],
"worktimeID":""}

Example 8-49 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 207 
Server: Jetty(8.0.1.0) 
 
Add the profile successfully. Possible effective fields include: 1.profileID; 
2.description; 3.worktimeID; 4.timeZone; 5.callScreeningList; 6.callBarringList;
7.durationControlList. Other fields are ignored.

Get All Profiles

Returns a list of profiles in the system. Each profile is represented by its profile ID and URI.

User Authorization

Provider administrator or subscriber administrator

HTTP Method

GET

URI

vpn/subscriber/vpnID/profiles/

Request Body

Empty

Response Body

The response body contains:

Examples

Example 8-50 Request

GET /vpn/subscriber/vpn001/profiles HTTP/1.1
Host: 10.148.126.22
Accept: */*

Example 8-51 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 561 
Server: Jetty(8.0.1.0) 
 
[{"bjGroupProfile":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/profile/bjGroupProfile"},
{"bjEmployeeProfile":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/profile/bjEmployeeProfile"},
{"alicehomeProfile":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/profile/alicehomeProfile"},
{"aliceroamProfile":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/profile/aliceroamProfile"},
{"bjManagerProfile":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/profile/bjManagerProfile"},
{"johnhomeProfile":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/profile/johnhomeProfile"}]

Get Profile

Returns information on a specific profile.

Privileges

Provider administrator or subscriber administrator

HTTP Method

GET

URI

vpn/subscriber/vpnID/profile/profile_ID

Request Body

Empty

Response Body

Response body parameters are:

Examples

Example 8-52 Request

GET /vpn/subscriber/vpn001/profile/bjGroupProfile HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-53 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 264 
Server: Jetty(8.0.1.0) 
 
{"durationControlList":[99999,99999,99999,99999],
"profileID":"bjGroupProfile",
"description":"this is bj group profile",
"callScreeningList":[],
"timeZone":8,
"callBarringList":[
   {"range":"17909*","timeSpan":0,"permit":false,"type":0}],
"vpnID":"vpn001",
"worktimeID":""}

Modify Profile

Changes settings for a profile.

Privileges

Provider administrator or subscriber administrator

HTTP Method

PUT

URI

vpn/subscriber/vpnID/profile/profile_ID

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-54 Request

PUT /vpn/subscriber/vpn001/profile/bjGroupProfile HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:133 
 
{"callBarringList":[
   {"range":"17909*","timeSpan":0,"permit":false,"type":0},
   {"range":"17910*","timeSpan":0,"permit":false,"type":0}]}

Example 8-55 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 197 
Server: Jetty(8.0.1.0) 
 
Modify the profile successfully. Possible effective fields include: 
1.description; 2.worktimeID; 3.timeZone; 4.callScreeningList; 5.callBarringList; 
6.durationControlList. Other fields are ignored.

Delete Profile

Removes a profile from the system. For the operation to succeed, the profile cannot be referenced by a user or user group.

Privileges

Provider administrator or subscriber administrator

HTTP Method

DELETE

URI

vpn/subscriber/vpnID/profile/profile_ID

Request Body

Empty

Response Body

Empty

Examples

Example 8-56 Request

DELETE /vpn/subscriber/vpn001/profile/hqProfile HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-57 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 42 
Server: Jetty(8.0.1.0) 
 
Successfully delete the profile[hqProfile]

Create User Group

Creates a closed user group, which is a group of mobile device users. Groups give you a way to manage the policy for multiple user devices at a time.

After creating a user group, you add users to it by specifying the group as the closedUserGroupID value in the user object.

Privileges

Provider administrator or subscriber administrator

HTTP Method

POST

URI

vpn/subscriber/vpnID/closedgroups

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-58 Request

POST /vpn/subscriber/vpn001/closedgroups HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:190 
 
{"publicPhoneNumber":[],
"description":"",
"parentCugID":"",
"homeProfileID":"hqGroupProfile",
"cugID":"hqgroup",
"privateCallEnable":true,
"roamingProfileID":""}

Example 8-59 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 188 
Server: Jetty(8.0.1.0) 
 
Add the vpngroup successfully. Possible effective fields include: 1.cugID; 
2.description; 3.parentCugID; 4.privateCallEnable; 5.homeProfileID; 
6.roamingProfileID. Other fields are ignored.

Get All User Groups

Returns a list of user groups in the system. Each group is represented by its group name (cugID) and URI.

User Authorization

Provider administrator or subscriber administrator

HTTP Method

GET

URI

vpn/subscriber/vpnID/closedgroups

Request Body

Empty

Response Body

The response body contains:

Examples

Example 8-60 Request

GET /vpn/subscriber/vpn001/closedgroups HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-61 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 331 
Server: Jetty(8.0.1.0) 
 
[{"bjgroup":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/closedgroup/bjgroup"},
{"bjEmployee":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/closedgroup/bjEmployee"},
{"bjManager":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/closedgroup/bjManager"},
{"hqgroup":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/closedgroup/hqgroup"}]

Get User Group

Returns information on a particular user group.

Privileges

Provider administrator or subscriber administrator

HTTP Method

GET

URI

vpn/subscriber/vpnID/closedgroup/cug_ID

Request Body

Empty

Response Body

Response body parameters are:

Examples

Example 8-62 Request

GET /vpn/subscriber/vpn001/closedgroup/hqgroup HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-63 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 190 
Server: Jetty(8.0.1.0) 
 
{"publicPhoneNumber":[],
"description":"",
"parentCugID":"",
"homeProfileID":"hqGroupProfile",
"vpnID":"vpn001",
"cugID":"hqgroup",
"privateCallEnable":true,
"childCugIDs":[],
"roamingProfileID":""}

Modify User Group

Changes settings for a user group.

Privileges

Provider administrator or subscriber administrator

HTTP Method

PUT

URI

vpn/subscriber/vpnID/closedgroup/cug_ID

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-64 Request

PUT /vpn/subscriber/vpn001/closedgroup/hqgroup HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:60 
 
{"description":"User group for headquarter-based employees"}

Example 8-65 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 182 
Server: Jetty(8.0.1.0) 
 
Modify the vpngroup successfully. Possible effective fields include:
1.description; 2.parentCugID; 3.privateCallEnable; 4.homeProfileID;
5.roamingProfileID. Other fields are ignored.

Delete User Group

Removes a user group from the system. For the operation to succeed, the user group must not contain any users (that is, it cannot be referenced by a user definition), as indicated in the group's publicPhoneNumber attribute.

Privileges

Provider administrator or subscriber administrator

HTTP Method

DELETE

URI

vpn/subscriber/vpnID/closedgroup/cug_ID

Request Body

Empty

Response Body

Empty

Examples

Example 8-66 Request

DELETE /vpn/subscriber/vpn001/closedgroup/hqgroup HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-67 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 50 
Server: Jetty(8.0.1.0) 
 
Successfully deleting the ClosedUserGroup[hqgroup]

Create Person

Creates a person object, which identifies a particular end user in the subscriber organization. A person object is referenced by one or more user objects, which associates the end use with a device

Privileges

Provider administrator or subscriber administrator

HTTP Method

POST

URI

vpn/subscriber/vpnID/persons

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-68 Request

POST /vpn/subscriber/vpn001/persons HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:70 
 
{"name":"Alice M",
"personID":"alice"}

Example 8-69 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 109 
Server: Jetty(8.0.1.0) 
 
Add the person successfully. Possible effective fields include: 1.personID; 
2.name. Other fields are ignored.

Get All Persons

Returns a list of the person objects in the system. Each person object is represented by name and URI.

User Authorization

Provider administrator or subscriber administrator

HTTP Method

GET

URI

vpn/subscriber/vpnID/persons

Request Body

Empty

Response Body

The response body contains:

Examples

Example 8-70 Request

GET /vpn/subscriber/vpn001/persons HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-71 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 143 
Server: Jetty(8.0.1.0) 
 
[{"User0":"http://10.148.126.22:80/vpn/subscriber/vpn001/person/User0"},
{"alice":"http://10.148.126.22:80/vpn/subscriber/vpn001/person/alice"}]

Get Person

Returns information on a particular person object.

Privileges

Provider administrator or subscriber administrator

HTTP Method

GET

URI

vpn/subscriber/vpnID/person/personID

Request Body

Empty

Response Body

Response body parameters are:

Examples

Example 8-72 Request

GET /vpn/subscriber/vpn001/person/alice HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-73 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 70 
Server: Jetty(8.0.1.0) 
 
{"name":"Alice M",
"vpnID":"vpn001",
"vpnUserIDs":[],
"personID":"alice"}

Modify Person

Changes settings for a particular person.

Privileges

Provider administrator or subscriber administrator

HTTP Method

PUT

URI

vpn/subscriber/vpnID/person/personID

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-74 Request

PUT /vpn/subscriber/vpn001/person/alice HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:18 
 
{"name":"Alice O"}

Example 8-75 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 100 
Server: Jetty(8.0.1.0) 
 
Modify the person successfully. Possible effective fields include: 1.name. Other 
fields are ignored.

Delete Person

Removes a person from the subscriber. For the operation to succeed, the person cannot be referenced by a user object.

Privileges

Provider administrator or subscriber administrator

HTTP Method

DELETE

URI

vpn/subscriber/vpnID/person/personID

Request Body

Empty

Response Body

Empty

Examples

Example 8-76 Request

DELETE /vpn/subscriber/vpn001/person/alice HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-77 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 39 
Server: Jetty(8.0.1.0) 
 
Successfully deleting the person[alice]

Create Working Time

Defines the working time for a subscriber or profile. You can create call restriction rules that control calls based on a user's working times.

A working time definition is made up of four parameters, each of which contains an array of seven integers. Each integer represents a day of the week, starting on Sunday. The four parameters represent the starting hour, starting minutes, ending hour, and ending minutes. Hours are expressed as an integer, from 0 through 23 (representing a 24-hour based clock). Minutes are expressed as integers from 0 through 59.

For example, the following working time definition specifies a work time of 9:30 AM to 6:00 PM from Monday through Friday:

{
   "startHour":[0,9,9,9,9,9,0], 
   "startMin":[0,30,30,30,30,30,0], 
   "endHour":[0,18,18,18,18,18,0], 
   "endMin":[0,0,0,0,0,0,0]
}

Privileges

Provider administrator or subscriber administrator

HTTP Method

POST

URI

vpn/subscriber/vpnID/worktimes

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-78 Request

POST /vpn/subscriber/vpn001/worktimes HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:164 
 
{"startMin":[0,30,30,30,30,30,0],
"startHour":[0,7,7,7,7,7,10],
"endMin":[0,0,0,0,0,0,0],
"endHour":[0,16,16,16,16,16,14],
"worktimeID":"workingtime3"}

Example 8-79 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 155 
Server: Jetty(8.0.1.0) 
 
Add the workingtime successfully. Possible effective fields include: 
1.worktimeID; 2.startHour; 3.startMin; 4.endHour; 5.endMin.  Other fields are 
ignored.

Get All Working Times

Returns a list of working time definitions in the system. Each working time definition is represented by name and URI.

User Authorization

Provider administrator

HTTP Method

GET

URI

vpn/subscriber/vpnID/worktimes

Request Body

Empty

Response Body

The response body contains:

Examples

Example 8-80 Request

GET /vpn/subscriber/vpn001/worktimes HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-81 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 175 
Server: Jetty(8.0.1.0) 
 
[{"workingtime2": 
   "http://10.148.126.22:80/vpn/subscriber/vpn001/worktime/workingtime2"},
{"workingtime1":
   "http://10.148.126.22:80/vpn/subscriber/vpn001/worktime/workingtime1"}]

Get Working Time

Returns a particular working time definition.

Privileges

Provider administrator or subscriber administrator

HTTP Method

GET

URI

vpn/subscriber/vpnID/worktime/worktimeID

Request Body

Empty

Response Body

Response body parameters are:

Examples

Example 8-82 Request

GET /vpn/subscriber/vpn001/worktime/workingtime2 HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-83 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 162 
Server: Jetty(8.0.1.0) 
 
{"startMin":[0,0,0,0,0,0,0],
"startHour":[0,19,19,19,19,19,0],
"vpnID":"vpn001",
"endMin":[0,0,0,0,0,0,0],
"endHour":[0,23,23,23,23,23,0],
"worktimeID":"workingtime2"}

Modify Working Time

Changes settings for a particular working time definition.

Privileges

Provider administrator or subscriber administrator

HTTP Method

PUT

URI

vpn/subscriber/vpnID/worktime/worktimeID

Request Body

Request body parameters are:

Response Body

Empty

Examples

Example 8-84 Request

PUT /vpn/subscriber/vpn001/worktime/workingtime3 HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 
Content-Length:33 
 
{"endHour":[0,17,17,17,17,17,14]}

Example 8-85 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 144 
Server: Jetty(8.0.1.0) 
 
Modify the workingtime successfully. Possible effective fields include: 
1.startHour; 2.startMin; 3.endHour; 4.endMin.  Other fields are ignored.

Delete Working Time

Removes a working time definition from the system. For this operation to succeed, the working time cannot be referenced by a subscriber or profile object.

Privileges

Provider administrator or subscriber administrator

HTTP Method

DELETE

URI

vpn/subscriber/vpnID/worktime/worktimeID

Request Body

Empty

Response Body

Empty

Examples

Example 8-86 Request

DELETE /vpn/subscriber/vpn001/worktime/workingtime3 HTTP/1.1 
Host: 10.148.126.22 
Accept: */* 

Example 8-87 Response

HTTP/1.1 200 OK 
Content-Type: application/text 
Content-Length: 52 
Server: Jetty(8.0.1.0) 
 
Successfully deleting the working time[workingtime3]