10 Parlay X 3.0 Address List Management Interface

This chapter describes the Oracle Communications Services Gatekeeper Parlay X 3.0 Address List Management interface in detail.

Overview of the Parlay X 3.0 Address List Management Interface

Use the Services Gatekeeper Address List Management plug-in interface to create and manage groups of resource owners and to associate them with group Uniform Resource Identifiers (URIs). Group URIs can be used to authenticate requests on behalf of group members.

The Address List Management plug-in is exposed northbound through SOAP or REST using the using the Parlay X 3.0 Part 13 Address List Management interface. It allows applications to create, read, update, and delete group URIs, and to manage group URI membership. The plug-in also exposes an internal API which allows other communication services to identify and expand group URIs using the Parlay X 3.0 SOAP interface. Group URIs can be used in place of individual URIs by the both OneAPI and ParlayX MMS, SMS and Terminal Location communication services.

Group URIs are required by the SMS, MMS, and Location APIs that require authorization from multiple resource owners. For example, a parent, who is the primary subscriber in a family plan, would like to track family members using a location-based application which makes use of the Address List Management plug-in. The parent authorizes location tracking on behalf of family members. The application creates a group owner which issues an authorization grant on behalf of the resource owner members that are part of the group URI. It passes multiple resource owner addresses to the getGroupLocation method of the Location API to retrieve location information.

Address List Management Architecture

Address List Management interface SOAP requests are received at the Services Gatekeeper Access tier and passed to the Network tier. They are translated into EJB requests and passed to the Address List plug-in. The plug-in uses store services to access the Services Gatekeeper database when handling requests.

The Address List Management interface is grouped into the following functions:

  • GroupManagement

  • Group

  • Member

Group URI Format

Group URIs are consistent with the style defined in RFC 2396 and are in the following format:

scheme:dept1234@mydivision.mycompany.myserviceprovider.com

Here are some examples:

sip:salesteam@sales.acme.anytelco.com

mailto:fieldservice@somecity.anytelco.com

group:mailroom@mybuilding.acme.anytelco.com

Managing Groups

Create, query and delete address list groups using the following GroupManagement API calls:

Controlling Group Access

Set and query group access attributes, which assign group management permissions to group members, using the following GroupManagement API calls:

Managing and Querying Group Members

Manage group members using the following Group API calls:

Manage individual group member attributes using the following Member API calls:

Managing and Querying Group Attributes

Group attributes apply to the address list group itself. Add, query, and delete group attributes using the following Group API calls:

Managing and Querying Group Member Attributes

Group member attributes apply to individual members of a group. Add, query, and delete group member attributes using the following Group API calls:

Application Interfaces

For information about the SOAP-based interface for the Parlay X 3.0 Address List Management communication service, see the discussion about Parlay X 3.0 Part 13: Address List Management in Services Gatekeeper Application Developer's Guide.

Events and Statistics

The Parlay X 3.0 Address List Management Architecture generates event data records (EDRs), charging data records (CDRs), alarms, and statistics to assist system administrators and developers in monitoring the service.

See "Events, Alarms, and Charging" for more information.

Event Data Records

Table 10-1 lists IDs of the EDRs created by the Parlay X 3.0 Address List Management Architecture. This does not include EDRs created when exceptions are thrown.

Table 10-1 EDRs Generated by Parlay X 3.0 Address List Management Architecture

EDR ID Method Called

28001

createGroup

28002

deleteGroup

28003

queryGroups

28004

setAccess

28005

queryAccess

28006

addGroupAttribute

28007

addGroupMemberAttribute

28008

addMember

28009

addMembers

28010

deleteGroupAttribute

28011

deleteGroupMemberAttribute

28012

deleteMember

28013

deleteMembers

28014

queryGroupAttributes

28015

queryGroupMemberAttributes

28016

queryMembers

28017

addMemberAttribute

28018

deleteMemberAttribute

28019

queryMemberAttributes


Alarms

For the list of alarms, see Services Gatekeeper Alarms Handling Guide.

Managing Parlay X 3.0 Address List Management Architecture

This section describes properties and workflows for the Parlay X 3.0Address List Management Architecture plug-in instance.

Properties for Parlay X 3.0 Address List Management Architecture

Table 10-2 lists the technical specifications for the communication service.

Table 10-2 Properties for Parlay X 3.0 Address List Management Architecture

Property Description

Managed object in Administration Console

To access the object, select domain_name, then OCSG, server_name, Communication Services, then Plugin_px30_address_list#6.0, in that order.

MBean

Domain=com.bea.wlcp.wlng

Name=wlng_nt

InstanceName=Plugin_px30_address_list

Type=oracle.ocsg.plugin.al.px30.management.GroupMBeanImpl

Network protocol plug-in service ID

Plugin_px30_address_list

Network protocol plug-in instance ID

Plugin_px30_address_list

Supported Address Scheme

tel

Application-facing interface

com.bea.wlcp.wlng.px30.plugin.ThirdPartyCallPlugin

Service type

AddressList

Exposes to the service communication layer a Java representation of:

Parlay X 3.0 Part 13: Address List

Interfaces with the network nodes using:

Open Service Access (OSA); Application Programming Interface (API); Part 4: Call Control SCF; Subpart 7: MultiParty Call Control Service

Deployment artifacts

Plugin_px30_address_list.jar packaged in wlng_at_address_list_px30.ear

Plugin_px30_address_list.jar packaged in wlng_nt_address_list_px30.ear


This plug-in service does not support multiple instantiation using the Plug-in Manager. There is a one-to-one mapping between the plug-in service and the plug-in instance. The plug-in instance is created when the plug-in service is started.

Configuration Workflow for Parlay X 3.0 Address List Management Architecture

The following procedure provides an outline to configure the Address List Management plug-in using the Administration Console or an MBean browser.

  1. Select the MBean detailed in "Properties for Parlay X 3.0 Address List Management Architecture".

  2. Configure the plug-in instance attributes:

  3. Set up the routing rules to the plug-in instance. See the discussion about configuring and managing the plug-in manager in Services Gatekeeper System Administrator's Guide. Use the plug-in instance ID and address schemes detailed in the "Properties for Parlay X 3.0 Address List Management Architecture" section.

  4. If required, create and load a node SLA. For details see the discussion on defining global node and service provider group node SLAs and managing SLAs in Services Gatekeeper Accounts and SLAs Guide.

  5. Provision the service provider accounts and application accounts. For information, see Services Gatekeeper Portal Developer's Guide.

Reference: Attributes and Operations for Parlay X 3.0 Address List Management Architecture

This section describes the attributes and operations for configuration and maintenance:

Attribute: GroupNameMaxLength

Scope: Cluster

Unit: Not applicable

Format: Integer

Indicates the maximum length of an address list group name.

Valid values are 0255. The default value is 100.

Attribute: GroupSize

Scope: Cluster

Unit: Not applicable

Format: Integer

Indicates the maximum number of members in an address list group.

Valid values are 065535. The default value is 50.

Operation: createGroup

Scope: Cluster

Creates an Address List Management group.

Signature:

createGroup(name: String, domain: String)

Table 10-3 createGroup Parameters

Parameter Description

name

Name of the Address List Management group to create.

domain

Domain the group should be created under.


Operation: queryGroups

Scope: Cluster

Queries an Address List Management group to return details about a particular group attribute, which is specified by attributeName.

Signature:

queryGroups(group: String, member: String, attributeName, String)

Table 10-4 queryGroups Parameters

Parameter Description

group

Name of the Address List Management group.

member

Member of the Address List Management group.

attributeName

Attribute for which details will be returned.


Operation: deleteGroup

Scope: Cluster

Deletes the specified Address List Management group.

Signature:

deleteGroup(group: String)

Table 10-5 deleteGroup Parameters

Parameter Description

group

Name of the Address List Management group to be deleted.


Operation: setAccess

Scope: Cluster

Sets access permissions for a member of an Address List Management group. The access permissions control which group management functions the specified member is allowed to perform on the specified group.

Signature:

setAccess(group: String, requester: String, addPermission: Boolean, adminPermission: Boolean, deletePermission: Boolean, queryPermissions: Boolean)

Table 10-6 setAccess Parameters

Parameter Description

group

Name of the Address List Management group.

requester

Member of the Address List Management group for which you want to set permissions.

addPermission

If true, sets the permission for the requester to be able to add members to the group.

adminPermission

If true, sets the permission for the requester to be able to modify the access permissions of members to the group.

deletePermission

If true, sets the permission for the requester to be able to delete members from the group.

queryPermission

If true, sets the permission for the requester to be able to query the group and member attributes.


Operation: queryAccess

Scope: Cluster

Queries the access permissions set for the group member passed in the requester parameter.

Return:

Returns the list of access permissions for the group member passed in the requester parameter.

Signature:

Function(correlator: String)

Table 10-7 queryAccess Parameters

Parameter Description

group

Name of the Address List Management group.

requester

Member of the Address List Management group.


Operation: addMember

Scope: Cluster

Adds a single member to an Address List Management group.

Signature:

addMember(group: String, member: String)

Table 10-8 addMember Parameters

Parameter Description

group

Name of the Address List Management group to which to add the member.

member

Member to add to the group.


Operation: addMembers

Scope: Cluster

Adds multiple members to an Address List Management group.

Signature:

addMember(group: String, member1: String, [member2: String,...memberN: String])

Table 10-9 addMembers Parameters

Parameter Description

group

Name of the Address List Management group to which to add the members.

member[1...unbounded]

Member(s) to add to the group.


Operation: queryMembers

Scope: Cluster

Queries an Address List Management group to obtain a list of its members.

Signature:

queryMembers(group: String)

Table 10-10 queryMembers Parameters

Parameter Description

group

Name of the Address List Management group from which to retrieve a list of members.


Operation: deleteMember

Scope: Cluster

Deletes a single member from an Address List Management group.

Signature:

deleteMember(group: String, member: String)

Table 10-11 deleteMember Parameters

Parameter Description

group

Name of the Address List Management group from which to delete the member.

member

Member to delete from the group.


Operation: deleteMembers

Scope: Cluster

Deletes multiple members from an Address List Management group.

Signature:

addMember(group: String, member1: String, [member2: String, memberN: String])

Table 10-12 deleteMembers Parameters

Parameter Description

group

Name of the Address List Management group from which to delete member

members[1...unbounded]

Member(s) to remove from the group.


Operation: addGroupAttribute

Scope: Cluster

Adds an attribute to an Address List Management group.

Signature:

addGroupAttribute(group: String, name: String, type: String, value: String, status: Enum)

Table 10-13 addGroupAttribute Parameters

Parameter Description

group

Name of the Address List Management group.

name

Name of the attribute to be added.

type

Data type of the attribute to be added.

value

Value of the attribute.

status

Attribute status: Valid, Unknown, or Denied.


Operation: queryGroupAttribute

Scope: Cluster

Queries an Address List Management group for the value associated with the passed attribute name. The attribute's value and status are returned.

Signature:

queryGroupAttribute(group: String,attributeName: String))

Table 10-14 queryGroupAttribute Parameters

Parameter Description

group

Name of the Address List Management group.

attributeName

Name of the attribute to be queried.


Operation: deleteGroupAttribute

Scope: Cluster

Deletes an attribute from an Address List Management group.

Signature:

deleteGroupAttribute(group: String, attributeName: String))

Table 10-15 deleteGroupAttribute Parameters

Parameter Description

group

Name of the Address List Management group.

attributeName

Name of the attribute to be deleted.


Operation: addGroupMemberAttribute

Scope: Cluster

Adds an attribute to a member of a particular Address List Management group.

Signature:

addGroupMemberAttribute(group: String, member: String, name: String, type: String, value: String, status: Enum)

Table 10-16 addGroupMemberAttribute Parameters

Parameter Description

group

Name of the Address List Management group.

member

Name of the member to which the attribute is to be added.

name

Name of the attribute to be added.

type

Data type of the attribute to be added.

value

Value of the attribute.

status

Attribute status: Valid, Unknown, or Denied.


Operation: queryGroupMemberAttributes

Scope: Cluster

Queries a member of an Address List Management group for list of attributes attached to the member. To retrieve the value of a particular attribute, use queryMemberAttribute.

Signature:

queryGroupMemberAttributes(group: String, member: String))

Table 10-17 queryGroupMemberAttributes Parameters

Parameter Description

group

Name of the Address List Management group.

member

Name of the member from which to retrieve attributes.


Operation: deleteGroupMemberAttribute

Scope: Cluster

Deletes an attribute from a member of a particular Address List Management group.

Signature:

deleteGroupMemberAttribute(group: String, member: String, attributeName: String))

Table 10-18 deleteGroupMemberAttribute Parameters

Parameter Description

group

Name of the Address List Management group.

member

Name of the member from which to delete an attribute.

attributeName

Name of the attribute to be deleted.


Operation: addMemberAttribute

Scope: Cluster

Adds an attribute to a member outside of the context of a particular Address List Management group.

Signature:

addMemberAttribute(group: String, member: String, name: String, type: String, value: String, status: Enum)

Table 10-19 addMemberAttribute Parameters

Parameter Description

member

Name of the member to which the attribute is to be added.

name

Name of the attribute to be added.

type

Data type of the attribute to be added.

value

Value of the attribute.

status

Attribute status: Valid, Unknown, or Denied.


Operation: queryMemberAttributes

Scope: Cluster

Queries a list of attributes for a member and retrieves their values.

Signature:

queryMemberAttributes(member: String, attributeName1: String, [attributeName2: String, attributeNameN: String]))

Table 10-20 queryMemberAttributes Parameters

Parameter Description

member

Name of the member from which to retrieve attributes.

attributeNames[1...unbounded]

Names of the attributes to be retrieved.


Operation: deleteMemberAttribute

Scope: Cluster

Deletes an attribute from a member.

Signature:

deleteMemberAttribute(member: String, attributeName: String))

Table 10-21 deleteMemberAttribute Parameters

Parameter Description

member

Name of the member from which to delete an attribute.

attributeName

Name of the attribute to be deleted.