Alpaca

Release Notes

Last Updated: 04/06/2017

The ECG team is pleased to announce the release version 5.2.2 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

5.2.2

What's Fixed

  • Version 5.2.2 includes the Group To Enterprise Migration guide.

5.2.1

What's Fixed

  • Fixed a bug that could cause requests to go out to BroadWorks in the wrong order when using the import commands.
  • Fixed a bug that could cause migration checks to happen twice.

5.2.0

What's New

For Shell Users

  • Group To Enterprise Migration - Migrate a Group in a Service Provider to an Enterprise that is created based off of the Group's requirements.
  • Added command to import a Service Provider or Enterprise from a JSON file.
  • Added option to change Service Provider ID during Service Provider Migration.
  • Added option to change Group ID during Group Migration. ### What's Changed
  • Added completion percentage for tasks.
  • Added Voice Messaging requirement check for User Migration. See User Migration.
  • Added Feature Access Code requirement check for User Migration. See User Migration.

What's Fixed

  • Fixed a bug that could potentially cause non custom device file to be marked as custom during a device migration.
  • Fixed a bug that prevented Group Call Center Agent Default settings from being set during migration.
  • Fixed a bug that could prevent sending of a password/passcode change notify email if the User does not have an extension or phone number assigned.
  • Fixed a bug that could cause a Migration to fail a requirement check if there were schedules but no schedule events.
  • Fixed a bug that caused the Reset Authentication command to halt if a User did not have the Authentication services assigned.
  • Fixed a bug that could cause a Group Migration to halt if the Group's source Service Provider had service packs.
  • Fixed a bug that could cause a migration to fail because a User or Service Instance has the destinations default domain but not the source's.
  • Fixed a bug that could cause a migration to fail if a User had Outgoing Calling Plan Transfer Numbers.
  • Fixed a bug that could cause a null pointer when running the report migration encumbrances command.
  • Fixed a bug that could halt a migration if the Call Processing Policies were set to Use group/department phone number for Calling Line Identity.

5.1.8

What's Changed

  • Added hostname resolution fallback in the case that that a server address cannot be retrieved during file retrieval.

5.1.7

What's Fixed

  • Fixed a bug that caused Alpaca to incorrectly determine whether or not Activatable Feature "233177" was activated.

5.1.6

What's Fixed

  • Fixed a bug that prevented migration if a User had the service Call Center Monitoring assigned but not one of the Call Center services (Basic/Standard/Premium).

5.1.5

What's Changed

For Shell Users

  • Added code and documentation for running Alpaca with multiple linux level user accounts using the alpaca group.

5.1.4

What's Changed

For Shell Users

  • Groups and Users are now referenced in JSONs when exported rather than embedded.
  • The tasks command now sorts tasks by start time.
  • Migration encumbrances and requirements are now checked before a Migration tasks begins.

What's Fixed

  • Fixed a bug that could cause an error when migrating a Group with a Basic Auto Attendant.
  • Fixed a bug that caused MeetMe Conferencing information to be retrieved for a User even if the User was not the host of the Bridge.
  • Fixed a bug that could cause Call Center Agents to not be properly assigned to their Supervisor during migrations.
  • Fixed a bug that prevented setting the configurations for the default Collaborate Bridge of a Group during a migration.
  • Fixed a bug that prevented the Group Paging Targets list from being set correctly during a migration.
  • Fixed a bug that prevented calling plan settings to be set correctly on a VoiceXml during migration.
  • Fixed a bug that could prevent Call Center Agent Threshold Profile setting from being set during migration.
  • Fixed a bug that could cause a User Migration to fail if their Advanced Voice Messaging settings were not present.
  • Fixed a bug that prevented Device File retrieval from an FTP server.
  • Fixed a bug that could potentially cause requests to be handled out of order.
  • Fixed a bug that could cause a custom Device File to not be marked as custom.

5.1.2

What's Changed

  • Wildcard licenses now support NFM licensing.

5.1.1

What's Changed

For Shell Users

  • Upgrade tools now copies over the license file, cache configuration, and log4j configuration.
  • If a User shares a PhoneNumber with the Group Calling Line Id Phone Number, it cannot be migrated via User Migration.
  • Modify Password and Passcode commands have options instead of arguments.
  • Exported Groups and Users are now contained within their own JSON files rather than nested within their parent.

What's Fixed

For Shell Users

  • Server level commands are now listed in the CLI tree.
  • Fixed bug that prevented a Group or Enterprise migration if a User shared a phone Number with the Group Calling Line Id Phone Number.
  • Fixed bug that prevented the Group Calling Line Id Phone Number from being set during a Group or Enterprise Migration.
  • Fixed bug that occurred when trying to create a file that has a "\" or "/" in its name.

5.1.0

What's New

For Shell Users

  • New Shell Commands
    • User Migrate - Migrates a User to another Group within the same Service Provider.

For Developers

  • Improved task framework with additional out of the box tasks.
    • User Migration
    • User Replace
    • Group Access Device Transform
    • Service Provider Access Device Transform

What's Changed

For Shell Users

  • The Group view now has three sub-locations: Users, GroupAccessDevices, and HuntGroups.
  • The File Manager now stores files within directories associated with the session or task they belong with.

What's Fixed

For Shell Users

  • Fixed issue with the check tool not detecting profile service access accurately.
  • Fixed a bug that prevented CDing into a GroupAccessDevice or HuntGroup that had the same ID as a User in the same Group.
  • Fixed bug with retrieving device files for device types not using digest authentication.

5.0.1

What's Fixed

For Shell Users

  • Fixed bug where Announcements could not be retrieved for Users without the default domain.
  • Fixed bug with retrieving Access Device files for authenticated without digest authentication enabled.

5.0.0

What's New

For Shell Users

  • New Shell Commands
    • Group Migrate - Migrates a Group to another Service Provider.
    • Service Provider Migrate - Migrates a Service Provider or Enterprise to another BroadWorks cluster.
    • Refresh - Refreshes an Alpaca location to see new additions.
    • Tasks - Retrieves and displays information about running background tasks.

For Developers

  • Added OCS Switchboard
    • Number of open sockets per BroadWorks connection is now configurable from the alpaca configuration file.
  • Added configuration option for SSL permissive.
    • Choose whether to disable SNIExtension and use a universal trust strategy for SSL.

What's Changed

For Shell Users

  • Licensing
    • Licensing has now been unified across all ECG products.
    • All Alpaca users will be issued a new license.
    • Licensing now enforces Host ID matching.
  • Device Migration commands now show how many custom files were migrated.

What's Fixed

For Shell Users

  • Fixed bug where command usage summaries were not being displayed correctly.
  • Fixed bug that allowed CDing to a User that did not belong to the current Group.
  • CLI now refreshes correctly after changes are made.
  • Children are now properly reloaded when CDing backwards.
  • Fixed bug with device file retrieval in concurrency was causing lockup.

4.2.1

This release is to occur in tandem with ManageEZ changes. All changes can be seen in the ManageEZ release notes.

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.