cgin-connectivity 3.0.0.3

    * OCSS7: Upgraded the OCSS7 TCAP stack to the latest release of 4.0.0.4. Refer to
      the OCSS7 changelog for details.

----

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.

----