Release Notes
Release 7.0
E39125-02
May 2016
This document provides release notes for Oracle Communications Converged Application Server.
This section describes the new features and feature enhancements in this release of Converged Application Server.
Converged Application Server now includes VMware ESXi 5.5 in the set of virtualization software that it supports.
With this inclusion, Converged Application Server now supports Kernel-based Virtual Machine (KVM) 0.12, Oracle VM 3, and VMware ESXi 5.5.
You can now track session counts to track licenses in Converged Application Server with the help of startup command options.
Converged Application Server uses these startup command options to monitor the licenses. It takes into account the concurrent sessions in a cluster environment or a standalone deployment. It logs the high water mark for the sessions in each interval and the high water mark for the sessions since the start of the logging process.
By default, Converged Application Server stores these log entries in the server_name.log file for each engine, where server_name is the name of the server.
Converged Application Server enables you to configure the following features in the Administration Console:
Enable applications to set the breadth on forked requests (RFC 5393).
When you enable this feature, the container checks the Max-Breadth header which limits the number of parallel forks that can be made on a SIP request by the downstream proxies. The default value is 60.
Support the Session Initiation Protocol (SIP) Outbound Specification (RFC 5626).
You can enable a flag to facilitate user agents behind a Network Address Translation (NAT) device (or firewall) to communicate with SIP nodes on the other side of NAT.
Enable sending 100 for non-invite request support (RFC 4320).
When you enable this feature, the container responds with a 100 TRYING to a request if an application or proxy does not respond to the non-invite request before the timer designated as Timer E reaches the value of the timer designated as T2. It does so if the container has not otherwise responded after the amount of time it takes a client transaction's Timer E to be reset to T2. (For the meaning and default values of Timer E and T2, see the section "A Table of Timer Values" in RFC 3261).
When you encounter an issue in the runtime environment, you can now analyze the issue by selecting one or more of the relevant debug attributes in the Converged Application Server Administration Console. To isolate the debug process to one server, do one of the following:
Enable the debug attributes in that server only.
Enable the selected attributes in all servers and then view the behavior throughout your installation.
By default, Converged Application Server prints the debug log information to the standard output stream, stdout. When the issue is resolved, disable the debug flag settings in the Administration Console.
Converged Application Server now complies with the Java Specification Request (JSR) 359 SIP Servlet 2.0 standard to take advantage of the coding efficiencies it offers, including:
New SIP signaling actions, including user agent server (UAS), user agent client (UAC), and Proxy.
A new simpler interface that uses containers to handle nonessential complexity.
Support for converged applications, using containers that support multiple protocols and interfaces.
Servlet model support for third-party application development.
Application composition that allows several applications to execute on the same incoming or outgoing request or response, each using their own rules.
The sample applications included in the Converged Application Server installation package have been updated to support the requirements of JSR 359. Additional sample applications have been provided as a reference for employing concurrency utilities in your converged applications.
When you perform a complete installation of Converged Application Server, the installation stores the sample applications at:
OCCAS_home/occas/samples/sipserver/examples
where, OCCAS_home is the directory in which the Converged Application Server software is installed. For more information about the installation process, see "Installing Converged Application Server Using the GUI Installation" in Converged Application Server Installation Guide.
For descriptions of the examples, source code, and build files, see index.html under the src sub-directory in the examples location.
This release of Converged Application Server supports the new Java Platform, Enterprise Edition (Java EE) 6 and 7 platform features, including:
The ability to programmatically add and configure SIP servlets and listeners
New annotations and resource injections
The ability to package Enterprise JavaBeans (EJB) Packaged in a SIP application
The new Context and Dependency Injection (CDI) API
Your SIP Servlet containers use new utilities to execute asynchronous tasks and develop thread-safe applications. Your SIP Servlet applications can use any of these new managed objects:
ManagedExecutorService
ManagedScheduledExecutorService
ContextService
ManagedThreadFactory
The RFC 5626 specification defines the functionality that allow SIP proxy servers to communicate with user agents (UAs) across a network. This specification is designed to allow two-way communication through network firewalls, network access translators (NATs), or Transport Layer Security (TLS) connections, which would normally block it.
This release of Converged Application Server supports JSR 359 specification section 8.2.5, which introduces a dialog termination API to simplify SIP application development. This release includes the dialog termination API for SIP UAC and UAS roles.
This release of Converged Application Server implements a framework for overload protection that includes:
A pluggable statistics collector
A pluggable event handler
Multiple threshold settings
A statistical algorithm for samples
Out of the box statistics collector and event handler examples
This release of Converged Application Server implements the JSR359 specification sections that define APIs to simplify the implementation of back to back user agents (B2BUAs). New supporting methods have been added to the SipSession, SipServletRequest, and SipServletResponse interfaces for B2BUAs.
Plain Old Java Objects (POJOs) can be configured to function as listeners for third party protocols such as Diameter using Java EE Common Dependency Injections (CDIs).
This release of Converged Application Server includes the ForkingContext interface, which helps developers navigate the multiple dialogs derived from a single forked request.
Converged Application Server has migrated from a dedicated data tier to Oracle Coherence for persistence and high availability (HA) support. Coherence clusters consist of multiple managed Coherence server instances that work together to distribute data in-memory to increase application scalability, availability, and performance. A client interacts with the data in a local cache and the distribution and backup of the data is automatically performed across cluster members.
Table 2 lists and describes known issues from the previous release that have been resolved in this release.
Table 1 Issues Resolved in this Release
Bug ID or SR ID | Description |
---|---|
22519307 |
Previously, the SipPerformanceRuntimeMBean was not accessible through the SNMP MIB Browser. The SipPerformanceRuntimeMBean is now included in the SNMP MIB file and you can now monitor the performance values in the SNMP MIB Browser. |
22516055 22516227 |
When the SIP Servlet acts as a proxy, you can now use a system property to enable the SIP Server to modify the FROM/TO headers of all requests. To do so, enable the start up command option, -Dwlss.enable_modify_to_from. By default, this flag is set to false. |
22514977 |
Previously, in a replicated environment, a Converged Application Server engine did not handle the Cancel request correctly, if it was not the engine that had received the SIP INVITE request associated with the cancellation. Converged Application Server engines now processes Cancel requests correctly. |
22513057 |
In certain cluster setup, if some replicas failed during the restarting of a few engine tier instances, their failures led to the failure of the entire cluster. If Converged Application Server does not find a new node when it attempts to refresh nodes, it now continues to use the existing node. |
22510489 |
When an application sent an INVITE message to a proxy (S-CSCF) using a domain name and the Domain Name Server returned two addresses, Converged Application Server sometimes sent the request to the alternative DNS-resolved destination address. Converged Application Server no longer sends such requests to any alternative DNS-resolved destination address. |
22509457 |
Previously, the substitution of the ";" character for a return carriage character "\r" in Content-Type headers resulted in issues with Content-Type headers that were in multi-line format. This incorrect substitution of ";" for a return carriage character "\r" has been fixed. The outgoing request in such Content-Type headers now contains an extra ";" character appended to the return carriage character "\r". |
22708358 |
In accordance with the SIP Servlet specification, the SIP container does not pass a 100 trying response (for the INVITE request) to the application. For customers who require 100 Trying provisional response notifications in their applications, Converged Application Server now provides a custom annotation called com.bea.wcp.sip.annotation.Invite100TryingResponse in its wlssapi library. Applications can use this method-level annotation to obtain a callback when they receive a 100 Trying response. The Converged Application Server Container ensures that the callback is provided in the appropriate SIP scope. See the description about the Invite100TryingResponse annotation type in the com.bea.wcp.sip.annotation package in Converged Application Server Java API Reference. |
21188487 |
Previously, an incorrect contact header in the 200 OK response for an INVITE request resulted in a session mismatch during the handling of subsequent requests, such as ACK. The correct contact header is now in use and the SIP container handles subsequent requests successfully. |
21846412 |
Previously, there were significant delays when using the ManagedSIPExecutorService objects. Converged Application Server provides ways in which you can set up your applications to avoid such delays and the possibility of deadlocks. For more information, see the description about "SIP Servlet Concurrency" in Converged Application Server Developer's Guide. |
21170127 |
When a message included a Proxy-Require header containing the option-tag, 'privacy', the SIP container generated a bad extension error. This issue has been fixed. The SIP container now supports message header field value(s) associated with a Proxy-Require header, if those belong to the allowed list of values. The SIP container merely passes such a header to the application. Note that your application must process the header appropriately. |
19908691 |
When an application created proxy branches and/or added targets to the proxy with TelUrl but the route set was empty at the time, a java.lang.IllegalArgumentException was thrown as part of the validation of the Route set. Converged Application Server now performs this validation only when all the branches have been created and route set is empty. |
19857949 |
Previously, the selection of the connector in the setOutboundInterface method of the SIPSession interface was broken. This issue has been fixed. The connector is now selected based on the interface. |
19852865 |
When sending an outbound INVITE request, Converged Application Server performed the "A" lookup before the service record (SRV) lookup. Converged Application Server now performs DNS lookups in accordance with RFC 3263. |
Table 2 lists the known software issues in this release and the workaround for each issue.
Table 2 Known Bugs in this Release
BugID | Description |
---|---|
23104994 |
When setting up a PROXY REGISTRAR domain in the Fusion Middleware Configuration Wizard, as part of the steps, you are asked to provide details for the JDBC data sources. In the case where MySQL is selected as the vendor during the setup of PROXY REGISTRAR domain in the Fusion Middleware Configuration Wizard, the query string ("sql-user-exists") in SQLAuthenticator provider is incorrect. As a result, when the registration of a user is attempted, the server logs report the following exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'SYSDATE' in 'where clause' To correct this issue, complete the installation process, as before. After completing the installation, you can modify the config.xml file at any point. To modify config.xml, complete the following steps:
|
20742195 |
The RFC 6665 specification states that proxy servers that do not add Record-Route header fields to the initial SUBSCRIBE request are then prohibited from adding Record-Route header fields to any associated NOTIFY requests. However, Converged Application Server does not check for Record-Route header fields in NOTIFY requests. Developers creating applications for Converged Application Server should not call Proxy.setRecordRoute(true), or proxyBranch.setRecordRoute(true) when handling notify requests that did not already set the Record-Route header field in a Register request. |
20643208 |
Using WebLogic Scripting Tool to configure SipServer-ApplicationRouter requires a workaround. You must first manually configure the default application router configuration by using the web console. Then the ApplicationRouter becomes accessible. |
20318523/20550145 |
Associating too many sessions with a single key causes performance problems. Specifically, when using the new SipApplicationSession addIndexKey() method, ensure that the session keys you create are unique to subscribers. This strategy helps you avoid performance degradation problems. If your session keys are unique to subscribers and large reads still cause performance problems, try paging the result when iterating over the read index record. If your session keys are unique to subscribers and large writes still cause performance problems, try splitting large index records into smaller "chunks." That way you do not need to deserialize the full record to add or remove values from it. |
18066581 |
Deploying SIP applications that declare ServletContainerInitializer can in some cases cause the onStartup() method to be called twice. You can prevent this by using the wlss.initializer.classes system property to specify and limit SIP specific container initializers. |
15957604 |
Applications should not try to inject a resource with the same name in both a field and method. For example, injecting a SipFactory resource with the same name into both the setMySipFactory method and the mySipFactory field is not supported. This behavior is prohibited by JavaEE specification EE.5.2.3, but this release of Converged Application Server does not specifically check for this error. Violating this rule can cause unexpected behavior. |
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc
.
Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info
or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs
if you are hearing impaired.
Oracle Communications Converged Application Server Release Notes, Release 7.0
E39125-02
Copyright © 2015, 2016, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.