cgin-connectivity 1.5.4.7 This release contains the following changes. Bug fixes * The BearerCapability datatype now correctly detects the presence of octet 5b (layer 1 further information) when the layer 1 protocol is not V110/I460/X30/V120. (CGIN-2100) ---- cgin-connectivity 1.5.4.6 This release contains the following changes. Bug fixes * The Simulated TCAP stack no longer incorrectly sets numberingPlan=1 for outbound ITU TCAP requests with GTI=1, causing global title translation to fail. (CGIN-2031) ---- cgin-connectivity 1.5.4.5 This release contains the following changes. Improvements * Extended the CGIN Trial package's OSS ASN.1 Compiler licence to 23 December 2018. Users of the trial CGIN package will need to upgrade to this version to continue to use it in 2018. This change is not relevant to users of the CGIN full package, which will continue to work indefinitely. * The Simulated TCAP stack now supports ANSI (A7) SCCP addressing, including global title translation. For partner products, use of tcapsim with A7 SCCP addressing requires IN Scenario Pack 1.5.4.3 or higher, or SIS 2.5.4.9 or higher. (CGIN-1947) * Updated example CGIN RA configuration properties included in deploy.properties. (CGIN-1944) Bug fixes * The CleanLostDialogs task will continue to clean lost dialogs even if it encounters an unexpected exception while processing a lost dialog. Previously this would stop and this could cause leaked dialogs. (CGIN-1950) ---- cgin-connectivity 1.5.4.4 This release contains the following changes. Improvements * OCSS7: Upgraded the OCSS7 TCAP stack to the latest release of 2.0.0.x. This version of the OCSS7 TCAP stack supports ANSI SCCP when connected to SGCs with version at least 2.1.0.0 and remains backwards compatible with 2.0.0.x SGCs when configured to use ITU SCCP. Refer to the OCSS7 changelog and documentation for details. (CGIN-1813) * Added support for ANSI SCCP Network-Cluster-Member SCCP address format. This is in addition to the existing Member/Cluster/Network format. (CGIN-1846) * Improved the SccpAddress and SccpAddressParser documentation of ANSI point code integer formats. (CGIN-1917) Bug fixes * Corrected 7-bit GSM letter with encoding 1E to Eszett. (CGIN-1692) ---- cgin-connectivity 1.5.4.1 This release contains the following changes. Improvements * Extended CGIN Trial OSS ASN.1 Compiler licence to 23 December 2017. ---- cgin-connectivity 1.5.4.0 Improvements * OCSS7: Upgraded the OCSS7 TCAP stack to the latest release of 2.0.0.x. Refer to the OCSS7 changelog for details. Bug fixes * The Simulated TCAP stack now handles received provider aborts correctly. (CGIN-1726, CGIN-1756) ---- cgin-connectivity 1.5.3.0 Improvements * OCSS7: Upgraded the OCSS7 TCAP stack to the latest release of 1.1.0.x. Refer to the OCSS7 changelog for details. ---- cgin-connectivity 1.5.2.19 Improvements * OCSS7: Upgraded the OCSS7 TCAP stack to the latest release of 1.0.1.x. Refer to the OCSS7 changelog for details. ---- cgin-connectivity 1.5.2.18 This release contains the following changes. Improvements * Extended CGIN Trial OSS ASN.1 Compiler licence to 23 December 2016. ---- cgin-connectivity 1.5.2.17 This patch release contains the following changes. * OCSS7: Fixed a bug where the TCAP stack could stop trying to reconnect. (SSSVN-344) * Fixed a bug in the decoding of SMSDeliverReportError from its encoded form. (CGIN-1715) * Fixed some datatype codecs which were not thread safe. (CGIN-1515) ---- cgin-connectivity 1.5.2.15 This patch release contains the following changes. Changes to OCSS7 * Internal OCSS7 components upgraded to version 1.0.1, bringing various internal improvements specific to the use of the OCSS7 stack. (CGIN-1704) * An error is now returned to the CGIN user when attempting to initiate a dialog to a global title longer than the supported maximum. (SSSVN-53) * OCSS7 connection heartbeat is now enabled by default and can be controlled via a resource adaptor configuration property. (SSSVN-284 / SSSVN-277) * Fixed an issue which could prevent OCSS7 registering with the SGC properly when using IPv6. (SSSVN-119) * Fixed a bug which could cause dialogs not to be properly cleaned up if the underlying TCAP stack provider reported their state as lost. (CGIN-1711) * OCSS7 TCAP stack will now raise alarms if it detects that the value of ocss7.schNodeListSize is too small, as this can cause important dialog timers not to fire. These alarms must be cleared manually. (SSSVN-269) * Fixed a thread leak that occurred when the CGIN RA entity was deactivated and reactivated (affecting users of CGIN 1.5.2.14-EA only) (SSSVN-313) Changes to tcapsim * Fixed a rare NPE that occurred when connecting to a remote peer. (CGIN-1475) ---- cgin-connectivity 1.5.2.8 This patch release contains the following changes. Improvements * Extended CGIN Trial OSS ASN.1 Compiler licence to 23 December 2015. ---- cgin-connectivity 1.5.2.7 This release contains the following changes. Bugfixes * Corrected a defect in the MAP phase 1 ForwardSM interceptor that could result in CGIN presenting a phase 1 MTForwardSM as MOForwardSM if the ASN.1 length field was in long form. (CGIN-1693) * OCSS7 stack support for the A, D and E sccp address global title digits (defined as spare in Q.713). (SSSVN-42) * Fixed issue that could prevent a SIS CGIN RA entity using the tcapsim stack from being activated after it had been deactivated. (CGIN-1688) ---- cgin-connectivity 1.5.2.4 This release contains the following changes * Added support for OpenCloud's SS7 stack (OCSS7), supporting ITU-T TCAP, ITU-T SCCP, M3UA and SCTP * Enabling DEBUG logging for cgin-slee and then receiving an undecodeable message should no longer result in that message being ignored silently. (CGIN-1539) * References to CGIN TCAP stacks are now cleared promptly on CGIN RA entity deactivation, to allow garbage collection to happen sooner. (CGIN-1624) * Fixed an issue which could cause CGIN and the underlying TCAP stack to have different state for a dialog, causing an extra abort to be sent to the TCAP stack, which would then discard it. (CGIN-1658) ---- cgin-connectivity 1.5.0-protocol-patches.6 This patch release contains the following changes. Bugfixes * Enabling DEBUG logging for cgin-slee and then receiving an undecodeable message should no longer result in that message being ignored silently. (CGIN-1539) ---- cgin-connectivity 1.5.0-protocol-patches.3 This patch release contains the following changes. Bugfixes * Signalware backend version check now correctly requires -ignoreversioncheck to ignore suspected Signalware version incompatibilities. (CGIN-1529) * Fix IllegalStateException: stop() called in STOPPED state when stack is deactivated and reactivated. (SIS-838) ---- cgin-connectivity 1.5.0-protocol-patches.2 This patch release contains the following changes. Improvements * Added hybrid ITU TCAP over ANSI SCCP backend. (CGIN-1504) * Signalware backends rate limit the production of certain error messages. (CGIN-1470) Bugfixes * Correct a tool chain bug that could cause the CGIN RA to refuse to send some valid MAP error messages. (CGIN-1507) ---- cgin-connectivity 1.5.0-protocol-patches.1 This patch release contains the following changes. Improvements * Added RHEL6 backends for Signalware. (CGIN-1467) * Modify MAP to use a 10-octet ISDN-AddressString. (CGIN-1497) * Expose ECS1+ user information as an EncodedExternal, required for relay mode to work. (CGIN-1493) ---- cgin-connectivity 1.5.0-protocol-patches.0 This patch release contains the following changes. Improvements * Added methods to DialogOpenRequestEvent to provide access to the Layer 3 point codes for the L3 message that the TC-BEGIN arrived in. The Signalware stack is the only stack to currently provide these values. (CGIN-1478) Bugfixes * Receipt of an ARI with invalid length correlationID should no longer result in the entire message being ignored (CGIN-1479) * Added absentSubscriber-v1 ERROR. Modified MAP ph1 operations that previously used absentSubscriber ERROR to use absentSubscriber-v1 ERROR (CGIN-1480) * SM-DeliveryFailure ERROR parameter is now compatible with MAP ph1, ph2 and R99+ (CGIN-1483) * Renamed v1 SetMessageWaitingData operation to ReportSM-DeliveryStatus-v1 (CGIN-1484) ---- cgin-connectivity 1.5.0.13 This patch release contains the following changes. Improvements * Updated mach7 TCRA to version 1.15.2.3.b1 (CGIN-1439) * The tcapsim stack now throws InvalidConfigurationException if the provided local-sccp-address is missing either the point code or the SSN (CGIN-469) * Adjusted the severity of several low priority tcapsim log messages from WARNING to FINE (CGIN-617) * Added a system property to configure the tcapsim's dialog state map's concurrency level (com.opencloud.concurrency_level) (CGIN-1406) * CGIN dialog manager's state map now supports the new com.opencloud.concurrency_level system property. (CGIN-1407) * Increased SUA performance (CGIN-1411) * The tcapsim now uses Netty 3.5.5, which resolves several connection-related issues (CGIN-1430) * Improved tcapsim scalability on highly parallel systems (CGIN-1450) Bugfixes * Fixed ASN1Time so that times can be written to various precisions, with unspecified fields having default values, e.g. no seconds means seconds=0. (CGIN-1331) * The tcapsim now routes SCCP management errors for relayed dialogues to the correct (originating) address (CGIN-1332) * TimeAndTimeZone.timezone parameter on InitialDP now supports negative values (CGIN-1338) * Fixed a regression causing tcapsim global title translation to ignore partially matching GT table entries. (CGIN-1340) * The example scenario simulator Mach7 configuration properties and command file names have been updated. (CGIN-1343) * The UCS2Treatment bit is no longer decoded in an incoming MSClassmark2 message with revision < R_99 as this bit doesn't exist until R_99 (CGIN-1348) * Fixed a bug in the constructor from int for types that extend AbstractLazyEncodedNamedInteger and represent a SEQUENCE with only mandatory fields (for example, LegType(int)). (CGIN-1362) * The tcapsim now attempts to reconnect aborted connections (CGIN-1380) * Fixed an UnsupportedDigitException during copyTo()/clone() on a type that contains non-standard digits (CGIN-1393) * Fixed EncodedStringWithIndicators.decode(), which did not decode the StringIndicators. (CGIN-1401) * Fixed StringIndicators.decode(), which failed to mark fields as present (CGIN-1402) * TimeAndTimezone decoding no longer ignores the sign bit. (CGIN-1448) * Fixed an issue where the JavaDoc for TimeAndTimezone was incorrectly described (CGIN-1452) ---- cgin-connectivity 1.5.0.8 This release contains the following changes. New Features * Added support for phase 1 of MAP, i.e. -v1 ACNs, in cgin-map. This includes support for blue-book TCAP in CGIN Unified RA, with a new counter OpenRequestNoInferredAC counting blue-book open requests for which no ACN can be inferred. (CGIN-903) * Allow multiple variants of a protocol on the external network to be aliased to a single protocol in the CGIN RA, and allow a service to nominate to which external protocol to map the internal protocol. This replaces the acn-mappings configuration property, which was 1 to 1 and used on both the inbound and outbound paths, by acn-inbound-aliases (n to 1) and acn-outbound-mappings (1 to 1). (CGIN-942) * Added our own SUA layer and changed tcapsim to use that, involving two new properties: tcapsim.remote-addresses and tcapsim.sctp-stack. (CGIN-891) * Added com.opencloud.slee.resources.cgin.xpath.CGINJXPathContext for accessing fields in protocol messages via Apache's JXPath. (CGIN-1084) * Implemented INAP1-SK support (CGIN-1076) Improvements * Added validation rule to prevent nested usage of the same ALIAS name in a scenario. (CGIN-577) * Changed interface StringCodec to use new StringIndicators that define conversions between indicators so that String fields can be better decoded speculatively by non-standard StringCodecs. (CGIN-677) * Metadata class MAPMAP_EXTENSION is now used by other protocols rather than each having a copy - for example CAP1MAP_EXTENSION. (CGIN-833) * Changed CAP3's callGap operation to inherit from CallControl's. (CGIN-848) * Performance: Improved the efficiency of a number of string equality testing operations. (CGIN-854) * Added support for alphanumeric CalledPartyBCDNumbers and AddressStrings when used for SMS addresses in CAP-v4 (CGIN-860) * Added new configuration property "relaxed-decoding" to ignore certain BER decoding errors where the results are unambiguous. (CGIN-864) * Added support for reflective access to fields: getFieldAccessors() for all the fields of its type, and FieldAccessorFactory for a named field of an AbstractFieldsObject. (CGIN-887) * Added generation of new types between ExtendibleOctetString and existing subclasses thereof, representing extendible OCTET STRINGs in the callcontrol protocol, to limit which subclasses can be used. Changed ExtendibleOctetString to be abstract. (CGIN-898) * Added static T copyOf(superT) methods to all classes that correspond to ASN.1 types. (CGIN-915) * Changed setFieldPresent() methods to return this (were void). (CGIN-916) * Added override setters in subclasses to use covariant return types. (CGIN-919) * Use AddressDelimiter for CAP4MidCallControlInfo's OCTET STRINGs. (CGIN-930) * Changed subtypes of NamedInteger so that methods getEncodedForm() and fromValue() return the subtype rather than NamedInteger (CGIN-998) * Changed method namedValues() in extensions of NamedInteger to return a clone of the array rather than the original. (CGIN-1038) * Change return type of ASN1Time.clone() and SccpAddress.clone() from Object to specific type. (CGIN-1045) * Added ParserFactory for parsers for ASN.1 values - the inverse of toString(). (CGIN-1051) * Changed APIs for some ASN.1 NULL fields to be like others: replace AddressString.setSMSAddress(...) by AddressString.setSMSAddressPresent(...); AddressString.getSMSAddress() by AddressString.hasSMSAddress(); SMS*.setOnlyHeader(...) by SMS*.setOnlyHeaderPresent(...); SMS*.getOnlyHeader() by SMS*.hasOnlyHeader(). (CGIN-1052) * Added static method staticGetNamedBits() to extensions of BitStringWithNamedBits. (CGIN-1067) * Reimplemented getFieldsMap() in terms of FieldAccessors, so that less bytecode is generated. (CGIN-1069) * Added hasField() and checkFieldSet() methods to all classes representing ASN.1 types that didn't already have them. These enable checking whether mandatory fields have been initialised. The affected classes now extend a lazy-encoded DataObject rather than an eager-encoded DataObject. (CGIN-1070) * Moved UnsupportedDigitException from com.opencloud.slee.resources.in.datatypes to com.opencloud.slee.resources.cgin, as part of changes to make the implementations of protocol APIs have less bytecode. (CGIN-1075) * In the output of the print-status command, under "Last non-match details", include details of why the preferred scenario was eliminated, when appropriate. (CGIN-1083) * Add a command line option "-l <log-file-name>" to the scenario simulator, to support logging to a different log file within the logs directory. (CGIN-1085) * Added more methods to type ASN1Time, making it extend AbstractFieldsObject. (CGIN-1086) * Fields called genericNumber (in S7MPConnectArg and S7MPContinueWithArgumentArg) are now represented by type GenericNumber rather than byte[]. Also types MidCallInfoType and MidCallInfo are now represented by type GenericDigits rather than byte[]. (CGIN-1121) * Added method fromValue(int) to types in com.opencloud.slee.resources.in.datatypes that implement ASN.1 ENUMERATED types. (CGIN-1138) * PersistCodec methods now return null if passed null. (CGIN-1156) * Added configuration of interceptors for incoming messages that have no dialog portion, e.g. acn-inbound-aliases={}:map.phase-1 (CGIN-1161) * Changed TcapApplicationContext.getApplicationContextName() for MAP phase 1 application contexts to return null rather than a made-up OID that doesn't appear on the wire. (CGIN-1164) * Included stack trace in debug logging of ElementConversionExceptions. (CGIN-1169) * Reports of non-matches in scenario simulations now show the innermost exception rather than the outermost. (CGIN-1185) * Changed type Code so that its API follows the usual pattern for one specified as an ASN.1 CHOICE type. (CGIN-1188) * Changed representation of type PAbortCause from NamedInteger to enum. (CGIN-1189) * Make deserialization of SccpAddress objects more efficient. (CGIN-1222) * Fixed a race condition around the handling of elements using both the AUTO and ALIAS attributes, which could lead to a null pointer at runtime in some scenarios. (CGIN-1226) Bugfixes * Reduced the tracing logged on starting the scenario simulator. (CGIN-786) * Changed CGIN protocol adaptor log keys for consistency with the CGIN SLEE resource adaptor, and updated the default logging configuration accordingly: - "cgin.stack" replaced by "cgin-tcap" - "cgin" replaced with "sim-cgin" (CGIN-796) * Scenario editor changes to help keep scenario names in sync with their file names: - Added checkbox to 'Save As' dialog to keep the names synced - Added 'rename file' option to scenario properties editing dialog, to renamed scenario files when renaming the scenario. (CGIN-815) * Added EncodedStringWithIndicators, enabling conversion between encoded and decoded forms of String fields, that require accompanying indicators, in the scenario editor. (CGIN-837) * Fixed the CAP4 collectInformation operation according to 3GPP change request 29078_CR0396R1_(Rel-7)_C4-051724. (CGIN-849) * Removed CAP4EventTypeBCSM.tBusy and CAP4EventTypeSMS.o-smsSubmission, as the inherited constants tCalledPartyBusy and o-smsSubmitted suffice respectively. (CGIN-874) * Split MAP phase 2's forwardSM operation into MO and MT cases and made those be parents of renamed -v3 operations. (CGIN-894) * Changed CAP4 to use MAP's APIs for OfferedCamel4Functionalities and SupportedCamelPhases rather than defining its own enums. (CGIN-904) * Fixed CAP4's string fields to allow *, # and B as characters where required by the standard. (CGIN-931) * Removed log4j library from schemas directory. (CGIN-1062) * Changed Signalware backend invoke timers to have a resolution of 200ms instead of 1000ms. (CGIN-1077) * Fixed encoding of SMS{Deliver,Submit}Report{Ack,Error} when UDL is omitted and UD is empty (CGIN-1149) * Fixed ArrayIndexOutOfBoundsException on decoding SMSDeliver or SMSSubmit truncated invalidly to have no UserDataLength. (CGIN-1150) * Fixed the protocol overview in the javadoc so that it isn't mostly in a fixed-width font when viewed with firefox 10.0.2. (CGIN-1153) * Fixed a NullPointerException which happened when converting between the encoded and decoded forms of some values in the scenario editor. (CGIN-1199) * Fixed dialog correlation for scenarios which start with an outgoing dialog. (CGIN-1203) * Added skeleton APIs for some types, to enable addition of convenience APIs for those types without having to upgrade to a new release. (CGIN-761) * Added type MeasuredCellList. (CGIN-1047) * Add serial version UIDs to protocol schema classes, to prove more flexible backwards compatibility for future revisions of the schema API. (CGIN-908) ---- cgin-connectivity 1.4.2.8 (2012-02-17 12:50:26 +1300) This release contains the following changes. Bug fixes: CGIN-1057 getFieldsMap() now catches unexpected exceptions from auxiliary decoders and hence returns encoded forms of the corresponding fields. CGIN-1061 Fixed ArrayDataObject.toString() to produce curly braces rather than square brackets, as required for ASN.1 value notation. CGIN-1074 Fixed which bit is set by SMSDataCodingScheme.MessageCodingScheme.setMessageCoding(). CGIN-1089 Fixed TcapError metadata for errors that have parents, i.e. MAP's cug_Reject_v3, roamingNotAllowed_v3 and ss_SubscriptionViolation (parent is _v1), and hence the send*Error() methods on the later versions. CGIN-1094 Fixed an issue where some TCAP validation rules were not being checked for scenarios involving multiple schemas. CGIN-1105 Fixed a memory leak on connection closing in the interface between CGIN and Signalware. CGIN-1110 Fixed Cause decoder to not throw ArrayIndexOutOfBoundsException on bad encoded data. CGIN-1122 Fixed SMSStatusReport so that its UserDataLength and UserData fields are optional. ---- cgin-connectivity 1.4.2.4 (2011-10-05 18:22:55 +1300) This release contains the following changes. Packaging changes: To reduce the size of a connectivity pack, some things that were previously packaged redundantly now need to be unpacked explicitly. For library jars, do ant -f common.xml extract-library-jars For javadoc, do ant -f common.xml extract-javadoc CGIN-775 Two additional deployable units are now deployed as part of the CGIN RA: protobuf-library and oc-common. They are automatically deployed by the deploy.xml Ant script included with the CGIN connectivity pack. External scripts that do not use this Ant script will require updating. Improvements: CGIN-583 Added a validation rule for invalid table column references in SELECT attributes, which point to table columns that do not exist in the scenario. CGIN-585 Allow simulation when connectivity to remote endpoints is limited. Include a connectivity summary in the output of the 'print-status' command. Note: this change allows simulation between two simulators in loopback mode in the default configuration, without the need for a third simulator. CGIN-751 Added support for J7 format of SCCP address to Signalware back-end. CGIN-775 Added support for the "fast persist" API, providing an API to convert CGIN API objects to an intermediate form based on Google Protocol Buffers messages, allowing messages to be persisted (e.g. in CMP fields) more efficiently than when using standard Java serialization (but with some additional restrictions). For details, see the package javadoc for the com.opencloud.slee.resources.cgin.persist package. CGIN-855 Increased performance of scenario simulator by freeing message objects earlier, hence increased tcapsim.max-dialogs from 5K to 20K. CGIN-858 Improved the evolution history for four things in MAP javadoc. CGIN-869 Added scenario validation rule to disallow the ALIAS and SELECT attributes when the COUNT is 0. CGIN-950 Raise validation warning for elements with empty binary or character strings marked with the ALIAS or SELECT attributes. CGIN-972 Added support for Telesys TCAP stack. CGIN-981 Added a number of validation rules to cover common TCAP related errors in scenarios. CGIN-1000 Added validation rules related to Elements which specify both ALIAS and AUTO attributes. CGIN-1001 Added a validation rule to test for the ability to correlate incoming dialogs, when dialogs share state. CGIN-1017 Added validation rules to prevent ALIAS/SELECT usage for null types, and for the combination of SELECT and AUTO attributes. CGIN-1022 Added validation rule to detect multiple DIALOGS, ROLES and TABLES container elements in a scenario. Bug fixes: CGIN-337 Fixed handling of some invalid scenarios involving unnamed Elements, which would previously cause a NullPointerException. CGIN-900 Fixed schema-initiated encoding of INAP variants of DateAndTime, Signal and YearMonthDay. CGIN-914 Fixed ASN1Time's milliseconds: in GeneralizedTime not UTCTime. CGIN-930 Fixed javadoc for type AddressDelimiter's BCDStringCodec. CGIN-970 Improved tcapsim's handling of a TC-CONTINUE received after a local abort before when the open accept response would have been sent. Removed attempt to send ABORT in response to TC-END that can't be mapped locally. CGIN-979 Fixed MIN_VALUE and MAX_VALUE for extendible enumerated types, such as CAP2EventSpecificInformationBCSM.Choice, to account for the separate ranges used by inherited values. CGIN-982 Fixed encoding of a value of an extendible enumerated type that's defined only in a parent protocol, such as analyzedInfoSpecificInfo inherited from CC into CAP2EventSpecificInformationBCSM.Choice. CGIN-992 Fixed order of initialisation so that getNamedValues() can't return an array of nulls. CGIN-996 Fixed the ability to simulate scenarios in which two or more incoming dialogs occur after the first dialog. Such scenarios will not work correctly under load, and as such are only suitable for functional testing. CGIN-1042 Handle badly formatted binary values for BER encoded fields properly when validating scenarios. ---- cgin-connectivity 1.4.1.0 (2011-04-27 10:51:02 +1200) This release contains the following changes. Improvements: CGIN-856 The MAP4toMAP conversion assistant is now more helpful, while more cases that it doesn't automate have been documented. Bug fixes: CGIN-851 Added CONTAINING clause to CAP4's IPSSPCapabilities, so that the contained value gets encoded/decoded. ---- cgin-connectivity 1.4.0.0 (2011-03-28 17:15:14 +1300) This release contains the following changes. Major backwards incompatibilities: Services and scenarios that used the cgin-map-rel4 API will need to use the cgin-map API instead. See $CGIN/tools/README-MAP4toMAP.txt for more explanation of the incompatibilities and how to upgrade, where $CGIN is the directory where your CGIN connectivity pack is installed. Changes to schemas mean that all scenario files (*.scen) need to be revised. This can be automated using the scenario editor's migration option, as follows: $CGIN/tools/scenario-editor.sh -m `find $SCEN -name \*.scen -print` where $CGIN is the directory where your CGIN connectivity pack is installed and $SCEN is a directory that all your scenario files are beneath. Improvements: Added new protocol MAP, supporting all releases from phase 2 to release 10. Changed protocols that used MAP-rel4 (such as CAP*) to use MAP instead. CGIN-760 Deleted protocol MAP-rel4, which supported only release 4. Added convertor MAP4toMAP, for use on service code and scenarios. (For usage instructions, see tools/README-MAP4toMAP.txt.) Added field LoopPrevention to types SMSDeliver and SMSStatusReport for use by the new MAP. Improved javadoc of open type extensions. Improved javadoc concerning CAP4's inclusion of CAP3's GPRS ACs. To provide support for more sub-protocols: Changed FCIBillingChargingCharacteristics to allow alternative encodings. Changed CGEncountered, CollectedInfo and ReceivedInformationArg to allow additional alternatives. Changed CCMessageID.text.attributes to allow alternative encodings (CGIN-639). Changed CCConnectArg.destinationRoutingAddress to be OPTIONAL so that it can be optional in sub-protocols (CGIN-624). Required use of Signalware SP6.E (or compatible version). CGIN-323 Added property signalware.dialog-pool-size to control the size of the Signalware per-connection handle pool. CGIN-352 Initialised deploy.properties' ${client.home} to be appropriate if CGIN is installed as a subdirectory of the Rhino installation. CGIN-427 Removed varargs from overloaded convenience methods on CGINProvider (issueOpenRequest) and Dialog (acceptDialog, refuseDialog) that would capture attempts to call another version of the overloaded method with slightly incorrect arguments, hiding compile-time errors. CGIN-475 Added support for SCCP relay mode via stateless outgoing dialogs. See CGINProvider.issueStatelessOpenRequest(), or the demo relay service example code included in the examples/ directory. CGIN-486 Introduced MSBearerCapability to represent mobile service bearer capabilities such as GSM bearer capability. CGIN-487 Added getters to Dialog for MTP priority, SCCP class and SCCP return option. CGIN-489 Improved operation/error codec lookup logic to be more protocol- independent. Distinguished ASN.1 names from API names in metadata. Added field names to metadata. (Related to CGIN-445 and CGIN-531.) CGIN-600 Added overview to Javadoc, summarising the supported protocols, their extension types and their octet string coverage. CGIN-615 Renamed default endpoints, nodes and example commands in scenario simulator to avoid confusion with Rhino nodes. CGIN-626 Introduced AbstractInfoObject to define common behaviour for information object class metadata classes. CGIN-633 Allow use of newer Signalware versions that Ulticom indicates are backward-compatible with supported versions without requiring an extra backend command-line option. CGIN-635 Explained FIELD_ABSENT and FIELD_UNINITIALISED in Javadoc of getFieldsMap(). CGIN-643 Signalware and simulated TCAP stacks now use a configurable thread pool for processing incoming work, providing better scalability across CPU cores, and improving throughput when dialog correlation is used (via CGIN-654). CGIN-648 Cleaned-up use of generic-like notation in Javadoc of NamedInteger. CGIN-652 Internal changes to RA configuration property handling. The expected format of the signalware.node-weight and tcapsim.listen-address properties have changed slightly. CGIN-653 RA and TCAP stacks can now be re-configured while they're active, with alarms raised on failures. CGIN-655 Improved error reporting when the scenario simulator is given a bad command-line argument. CGIN-656 Added property default-activity-timeout to control the default activity timeout used for new (inbound and outbound) dialogs. This replaces the Signalware backend's -dialogtimeout command-line option. CGIN-658 Renamed RA configuration properties to use hyphens, not mixed-case, consistently. Renamed the TCAP stack names to be consistent. Changed TCAP stack specific property names so they are prefixed with the TCAP stack name. Most configuration property names have changed slightly as a result; deployment scripts will need to be updated. CGIN-673 Added CCEstablishTemporaryConnectionArg.cginAssistingDialogCorrelationID to support correlation of ARI using a correlation ID value that may be different to the correlation ID sent to the network as part of ETC. CGIN-679 Changed the Java representation of information object class metadata to use Class<T> rather than Class for fields of ASN.1 open type. CGIN-729 The simulated TCAP stack now logs more information when a connection is lost. CGIN-730 Switched to 4-digit version numbering, so we don't have to increment the third digit just for a patch. CGIN-734 Removed cache of last used StringCodec, so that when a getter or setter for a String field is called with no explicit StringCodec, the standard codec is determined and used rather than the cached one. CGIN-742 Changed toString() on a character string field that fails decoding using the standard codec so that the encoded form is shown rather than a lax decoded form. CGIN-748 Added Dialog.getDialogState() for inspecting the Dialog's state. CGIN-762 Added Dialog.setRemoteAddress() - violates TCAP spec, but useful. CGIN-765 Phrased the javadoc of each BCDStringCodec's CharCodec better. CGIN-800 Added links from READMEs to on-line documentation for Signalware and tcapsim. CGIN-813 Improved error reports from scenario simulator and editor when failing to encode or decode data. CGIN-817 ditto. CGIN-837 Added decoded variants to schemas for String-valued fields, in preparation for offering encoded variants in future. PRD-232 Added support for re-mapping application context names. Detriments: CGIN-678 String fields in the scenario editor now have to be opened to reveal their decoded form. Bug fixes: CGIN-308 Fixed NullPointerException from scenario simulator on receiving OpenRequest with user information of unrecognised class. CGIN-491 Fixed occasional NullPointerExceptions during codec initialization due to a ThreadLocal initialization bug (see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6550283) CGIN-507 Fixed initialization warnings from Google Collections code when encoding user information objects for the first time. CGIN-536 Fixed ITUDialogManager to not send Abort in response to TC-END, to be consistent with the unknown dialog case. CGIN-553 Dialog activity timeouts are now correctly applied to outgoing dialogs. CGIN-557 Fixed schema to allow ObjectID to be omitted from the encoded external of a user information object. CGIN-579 Fixed CAP4CAMEL-CallResult to inherit from CAP3 rather than CAP2, renaming fields to make the inheritance work. CGIN-595 Fixed DuplicateKeyException on reuse of leaked ETC/ARI correlation id. CGIN-606 Fixed GapIndicators in CAP3 and CAP4 to inherit interval field from callcontrol. CGIN-622 Removed checkFieldsSet() from generated APIs, as it failed for fields that were inherited but with different optionality. CGIN-625 Declared information object class metadata fields to be final, to prevent modification. CGIN-627 Fixed encode of CHOICE type with uninitialised choice discriminator to throw EncodeException rather than NullPointerException. CGIN-629 Fixed clone() in concocted CHOICE types to clone the choice discriminator. CGIN-631 Fixed issues with clone() and setReadOnly() on ArrayDataObject<T>, introducing ArrayOfDataObject<T extends DataObject>. CGIN-632 Fixed start-backend.sh -logpipe to work as documented CGIN-637 Fixed checkFieldsSet() in SMSDeliverReport and SMSSubmitReport to check that inherited fields are initialised. CGIN-638 Changed representation of BIT STRING types with no named bits so that size constraints can be honoured. CGIN-641 Fixed sign-extension bug in LMSIAddress.getId(). CGIN-642 Fixed AbstractLazyEncodedDataObject.getEncodedForm() so that it doesn't sometimes return an obsolete value, such as after a setter is called on a nested AbstractLazyEncodedDataObject, and after set*Present() is called to change the presence of a field. CGIN-646 Changed address types that have a presentation indicator so that when it's ADDRESS_NOT_AVAILABLE, other field values are validated rather than being changed to what they should be. CGIN-647 Refuse to send invokes/results/errors if the underlying operation or error has a non-OPTIONAL parameter and a parameter value was not provided by the service. CGIN-666 Ensured that all subclasses of NamedInteger define MIN_VALUE, MAX_VALUE, namedValues() and fromValue(). CGIN-671 Fixed the encoded value of BearerCapability's ModemType V32. CGIN-674 Fixed getFieldCodec() methods to return null in the case where the codec is determined by other fields whose values are not initialised. CGIN-733 Fixed decoding of MSBearerCapability.GSM.Content.NonSpeech.\ Layer1Capability.O6a.UserRate. CGIN-743 In overload conditions, dialogs are refused with a user abort with "no reason given", not with a misleading "unsupported ACN" reason. CGIN-818 Fixed CAP metadata so that it refers to OpenId rather than Code. CGIN-825 Avoided generation of unnecessary CAPnCode types. CGIN-828 Fixed getContainedLength() in SMSDeliver, SMSStatusReport, SMSAddress and SMSSubmit.ValidityPeriod so that it doesn't return non-zero sometimes for insufficient/truncated data. CGIN-831 Avoided generation of unnecessary CAPnExtensionId types. CGIN-832 Avoided generation of unnecessary _oss_unique_index fields in metadata. Other changes: CGIN-769 Classes AbstractInfoObject, AbstractEncodedDataObject, AbstractLazyEncodedDataObject, AbstractLazyEncodedNamedInteger, AbstractLazyEncodedByteArray, AbstractEagerEncodedNamedInteger, AbstractEagerEncodedByteArray, EncodeException and DecodeException have moved from package com.opencloud.util to package com.opencloud.slee.resources.cgin. ---- cgin-connectivity 1.3.4 (2010-12-08 12:07:34 +1300) This release contains the following changes. Improvements: CGIN-591 Javadoc of application contexts' metadata now includes OIDs and description. Bug fixes: CGIN-587 Fixed misinterpretation of SCCP address' GT from Signalware. CGIN-589 Fixed SMSSubmit and SMSDeliver's methods hasProtocolId(), hasDataCodingScheme() and hasUserDataLength() to return whether those fields have been initialised. CGIN-593 Fixed decoding of SMSSubmit.ValidityPeriod.EnhancedValidityPeriod.SingleShotSM. CGIN-596 Fixed a date-related issue that led to an IllegalStateException. CGIN-604 Fixed SMSTimeStamp(Calendar) to include DST_OFFSET in SMS timezone. CGIN-610 Fixed YearMonthDay encoding for CAP. CGIN-616 Fixed ExtForwOptions to allow less than 5 octets. ---- cgin-connectivity 1.3.3 (2010-10-07 14:28:30 +1200) Release number 1.3.3 was used for a patch release of 1.3.1. ---- cgin-connectivity 1.3.2 (2010-10-07 12:25:08 +1200) Release number 1.3.2 was used for a patch release of 1.3.0. ---- cgin-connectivity 1.3.1 (2010-09-20 13:24:48 +1300) This release contains the following changes. Bug fixes: CGIN-540 Phrased DecodeExceptions from APIs for OCTET STRING types properly. CGIN-549 Fixed NPE on refusing a TC-BEGIN with no dialogue portion. CGIN-564 For CAP4's SendChargingInformationArg's partyToCharge, used CAP3's legID. CGIN-565 Fixed decoding of identifier fields that have only the global choice, such as MAP_ExtensionDataTypes.PrivateExtension. CGIN-568 Changed the scenario simulator's provided config files to load more schemas. CGIN-569 Fixed SccpAddress.clone() - it wasn't copying the numbering plan. CGIN-570 Remove correlation id mapping as soon as ARI is received, not on close, to reduce chance of confusion should that id be reused meanwhile. CGIN-578 Fixed leaking dialog states in tcapsim when dialogs are ended via prearranged=true CGIN-584 Fixed ETC-ARI correlation in CAP-v4 Changes to CGIN schemas: (CGIN-552): Added ProviderError and Reject messages to CGIN schemas. ---- cgin-connectivity 1.3.0 (2010-08-25 18:07:07 +1300) This release contains the following changes. Improvements: Changes to helper classes: (CGIN-486) Changed BearerCapability to be a CHOICE of the previous API (under the ITU_T choice) and alternatives that are byte[] for now. Changed ASN1Time's and BitStringWithNamedBits' setters to return this. Changes to protocol callcontrol: To provide support for more sub-protocols: added operation callGap, along with auxiliary types; made types CancelArg, ControlType, GapCriteria and GapTreatment be extendible. Changes to protocol ETSI INAP CS1: To provide support for more sub-protocols: changed types ExtensionType and ReleaseCallArg to be CHOICEs; made types CancelArg, EventSpecificInformationCharging, EventTypeCharging, ServiceInteractionIndicators and SFBillingChargingCharacteristics be extendible. Changes to protocol MAP rel4: Changed representation of IMEI to use com.opencloud.slee.resources.in.datatypes.cc.IMEIAddress. Changes to protocol CAP v2: To provide support for more sub-protocols: made type DPSpecificCriteria be extendible. Changes to protocol CAP v3: To provide support for more sub-protocols: renamed error canceled as cancelled; made types GPRSEventType and EventSpecificInformationSMS be extendible. Changed representation of CAP-datatypes.TPProtocolIdentifier to use com.opencloud.slee.resources.in.datatypes.sms.SMSProtocolId. Added new protocol CAP v4. Added support for extension fields, i.e. SEQUENCE types with some fields of open type and an identifier field, and a table of defined extensions. Added generation of APIs for the extension fields referenced by the tables. Changed the representation of an open type from ASN1Open to ContainingOctetString, so that a specific extension type can be accessed using the get/set/hasContainedValue() methods. Adapted the representation of the associated identifier fields, whose values determine the specific type of extension, to be the new type OpenId for all protocols, so that there's a common representation for services (and API generation). Added generation of class OpenTypeExtensions in the metadata package, containing definitions of defined extensions. Added support for extension fields in protocol schemas, as drive the scenario editor and scenario simulator. (CGIN-472) Changes to scenario simulator: (CGIN-194) Added an IGNORE_ORDER attribute for use in scenario definitions. (CGIN-504) Added a -schemas option to the create-local-endpoint command. Changes to CGIN schemas: (CGIN-526) Added a validation rule to check that each dialog is closed. (CGIN-545) Order the structured views in a translatable type alphabetically. (Multiple structured views arise only with extension fields.) Changes to documentation: (CGIN-455) Included in the documentation of a type's API the adaptation requests that affect the APIs of the type's components. (CGIN-456) Improved Javadoc of getChoice() method. Some minor improved wording in other Javadoc. Bug fixes: (CGIN-128) Fixed get*() methods in CHOICE types in in-datatypes to throw IllegalStateException for all but the current choice. (CGIN-449) Fixed API of null fields that should be inherited from CHOICE types. (CGIN-454) Fixed toString() in lazily-encoded types to return "{ encodedValue ... }" if decoding fails, instead of an exception. (CGIN-459) Fixed Signalware back-end to ignore TC-NOTICE that can't be correlated to a local dialog (where we already sent TC-END). (CGIN-474) Fixed BearerCapability to throw EncodeException if the specified CodingStandard is not supported. (CGIN-478) Fixed MAP4 unstructuredSS-Notify to allow a returned result. (CGIN-481) Fixed handling of openRefuse in scenario simulator. (CGIN-490) Fixed length checks in IMSIAddress. (CGIN-492) Fixed DateAndTime's decoding of INAP 2-digit year to be in range 1970-2069 rather than 1900-1999, encoding any in range 0-9999. (CGIN-503) Fixed array returned by an enumerated type's namedValues() method to be initialised after the fields it references, so that it doesn't contain nulls. (CGIN-505) Fixed TcapApplicationContext.equals() to not give CCE on objects of different types. Similarly TcapError.equals() and TcapOperation.equals(). (CGIN-508) Secured array-valued static fields by making their associated getters return a clone of the array, to prevent modification of elements. (CGIN-509) Added check that elements of SEQUENCE OF and SET OF arrays aren't null on encoding. (CGIN-516) Fixed encoding and decoding of values of extendible ENUMERATED types for which names are not defined by the current protocol. (CGIN-524) Fixed a scenario simulator bug that caused degraded performance under load in multiple dialog scenarios, when the declared order of dialogs differed from the order in which they are used in the message flow. (CGIN-534) Removed a potential dead-lock condition in the scenario simulator. (CGIN-535) Fixed a scenario simulator bug that could prevent certain messages from being sent, including CanceledError in the CAPv3 schema. ---- cgin-connectivity 1.2.2 (2010-05-25 15:05:20 +1300) This release contains primarily bug-fixes and a few improvements. Improvements: (CGIN-288) Documented the need to deactivate and activate the RA after installation of a license for a protocol to be enabled. (CGIN-412) Scenario editor can now associate schema violations by highlighting to a particular element attribute value. (CGIN-423) Added support for proprietary externals in user information fields. (CGIN-434) Allowed the argument of a CAP2SpecializedResourceReport operation to be omitted, for an SRF that doesn't conform to the CAP2 standard. Some minor improved wording in Javadoc. Bug-fixes: (CGIN-403) Fixed an ArrayIndexOutOfBoundsException in the unified RA that could occur if invoke IDs of inbound or outbound operations were used in a particular order. (CGIN-411) Fixed an IllegalArgumentException from validation of element attribute values in the scenario simulator and scenario editor. (CGIN-413) Changed toString() to conform to the notation for ChoiceValues specified by X.680. (CGIN-418) Changed names of packages in some generated code to include protocol name, so that things that have the same name but different definitions aren't confused in the unified RA. (CGIN-424) Fixed TCAP simulator to handle sending of local/remote aborts correctly on receiving unexpected dialog messages. (CGIN-431) Fixed NullPointerException in scenario simulator on dialog open on an unknown application context - the dialog is now aborted. (CGIN-435) Fixed handling of operations that return a result but not a value in the Signalware back-end. (CGIN-436) Fixed construction of SMSTimeStamp from a Calendar. (CGIN-438) Fixed decoding of DateAndTime. ---- cgin-connectivity 1.2.1 (2010-04-30 11:44:47 +1300) This release contains mainly API and RA bugfixes, scenario simulator bugfixes and scenario simulator performance improvements. This release now supports deployment of the RA using Rhino 2.1-02, with some limitations: * Use of separately licensed protocols still requires Rhino 2.1-03 or later; * Activating a CGIN RA entity using Rhino 2.1-02 can take one minute or longer due to a classloading problem present in 2.1-02 but fixed in 2.1-03. Also, the first few network messages processed may incur large latencies (several seconds) as classloading completes. Scenario simulator changes: (CGIN-166) Fixed a scenario simulator matching problem when multiple scenarios were loaded and one was a superset of another. (CGIN-261) Scenario simulator could hang while sending an operation. (CGIN-274) Improvements to the scenario simulator's tolerance of overload conditions. (CGIN-282) The scenario simulator now correctly supports CSV datasets. (CGIN-305) Fixed lost/hanging dialogs on the scenario simulator when under load. (CGIN-314) Fixed unexpected exception from the scenario simulator when receiving messages containing dialog-level user information. (CGIN-317) Scenarios containing a dialog with no messages now cause a validation error in the scenario simulator, not a NPE. (CGIN-322) Improvements to the scenario simulator's tolerance of overload conditions. (CGIN-330) Fixed a memory leak in the scenario simulator (CGIN-331) Make the scenario simulator correctly handle rejected tasks when under load, which could otherwise result in hung scenario instances. (CGIN-339) Improve scenario simulator performance by relaxing unnecessary repeated scenario structural checks (CGIN-347) Fix a NullPointerException in the scenario simulator protocol adaptor in onOperationInvoke() (CGIN-356) Fix unexpectedly duplicated messages when simulating a scenario under load. (CGIN-364) Fix an intermittent IllegalArgumentException when simulating a scenario that has an invoke ID that has both ALIAS and AUTO set. (CGIN-366) Generate a validation error if an explicit value is provided for a scenario element that is marked AUTO. (CGIN-377) Fix a race condition when matching scenarios that could cause matching to incorrectly fail. Bugfixes: (CGIN-256) Fix a cluster of problems involving partially-decoded representations of encoded data for many types in in-datatypes (particularly address string types such as CallingPartyNumber). This fixes various unexpected NullPointerExceptions on encode or while manipulating a mutable copy of the datatype. (CGIN-271) Removed a harmless warning message when deactivating the simulated TCAP stack (CGIN-277) Fixed confusion between two-digit and four-digit year representations in SMSTimeStamp. (CGIN-291) Fixed incorrect timer expiry duration for timers used by tcapsim. (CGIN-292) Fixed incorrect timer expiry duration for timers used by the Signalware backend processes. (CGIN-299) Fixed serialization and CMP storage of address string types (e.g. CalledPartyNumber), and any types that referenced them (e.g. CS1InitialDPArg) (CGIN-307) Fix serialization of API types generated from BIT STRINGs. (CGIN-318) Allow fields of SMSTimeStamp to take any encodable value, as the specification does not restrict them to conventional time limits. (CGIN-319) Correctly name fractional timezones when formatting a date string returned by SMSTimeStamp.toDateFormat() (CGIN-324) Correctly set the month field when constructing a SMSTimeStamp via SMSTimeStamp.<init>(Calendar) (CGIN-327) Conversion of SMSTimeStamp 2-digit year into calendar year is now deterministic and does not depend on the current system time. (CGIN-341) Fix a NPE in the ARI interceptor if an empty assisting dialog TC-BEGIN that does not contain an ARI is received (CGIN-344) Fix tracing format of ASN.1-derived types passed over the TCAP interface when tracing is enabled. (CGIN-363) Fix duplication of tcapsim application ID if running two independent simulators with the same endpoint names. (CGIN-369) Fix interceptor confusion if more than one interceptor was registered for the same ACN/direction pair. (CGIN-370) Throw EncodeException, not ArrayIndexOutOfBoundsException, when encoding an IPSSPCapabilities object with a bilateral part that is the wrong length. (CGIN-372) Fix a problem where user information provided when refusing a dialog was discarded and not sent to the network. (CGIN-379) Allow serialization of ASN1Null, ASN1Time, and ASN1Open objects. (CGIN-395) When using the Signalware TCAP stack, fix message corruption or backend crashes when receiving messages that were reassembled from multiple XUDT messages. (CGIN-396) Ensure that hashCode() on generated sequence types with absent mandatory fields is constant between JVM instances. (CGIN-397) Fix a ClassCastException in hashCode() on generated sequence types that contain arrays of primitive types. Other improvements: (CGIN-286) Removed an obsolete documentation index.html (with broken links) (CGIN-288) Refuse to activate a RA entity if any protocol license is missing, rather than just disabling that protocol. Notice license changes on RA entity activation, so artificially reconfiguring the RA entry to notice a new license is no longer necessary. (CGIN-300) If a TC-BEGIN with an unsupported ACN is received, generate an appropriate Fine-level trace message. (CGIN-315) API javadoc now includes 'Use' crossreference pages. (CGIN-338) Fix the default deployment properties for the tcapsim to include localSccpAddress (CGIN-343) Provide a better implementation of ComponentRejectedEvent.toString() (CGIN-358) Generate crosslinks to J2SE and SLEE javadoc in the CGIN API javadoc. (CGIN-371) Support deployment of the CGIN RA under Rhino 2.1-02, with some limitatations. (CGIN-388) When using the Signalware TCAP stack, attempting to use a SccpAddress that has no Encoding Scheme set will now produce an exception to the calling service when sending, rather than an asynchronous error notification from the backend. ---- cgin-connectivity 1.2.0 (2010-03-04 15:23:29 +1300) This release focuses on dialog correlation, and improvements to existing APIs. It also includes changes to support the use of SIS 2.2 on top of CGIN 1.2. This release requires the use of at least Rhino 2.1_03. It will not deploy in earlier Rhino versions. Dialog correlation support: In a clustered environment, incoming assisting dialogs containing an AssistRequestInstructions operation are directed to the same cluster node as the dialog that sent the corresponding EstablishTemporaryConnection operation. This allows services to correlate the two dialogs without requiring use of replicated SBBs. API changes: Widespread small API changes were made between 1.1 and 1.2. These include: The components of a received TC-BEGIN are now available for inspection in the open request event, via DialogOpenRequestEvent.getComponents(). This can be useful when writing initial event selectors. DialogEvent.getUserInformation() is now guaranteed to return a non-null array reference. DialogOpenRequestEvent, DialogOpenAcceptEvent, DialogOpenRefuseEvent, and DialogUserAbortEvent constructors now take an explicit user information argument, not varargs. Generated SEQUENCE types now extend AbstractFieldsObject, not AbstractSequence. equals() and hashCode() on generated sequence types have been reimplemented to be consistent and symmetric, including between sibling or subclass/superclass types. Improvements to the formatting of values returned by the generated toString() methods of sequence types. Extensible OCTET STRING types are now represented by a single Java class, ExtensibleOctetString. OCTET STRING types with a CONTAINING constraint extend ExtensibleOctetString to add an accessor for the contained value, in addition to the raw bytearray provided by the superclass. Received octet strings contain both the raw contents and (if present) a suitably decoded contained value. When encoding, if both a contained value and a raw value are present, the contained value is used. The API for BIT STRINGs has substantially changed. The API types of extendible OCTET STRING fields have changed from a named subclass of AbstractOctetString to the concrete type of ExtendibleOctetString. This affects: CCApplyChargingArg.aChBillingChargingCharacteristics CCSendChargingInfoArg.sCIBillingChargingCharacteristics The following fields have changed from byte[] to ExtendibleOctetString: CCEstablishTemporaryConnectionArg.scfID CAP3CompoundCriteria.scfID CS1ConnectArg.scfID Generated clone() methods now have a covariant return type that matches the class they are implemented on. For SEQUENCE types that have only mandatory fields, a new constructor that takes all mandatory fields and constructs a read-only object from them has been added. Java enums corresponding to an ENUMERATED types now contain the numeric enumeration values, accessible via the intValue() and fromValue() methods The following types have changed from Java enum types to subclasses of NamedInteger: CCEventTypeBCSM CAP3EventTypeSMS The following types are now extendible CHOICEs: CCLegID The following fields were mandatory in 1.1, but are optional in 1.2: CCApplyChargingArg.aChBillingChargingCharacteristics CCSendChargingInformationArg.sCIBillingChargingCharacteristics Note that for most protocols, these fields are still mandatory at the protocol level. The version of all protocol components (RA types, library jars, and events) has been incremented to 1.2 to reflect the API changes made in the 1.2 release. Common event classes (e.g. ComponentRejectedEvent) now have a static final field named ID that contains an instance of the EventTypeID they will be fired with. (CGIN-90) Added methods CGINProvider.isSupportedApplicationContext() and DialogOpenRequestEvent.isSupportedApplicationContext() to allow testing for application contexts supported by the underlying RA. (CGIN-92) Added improved support for the MAP ISDN-SubaddressString datatype. (CGIN-95) Added improved support for the MAP ExtForwOptions datatype. (CGIN-97) Add a nullary constructor to generated BIT STRING types. (CGIN-100) Move encode logic for BIT STRING types out of the API type, so the API type is purely a data-holding object. (CGIN-108) CCEventTypeBCSM is now a subclass of NamedInteger, not an enum. (CGIN-109) Added an Event.getName() method to the common API. (CGIN-118) Removed an unnecessary renaming of the InitialDP redirectionInformation field to be consistent with the underlying ASN.1 and other operations. (CGIN-119) Added improved support for the CAPv3 RPCause datatype. (CGIN-127) Added a new public method checkFieldsSet() on generated datatypes. (CGIN-128) The API for CHOICE-like hand-coded datatypes now matches the generated API for ASN.1 CHOICE datatypes. (CGIN-129) Use only int and long, not byte and short, for ASN.1 INTEGER types. (CGIN-130) Merge CAPv3's dpSpecificCriteria with CAPv2's dPSpecificCriteria, rather than having two fields with different capitalization. (CGIN-267) The static method fromValue() generated for enums derived from an ASN.1 ENUMERATED type now throws IllegalArgumentException, not AssertionError, if an out-of-range value is provided. (CGIN-270) The API for invoke IDs specified as part of the Cancel operation now correctly follows the underlying wire representation. The class CCInvokeID no longer exists - invoke IDs are simply integers. Other improvements: (CGIN-25) The CAPv3 protocol implementation allows 7-octet RAIdentity values, to allow interoperation with implementations based on older revisions of 29.078 (v4.0.0 - v4.2.0) (CGIN-89) All network-specific constraints in ETSI INAP CS1 (e.g. maximum number of extensions) were raised to large values to allow interoperation regardless of the particular limits used in a network. (CGIN-110) Document the event type used to fire ComponentRejectedEvent (CGIN-120) Improved latency when allocating new outgoing dialogs via the Signalware TCAP stack. (CGIN-171) Simulator now allows sending of translatable types where an encoded form is provided even if the encoded form cannot be decoded successfully. (CGIN-197) Reduced memory use when using the simulated TCAP stack under high load. (CGIN-199) A separate deployment script that deploys/undeploys only the RA, excluding the example service, is now provided. (CGIN-262) The default invoke timeout used by the scenario simulator is now configurable via endpoint properties. Bugfixes: (CGIN-96) Check that all mandatory fields are set when encoding, and throw an EncodeException rather than a less useful NullPointerException if any are missing. (CGIN-147) Corrected tcapsim behavior when sending an ABORT in the Initiation Sent state (CGIN-147) Corrected tcapsim behavior when receiving an ABORT in the Initiation Received state (CGIN-157) Fix misleading exception messages when attempting to send an invoke in an inappropriate dialog state (CGIN-168) Fix ArrayIndexOutOfBoundsException when encoding BIT STRING values in the scenario simulator (CGIN-219) Unlucky choices of node ID and RA entity name in a clustered environment could confuse the simulated TCAP stack's connection management logic. Note: This bugfix changes the simulated-stack communication protocol in an incompatible way. 1.2 simulated TCAP stacks will not interoperate with 1.1 simulated TCAP stacks. (CGIN-237) Fixed a scenario matching bug, in which matching against a binary string would produce false positives. (CGIN-246) Fix heap exhaustion when attempting to load a CSV file into the scenario simulator. (CGIN-248) Fixed NPE in toString() when mandatory fields of an API object were not set. Missing mandatory fields now display with a value of "-- UNINITIALISED --". (CGIN-249) Use the API field name, not the underlying field name, when testing for API object equality or when constructing a string to return from toString() (CGIN-256) Fix various cases where partially-decoded address objects could lose decoded data if accessed/updated in particular ways. (CGIN-257) Avoid NPE when encoding an IPSSPCapabilities with no BilateralPart (CGIN-258) Don't include values for DEFAULT fields when encoding an ASN.1 SEQUENCE type when the corresponding field in the API object is not present. (CGIN-264) Avoid NPEs when dealing with CHOICE objects that have not yet had a particular choice selected. (CGIN-266) Allow simulation of messages that have empty mandatory fields with have a non-empty ALIAS or SELECT attribute. (CGIN-268) Ensure that field presence/absence indicators are always set correctly on hand-coded datatypes. (CGIN-270) The protocol-level encoding of InvokeID (used in the Cancel operation of ETSI INAP CS1 and CAP v3) is now correctly formatted. Changes to the scenario editor are documented separately within the editor's internal changelog (accessible via Help > Changelog) ---- cgin-connectivity 1.1.4 (2010-02-11 14:52:46 +1200) This release fixes the following issues. (CGIN-199) Fix README.examples regarding how to deploy the example service (CGIN-207) ArrayStoreException on decoding super-protocol objects into sub-protocol[] (CGIN-208) NullPointerException in AbstractLazyEncodedByteArray.clone() (INCONN-235) Fix unintentional conversion of GT_0100 to GT_0011 in SCCP address codec ---- cgin-connectivity 1.1.3 (2010-01-22 18:42:54 +1200) This release is the first to have a freely-downloadable trial version. It includes fixes for the following issues. Documentation changes: (CGIN-137) The main Javadoc index.html does not load sub pages when you click the links Scenario Editor changes: (CGIN-179) Scenario editor doesn't show CGIN specific validation warnings in the message window Scenario Simulator changes: (CGIN-144) Warning about trying to transition state machine for invoke that's already finished after receiving TC_END (CGIN-156) Fixed an issue where aliases on fields with different names would fail to match (CGIN-164) Added force-quit console command to scenario simulator (CGIN-174) Fixed support for ASN.1 OpenTypes in the scenario simulator (CGIN-188) Added partial support for SCCP addresses using global title routing: global title information can be included with addresses which also specify point code and SSN Datatype / API changes: (CGIN-148) Extensions of NamedInteger gave ClassCastException on casting an inherited constant to a subclass. The API for such subclasses has changed to permit inherited constants. (CGIN-143) NPE in CAP2InitialDPArg.clone() (CGIN-149) Incomplete code generated for CHOICE's setField method (CGIN-150) clone() methods of concocted types don't do a deep copy (CGIN-155) toString() can cause decoding of address fields using inappropriate DigitCodec (CGIN-158) toString() on uninitialised fields of ASN.1 NULL type throws NPE (CGIN-170) ArrayStoreException in LazyEncodedByteArray.clone() (CGIN-172) getAddress(DigitCodec) returns any previous result regardless of DigitCodec (CGIN-173) clone() doesn't copy inherited fields (CGIN-192) Generated equals() methods on a sequence and an extension thereof are not symmetric (CGIN-195) Mandatory fields with default values are treated as absent optional fields on decoding (CGIN-201) Type ASN1Open's methods has array-related bugs TCAP Simulator changes: (CGIN-134) TCAP sim sometimes doesn't deliver ready notifications after establishing all connections (CGIN-159) TCAP sim stack treats all outgoing aborts as user aborts when transitioning outstanding invokes ---- cgin-connectivity 1.1.2 (2009-11-16 10:51:58 +1200) This release focuses on bugfixes, documentation updates, and scenario simulator improvements. General: * Documentation updates Simulator and editor changes: * Throw a meaningful exception when trying to create a local endpoint with a protocol adaptor type which isn't available. * Expand the semantics of the set-preferred-scenario command to also influence which scenario to use when generating load. * Changes to ensure that the message ordering reported by the simulator's console matches the actual ordering used on the network. * Fixed a schema generation bug that would cause some datatypes to be omitted from some protocol schemas. * Fix simulator generation of BIT STRING values. * Change default simulator logging configuration to avoid DEBUG output. * Fix simulator shutdown sequence so it cleanly shuts down. * Add LoadDataSet and BindTable to the scenario simulator's command list * Several bugfixes related to matching scenarios under load, and matching multiple correlated dialogs in a single scenario. * Several bugfixes related to editing and validation of transaltable types. * Added several new scenario validation rules. Resource adaptor / core changes: * Don't throw AssertionError after firing a ComponentRejectedEvent. * Don't throw ClassCastException when trying to send a datatype that uses an OCTET STRING with a (CONTAINING) constraint. * Corrected the bit ordering of encoded BIT STRING types. * Fixed the ASN.1 encoder/decoder debug tracing to correctly print the values being encoded or decoded. * Added debug tracing to the component rejection path to make it clear why a component was rejected. * Correct the exception message of exceptions thrown due to a missing operation or error argument. Datatype / API changes: * Fix sign extension bugs in the encoding of CellGlobalId * Fix return value of hasProtocolId(), hasDataCodingScheme() and hasUserDataLength() in SMSDeliver and SMSSubmit PDUs. * Fix encoding of SMSSubmitReport PDUs. * Don't throw NullPointerException from Cause.toString() if no recommendation value is present. * Check that mandatory fields are set earlier, to avoid unexpected NPEs. * Various documentation updates. * Various updates to toString() on many types for consistency. * Fixed the implementation of hashCode() and equals() on generated types that contained array-type fields. Signalware TCAP stack changes: * Avoid a rare buffer truncation problem with very long backend logging. * Include date as well as time in backend log messages. Packaging / examples changes: * Include localSccpAddress in the default TCAP simulator properties files * Decrease DELAY values in example scenarios * Changes to make the examples and example configuration selfconsistent. * Added a top-level javadoc index page. * Added various Windows batch scripts for the CGIN tools. ---- cgin-connectivity 1.1.1 (2009-10-19 16:29:25 +1200) * Initial release. ----