Skip Headers
Oracle® Communications Services Gatekeeper Patch Release Notes

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

Go to previous page
Go to next page
View PDF

1 Introduction

These Release Notes summarize the product enhancements, resolved issues, and known issues in Oracle Communications Service Gatekeeper Patch Set


Enhancements in this release include:

Resolved Issues in This Release

Table 1-1 describes known issues from the previous release that are resolved in this release.

Table 1-1 Fixes in this Release

Bug ID /SR ID Description

13334021 / SR: 3-4723119351

Fixed the order of soap message response for array type elements.

12960582 / SR: 3-4365362351

Added the flag: -Docsg.payment.px30.ocsgInternalAvp.ignore to control sending the Internal Services Gatekeeper AVPS in the Credit Control Request (CCR) request. To ignore internal parameters, set the flag to true.

13095419 / SR: 3-2889334421

Added support for schedule_delivery_time x-parameter for PX21 SMPP traffic path.

11808518 / SR: 3-3048218981, 3-2391892421

Multiple fixes in rest support.

9768407 / SR:3-1754395101

Added support of enduseridentifier parameter in EDR.

11799441 / SR: 3-2395773771

Added support to pass vendor specific error codes from network to applications in Location Traffic path.

11062440 / SR: 3-2221385091

Added support to make Interval element configurable in TLRR element in Location traffic path.

9849158 / SR: 3-1856167821

Fixed issue with not picking up configured values for new MLP plugin instances.

11807542 / SR: 3-3005753531

Removed trailing comma in subscriber profile base DN entry when entry is blank.

13015110 / SR: 3-4471023581

Added support for the optional element EarliestDeliveryTime in the MM7 submit request with the new x-parameter EarliestDeliverytime for all supported MM7 Release 5 schema versions. The optional element ExpiryDate in the MM7 submit request is now supported by x-parameter ExpiryDate for all supported MM7 schema versions.

12980832 / SR: 3-4489005781

A delivery receipt containing the message state ENROUTE will only result in a deliverSMResp response sent back to the SMSC.

12603510 / SR: 3-3519806031, 3-3582264101

Two new MBean attributes are introduced: SmscGroupId (empty by default) and SmscGroupIdEnabled (disabled by default) The use of these two attributes will solve issues with delivery reports not being handled when Services Gatekeeper is connected to a clustered SMSC with multiple network interfaces. The attribute SmscGroupIdEnabled shall be enabled when the Services Gatekeeper system has multiple Px21 SMPP plugin instances that connect to different SMSC network interfaces that are part of one logical SMSC. If the SMSC has several network interfaces and a delivery report for a message sent to SMSC network interface-1 can be sent out from SMSC network interface-2. The attribute SmscGroupId should be set to a common value for all plugin instances.

12961020 / SR: 3-4381314411, 3-4381314411

A feature has been implemented to discard the suffix /TYPE=PLMNXXXXXX from the address received in any addresstype (Number, RFC2822Address, ShortCode) in an MM7 DeliveryReportReq or DeliverReq. The feature is controlled by a system property ocsg.mms.remove_typeplmn. The feature is enabled by default (suffix is removed). To disable (do not remove suffix), add the following system property on all NT servers: -Docsg.mms.remove_typeplmn=false.

12730184 / SR: 3-3804520981

Added a condition not to initialize security providers on AT servers. This will prevent database connections being setup from AT servers.

12709038 / SR: 3-3835994781

SiteAddress is stored as a Serialized object instead of a String. This will remove the limitation of 255 characters.


Added a fix so that AT servers will start correctly if the Domain Wide Administration Port is enabled.


"<?xml version='1.0' encoding='utf-8'?> is added to MM7 SOAP requests.


The patch script can now patch all artifacts, including the eclipse jar.

12564657 / SR: 3-3543564631

Criteria in notifications are now case insensitive.

9727269 / SR: 3-1716371691

The granularity of start or end dates was reduced to include 'day' as the least significant part. Also, the date stored as budget configuration internally is now taken from the SLA instead of current time. Note that SLAs already stored need to be updated in order to pick up the new dates. Also, logging of budget configuration that is diffing between two geographically redundant sites has been improved to ease troubleshooting.


The Circular Notification Area is now visible in PTE map.

11904789 / SR: 3-3129449431

The build script was updated with a new target 'generate-mib-forked' (made default) that forks before calling the generate-mib target. In addition the readme file was updated.

11901245 / SR: 3-3074032281

If data coding is provided in an SLA or x-parameter file, it is now used when encoding the message as well. The value of data coding used is taken in the following order:

1. If it exists in SLA, it is used first hand.

2. If it is provided as an x-parameter.

3. If not provided in SLA or x-parameter, the MBean attribute DefaultDataCoding is used.

11873021 / SR: 3-3074032281

The characters ^{}\[~]| and Euro sign(unicode 20AC) and form feed from GSM extension table will now be supported when MBean attribute DefaultDataCoding is set to 0 (SMSC Default Alphabet).

11797936 / SR: 3-4608875831, 3-2395773771, 3-4676495231

The commandStatus in the response from SMSC will be included in the ParlayX SVC0001 ServiceException thrown to the application. A new general error code for the ParlayX SVC0001 ServiceException has been added. The new error code is SMS-000006, "Could not send message. Message was not accepted by the network."

The complete error code in the ParlayX SVC0001 ServiceException will have following format: SMS-000006:<CommandStatus>:<Description>.

11799063 / SR: 3-3228503811

The existing general error code for the ParlayX SVC0001 ServiceException MMS-000005 has been updated to include the StatusCode and StatusText in the response from MMSC. The complete error code in the ParlayX SVC0001 ServiceException will have the following format: MMS-000005:<StatusCode>:<StatusText>


Implemented fix to check if the internal queue is null before checking its size. If queue is null (meaning windowing is disabled), "SendQueueSize = N/A" will be shown when invoking listClientConnection from SMPP server service.

10634032 / SR: 3-2682645161, 3-2692245931

Support for XSD VERSION REL-5-MM7-1-3 in ParlayX MMS service is added.

10326709 / SR: 3-2381491821

A location report is not sent when location data is null.

10203184 / SR: 3-2186379971, 3-2186379931

Fixed an issue that any application could poll for delivery status for any message. Now only the application that sent a specific message can use the polling feature to get the delivery status for that message. If an application attempts to poll for the delivery status for messages sent by a different application a service exception occurs.

10272046 / SR: 3-2103796457

MM7 Priority element can now be set using SLA configuration for ParlayX MMS Service.


Improvements in the SMPP service to properly cleanup and close connections to SMSC when they are manually reset by MBean operation resetClientConnection in the SMPP service.

11825557 / SR: 3-3085759721

For concatenated SMS messages consisting of segments, Services Gatekeeper will check all the segments associated with the message and will only use the deliveredToTerminal status if all segments have been reported as delivered.

10201065 / SR: 3-2186379871

To ensure MMS security, applications can only poll for messages using a registrationIdentifier, or correlator, that actually belongs to that specific application instance group. The same check is done when retrieving message attachments. An application can only use a messageRefIdentifier for a message that was intended for that application instance to get message content. If an application attempts to poll for messages or get message content for messages for a different application instance, a service exception occurs.

11713571 / 3-2889334421

The configured error response code will not be used when a delivery report is received but the message meta data can not be found in the store. This will prevent report redelivery attempts from the SMSC for a situation that is not temporary/can not be resolved.

11657534 / SR: 3-2744485251

X-parameters contained in the header of an inbound SOAP request are prevented from being echoed back in the response.


For the Parlay X Payment Service, Services Gatekeeper will validate that a reservation is granted by checking the Granted-Service-Unit in the Credit Control Answer (CCA) and making sure that the granted units are equal to or greater than the reservation request. If this is not the case an exception will be raised (SVC0001 - payment error 000005).


sourceaddr and destaddr values from the native SMPP SUBMIT_SM response are provided in the northbound message.


The Deliver Report CDR in the ParlayX SMS plugin is sent in the northbound direction.

10084247 / SR: 3-2073882931

The SMPP plug-in has been updated to check for x-parameter data that should be sent as optional SMPP TLV parameters. X-parameters can be added from an interceptor.

The following x-parameters names are supported for tunneling TLV data:





Note that tag identifiers must be entered in integer format. For example, a tag with hex value 0x1401 will be set as 5121. Multiple TLV tags/values are separated with a ",". The TLV_OPTIONAL_INT_PARAM_TAGS list and the TLV_OPTIONAL_INT_PARAM_VALUES list must be of the same size. Below is an example pseudo code for using integer TLVs:

//Integer parameters will always default to length 4

injectXParam(TLV_OPTIONAL_INT_PARAM_TAGS, "5121,5124"); injectXParam(TLV_OPTIONAL_INT_PARAM_VALUES, "999,1234");

Example pseudo code for using octet TLVs:

//Use octet type if we need length set to 2

injectXParam(TLV_OPTIONAL_OCTET_PARAM_TAGS, "5121,5124", rctx);

injectXParam(TLV_OPTIONAL_OCTET_PARAM_VALUES, "03e7,04d2", rctx);

private void injectXParam(String name, String value, RequestContext rctx){ rctx.putXParam(name, value); }

8795030 / SR: 2-5949734

The enableReceiveMms method now includes validations for the following:

The shortcode must be alphanumeric characters with 'tel:' scheme prefixed.

The appInstance must really exist.

10421400 / SR: 3-2558532231

Added support for a new "Bytes" type in paymentConfig.xsd. Data is specified in hex format. For example:

<avpAttributeDefinitions> <avpAttribute code="23" vendorId="10415" name="3GPP-MS-TimeZone" type="Bytes" flag="0"></avpAttribute> </avpAttributeDefinitions> <avpTemplate> <avpValue avpName="3GPP-MS-TimeZone" defaultValue="08000000"/> … </avpTemplate>


Byte types containing a null value will not be put into PDU.

10623367 / SR: 3-2632523371

The startBinarySmsNotification operation is now available in both console and the Platform Test Environment (PTE).

10430284 / SR: 3-2621104377

When ReserveAddtionalAmount is called, the Used Service Unit (USU) in the Credit Control Request (CCR) update will be set as the value of pl_payment_reservation_data.usedAmount.The pl_payment_reservation_data.usedAmount will be reset as zero, and will subtract USU from pl_payment_reservation_data.ReuestedAmount. By default, this fix is disabled. To enable, set system.flag to enable: -Docsg.payment.px30.reserveAdditionalAmount.usu.sent=true

10430286 / SR: 3-2621121057

Requested Service Unit (RSU) is passed in chargeAmount request in the payment API.

8744222 / SR: 2-5933358

The following validations for the native MMS Plugin have been added:

enableRecieveMmsNotification operation: includes validations for non-existent, invalid address, validations for non-existent, invalid applicationInstanceGroupID, and validations for non-invalid (non-proto based etc) applicationURI.

enableStatusReporting operation: includes validations for non-existent, invalid applicationInstanceGroupID, and validations for non-invalid (non-proto based, etc) applicationURI.

10262848 / SR: 3-2285175981

Services Gatekeeper validates the length of x-Parameter smpp_billing_id in the SMS ParlayX interface. If the length is bigger than 1024, a warning message of the following format is logged: "The length of XParam smpp_billing_id is bigger than max size(1024 bytes): billingid..."

Services Gatekeeper will continue submitting request to SMSC without the billing_identification parameter.

8744324 / SR: 2-6007987

The current date (today) is now accepted in a SLA as a valid end date and will not cause a message sending failure.

9482737 / SR: 3-1306949931

A timer is scheduled to execute once per day. When the timer is executed, the SLAs for all service provider groups and application groups will be checked. If a SLA is about to expire, an EDR will be generated.

10205494 / SR: 3-2201224241

The correct number of CDRs are generated for third-party calls (TPC) to function properly with Diameter. The diameter simulator in the Platform Test Environment (PTE) reports the correct request counter.

10177822 / SR: 3-2176152431

The Third Party Call (TPC) plugin now populates the following fields in CDRs: CDR@makeCall: +FIELD_CALL_INFO = "START", +FIELD_CDR_START_OF_USAGE, +FIELD_CDR_ORIGINATING_PARTY, +FIELD_CDR_DESTINATION_PARTY, +FIELD_CDR_AMOUNT_OF_USAGE = 1, +FIELD_CALL_SESSION_ID, +FIELD_CORRELATOR CDR@callConnected: +FIELD_CDR_CONNECT_TIME, +FIELD_CORRELATOR CDR@callReleased: +FIELD_CDR_END_OF_USAGE, CDR@endCall: +FIELD_CDR_END_OF_USAGE CDR@getCallInfo and CDR@cancelCall No change. The FIELD_CALL_SESSION_ID must be used to group related CDRs to find out all field information.

13256317 / SR: 3-4714564051

Minor improvement by adding debug log that prints "exception.getMessage()" string from the exception that caused the "notifySmsReception" callback to application endpoint to fail.

Known Problems

Table 1-2 describes known problems in Services Gatekeeper

Table 1-2 Known Problems in this Release

Bug ID Description


requestedAccuracy is a mandatory parameter defined in the WADL file. When an empty value for requestedAccuracy ("requestedAccuracy=") in the request is sent to the Services Gatekeeper REST2REST module a 500 Internal Error is returned. However, if the request doesn't contain this parameter at all, the REST2REST module doesn't throw any exception. The behavior of processing invalid parameters in the REST2REST module should be consistent, deny or pass through the traffic.


In the clustered environment, an EDR listener occasionally misses the EDRs when connecting to only one server. The cause is that an EDR JMS topic is managed separately by each WebLogic Server instance in the cluster and an EDR listener can receive the message only when it is pinned to the same physical server with the producer. The solution is grouping all JMS servers together using the subdeployment mechanism provided by WebLogic.


In case of sending SMS to multiple addresses, the delivery receipts (DRs) can be retrieved many times by the query API even if the DRs are notified to clients successfully. ParlayX SMS has the same behavior as OneAPI SMS.


There is no alarm or event to signal when erroneous authentication events have occurred.


In the SOAP facade of the Extended Web Services WAP Push/PAP communication service, the error checking of the destination address is faulty. It accepts some poorly-formatted addresses and rejects some valid ones.


Loading both local and geo-redundant SLAs for the same application group or service provider group having overlapping service contracts will result in undefined behavior as to whether the local or the geo-redundant limits will be enforced.

A particular service contract for a particular application group or service provider group may be part of either the local SLA or geo-redundant SLA, never both of them simultaneously. This restriction is not currently enforced by the MBean SLA loading methods


A Services Gatekeeper database improperly sized too small may result in the loss of CDRs and EDRs when the storage is filled. Services Gatekeeper inserts each CDR or EDR to the database by default. If the target table becomes full there will be a delay each time a CDR is inserted into the database. The delay can worsen over time resulting in the internal queue becoming big enough that some EDRs and CDRs are lost. CDR or EDR insertion in a properly configured database does not fail and will not result in the lost of data records.


A small number of entities are left as artifacts when transactions are rolled back. For example, after a transaction is rolled back there may be CDRs, database or storage entities and network protocol-specific artifacts left in Services Gatekeeper.