Oracle® Communications Services Gatekeeper Communication Service Guide Release 5.1 E37526-01 |
|
|
PDF · Mobi · ePub |
This chapter describes the 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
Additional examples include:
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:
createGroup
queryGroups
deleteGroup
Set and query group access attributes, which assign group management permissions to group members, using the following GroupManagement API calls:
setAccess
queryAccess
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
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.
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."
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 |
This section describes properties and workflows for the Parlay X 3.0Address List Management Architecture plug-in instance.
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.
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:
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.
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.
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.
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.
Provision the service provider accounts and application accounts. For information, see Oracle Communications Services Gatekeeper Accounts and SLAs 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 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. |
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 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. |
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))