This chapter describes the Oracle Communications Services Gatekeeper Parlay X 3.0 Address List Management interface in detail.
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 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 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
Create, query and delete address list groups using the following GroupManagement API calls:
Set and query group access attributes, which assign group management permissions to group members, using the following GroupManagement API calls:
Manage group members using the following Group API calls:
Manage individual group member attributes using the following Member API calls:
Group attributes apply to the address list group itself. Add, query, and delete group attributes using the following Group API calls:
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.
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.
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 |
This section describes properties and workflows for the Parlay X 3.0Address List Management Architecture plug-in instance.
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.
The following procedure provides an outline to configure the Address List Management plug-in using the Administration Console or an MBean browser.
Select the MBean detailed in "Properties for Parlay X 3.0 Address List Management Architecture".
Configure the plug-in instance attributes:
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.
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.
Provision the service provider accounts and application accounts. For information, see Services Gatekeeper Portal Developer's Guide.
This section describes the attributes and operations for configuration and maintenance:
Scope: Cluster
Unit: Not applicable
Format: Integer
Indicates the maximum length of an address list group name.
Valid values are 0–255. The default value is 100.
Scope: Cluster
Unit: Not applicable
Format: Integer
Indicates the maximum number of members in an address list group.
Valid values are 0–65535. The default value is 50.
Scope: Cluster
Creates an Address List Management group.
Signature:
createGroup(name: String, domain: String)
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)
Scope: Cluster
Deletes the specified Address List Management group.
Signature:
deleteGroup(group: String)
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. |
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)
Scope: Cluster
Adds a single member to an Address List Management group.
Signature:
addMember(group: String, member: String)
Scope: Cluster
Adds multiple members to an Address List Management group.
Signature:
addMember(group: String, member1: String, [member2: String,...memberN: String])
Scope: Cluster
Queries an Address List Management group to obtain a list of its members.
Signature:
queryMembers(group: String)
Scope: Cluster
Deletes a single member from an Address List Management group.
Signature:
deleteMember(group: String, member: String)
Scope: Cluster
Deletes multiple members from an Address List Management group.
Signature:
addMember(group: String, member1: String, [member2: String, memberN: String])
Scope: Cluster
Adds an attribute to an Address List Management group.
Signature:
addGroupAttribute(group: String, name: String, type: String, value: String, status: Enum)
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))
Scope: Cluster
Deletes an attribute from an Address List Management group.
Signature:
deleteGroupAttribute(group: String, attributeName: String))
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. |
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))
Scope: Cluster
Deletes an attribute from a member of a particular Address List Management group.
Signature:
deleteGroupMemberAttribute(group: String, member: String, attributeName: String))
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)
Scope: Cluster
Queries a list of attributes for a member and retrieves their values.
Signature:
queryMemberAttributes(member: String, attributeName1: String, [attributeName2: String, attributeNameN: String]))
Scope: Cluster
Deletes an attribute from a member.
Signature:
deleteMemberAttribute(member: String, attributeName: String))