Skip Headers
Oracle® Communications Services Gatekeeper Communication Service Guide
Release 5.1

E37526-01
Go to Documentation Home
Home
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

20 Parlay X 3.0 Address List Management Interface

This chapter describes the 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

Additional examples include:

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:

  • createGroup

  • queryGroups

  • deleteGroup

Controlling Group Access

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

  • setAccess

  • queryAccess

Managing and Querying Group Members

Manage group members using the following Group API calls:

  • addMember

  • addMembers

  • queryMembers

  • deleteMember

  • deleteMembers

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

  • addMemberAttribute

  • queryMemberAttributes

  • deleteMemberAttributes

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:

  • addGroupAttribute

  • queryGroupAttributes

  • deleteGroupAttribute

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:

  • addGroupMemberAttribute

  • queryGroupMemberAttributes

  • deleteGroupMemberAttribute

Application Interfaces

For information about the SOAP-based interface for the Parlay X 3.0 Third Party Call communication service, see the discussion of Parlay X 3.0 Interfaces in Oracle Communications 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.

For general information, see Appendix A, "Events, Alarms, and Charging."

Event Data Records

Table 20-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 20-1 Event Types 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 Oracle Communications Services Gatekeeper Alarm 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 20-2 lists the technical specifications for the communication service.

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

Property Description

Managed object in Administration Console

domain_name > OCSG > server_name > Communication Services > Plugin_px30_address_list#5.1

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. Gather information about the OSA Gateway and configure the plug-in instance accordingly. The following information needs to be obtained from the OSA Gateway administrator and configured in the OSA Access service:

    • OSA/Parlay SCS type to be used in the lookup (service discovery) phase when requesting the service (OSA/Parlay SCS) from the OSA/Parlay Gateway. Typically this is P_MULTI_PARTY_CALL_CONTROL.

    • OSA/Parlay service properties to be used in the lookup (service discovery) phase when requesting a service (OSA/Parlay SCS) from the OSA/Parlay Gateway. This depends on the OSA Gateway implementation.

    • Authentication type used by the OSA/Parlay Framework.

    • Encryption method used for the connection with the OSA Gateway.

    • Signing algorithm used when signing the Service Level Agreement (SLA) with the OSA/Parlay Framework.

  4. Set up the OSA Client and the OSA Client Mappings. See "Creating an OSA Client" and "Mapping the OSA client to an OSA Gateway and an OSA/Parlay SCS" in "Managing OSA/Parlay Gateway Connections using Parlay_Access" in Oracle Communications Services Gatekeeper System Administrator's Guide.

  5. Set up the routing rules to the plug-in instance. See "Managing and Configuring the Plug-in Manager" in Oracle Communications 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.

  6. If required, create and load a node SLA. For details see "Defining Global Node and Service Provider Group Node SLAs" and "Managing SLAs" in the Oracle Communications Services Gatekeeper Accounts and SLAs Guide.

  7. Provision the service provider accounts and application accounts. For information, see Oracle Communications Services Gatekeeper Accounts and SLAs 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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-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 20-21 deleteMemberAttribute Parameters

Parameter Description

member

Name of the member from which to delete an attribute.

attributeName

Name of the attribute to be deleted.