Alpaca

Release Notes

Last Updated: 05/06/2018

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

  • Fixed Device line port validation that prevented line ports without hosts from being marked invalid.
  • Fixed issue with the alpaca-check tool preventing testing of Profile Server.

5.3.8

What's Fixed

  • Fixed bug that could cause a migration to fail if there are User's from multiple Groups in a Call Center.
  • Fixed bug that caused Call Center Agents to not be rejoined to the Call Center after a migration.
  • During User Migration, the User's devices will no be reset as the very last step of the migration. This fixes a bug that could cause devices to not re-register without a manual reset.
  • Fixed bugs associated with Device File retrieval.

5.3.7

What's Fixed

  • Fixed bug that could cause a migration to fail if the Group default Collaborate had a modified id.
  • Fixed bug that caused User Authentication passwords to not be set correctly on the destination after a migration.

5.3.6

What's Changed

  • User deletion now only removes the User's devices if the User being deleted is the only User on the device.
  • Updated the Group and User export commands to output a tarball.
  • Updated the Device Type requirement check to verify that if a source device type has Polycom Phone Services enabled, then the matching destination device type must also have it enabled.
  • Enhanced the output of the System Device encumbrance check to provide more detail about why the check failed.

What's Fixed

  • Fixed bug that could cause a Device Migration failure if migrating from a device type that supports Polycom Phone Services to one that does not.
  • Fixed bug that could cause a Group Migration or Service Provider Migration to fail if using the change id flag.
  • Fixed bug that could cause domains to be set incorrectly during Enterprise Migration.
  • Fixed bug that could cause an export to fail if the output file name was greater than 100 characters.
  • Fixed bug that could cause a migration to fail if a User had the Custom Ringback service assigned but not the Call Waiting service.
  • Fixed bug that could cause a migration to fail if a Group had a Voice Portal with the System Default Domain.
  • Requirement/Encumbrance checks no longer happen twice when using the CLI migrate commands.

5.3.5

What's New

5.3.4

What's Fixed

  • Various device file related improvements.
  • Fixed bug in the Enterprise Migration domain requirement check.
  • Fixed bug that caused custom Group level device templates to not be migrated during Group Migration.
  • Fixed bug that could cause Group Migration to fail if migrating within an Enterprise.
  • Fixed bug that caused the Group Migration changeId flag to not work correctly.
  • Fixed bug that could cause a Group Migration to fail if migration a Group with Group level auth codes.
  • Fixed bug in Group to Enterprise Migration that caused service packs to not be set correctly.
  • Fixed bug that could cause a null pointer in any of the Reset Authentication commands.
  • Fixed bug that could cause Call Center Queue Thresholds to not be set correctly during Migration.

What's Added

5.3.3

What's Fixed

  • Device Migration now migrates device files that are marked "allow upload from device".

5.3.2

What's Fixed

  • Fixed a bug that could cause a trunking device to reset during a Reset Authentication even if it does not meet the pattern specified in the properties file.
  • Fixed a bug that caused Pilot User's numbers to not be set correctly during a migration.

5.3.1

What's New

  • Added configuration option for disabling/enabling HTML encoding during exports. See Configuration

What's Changed

  • All script are now pre-pended with alpaca- e.x. alpaca-check

What's Fixed

  • Fixed bug that could cause Session Admission Control devices to be set incorrectly.
  • Fixed bug that caused User's Trunk Addressing devices to be imported as Identity/Device Profiles.
  • Fixed bug that could cause a device file download url to be generated with double encoding.
  • Fixed bug that could cause unexpected permissions when running an alpaca-script.

5.3.0

What's New

For Shell Users

  • Enterprise/Service Provider Migration - Added option to allow cloning. This creates a copy of the target on the destination but requires a distinct network server.
  • Added validate announcementFile command at the System, Service Provider, and Group levels. This command can be used before migrations, exports, reports to verify that all announcement files are valid.
  • Added help command at all levels that will print out information for the specified command. Usage: help <command>
  • Add an external export tool that outputs the export as a tar.gz file.
  • The get command now displays alphabetically sorted results.
  • Added Meet Me Conferencing Report.

What's Fixed

  • Fixed a bug that could cause a missed Network Class Of Service requirement during Group Migration.
  • Fixed a bug that could cause a Service Provider level File Repository User's password to not be set correctly.
  • Fixed a bug that could cause a Service Provider's default language to not be set.
  • Fixed a bug that could cause Authorization limits to be set incorrectly during migrations.
  • Fixed a bug that could cause a Migration to fail if a Trunk Group has authentication enabled.
  • Fixed a bug that could cause Enterprise Trunk Users to not be assigned correctly during migration.
  • Fixed a bug that could cause a Migration to fail if a User's Meet Me Conference does not have a end time.
  • Fixed a bug that could cause a User's BroadWorks Anywhere settings to not be set correctly during migration.
  • Fixed a bug that caused Call Center agents in a Call Center with a Weighted Call Distribution policy to not have their weights set correctly.
  • Fixed a bug that caused Call Center Threshold settings to not be migrated correctly.
  • Fixed a bug that could cause User who uses a Service Provider Access Device to not migrate correctly.
  • Fixed a bug that could cause an error when attempting to retrieve Call Center Enhanced Reporting information.
  • Fixed a bug that caused a Group's Voice Portal ID to change during migration.
  • Fixed a bug that could cause Virtual On Net Users to not be added correctly during migration.
  • Fixed a bug that could cause Custom Contact Directories to not be added if they contained a Virtual On Net User.
  • Fixed the refresh command so that it now properly refreshes the current location.
  • Fixed a bug that could causes errors if Group Service Auto Attendant Video was assigned but Auto Attendant Basic/Standard was not.
  • Fixed a bug that could cause Trunk Group Hosted Users to not be assigned correctly during migration.
  • Fixed a bug that cause an error if a bang (!) was provided to the command line.
  • Fixed issues that occurred when running on single core machines.
  • Fixed a bug that could cause a Request/Response mismatch when using multiple OCS sockets and a single BroadWorks Server.
  • Fixed a bug that could cause task completion percentage to go above 100%.

What's Changed

For Shell Users

  • The reset authentication commands now offer a regex pattern override.
  • When booting Alpaca with a malformed properties file, Shell Users will now see a clean error message pointing them to the problem.
  • The Service Provider level export command now exports to a tar.gz file.
  • Removed the i option from the upgrade tool. It is now a required argument. New usage: ./upgrade <source_directory>
  • All delete commands have been reworked to be more efficient.

For Developers

  • All logging is now done asynchronously.
  • Added javadoc package-info files for all packages.

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.