cgin-connectivity 3.1.12
_Dependency Updates_
* Update the OC SS7 dependency to 5.0.5
cgin-connectivity 3.1.11
_Dependency Updates_
* Update the OC SS7 dependency to 5.0.4
* Update the io.netty libraries to 4.1.118.Final
cgin-connectivity 3.1.10
_Dependency Updates_
* Update the com.google.protobuf:protobuf-java library to 3.25.5
* Update the OC SS7 dependency to 5.0.3
* Update the io.netty libraries to 4.1.115.Final
IMPORTANT: This version of Netty introduces new default DNS resolver behaviour
when deploying on Rhino versions 3.1.13 and earlier. If you experience issues, please
set the following Java system property to restore the old behaviour:
`io.netty.resolver.dns.tryCnameOnAddressLookups=true`.
Rhino versions 3.1.14 and later have this property set by default.
cgin-connectivity 3.1.9
* Update the OC SS7 dependency to 5.0.2
cgin-connectivity 3.1.8
* Fixed rare deadlock in the TCAPsim stack when shutting down. (#1603868)
cgin-connectivity 3.1.7
* Internal updates only
cgin-connectivity 3.1.6
* Support for running on Java 17 (tested with the Microsoft build of
OpenJDK 17). Existing support for Java 11 is unchanged.
* Corrected a defect that could cause CGIN to be unable to find a
connection to an SGC for some dialogs following an SGC split-brain
event. (#1183364)
cgin-connectivity 3.1.5
* Update the OC SS7 dependency to 4.1.6
* Update the netty libraries to 4.1.103.Final
cgin-connectivity 3.1.4
* Corrected a defect that caused the timezone to be incorrectly encoded
for the IN datatype `TimeAndTimezone` when constructed via a Calendar
instance. (#926443)
* A NullPointerException will no longer be thrown when processing a
TC-CONTINUE received on an unrecognized dialog. (#994207)
* Update the OC SS7 dependency to 4.1.5
* Update com.google.protobuf libraries to 3.19.6 (#740851)
cgin-connectivity 3.1.3
* Update the OC SS7 dependency to 4.1.3
* Update the OpenSource SLEE Lib dependency to 1.0.4
* Update the RA Infrastructure dependency to 3.1.5
* Update the Rhino dependency to 3.2.3
cgin-connectivity 3.1.2
* Update org.apache.common:commons-text to 1.10.0. (#425759)
cgin-connectivity 3.1.1
NOTE: This release requires Rhino 3.1 or later.
* All version numbers have been reset to two digits for component
versions as used within the SLEE, and three digits for build versions as
used in the deployable unit file names. Note that the in-datatypes
version numbers which were previously numbered 5.x, have been reset to
align with the CGIN version number. (#117026)
* All open source libraries have been updated to the latest available release.
* The CGIN resource adaptor now uses static OIDs for SNMP. For more
information the Rhino documentation on SNMP static OIDs at
https://docs.rhino.metaswitch.com/ocdoc/books/rhino-documentation/3.1/snmp-static-oid-dev-guide/index.html
* OCSS7 TCAP changelog entries are now included in the CGIN changelog.
For older OCSS7 TCAP stack changes please see the OCSS7 SGC changelog.
* The OCSS7 TCAP stack will now correctly fire an activity timeout event
when the activity timer expires for dialogs that are in the INIT_RECEIVED
state. (#252603)
----
cgin-connectivity 3.0.0.2
* ITU-T TCAP no longer incorrectly transitions the ISM for the linked invoke from the
OPERATION_SENT state when it sends or receives an Invoke with a linked ID. (CGIN-2123)
----
cgin-connectivity 3.0.0.1
* Corrected a defect that prevented sending Abort-with-alternate-AC in
response to receiving a Begin or Query with an unsupported application
context. (CGIN-2117)
* Extended the CGIN Trial package's OSS ASN.1 Compiler licence to 23
December 2021. Users of the trial CGIN package will need to upgrade to
this version to continue to use it in 2021. This change is not relevant to
users of the CGIN full package, which will continue to work indefinitely.
----
cgin-connectivity 3.0.0.0
* This release is built on and requires JDK 11. It requires Rhino 3.0 or
later releases.
----
cgin-connectivity 2.0.0.4
* The BearerCapability structure will now correctly detect the presence of
octet5b (layer 1 protocol further information) even when the layer 1
protocol is not V110/I460/X30/V120. (CGIN-2100)
----
cgin-connectivity 2.0.0.3
* The Signalware TCAP stack detecting a heartbeat timeout to one of its
backends will no longer throw an AssertionError and will no longer prevent
future reconnection attempts. (CGIN-2099)
----
cgin-connectivity 2.0.0.2
* Extended the CGIN Trial package's OSS ASN.1 Compiler licence to 23
December 2019. Users of the trial CGIN package will need to upgrade to
this version to continue to use it in 2019. This change is not relevant to
users of the CGIN full package, which will continue to work indefinitely.
----
cgin-connectivity 2.0.0.0
This release contains the following changes.
Improvements
* Added support for ANSI TCAP. (CGIN-1780)
* Introduced a message-oriented event model that fires one event per
network message. This model exists in parallel to the existing
component-oriented event model. See
com.opencloud.slee.resources.cgin.DialogMessageEvent for details.
(CGIN-1325)
* CGIN's ITU TCAP implementation now supports sending and receiving
TC-RESULT-NL. (CGIN-1620)
* The Simulated TCAP stack now supports SCTP on systems where SCTP is
available. Set 'tcapsim.sctp-stack=sctp' to use. (CGIN-952)
* The Simulated TCAP stack now supports ANSI TCAP. (CGIN-1975)
* Support for the Telesys MACH7 TCAP stack is no longer provided. (CGIN-1619)
Bug fixes
* Corrected an issue that could result in the Simulated TCAP stack passing
null components to CGIN, which in turn resulted in a NullPointerException
being thrown. (CGIN-1978)
* CGIN now supports reception of Reject components with an invoke ID of
'not-derivable'. (CGIN-1957)
* The SccpAddressParser.parse(String) method will now throw
NullPointerException with a helpful message if a null argument is
provided. (CGIN-1921)
* Corrected a defect where mid-dialog user aborts would be recorded
as open refuse in the TCAP statistics. (CGIN-1904)
* The Simulated TCAP stack now only performs global title translation if
RI=GT. Previously it would perform it if global title information was
present, even if RI=PCSSN. (CGIN-1320)
* CGIN will now correctly encode and decode the MAP purgeMS v2 operation.
(CGIN-1984)
* Fixed MAP RoutingInfo/ExtendedRoutingInfo API. (CGIN-1681)
* Fixed MAP SendRoutingInfoForSM Result v1/v2/v3 API. (CGIN-1768)
* Fixed a codec error in in-datatypes.map.AccessPointName that prevented
use of '-' in network IDs. (CGIN-1730)
* Signalware backends will now correctly relay class 0 SCCP messages as
class 0 instead of class 1. (CGIN-1746)
* CGIN RA will now raise an alarm if the heartbeat is lost to Signalware
backends. (CGIN-1762)
* Fixed an issue that prevented use of global title when using Signalware
ITU TCAP backends with ANSI SCCP addresses. (CGIN-1922)
* The SccpAddressParser will now correctly parse ANSI SCCP address global
title where national is set to false. (CGIN-2054)
----
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.
----