Alpaca

Release Notes

Last Updated: 9/23/2016

The ECG team is pleased to announce the release version 4.2.0 of Alpaca.

This version includes support for the R20sp1 and R21sp1 versions of the BroadWorks API.

The complete list of changes is at the bottom of this page.

Upgrading from a previous version of Alpaca Library involves a set of required changes. Please refer to the installation details. We strongly recommend that you back up your alpaca home directory, configuration files, and licenses before upgrading.

4.2.0

What's New

For Shell Users

  • New Shell Commands
    • Group Assign Number - Assigns a number or range of numbers to a Group.
    • Group Get DNs - Gets numbers assigned or available for assignment for a Group.

For Developers

  • Added Service Instance classes that behave as top level BroadWorksObjects. All requests associated with the Service Instance is located within its class.

    • AutoAttendant
    • BroadWorksAnywherePortal
    • CallCenter
    • CollaborateBridge
    • FindMeFollowMe
    • FlexibleSeatingHost
    • GroupPaging
    • InstantGroupCall
    • MeetMeConferencingBridge
    • RoutePoint
    • VoiceXml
  • Added Service Instance information objects and related builders.

  • Added information and builder for Enterprises.

  • Added BroadWorksEnterpriseService and BroadWorksServiceProviderService abstract classes. All service code related to Enterprises or Service Providers has it's own class. e.g. EnterpriseTrunkGroup.

What's Changed

For Developers

  • All requests are now handled through the RequestBundler. This allows a single queue of requests per BroadWorksServer.
  • Added putAndWait method to the RequestBundler to support synchronous operation when desired.
  • The static AlpacaEventBus has been removed in favor of an event bus per BroadWorksServer.
  • The TimesTen connection is now created on a per BroadWorksServer basis.
  • Response objects now implement Equals and HashCode.
  • Requests that take an Enterprise now have method parameters to match.

What's Fixed

  • Fixed MAC addresses not being validated prior to Access Device migration or import.
  • Fixed arrays of abstract datatypes not being added to outbound Requests.

4.1.1

What's Fixed

  • The HostID of the BroadWorksServer is cached to improve speed during longer processes.

4.1.0

What's New

For Shell Users

  • New Shell Commands
    • Service Provider Export - Outputs the complete Service Provider details as JSON.
    • Group Access Device Upload File - Upload a Custom Config file to the Device.
  • Installation and Upgrade assistance tools
    • Upgrade - Allows one step upgrade by pointing a new installation of Alpaca at the previous to retrieve all configuration settings.
    • Check - Simple tool to verify that Alpaca has been configured correctly.
  • The configuration has been transitioned from XML to JSON. This has improved simplicity and readabilility.

For Developers

  • Added method to retrieve a device's user agent as a Version object.
  • Classes to support FTP file retrieval. This is implemented in AccessDevice migration code to retrieve configuration files.

What's Changed

For Shell Users

  • Command line now ignores extra whitespace.
  • Generating random passcodes now takes into account all Broadworks defined passcode rules.
  • Command Changes
    • Group Access Device
      • reset - Added flag to check if the device's firmware version matches a pattern before reset.
      • modify * - Now retrieves configuration files from FTP file repositories in addition to DMS repositories.
    • Group
      • reset devices - Added flag to check if each device's firmware version matches a pattern before reset.

For Developers

  • Creation of the BroadWorksServer object has been simplified.
  • The RequestBundler now checks the request's validation prior to insertion into the bundle.

What's Fixed

  • Fixed issue with installing BroadWorks patch AP341568 which enabled Collaboration on an R20sp1 system.
  • Fixed issue with the reset authentication command at the Group Level where only the last user's authentication got reset.
  • Fixed issue where CDing into a Group without any Hunt Groups would result in a command not found error.

4.0.0

What's New

For Shell Users

  • Support for multiple simultaneous BroadWorks and TimesTen connections has been added.
  • New Shell Commands
    • User Export - Outputs the complete User details as JSON.
    • Group Export - Outputs the complete Group details as JSON.
    • Connect - Opens a new connection to BroadWorks.
    • Disconnect - Disconnects a currently running connection to BroadWorks.
    • Tree - Lists the command tree.

For Developers

  • Maven support across all Alpaca modules.
  • New interfaces to clarify object types and allow easier typed usage - BroadWorksTableRow, BroadWorksService, BroadWorksUserService, and BroadWorksGroupService.
  • Serialization support across the entire Alpaca library.
  • New classes to handle the retrieval of complete details about BroadWorksObjects.
    • UserInformationBuilder
    • GroupInformationBuilder
    • ServiceProviderInformationBuilder
  • Added GroupService classes with allow import and export of Group service level information.

What's Changed

For Shell Users

  • Integration with the Profile Server and Times Ten is now required.
  • The entry location now lists the connected BroadWorksServers rather than the Service Providers.
  • Command changes
    • System
      • report userdetails - Added virtual users to the report. i.e. CallCenter, MeetMeConferencing, AutoAttendant, and HuntGroup.
    • GroupAccessDevice
      • modify type - Checks if the desired device type is available before attempting modification.
    • User
      • reset authentication - The generated password for the User is now displayed on the console.

For Developers

  • The Alpaca project has been split into multiple modules: Generator, Library, and Core.
    • Alpaca Generator - This module performs the parsing of the BroadWorks OCI schema and generates coresponding Java code.
    • Alpaca Library - This is the BroadWorks release specific library.
    • Alpaca Core - This is the set of tools built on top of the Alpaca Library. This includes helpers, the shell, migration tools, and reports.
  • Due to the serialization changes in the Alpaca Library there are no longer proxy POJO objects for all BroadWorksObject types and Responses.
  • OCI Tables no longer have a stand alone datatype. Methods such as .getTableA() now return a List of TableARow.
  • Empty requests are not created through the method call 'getEmptyObject'. This has been done to clarify that the object has been intentionally left in an invalid state. e.g. GroupAccessDeviceAddRequest14 addRequest = GroupAccessDeviceAddRequest14.getEmptyObject(bws);
  • UserServices now contains a .waitForLoad() method that waits for all underlying Services to be populated.
  • Services that can be retrieved with a user now implement BroadWorksUserService.
  • Adding and modifying a Service for a user now uses a single method call .push(user).

What's Fixed

  • Removed the '&' character from generated passwords to resolve encoding issue.
  • Fixed issue with error messages on the shell being displayed incorrectly.
  • HTTP GET requests now properly follow redirects when uploading device files.
  • Fixed issue with certain SSL handshakes failing during file retrieval.
  • The reset authentication command now correctly works with Groups and Service Providers.

3.2.4

What's New

  • Added Support for migration of device files that use HTTP digest authentication (Library).
  • Added internal documentation support to each Shell Command.

What's Changed

  • None

What's Fixed

  • Corrected issue with Service Provider level authorize service shell command which prevented authorization of group Services at the Service Provider level.
  • Minor bugfixes.