October 19, 2021
New
Added Initial Routing B2BUA PAC.
Improved
The SipTo and SipVia javascript helpers have more effective validation.
Improved failover processing checking.
Fixed
The SipVia javascript helper parsed the sent_by field incorrectly.
June 2, 2021
New
Added SipContact javascript helper.
Improved
Improved resolution when using the monotonic timer for drop-to-java timeouts.
The SipUrl and SipNameAddr javascript helpers have more effective validation.
Known Issue
The SipVia javascript helper parses the sent_by field incorrectly.
February 17, 2021
Fixed
The SIP Agent rejected NOTIFY responses from application-generated requests.
Custom headers received in a response were not forwarded by the Send SIP Message PAC.
A new UUID was not correctly generated for every call.
cdr_service generated timestamps used the %Y-%m-%dT%H:%M:%S.%f format instead of the %Y-%m-%d %H:%M:%S.%f format that matched previous behavior.
February 1, 2021
Fixed
The SIP Agent kept both an EndSession and AppServSession map, resulting in a potential deadlock situation.
In certain failover cases, onlining and offlining were not occurring properly.
On network failures, failovers were incorrectly occurring when the heartbeat link was down, so there was no partner server available to take over.
Non-alphanumeric operator characters did not parse correctly in custom results.
Month numbering in cdr_service was incorrectly 1-based instead of 0-based for cron expressions.
Unowned SUBSCRIBE dialogs caused crashes when they expired.
The state returned from PACs was not validated.
Server transaction matching did not always include the default port in the sent-by when it was omitted.
Non-default SIP ports for the transport could not be passed to the Send SIP Message PAC destination.
December 17, 2020
New
Added support for cdr_service.
May 26, 2021
Improved
Made some changes to Java timeout handling.
March 11, 2021
Fixed
The SIP agent rejected NOTIFY responses from application-generated requests.
February 3, 2021
Fixed
The SIP agent kept both an EndSession and AppServSession map, potentially leading to deadlock. This addressed the known issue present in the previous version.
February 1, 2021
Known Issue
This version contains only a partial fix for a potential deadlock.
January 18, 2021
Improved
Returned statuses from PACs are now validated.
January 13, 2021
Fixed
When an unowned SUBSCRIBE dialog expired, the SIP agent did not work properly.
January 6, 2021
Fixed
On network failures, failovers were incorrectly occurring when the heartbeat link was down, so there was no partner server available to take over.
In certain failover cases, onlining and offlining were not occurring properly.
Upgrade Procedure Notes
Note
This release includes an upgrade to xpressworkx_data_services
, which will not be reverted if an application is downgraded.
To include the improvements made to the
xpressworkx_data_services
process, restart each NIU.
November 13, 2020
Fixed
There were memory leaks of sessions in reconnection scenarios.
October 16, 2020
Fixed
ACKs were not being recognized and sent after reINVITEs were handled by B2BUA PAC.
September 23, 2020
Improved
‘Empty’ reINVITEs can now be handled by the Dialog Response PAC for established calls connected to a local media endpoint.
August 26, 2020
Fixed
Retaining dialog information about OPTIONS requests caused a memory leak.
June 30, 2020
Fixed
The Contact header of a 302 would be incorrectly passed with the enclosing < > (if present) to the Request-URI.
In Diameter Stack, there were unnecessary conversions to strings in logging calls.
The read return for SOAP submitted events via HTTP was incorrect.
May 29, 2020
Fixed
302 redirections were not handled correctly when connecting to a local media endpoint in the Dialog Request PAC. Now, the Request URI is updated, and the new request is sent to the proper destination.
May 21, 2020
Fixed
Only the first dialed DTMF digit was detected.
May 5, 2020
Fixed
Early media interactions resulted in automatic responses to reINVITEs in the SIP agent not containing an SDP, which caused calls to fail. To fix this issue, these responses have been disabled.
April 24, 2020
Fixed
After failing an initial outbound call attempt, reattempting with a new destination using the same dialog variable for the outbound leg resulted in an error with resolving the destination.
Syntax for parsing did not allow the use of underscores (_) in domain label fields in URIs.
There were issues related to DNS defaults and destination resolution with configured transports.
April 9, 2020
Fixed
In the B2BUA PAC, there was an issue with the behavior of sending UPDATE requests to the A leg when early media is already established.
April 2, 2020
Fixed
When messaging between
ps_hastatus
andps_haswitch
logs and the ps_init process, clustering status was displayed incorrectly and triggering a manual failover from the command line did not succeed.After receiving a 302 redirect, the Dialog Request PAC did not set a destination or format the To header correctly.
March 12, 2020
Fixed
Contact header values (as received in a redirection response) were sorted incorrectly. They are now sorted from highest to lowest.
February 27, 2020
Fixed
An explicit request URI would overwrite the redirected URI in the Dialog Response PAC when following a redirect.
February 27, 2020
Fixed
When the B2BUA Session Response PAC received a 302, it did not follow the redirect.
There were multiple issues causing Diameter stack and SIP agent to not work properly.
TCP connections were not properly tracked for responses in the SIP stack. Now, outbound proxy and destination properties are unified per SIP message.
January 16, 2020
Fixed
When performing a DNS Lookup, hostnames that were only defined in /etc/hosts, without an NAPTR or SRV record, could not be resolved.
January 13, 2020
New
Added initial support for building a CentOS 8 RPM.
Added support to the DNS resolver for reading /etc/hosts and caching NXDOMAIN.
Improved
Made improvements to PAC error reporting when a DNS query returns no results.
Fixed
Under certain circumstances, serialization of IPv6 addresses was incorrect.
Old-style SIP message PACs were unsupported and therefore have been removed completely.
There was a memory leak in the DNS resolver.
November 21, 2019
Improved
RPM packaging now specifies the version of the server that it provides to allow version-based dependencies.
To support compatibility with existing configurations, any processes with the notify-cluster-changes=”1” attribute configuration will have wait-to-start=”10” attribute configuration by default.
Removed Session Response PAC functionality for proxying has changed behavior to allow loading applications which reference it, though it will still fail at runtime.
Fixed
Network up/down events were not correctly detected for HA clustering.
When the Dialog Request PAC had multiple destinations, an infinite loop of trying to resolve the destination was created.
Upgrade Procedure Notes
Historical AS configurations may contain notify-cluster-changes=”1” for processes, despite AS nodes never being supported in a clustered configuration. These attributes should be removed to avoid unintentionally defaulting processes to have a wait-to-start attribute that is nonzero when they do not require it.
To support older (<2.0 DBC) data services in our applications, the xpressworkx_data_services process should be configured with wait-to-start=”0” in the <process> element.
Known Issue
This version fails to intuit heartbeat address.
October 18, 2019
New
Made the initial integration of DNS-based lookups following RFC 3263 for SIP PACs when a hostname is specified.
Added the confirm_pid tool for script-based processes to participate in the startup/online/offline transitions with explicit notifications sent to the ps_init process.
Improved
- Made the following improvements and updates to HA and process management:
Intermediate states during transitions are now modeled explicitly.
Processes are now able to confirm their state transitions.
A wait-to-start duration to process configurations was added. The duration is in seconds and the default value is zero. The process must confirm startup if the value is nonzero or it will be considered to have failed on startup.
The ps_httpd and ps_eventdispatcher processes have been updated to support the wait-to-start attribute.
Upgrade Procedure Notes
Earlier versions of the server are not compatible with the new clustering state machine, requiring an HA paired upgrade to be done with some interruption.
New
- Added clustering configuration to the ps_init process for explicit configuration of the HA pairs addresses. The following attributes were added to the <cluster> element:
secondary-node-ip-address allows configuration of the secondary’s IP address on the ‘main’ interface explicitly, without assuming primary address + 1.
primary-heartbeat-address allows configuration of the heartbeat interface address to be used by the primary node.
secondary-heartbeat-address allows the configuration of the heartbeat interface address to be used by the secondary node.
These configuration values should now allow the HA clustering to be configured using more flexible network addressing for the primary and secondary node, without specific requirements on contiguous addressing. The addresses on each interface are still recommended to be in the same subnet.
Added Initial support for basic TCP keepalive as defined in RFC 5626.
- Added the following Server properties in javascript to expose the server version to the application:
Server.version_string is a string that is the same as what the Console reports for the server version.
Server.version_major, Server.version_minor, and Server.version_patch are integers that represent the major, minor, or patch level version of the server.
Server._is_development_version is a boolean value that indicates if this server version is a development build (and should not be considered to follow the compatibility rules for version numbers).
Added is_online tool which can query the HA status for use in scripting.
Improved
Made improvements to the default configuration file template.
In the Console protocol, the autogenerated certificates are used by default.
Errors are now detected on the SIP UDP socket (via the socket error queue) and reported in the log and to the transaction state-machine.
Fixed
There was a conflict with CAMEL and AIN carrier parameter encoding.
Script configuration for processes within the ps_init process was not resolving script names in the /usr/sipxpress/bin file as if they were on the path.
Due to the use of syslog, the global (to the ps_init process) boot log was not needed as a separate log, so it was removed entirely.
Processes were getting lost due to race conditions during startup/shutdown and clustering transitions.
There were issues with ACK generation for non-dialog-owning non-proxied INVITE transactions.
There were issues with PRACK support when proxying requests.
Fixed
When an ACK request was sent by a proxy application, dialog tracking did not exist and this caused the ps_sip_agent process to not work properly.
Fixed
An ACK request was incorrectly sent twice. To fix this issue, an application-generated ACK sending is deferred if dialog processing takes place in the SIP agent.
A response message was not always populated in the Send SIP message PAC for in-dialog requests that receive responses.
In-dialog provisional responses were incorrectly considered to be final, causing the PAC to immediately exit.
In some cases, boolean and AND/OR comparison logic in custom result expressions would convert to false and fail to evaluate correctly.
Fixed
CAMEL continue operations were incorrectly encoding parameter sets.
New
Added the method property to the processing of routing rules for SIP messages within the SIP redirector on the NIU.
Improved
- Made the following improvements to request handling:
Added support for automatically sending a 503 response for MESSAGE requests that are not handled by an application.
Added a default 405 (Method Not Allowed) response for any other unrecognized SIP methods that are not handled by an application.
Fixed
SIP license enforcement was intentionally disabled due to issues in the SIP agent. Dialogs and transaction license ownership is now enforced.
Received Contact headers in 200 OK responses to INVITE requests were incorrectly processed when storing the dialog state, preventing the SIP agent from clearing abandoned dialogs.
Improved
- Made the following improvements to B2BUA reINVITE conflict handling:
When reINVITEs cross, the second INVITE will now receive a 491 response.
When two INVITEs are sent from the same sender with different CSeq values, the second INVITE will now receive a 500 response.
When the A leg is in the early media state and an INVITE is sent to the B leg, the SDP information from the INVITE is now dropped and the A leg receives an UPDATE instead of a reliable provisional response.
Made internal improvements to treatment processing and Application Server status tracking.
Made updates to the DIAMETER agent for more robust processing of requests and responses.
Converted the boot log to a subdirectory with more consistent rotation behavior on start/restart.
Fixed
A reINVITE would use the SDP information from the initial INVITE.
A 2xx ACK in a dialog owned by an application was improperly handled.
Some Application Server configurations, such as third-party support and provisioned sessions, and old-style event routing were unsupported. They have been removed from the ps_sip_rs process.
Fixed
There was memory corruption in routing rule and custom result evaluation.
New
Added support for the Server.generateUUID() javascript function for applications.
Improved
The SIP agent now stores the forwarded 200 response to an INVITE when sent by a proxy application on the client transaction. This allows the client transaction to receive retransmitted responses and to transmit the stored response upstream as if the application was doing so even when it has already been closed.
Made internal improvements to the implementation of application variables and events.
Upgrade Procedure Notes
This version includes a native systemd unit file for EL7. When upgrading from a previous version, this requires a systemctl daemon-reload to recognize after installation.
Improved
Made improvements to the license tracking for the SIP agent.
Made internal improvements to XtmlVariable and variant types.
Fixed
There were issues causing the ps_sip_rs process to not function properly.
Improved
Added dumpable stats for Java calls.
Fixed
- There were concurrency issues with AppServerInfo. To fix these issues:
SRS_AppServerInfo is now used exclusively as a global reference into the m_AppServerInfoMap and no longer held as shared_ptr.
SRS_Treatment is now a value-type and no longer passed as shared_ptr.
m_AppServerInfoMap is protected on all accesses by a mutex.
SRS_AppServerInfo objects have an internal mutex that protects their treatment/event maps.
SRS_AppServerInfo objects are never deleted once they are created.
Fixed
There were concurrency-related issues that caused the ps_sip_rs process to not function properly.
Improved
Added CPU scaling for the ps_sip_rs process.
Fixed
Dialog tracking information was not cleared on a 2xx response to an INVITE for non-record-routing proxies that did not see the ACK confirmation.
The Send Radius Message PAC intermittently failed to load.
Under certain conditions, the ps-proxy2 process would not reconnect to an Application Server or respond to a restart request from the Console.
Certain SIP headers, such as Supported, would cause a parsing issue if the header value was empty.
There was incorrect switching of the in/out status due to Java float parameter handling.
Improved
The NIU now handles non-2xx responses to INVITE requests and the corresponding ACK as hop-by-hop messages. This allows the SIP transaction to generate the ACK automatically in the ps_sip_rs process.
Fixed
During early Console connection initialization, the ps-proxy process did not always work properly.
When using multiple interfaces for virtual IPs, arping did not use the correct associated interface.
Fixed
The Send SIP Message PAC did not wait for CANCEL responses.
When a CANCEL request was initiated, the CANCEL CSeq header for the caller was not constructed properly.
Fixed
For proxy applications, DialogInfo objects were being leaked for in-dialog messages that were not tracked by the SIP agent.
Non-2xx ACK messages were being processed twice.
Improved
Added support for SIP agent CPU distribution across multiple cores.
Fixed
Checking licenses in the SIP redirector processing for selecting an Application Server was reporting incorrect values. To fix this issue, license checking in SIP redirector was disabled.
Improved
To allow for certain configurations, a proxy application now has the option to handle error responses and timeouts.
Fixed
Non-INVITE messages were always sent by the SIP redirector to the same Application Server. To fix this issue, the order of Application Servers has been randomized.
Improved
T1, T2, T4, and INVITE inactivity timers are now configurable.
Fixed
CANCEL requests for an INVITE would be attempted repeatedly and did not time out due to inactivity as they should have.
Fixed
The use of client transaction ID for ProxyResponse handling was not consistent.
Improved
Added support for the SIP agent to handle resource transfers for SIP transactions.
New
Added initial Max-Forwards handling in proxy PAC.
Improved
Added a 60-second inactivity timer so INVITE transactions no longer remain pending indefinitely.
New
Added support for REFER and NOTIFY both inside and outside of dialog in proxy applications.
Improved
Made improvements to the behavior of processing CANCEL requests for an INVITE.
Fixed
The matchN evaluation of compiled regex memory caused a leak.
Fixed
There were issues with the ps_sip_rs process. Updates were made to support changes and restore functionality.
Improved
Added support for SIP MESSAGE messages to be received outside of a dialog.
Fixed
The SIP agent did not work properly when processing a CANCEL to a received INVITE.
Known Issues
Regression does not pass and some of the changes for proxy support have broken other call paths.
Session timer support for applications that own dialogs does not work as expected.
Invite with Replaces handling has not been tested and may not work properly.
Spiraling proxy support has been implemented but not tested.
New
Added MAP and CAMEL error return PACs.
- Added the following Cx Interface messages and PACs:
User Authentication Request and Answer (UAR/UAA)
Location Info Request and Answer (LIR/LIA)
Multimedia Authentication Request and Answer (MAR/MAA)
Server Assignment Request and Answer (SAR/SAA)
Added “matchN” routing rules operators, where N is a number 0-9. These operations compare a regular expression to a name-addr list-like string and match only the indexed name-addr value. This allows matching against the top Route header so that applications can be addressed serially.
Added functionality for one-way SSL authentication. A user can specify if the authentication is mutual or server-only by setting the new require-client-cert attribute of the <console> element. By default, the server does not require a client certificate.
Added the NS800 PlayAnnouncement event to the NS800 protocol implementation so that error responses can be received from the database.
- Added the following properties on the AIN events that can carry the related parameters:
called_party_id (CalledPartyID digits)
calling_party_id (CallingPartyID digits)
charge_number (ChargeNumber digits)
collected_address_info (CollectedAddressInfo digits)
These parameters can be used in the routing rules configuration to enable using a single screen list of numbers, which can be applied to both SIP and AIN calls. The following is an example configuration.
<ps-routing-rules>
<screen-list>
<list name="screen1">
<item>5555551055</item>
<item>5555551077</item>
</list>
</screen-list>
<event name="XpressWorkXIN.EveInfoAnalyzed.1">
<parameter>msg</parameter>
<rule target="myAINapp">
<![CDATA[msg.called_party_id screen "screen1"]]>
</rule>
<rule>target="defaultAINapp"</rule>
</event>
</ps-routing-rules>
- Added configuration to the <sigtran_agent> element to allow omitting or including all M3UA optionally present values. A value of 1 will include and a value of 0 will omit.
include-nw-app (default 1)
include-trf-mode (default 0)
include-asp-id (default 1)
include-route-context (default 0)
Improved
License checking for certain serial numbers on 64-bit machines is now consistent with how 32-bit machines evaluated the checking.
The boot log now checks the log level setting of the ps_init process when determining which messages to write.
Transaction matching for duplicate message detection is now more compliant with RFC 3261, allowing a message to spiral through the server.
Added support to the SIP Redirect server for new-style event forwarding and routing rules while still supporting the old-style behavior of REGISTER, SUBSCRIBE, and INVITE.
In the Send SIP Message PAC, responses can now be modified and inspected before they are proxied to the upstream party. A response template input was added and waiting for the ACK message can be inhibited when responding to an INVITE transaction.
Added support to update_keys for license files with only AIN keys.
All output from spawned processes is now captured by the ps_init process independently and is logged to the boot log with a prefix of the process name as configured in the ps_master_config file. Partial line output will not be written to the log until a newline character is encountered.
Updated the pt-mutables.jar file for access to a public default constructor for MutableShort.
Added ability for M3UA to omit the Network Appearance parameter on DATA messages and ASP messages when the include-nw-app attribute is set to 0.
Added more error logging in the SIGTRAN agent on uncaught exceptions.
Added more cleanup on SCTP association close in SIGTRAN agent.
Fixed
Server.log* methods in the XTML javascript passed nul-containing strings to the underlying output calls incorrectly.
The SIP Stack incorrectly reported the Subscription-State header in the custom headers object to the application instead of in the known header field.
A configuration of SCTP multi-homing with different port numbers was not rejected by the ps_sigtran_agent process as it should have been and, instead, produced an obscure error at runtime.
ANSI TCAP messages received with a dialogue portion were decoded improperly, resulting in an Abort response in all cases. Now, the dialogue portion of the message ignored if the rest of the message can be processed.
The fast packet forwarding feature has not been maintained and is no longer in use. Therefore, this feature has been completely removed.
When untransmitted silence was present in RTP streams, timestamps were used incorrectly which caused playback issues and poor sound quality. To fix this issue, skip timestamps were added to media processing.
When point codes for the SCCP stack were not included in the corresponding address, the route label point codes should have been used but were not.
In SCCP to M3UA communication in the server, ASP state notifications were incorrectly required for the SCCP stack to allow management messages. Now, SCCP bringup requires only that the local ASP has become active in at least one SGP.
A Xerces exception was constructing the message for Console event population, which should have been avoided.
The WAV files for recorded audio streams were written in the incorrect format and could not be played by the server.
Receiving a request with a maddr URI parameter in the request URI caused out-of-bounds memory access resulting in processes not functioning properly.
SSN status event generation could have resulted in SIGTRAN agent failing to work properly.
Sequenced parameters in AIN messages were all incorrectly decoded as DisplayText.
Fixed
The CAMEL Application Context Name being used was incorrect. It was changed to indicate CAPv2.
The internal message queue system was not handling certain error cases properly.
When file descriptors did not fit in FD_SETSIZE, there was memory corruption. To fix this issue, the pt_snmp_agent.log file now uses the large_fd_set API from net-smnp.
Known Issue
The large_fd_set API now used by the pt_snmp_agent.log file may not be supported on some versions of RHEL/CentOS 6 if the installed net-snmp library is older than version 5.5. As a result, the pt_snmp process will not find the needed symbols in the net-smnp library.
Fixed
While decoding parameters, the correct distinction between constructed and primitive tags was not always recognized.
New
Added support for CAMEL messaging.
Fixed
Session data for non-INVITE responses was not being released.
In 64-bit builds, license validation would cause sign-extension issues.
Improved
- Made the following improvements to B2BUA reINVITE conflict handling:
When reINVITEs cross, the second INVITE will now receive a 491 response.
When two INVITEs are sent from the same sender with different CSeq values, the second INVITE will now receive a 500 response.
When the A leg is in the early media state and an INVITE is sent to the B leg, the SDP information from the INVITE is now dropped and the A leg receives an UPDATE instead of a reliable provisional response.
Fixed
A reINVITE would use the SDP information from the initial INVITE.
Improved
Added support for 64-bit length messages to the ps_radius_agent process.
Improved
Added support for applications to handle reINVITEs and custom From headers.
Fixed
Under certain conditions, the ps_proxy2 process would not reconnect to an Application Server or respond to a restart request from the Console.
Certain SIP headers, such as Supported, would cause a parsing issue if the header value was empty.
Fixed
In some cases, the ps_proxy2 process would not start properly.
The RADIUS message PAC would not always load.
The in/out parameter definitions for Java calls were not always interpreted correctly.
Improved
Multiple <as> elements can now be configured in a single M3UA appearance (ASP). This does not support configuring multiple instances of the same TCAP user.
Fixed
An issue with RADIUS message validation prevented the receipt of 1 or 2 byte length string attributes.
New
Added support for the BilledNumberScreeningInformation parameter in the Parameter/Provide Value message.
Fixed
The GenericName parameter was not optional for the Parameter/Provide Value PAC and should have been.
Fixed
In BER decoding of parameters for IN, 3-byte identifiers were not decoded correctly in all cases.
New
Added support for AccountOwner parameter to the ReturnResultLast message.
Fixed
Sequenced parameters in AIN messages were all incorrectly decoded as DisplayText.
Improved
Added more error logging in the SIGTRAN agent on uncaught exceptions.
Added more cleanup on SCTP association close in SIGTRAN agent.
Fixed
Receiving a request with a maddr URI parameter in the request URI caused out-of-bounds memory access resulting in processes not functioning properly.
SSN status event generation could have resulted in SIGTRAN agent failing to work properly.
New
Added functionality for one-way SSL authentication. A user can specify if the authentication is mutual or server-only by setting the new require-client-cert attribute of the <console> element. By default, the server does not require a client certificate.
Fixed
A Xerces exception was constructing the message for Console event population, which should have been avoided.
The WAV files for recorded audio streams were written in the incorrect format and could not be played by the server.
Fixed
In SCCP to M3UA communication in the server, ASP state notifications were incorrectly required for the SCCP stack to allow management messages. Now, SCCP bringup requires only that the local ASP has become active in at least one SGP.
Fixed
When point codes for the SCCP stack were not included in the corresponding address, the route label point codes should have been used but were not.
Fixed
When untransmitted silence was present in RTP streams, timestamps were used incorrectly which caused playback issues and poor sound quality. To fix this issue, skip timestamps were added to media processing.
Improved
Added ability for M3UA to omit the Network Appearance parameter on DATA messages and ASP messages when the include-nw-app attribute is set to 0.
Fixed
The AIN properties attached to events were not correctly populated when the CallingPartyID parameter was missing.
New
Added the NS800 PlayAnnouncement event to the NS800 protocol implementation so that error responses can be received from the database.
- Added the following properties on the AIN events that can carry the related parameters:
called_party_id (CalledPartyID digits)
calling_party_id (CallingPartyID digits)
charge_number (ChargeNumber digits)
collected_address_info (CollectedAddressInfo digits)
These parameters can be used in the routing rules configuration to enable using a single screen list of numbers, which can be applied to both SIP and AIN calls. The following is an example configuration.
<ps-routing-rules>
<screen-list>
<list name="screen1">
<item>5555551055</item>
<item>5555551077</item>
</list>
</screen-list>
<event name="XpressWorkXIN.EveInfoAnalyzed.1">
<parameter>msg</parameter>
<rule target="myAINapp">
<![CDATA[msg.called_party_id screen "screen1"]]>
</rule>
<rule>target="defaultAINapp"</rule>
</event>
</ps-routing-rules>
- Added configuration to the <sigtran_agent> element to allow omitting or including all M3UA optionally present values. A value of 1 will include and a value of 0 will omit.
include-nw-app (default 1)
include-trf-mode (default 0)
include-asp-id (default 1)
include-route-context (default 0)
Improved
Added support to update_keys for license files with only AIN keys.
Updated the pt-mutables.jar file for access to a public default constructor for MutableShort.
All output from spawned processes is now captured by the ps_init process independently and is logged to the boot log with a prefix of the process name as configured in the ps_master_config file. Partial line output will not be written to the log until a newline character is encountered.
Fixed
The internal message queue system was not handling certain error cases properly.
The SIP Stack incorrectly reported the Subscription-State header in the custom headers object to the application instead of in the known header field.
When file descriptors did not fit in FD_SETSIZE, there was memory corruption. To fix this issue, the pt_snmp_agent.log file now uses the large_fd_set API from net-smnp.
A configuration of SCTP multi-homing with different port numbers was not rejected by the ps_sigtran_agent process as it should have been and, instead, produced an obscure error at runtime.
ANSI TCAP messages received with a dialogue portion were decoded improperly, resulting in an Abort response in all cases. Now, the dialogue portion of the message ignored if the rest of the message can be processed.
The fast packet forwarding feature has not been maintained and is no longer in use. Therefore, this feature has been completely removed.
Known Issue
The large_fd_set API now used by the pt_snmp_agent.log file may not be supported on some versions of RHEL/CentOS 6 if the installed net-snmp library is older than version 5.5. As a result, the pt_snmp process will not find the needed symbols in the net-smnp library.
Improved
Added more error handling in Console protocol implementation.
Improved
Made improvements to license file parsing behavior when invalid lines are found.
Fixed
Changes from 4.3.x were not included. These changes are now merged to address the known issue from the previous version.
New
Added support for 64-bit native packages.
Added support for CentOS and Red Hat Enterprise Linux 7.
Improved
Replaced the Intel Integrated Performance Primitives (IPP) libraries that were used for digital signal processing (DSP). Now, the SpanDSP library is used for tone detection, and the libavcodec and libmpg123 libraries are used for media encode/decode support. These libraries are licensed under the terms of the LGPL v2.1.
Known Issue
This version does not include any changes from 4.3.x.
Improved
Added more DEBUG3 and ERROR logging to the Console library.
Fixed
The logging of connection errors for SCTP associations was incorrect.
The pt_snmp_agent.log file had a file descriptor leak that occurred if SE Linux was disabled in the underlying system.
Fixed
When the To or From headers were set using XTML variables from the “Sip message details” property page in an application, the PAC did not record the tags properly when communicating with the SIP agent. This caused responses to not be returned to the application.
Fixed
Licenses were being unnecessarily used due to license tracking issues in the SIGTRAN agent.
Fixed
Testing tools were not omitted from released packages.
The Console-specific protocol implementation had a slow memory leak.
Fixed
In some cases of clustered NIU failover, the secondary NIU was unable to reach the Application Server.
Improved
Made improvements to SCCP address logging including omitting unused values and, since it is used to populate the route label, showing the point code even if the indicator is not set.
Added an error check and defaults for logging configuration when the <ps-logger> tag was missing.
For terminated processes, log messages from the ps_init process now describe exit status and signal, if applicable.
Fixed
Processes were not being shut down by the ps_init process, resulting in critical process failure and clustering failover.
SLS bits configuration logging was incorrect.
Fixed
The TCAP layer state on sending a transaction terminating message was not immediately cleared.
The CNAM and NS800 transaction state on sending a transaction terminating response was not immediately cleared. As a result, stray messages were sent to application sessions when the local txId was reused.
The gmsc-OrGsmSCF-Address parameter in the MAP implementation was populated incorrectly.
NSAP allowed/prohibited error messages were shown even if the state was changed to the current state. These messages are now suppressed.
SIGTRAN agent configuration tags triggered incorrect errors. At least one tag is required and, now, any additional tags will be allowed but ignored.
New
Added support for passing MAP errors from the SIGTRAN agent to the application layer. This includes adding MAP Return Error processing, passing notification of U-Abort and P-Abort reason codes, and sending a generic error code for OID-based Return Error codes.
Improved
The SLS size is now configurable. Accepted values for the new sls-bit-size attribute for the <sccp> element configuration are 4, 5, or 8.
Random SLS values are now generated for route labels being passed to the SCCP stack without a DPC configured in the <remote-ssn> or <gt-router> element of the ps_master_config file.
Fixed
The ForwardingData portion of the GSM MAP helper could not be accessed.
Known Issue
The gmsc-OrGsmSCF-Address parameter is never populated because it is not passed to the SIGTRAN agent correctly.
Fixed
The From tag parsing in the B2BUA response PAC code used header parameters that should have been ignored.
The log level was too high for WARNING messages triggered after receiving non-INVITE requests with no association to an existing session to DEBUG.
Fixed
The component type used when a Send_Notification was included in a TCAP package for AIN was incorrect. Now, the Call-Related operation is always encoded as Invoke (Last).
New
Added the MAP SRI Response ForwardingData parameter helper.
Fixed
The parameter decoding for the MAP SRI Response was incorrect.
Fixed
An unquoted display name would have invalid syntax if not followed by a whitespace character. A SIP parsing grammar change was made in name-addr to make the whitespace character optional.
New
Added support for the GSM MAP SendRoutingInfo query.
Added SCCP-level default GT route configuration.
Added TCAP user level local address configuration to set the calling party address.
Improved
Made internal enhancements to the SIGTRAN agent to support GSM MAP.