Page tree
Skip to end of metadata
Go to start of metadata

 

Overview

This section describes the eZuce uniteme 15.10.1 software release, including:

  • Software Enhancements
  • Application, Hardware, and Documentation Requirements
  • Installation & Upgrade Instructions
  • One attachment (PDF file) containing Fixes for internally-reported issues and for customer-reported issues

Please note that uniteme 15.10 was built but never announced. Some issues were identified with the build so we decided to correct and issue 15.10.1.

Software Enhancements

eZuce is pleased to announce the General Availability of uniteme and reachme 15.10.1.  As introduced in 15.08 uniteme is the new product name for openUC and reachme is the new product name for Reach.  Along with our visual collaboration tool viewme this completed our new branding to tie in with our new corporate ‘My Enterprise’ messaging.

For uniteme and reachme we’ve moved to a 2 month release cycle now following two one month cycles.  Overall the release contains 83 new features, improvements and fixes.

Highlights

uniteme New Features:

  • Locations Feature to Block Calling between Locations

  • Call Back on Busy now Highly Available

  • Set Polycom Background Images in Admin GUI

  • Logging of Authorization Codes to Call Detail Report

  • Provision Jitsi from Admin GUI

  • Obfuscate CDR Records

uniteme Improvements:

  • New eZuce Logo on Polycom Phones

  • Audit Log Performance Enhancements

  • Configure Outbound Port for Exchange Voicemail

  • Update of Freeswitch to 1.4.20

  • Included VP8 Codec in Media Services

  • Yealink phone enhancements / fixes

  • Polycom phone enhancements / fixes

  • Allow for Polycom firmware up to version 5.4.0

reachme New Features:

  • Wait Music configurable by Queue

  • Blinking Browser Title Bar on Auto Release or New Call offered

  • reachme Agent Login through IVR

  • Associate Agent to PSTN number for easy login from PSTN

  • New Reports

reachme Improvements:

  • User Profiles now configurable for Agent Groups

  • Additional permissions added to Agent Profiles

 

Important Notes

  1. If you are required to maintain Audit records, please download them from Admin GUI ahead of upgrade as they will be removed from Postgres with this upgrade.

Software Release History

We're currently running on a bi-monthly release cycle.

  • April release for 2014 is 14.04
  • December release for 2014 is 14.10 (delayed for 14.04.3)
  • April release for 2015 is 15.04
  • May release for 2015 is 15.05
  • June release for 2015 is 15.06
  • August release for 2015 is 15.08
  • October release for 2015 is 15.10
  • December release for 2015 is 15.12

Release Level History

  • 14.04   - April 30, 2014
  • 14.04.1 - June 01, 2014
  • 14.04.2 - July 11, 2014
  • 14.04.3 - October 24, 2014
  • 14.10 - February 5, 2015
  • 15.04 - April 29, 2015
  • 15.05 - May 27, 2015
  • 15.06 - June 30, 2015
  • 15.08 - August 31, 2015
  • 15.10.1 - December 9, 2015

System Requirements

For a reasonably performing system we recommend the following configuration.

Minimum hardware requirements

  • Pentium 4 or Xeon processor @ 2.0 GHz Core 64bit or higher
  • Minimum 4 GB of RAM with sufficient swap space
  • 80 GB disk (75 users depending on usage patterns)

Note: uniteme supports an unlimited number of voice-mail boxes,the total number of hours of recorded messages is determined by the size of the hard-disk. As a rule, for every minute of recorded messages you will need 1 MB of disk space (About 3 hours per 10 GB of disk space).

Operating System

CentOS/RHEL 6 x86_64 with latest updates is required.An i386 version is also provided as is (without any support).

Devices

Phones

  • Polycom VVX Devices with firmware 5.1.3 (split) are recommended for new installations
  • Polycom SoundPoint IP Devices should run firmware 4.0.9 (split)

Gateways

  • AudioCodes Gateways are recommended for PSTN connectivity

SBCs

  • Sangoma, AudioCodes, Acme Packet and Ingate SBC's are recommended for SIP Trunking and Remote Worker connectivity (commonly referred to as sipXbridge and MediaRelay services respectively).
  • NOTE: The eZuce uniteme - "Use built-in SIP Trunk SBC" found in Gateway Details for use with Trunking or Remote Worker solutions should be used only for lab purposes. The openUC "Built-In SIP Trunk SBC" (sipXbridge) will not be supported in any production or live environment.

Documentation

Technical Reference Manuals, User Guides, Reach Reference Manuals, and other technical and user information can be found under the following link: Documentation Page

Installation and Upgrade Notes

Installation note

After uniteme 15.10.1 is downloaded and installed,the clusterId read tag is unique (same as locationId). Follow these steps to propagate the new read tags to the MongoDB replica set:

  1. In the uniteme menu, click System>Database.
  2. Click the Add query metadata button.
  3. To verify that the MongoDB replica contains the unique read tags, run in the command line:
//mongo
rs.config();//

Special MongoDB note

Please be aware of this Mongodb requirementshttp://docs.mongodb.org/manual/reference/ulimit/“Note: Both the “hard” and the “soft” ulimit affect MongoDB’s performance. The “hard” ulimit refers to the maximum number of processes that a user can have active at any time. This is the ceiling: no non-root process can increase the “hard” ulimit. In contrast, the “soft” ulimit is the limit that is actually enforced for a session or process, but any process can increase it up to “hard” ulimit maximum.Every deployment may have unique requirements and settings; however, the following thresholds and settings are particularly important for mongod and mongos deployments:

ulimit –a
-f (file size): unlimited
-t (cpu time): unlimited
-v (virtual memory): unlimited
-n (open files): 64000
-m (memory size): unlimited
-u (processes/threads): 32000

Always remember to restart your mongod and mongos instances after changing the ulimit settings to make sure that the settings change takes effect.If you limit virtual or resident memory size on a system running MongoDB the operating system will refuse to honor additional allocation requests. After every install/upgrade please check that "cat /proc/$pid_of_mongo/limits" have the recommended value of 655350. To make this value permanent you need to create this file /etc/security/limits.d/99-mongodb-nproc.conf and add the following lines:

mongodb soft nproc 64000
mongodb hard nproc 64000
mongodb soft nofile 64000
mongodb hard nofile 64000

Special Patch Note

If you have a patch installed to your system a new patch may be required. Please contact sa@ezuce.com if think you may have a patch applied as that may be replaced during the update.

Installing from ISO image

Download uniteme ISO

Download the ISO image corresponding to your hardware and write the image to a DVD.

Install uniteme

  • Boot from the DVD created with the uniteme ISO image.
  • Press Enter at the boot screen below to begin the uniteme installation.
  • Select Manual Configuration under Enable IPv4 support and select OK.
  • Set a static IPv4 address with the corresponding networking information and click OK.
  • In certain situations an warning of the use of indicated storage devices will be displayed.
  • Select the language to be used during the installation.
  • Select the keyboard layout to be used.
  • Select the timezone to be used.
  • Set a root password.
  • Login to the system as root with the password you provided earlier and continue on to the Configure of uniteme.

Installing from Repository

uniteme can be installed using the below procedure

  • Download and install CentOS 6.x minimal ISO
  • Run the following command:
yum update && reboot
  • Run the following commands to retrieve and run the eZuce uniteme installer:
curl https://download.ezuce.com/openuc-setup > /usr/bin/openuc-setup
chmod +x /usr/bin/openuc-setup
openuc-setup

This utility will guide you through the process of installing uniteme from the eZuce software repository.

Upgrade from previous versions

When upgrading uniteme from openUC 4.6 Update 11 or 14.4.3 to 15.06 follow these steps to ensure the SEC service is correctly running:

  • 1. Upgrade from 4.6 Update 11 or 14.4.3 to 15.06.
  • 2. After the upgrade is complete, perform the usual restart.
  • 3. Once possible, connect via CLI and monitor processes using top. Notice that the SEC process is using a lot of CPU memory.
  • 4. Perform another restart OR restart only the Sipxlogwatcher service.

Support Tips and Contact Information

Please see the Getting Support section for support tips and support contact information.

Enhancements, Fixes and Known Issues

 JIRA nameRN ContentEnhancement/Fix/Known IssueKey words
SIPX-142Make TCP default transport for Polycom phonesIn many cases recently it has become apparent that continuing to use UDP for SIP signalling with Polycom phones hasn't really worked:

* Server Failover in HA environments
* Large BLF lists

TCP is also inherently more reliable which results in a more consistent customer experience.

This ticket is for two configuration items:
* Make TCP the default transport protocol for Polycom Phones
* Enable TCP Fast Failover by default
EnhancementPolycom
SIPX-167Disable ipv6 using cfengine promiseFixed an issue with RPM installations to disable IPV6. This was being done properly for ISO installations.

Ensure the existence of:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

is within /etc/sysctl.conf until we have completed ipv6 support.
EnhancementConfig
SIPX-226Option to enable Core Dumps for FreeswitchAdded a new option in System -> Media Services -> Advanced Settings to enable core dumps.

in /etc/sysctl.conf add

fs.suid_dumpable=2
kernel.core_pattern=/tmp/core

then

/sbin/sysctl -p /etc/sysctl.conf

verify properly set

[root@openuc ~]# sysctl fs.suid_dumpable
fs.suid_dumpable = 2

In /etc/init.d/sipxfreeswitch add -core switch when starting up, e.g.

DAEMON_START_ARGS="-nc -nonat -core \
-u sipx \
-g sipx \
$DAEMON_ARGS"

then restart freeswitch service as service sipxfreeswitch restart.

Force core dump as:

fs_cli
freeswitch@internal> fsctl crash
Socket interrupted, bye!

Core file generated as

[root@openuc ~]# ls -la /tmp/core.20319
-rw------- 1 sipx sipx 28315648 Jul 21 04:06 /tmp/core.20319

(pattern is core.PID)

To see what did the crash (mind that freeswitch-debuginfo RPM should be installed and same version as freeswitch):

gdb freeswitch /tmp/core.20319

then type bt, you will get something as

(gdb) bt
#0 0x00007fe36c705625 in raise () from /lib64/libc.so.6
#1 0x00007fe36c706e05 in abort () from /lib64/libc.so.6
#2 0x00007fe36ed59c61 in switch_core_session_ctl (cmd=SCSC_CRASH, val=0x0) at src/switch_core.c:2506
#3 0x00007fe35a3d49c5 in ctl_function (cmd=<value optimized out>, session=<value optimized out>, stream=0x7fe34943cae0) at mod_commands.c:2219
#4 0x00007fe36ed873de in switch_api_execute (cmd=0x7fe34c00bd80 "fsctl", arg=0x7fe34c00bd86 "crash", session=0x0, stream=0x7fe34943cae0) at src/switch_loadable_module.c:2438
#5 0x00007fe36ed3153b in switch_console_execute (xcmd=<value optimized out>, rec=0, istream=0x7fe34943cae0) at src/switch_console.c:391
#6 0x00007fe35b999a75 in api_exec (thread=<value optimized out>, obj=0x7fe34943d470) at mod_event_socket.c:1503
#7 0x00007fe35b99b4cd in parse_command (listener=<value optimized out>, event=0x7fe34943d758, reply=0x7fe34943db70 "", reply_len=512) at mod_event_socket.c:2253
#8 0x00007fe35b99d9b7 in listener_run (thread=<value optimized out>, obj=0x7fe36000b208) at mod_event_socket.c:2677
#9 0x00007fe36d0bd9d1 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fe36c7bb8fd in clone () from /lib64/libc.so.6

or

bt full
thread apply all bt
thread apply all bt full
EnhancementConfig, Media
SIPX-228Provision JitsiBe able to provision Jitsi as a phone and XMPP client from within sipXcom.

In phone and phone groups be able to create a Jitsi phone and associate a user with it.

Enable the ability to add XMPP capability if the user has sipXcom XMPP configured.

Configuration should work much like existing Bria configuration capability.

https://jitsi.org/Documentation/ConfigureJitsiWithProvisioning

Note: Jitsi doesn't seem to go to the user inbox properly to check VM, Dial 101 as workaround (see jira.sipxcom.org/browse/SIPX-375)
EnhancementJitsi
SIPX-239Upgrade FS to latest versionUpgrade FS to latest version (1.4.20)EnhancementConfig, Media
SIPX-242Custom gateway settings :: CallerID, do not alter name, just numberContribution to just keep the "Display Name" portion of the From header when transforming extensions.

We could potentially check the User Entity and Gateway Entity for caller ID name before using the Display Name in the original From header, but I don't think that's necessary since this will most likely only be used when
1) Sending user info to another PBX
2) Mapping users to a block of DIDs owned, in which case the name portion will probably just be ignored.

I think this is better than having no name portion kept, but if you think it should check the gateway and user entity first let me know and I can change it.
gniculae
EnhancementConfig, Gateway
SIPX-256Make call back on busy HAMake call back on busy a highly available service.EnhancementConfig
SIPX-267Change System -> Branches to System -> LocationsAs part of the new Locations feature, change the Branches menu item to be Locations.EnhancementLocations
SIPX-269In Locations (Branches) page add Calling RestrictionsAdded the ability to restrict calling based on a user's defined Location.

The Administrator would like to be able to configure which other Locations users in a particular Location are allowed to call.

The Administrator would like to be able to control what features users from other Locations are allowed to access for a particular Location (i.e., Auto Attendants, Hunt Groups, Intercom, Paging, Conference Bridge, Call Queue, Park Orbits, Authorization Codes).
EnhancementLocations
SIPX-275Polycom Configuration improvementsAdded some new configuration features to the Polycom configuration plugin.

- Added ACD Agent login-logout
- Added admin and user password configuration
- Added labels for Polycom firmware 5.2.1, 5.2.2, 5.2.3, 5.3.0, 5.3.1, 5.4.0
- Added configuration for local processing of DND and FWD, when server-based feature control is active
- Making device backgrounds editable (SoundPoint and VVX series) with enable/disable feature

Tested with 15.10 and VVX 300/310/410/500
EnhancementPolycom
SIPX-285Add option to assign location(s) for additional resourcesAdd enhancement to support Locations for system services.

AA
Auth Codes
Call Park
Call Queue
Conferences
Hunt Groups
Paging
others...

Rename Location to Server in Call Park page
EnhancementLocations
SIPX-287Add fields to confirm passwords on Admin Settings and SNMP pagesAdd confirmation fields for default password,default PIN and default psql password on Admin Settings page and confirmation field for community string on SNMP page.EnhancementConfig
SIPX-314Obfuscate CDRsAdded a new feature to obfuscate (masquarade) parts of dialed phone numbers. Larger companies sometimes have concerns about the data privacy of the cdrs.

Settings can be found in System -> CDR -> Advanced Settings
Enable Masquerading - enable / disable the freature
Minimum length of extension that muse be masqueraded - This value is the minimum length of extension that should be covered with a *
Prefixes excluded from masquerading - Certain numbers prefixed with these values will show the entire dialed number and not be covered with a *
EnhancementCDR
SIPX-318Users in different locations are allowed to call each other by defaultUsers in different location should not be allowed to call each other by default.

1.Created two Locations.
2.Created two user groups with one user in each group.
3.Assigned a different location to each user group.
4.Verified in mongo that users are assigned to correct location.
5.Called between these two users
Result : users can successfully call each other.
Expected : they should not be able to
EnhancementLocations
SIPX-321Add more info on Locations pageBy default calling between different locations will not be allowed.
This could be important information to have in the admin gui either on the locations page or under the Add location page.
Perhaps there is more relevant info that should be added..
EnhancementLocations
SIPX-323Yealink ACD and SIP Server TypesAdded some new configuration parameters for Yealink Phones:

ACD inital state on login
ACD auto login after reboot

SIP Server types
UCAP, Genesys and Genesys Advanced
EnhancementYealink
SIPX-326Add vp8 codec config for media servicesEnabled the vp8 codec in media servicesEnhancementConfig, Media
SIPX-329Configuration option for Push and State Polling User, Password and TypeAdded the configurable parameters for Polycom plugin so that user and password for push and polling messages could be configured.

Used for remote control and tracking of phone status

Tested with 15.10, Polycom VVX 500, VVX 410

Parameter on the phone
WebGUI of VVX Phone > Settings > Application > Phone State
WebGUI of VVX Phone > Settings > Application > Push

Parameter in config gui
Devices > Phone Group > Polycom VVX... > Applications

Moved UCDesktop in Menu Applications
EnhancementPolycom
SIPX-362SIP Core related changes for Location Permissions for InboundNote the "loc_assoc_inbound" new field that contains the locations where the external inbound calls are permitted
The old loc_assoc field is now restricted to locations where internal calls only are permitted

Core code needs to be changed to ackwnowledge these new field.
EnhancementLocations
SIPX-369Location fallback permissionsAdded an enhancement so that in the Locations panel there will be a new tab named Fallback Calling Permissions with a dropdown listing all locations. When a location is picked it will be replicated in Mongo as loc_assoc_fallback, single value. If no location selected there will be an empty value replicated as loc_assoc_fallback.

The fallback permissions control call transfers.
EnhancementLocations
SIPX-370SIP Core - Location fallback permissionsAdded an enhancement to support adding permissions to the fallback call routing in support of permissions for call forwarding.EnhancementLocations
SIPX-374Make T.38 reinvite on fax receive optionalCreated an option to send a T.38-ReINVITE when a fax was detected by tone detection to deal with a FreeSwitch bug that was adding additional SDP information into a dialog.EnhancementConfig
SIPX-84Log Accepted authorization code.Added the ability to log the accepted Authorization Code and store in CDR.EnhancementCDR, AuthCode
SIPX-88Polycom firmware 5.1.1 default administrator passwordAdded the ability to set the Admin user and password for Polycom phones.

After upgrading to Polycom release 5.1.1 rev B a warning message is displayed to the user: "Default admin password is in use, please contact your administrator"
EnhancementPolycom
UC-154Admin should be able to configure the wait music per queueAdded the ability to allow the Reach administrator to select a wav file to play while in queue. There should be a setting for MoH file per queue AND also a setting for MoH per client. The per client setting shold be on the client page and override the queue setting. This is to play client specific MoH messages while in queue.

Note that if an IVR script sits in front of Reach and is setting the client within the script (rather than the line configuration setting the client), the client specific MoH file still needs to be used. Minimally, the IVR should be able to set the MoH file to use along with the Client.

New setting button implemented in Admin Client Page and Queue Page allow the administrator to select a wav file to play, listen and delete it.
Multiple files can be added, they are played at random in a loop.
If both set, Client MoH will override Queue MoH files.
IVR scripts are available in attachments, bridging the call through Reach Line using two different methods, ToReachDirectly.lua can be customized to play either Client MoH or Queue MoH.
EnhancementReach
UC-2127Add "Traffic Detail" Reach ReportAdd report as defined in the attached PDF.EnhancementReach
UC-2699Change Date filter to Date/Time filter on Reach ReportsAllow the Reach supervisor user to select a date/time range for start/stop rather than just a date start/stop for the following reports:

Agent Group Productivity
Agent Productivity
CDR
Queue Group Traffic Overview
Queue Traffic Overview
EnhancementReach
UC-2916Reach blinking title bar when browser is minimizedImplemented a blinking title bar to notify for "auto release" or new call being offered.

When the browser is minimized, blink the title bar if the user is being offered a call or if they have been placed into the release mode automatically (e.g. they were offered a call but did not answer it).

Once the user opens the browser again, the blinking should go away.
EnhancementReach
UC-3244zen 3420 : Desktop integration missing from VVX 1500 templateAdded the desktop integration portion of the Polycom template is for the VVX 1500 template, whereas it is there under all other VVX templates.EnhancementPolycom
UC-3343Rotational MOH for Reach CallsAdded the ability for a Reach administrator to have multiple MoH files defined and have them cycled through.

We need to allow the administrator to select a directory where .wav files exist. When the directory is selected, MOH should be provided such that all of the files in the MOH directory are rotated through.

This new setting should be configurable per queue AND also per client. The per client setting should be on the client page and override the queue setting. This is to play client specific MoH messages while in queue.

Note that if an IVR script sits in front of Reach and is setting the client within the script (rather than the line configuration setting the client), the client specific MoH file still needs to be used. Minimally, the IVR should be able to set the MoH directory to use along with the Client.

See related UC-154
EnhancementReach
UC-3531Reach Agent Association to PSTN NumberAdded the ability for an Agent to be associated with a PSTN number so that the Agent can be logged in automatically without having to enter this information.

In the Agent admin configuration for Reach, there will be a new configuration parameter. This new parameter will map an agent to a predetermined PSTN number(s). The interface for adding the list of associated numbers will be similar to how call forwarding is configured. There will be an "add number" button/link that will allow the admin to add a new, blank entry. Once the admin hits this "add number" link, they will be given a free form text box to enter the PSTN number. This PSTN number need not be checked for format other to ensure that it is not blank.

Each agent would have a mapping with zero or more PSTN numbers.

There cannot be duplicate PSTN numbers in the system, thus avoiding multiple agents being associated with a single pstn number.

From a configuration perspective, this is all that is required. An agent will have a 1:N relationship with a list of PSTN numbers and that will be stored in the config DB for later use by other application(s).

Ultimately, we will make a feature addition such that Reach will provide an API call that can be used to login an agent via PSTN number directly, without the use of the agent user/pass since there is a direct relationship between the user and a PSTN Number.
EnhancementReach
UC-3666Feature request - ability to assign port number to exchange voicemail dial planAdded the ability to set a port in the Voicemail dialplan when using Exchange Voicemail Server as an option.

Needed the ability to change the port to 5080 when sending and not use 5060. This eliminated the need to use an SBC to communicate to Office 365 Exchange Unified Messaging
EnhancementConfig
UC-3690Remove Security Drop Down from Agent Group and Agent pages - ReachRemoved the Security Drop Down from Agent Group and Agent pages as this functionality is replaced with the user permission profile.

Ensure that existing users are converted appropriately:
Current Setting of Supervisor or Admin will be made part of the Supervisor permission profile. Current setting of agent will be made part of the agent permission profile.
EnhancementReach
UC-3701Move Reach Permission Profile Assignment to Agent GroupAdded a Permission Profile setting also to the agent group.

For newly added agent groups, ensure that this new parameter is defaulted to the prebuilt "agent" permission profile.
The permission profile will be stored in AgentGroup mongo entity in "permp" field (same as Agent).

Reach will use the most permissive permission between the Agent and Agent Group permission profile.
EnhancementReach
UC-3702Remove "Security" setting on Reach Agent and Agent Group admin pagesRemoved the security setting drop down containing values of "agent", "supervisor" and "admin" on both the Agent and Agent Group Reach admin pages.

These are no longer needed since we have added the permission profiles and we've "hard coded" the security level in the Reach code such that a user has access to everything by default.
EnhancementReach
UC-3707Expose Reach API call to login agent via predefined PSTN associationAdded the ability for a Reach agent to login via an IVR.

Dependent upon UC-3531

In the agent configuration, there will be a list of predefined PSTN numbers that are associated with a reach agent. This work is defined in UC-3531.

As described in UC-3548, Reach offers the possibility to effectively login an agent via a PSTN number. What we need now, is to check for a predefined PSTN association and log an agent in based on that.

Specifically, an IVR checks in mongo for a PSTN number. If there is a match, it would retrieve the credentials of the agent and send those over to Reach. Otherwise, it would prompt to the agent for an agent id and password. This way we leverage the work done in UC-3548.

Reach should return to the IVR a custom event that specifies the result of the login: success or error.

Also, there should be two options when logging an agent in: login and make available and login and leave the agent on released. This is important if we don't want an agent to receive calls as he logs into the system, but rather let him make outbound calls.
EnhancementReach
UC-3722Reach Use Advance Login allows clicking "use advanced" withoug a URI enteredAdded an improvement to leave the Advanced Login button greyed out until a valid SIP URI is entered.

As of 15.08, once a reach user logs in they are sent to a screen that allows them to use advanced login options. This assumes that the user that logged in has the correct permission to allow them access to advanced login options.

They are presented with 2 buttons as follows:
Use Advanced Login (in grey)
Continue (in blue)

Currently, they can click the Use Advanced Login button even if they do not put anything in the Advanced Options section (e.g. a sip URI). If they do that, they are logged in but they will be offered calls on their normal extension (registered line). This is a bit counter intuitive.

This request is to have the Use Advanced Login button greyed out and not selectable until the user puts a URI in the advance login area. Once they enter a URI there, the Use Advanced Login button should be enabled and turned to blue.

In addition, by default, we should have the Advanced Options sections opened up so that the Endpoint field is displayed by default.
EnhancementReach
UC-3723short version of the CDR reportThe report will be a short version of the CDR report and will include the following data.

For all "initial" calls into Reach (segment 1 calls), show CDR details with the following data fields:
Queue
Line
Agent Login
Agent Name
Disposition
Caller ANI
Caller ID
Offered To Agent Date/Time
Accepted by Agent Date/Time
Time in Queue
Call End Date/Time
Call Duration

Input parameters for execution of the report will minimally include start date and end date.
EnhancementReach
UC-3747Use ElasticSearch for persisting SystemAudit actionsReimplement the System Audit code to use ElasticSearch and Logstash for persisting the user actions, instead of Postgres.EnhancementAudit
UC-3756Update Polycom - ezuce custom background imagesUpdated eZuce background images that Polycoms load on their displays.

Update the ezuce logo to use the new one and change color scheme - currently background is white (this is an issue because the menu options are also written with white).

VVX400 does not have custom bg (works for vvx410)

VVX600 needs to have the ezuce logo differenty - currently on the main screen , you cannot see the ezuce logo because it is blocked by the black bar where softkeys reside.
EnhancementPolycom
UC-3757Improve Reach Permission ProfilesImproved Reach permissions profiles in multiple ways:
- Prevent user from enabling permissions from the browser's console.
- Do not allow agents to transfer (or make a conference) on a queue for which he doesn't have permissions
- Add the agent's permissions in the dashboard, in a text field, under "My profile", so that he would be aware of what he is allowed to do in Reach.
EnhancementReach
UC-3763Change System -> Emergency Dialing -> Locations text box nameAs part of adding the new Locations feature we changed the 'Location' text box name to read "Emergency Response Location" in Emergency Dialing so as not to cause confusion with Locations.

Also modify description under text box that currently reads "Physical location details (such as room, floor, building, street address). This should be as fine grained as possible. Third party applications may use this to update the Public Safety database." to read "Physical emergency response location details (such as room, floor, building, street address). This should be as fine grained as possible. Third party applications may use this to update the Public Safety database."
EnhancementLocations
UC-3786JasperReports deployment improvement/updateUpdate JasperRepors deployment process allowing us to release new reports for 15.10 releaseEnhancementReach
SIPX-114Translations in the login screen don't workFixed an issue with the login to the admin GUI so that it would use the default system language.

When the browser default language is for example Dutch and translations for the login screen are available they won't be used in some cases, the text will still be in English.
FixConfig
SIPX-240Creating Snom Group results in Error screenFixed an issue with phone groups other than Polycom.

It was reported initially that when adding a group for snom phones - snom320 in this case, but same with any of the others as well.

Select snom320 from list of devices. Make a change in the group - select save - go to error screen with the following - An internal error has occurred. Click here to continue.

When you go back to the group, your changes are saved in the profile.
FixConfig
SIPX-243Polycom Configuration Server Feature Control DND/FWDFixed an issue where the Polycom Plugin generates wrong Parameter in Server Feature Control for DND and Forward

Parameter is
serverFeatureControl.doNotDisturb.enable
not
serverFeatureControl.doNotDisturb.enable.enabled

Same for Forwarding

Related to SIPX-36
FixPolycom
SIPX-274Conference maximum legs field , description updateFixed an issue that when creating a new conference, the "Maximum legs " field is set by default to "0",
and has the following description : "The maximum number of call legs to be allowed by this bridge. 0 means unlimited."

Reported problem : Setting up "1" in the "Maximum legs" field will have the same effect as setting "0" - unlimited users will be able to join the conference.

*Setting up "2", will permit two users to join the conference,then the 3rd one will be asked to enter PIN,and upon entering he will hear a prompt "Locking conference" and get disconnected.F
FixConference
SIPX-278MoH not working when phone behind NATFixed an issue with remote phones would not get MoH.

This does not replicate on setups where servers and phones are on the same network.(no NAT)

Configuration:
Server is installed in AWS (behind NAT)
Phones are behind their own NAT.

Added two set of logs.
In one set, call is between two Polycom phones (fw 4.1.7) - there is no MoH.
In the other set,call is between a Polycom and a Bria softphone - there is MoH only when Polycom holds the call.

Fail scenario <Polycom phones>--Nat--Internet--Nat--<openUC> :
1.Polycom 10.2.0.51 - extn 2801 calls Polycom 10.2.0.52 - extn 2802
There is voice path both ways
2.2801 holds call
Result Fail : 2802 does not hear Moh
(also tested when 2802 was the one to hold the call,there was no moh as well,but i did not include that in the logs/capture)

Semi-Fail scenario <Polycom + Bria >--Nat--Internet--Nat--<openUC> :
1.Polycom 10.2.0.51 - extn 2801 calls Bria 10.2.0.200 - extn 2804
There is voice path both ways
2.2801 holds call
Result Success : 2804 hears Moh
3.2801 unholds call
There is voice path both ways
4.2804 holds call
Result Fail : 2801 does not hear MoH
FixMoH, NAT
SIPX-283sipXcom version fails to start when installing from RPMsFixed an issue where cfengine fails to run due to missing local_cp_by_digest bundleFixConfig
SIPX-293Configuration fails to deploy due to IVR exceptionFixed an issue with a java.lang.NullPointerException when backup server was set to a different IP.FixBackup
SIPX-307Yealink configuration crashes on applyFixed an issue with Version 15.06 - 15.10 that caused the Yealink Configuration to crash on apply (similar to SIPX-240)

Failure occurs in "org.sipfoundry.sipxconfig.site.phone.EditPhoneDefaults.java), inside the apply Method the "DeviceVersion" throws a null-pointer exception.

The DeviceVersion is null, because inside the Yealink-Plugin the a phone is tagged with "yealinkPhone" and the configuration looks for "yealink"

To handle this, it is necessary to change "yealinkPhone" to "yealink" to make it work (plugin folder and bean_id)

Made some changes to do this (pull request follows), but this means the bean_id will changes, so older entrys in the database will crash the web GUI.

To fix this a change inside the postgres is needed, which is not part of the commit source. Tested with 15.10.

SQL Statement to fix after update
UPDATE "public"."phone" SET "bean_id"='yealink' WHERE ("bean_id"='yealinkPhone')
FixYealink
SIPX-309Yealink DND mode.Fixed a problem with DND mode on Yealink phones.
"Feature Key Synchronization" - must be unchecked in phone's web interface or by autoprovision fille.
FixYealink
SIPX-310Problem receiving faxes in 15.06 and later & sipXbridge Specs ViolationFixed an issue with sipXbridge that caused certain SDP values to not be passed. This was manifested by a FS but that's adding additional SDP settings.

During a T.38 re-INVITE sipXbridge strips a custom payload from the m line sent by FS. The resulting m-line has no payload at all which of course is a syntax error. This seems to be a direct result of the regression pointed out here:https://freeswitch.org/jira/browse/FS-6954.

This may cause SBC's that don't pass the m-line in SDP to not be able to receive faxes.
FixSIPTrunk
SIPX-313References in from settings_with_location table not removed when node is deletedFixed an issue that caused the settings_with_location table is not cleaned up when locations deletedFixLocations
SIPX-328Sipxcom 15.08 Install Errors using Centos minimal MethodFixed an issue caused when user ran 'yum install sipxcom' instead of 'yum install sipxecs'.

Workaround for 15.08 - use 'yum install sipxecs'.

Installed Centos minimal and then installed Sipxcom using this methodhttp://wiki.sipxcom.org/display/sipXcom/Installing+on+Fedora+and+CentOS.

The following errors were generated following execution of sipxecs-setup. System is unstable and cannot be used.

Centos installation method is used for remote locations where transmission of ISO files is easier with Centos ISO than Sipxcom ISO because image is smaller.

Application settings:
Primary server : yes
Host : pbx
SIP Domain : sipxtest.com
Network Domain : sipxtest.com
Would you like to change your application settings? [ enter 'y' or 'n' ] : n
Initial setup, this may take a few minutes...
error reading information on service vsftpd: No such file or directory
error reading information on service vsftpd: No such file or directory
error reading information on service vsftpd: No such file or directory
error reading information on service mysqld: No such file or directory
error reading information on service mysqld: No such file or directory
error reading information on service mysqld: No such file or directory
Finishing system configuration, almost done...
error reading information on service vsftpd: No such file or directory
error reading information on service vsftpd: No such file or directory
error reading information on service vsftpd: No such file or directory
error reading information on service mysqld: No such file or directory
error reading information on service mysqld: No such file or directory
error reading information on service mysqld: No such file or directory
error reading information on service xinetd: No such file or directory
error reading information on service xinetd: No such file or directory
error reading information on service xinetd: No such file or directory
done.
FixConfig
SIPX-331Call Queue service labeled as "beta"Remove the (beta) tag on Call queue in Admin Portal.

Go to System -> Services -> Telephony Services "Call Queue (beta)" service should be renamed to "Call Queue".
FixCallQueue
SIPX-36DND disable does not workFixed an issue that caused the Polycom disable DND feature to not work.

There was a typo in the syntax that is used in the config file generated for each phone.
The config file contains:
feature.doNotDisturb.enable.enabled="0"
But it needs to be
feature.doNotDisturb.enable="0"

This is controlled by the setting under Features > Do Not Disturb in the phone or group config.
FixPolycom
SIPX-371Unite Web Redirect to insecure linkFixed an issue where if an administrator went to https://servername/sipxconfig/ it redirected the browser to http://servername/sipxconfig/app where it should have redirected to https://servername/sipxconfig/app.FixConfig
SIPX-50When saving a group onSave() is triggered twiceFixed an issue that caused group settings saves to be done twice.

The problem was that when calling from UI we did:

Group group = getGroup();
if (equalsIgnoreCase(User.GROUP_RESOURCE_ID, group.getResource())) {
getCoreContext().saveGroup(group);
} else if (equalsIgnoreCase(Phone.GROUP_RESOURCE_ID, group.getResource())) {
getPhoneContext().saveGroup(group);
} else {
getSettingContext().saveGroup(group);
}

In CoreContextImpl we have:

@Override
public void saveGroup(Group group) {
m_settingDao.saveGroup(group);
}

both methods were intercepted and onSave event was published.
FixConfig
SIPX-78Polycom VVX 1500 Missing Desktop IntegrationThe Polycom VVX 1500 phone did not have the Desktop Integration settings available in the template. Added the settings.FixPolycom
UC-2305GUI crash in a regions partitioned setup (intermitent)Fixed an issue with Regions such that when Cluster was in a partitioned state after making config changes that apply to all servers, GUI would crash because httpd service crashed.

Setup : 8 servers in HA with 3 regions (2+1 default)

Steps :
1.Default region is no longer available - partitioned
2.From the GUI make a config changes that applies to all servers

Reported issue : After making config changes that apply to all servers, GUI will crash, httpd service will crash

Workaround : service sipxconfig restart
FixRegions
UC-2407Error message after changing User ID needs an updateFixed an error message to indicate that Password needed to be changed and not PIN.

Steps to reproduce:
1.Go to Users->Users->User 200 and changes its User ID to 250
2.Apply

Reported issued : you will receive an error :
"When changing user name, you must also change PIN"
Expected : When changing user ID , you must also change Password
FixConfig
UC-2763Remove IM Chat Room section from Conference pageWith UC-2671 Decouple Conferences and Chat Rooms - getting fixed, the IM Chat Room section is no longer needed under the Features->Conferencing->"Server"->Conferences->"Conference"

These settings were removed.
FixConfig
UC-3156The state of an agent that is on an outbound call is not reflected under the supervisor tab.Fixed an issue caused when an agent makes an outbound call the supervisor was not aware of the agent's state changes.FixReach
UC-3210Adding the 137th BLF and click apply or save, it will show the error message "Number of speed dials cannot exceed 136" and not write to the database.Fixed an issue that if a 137th BLF was added to a usre and the admin would click apply or save, it would show the error message "Number of speed dials cannot exceed 136" and not write to the database. Config now will read SSS parameter for the maximum number of speed dial and check against that.FixConfig, SSS
UC-3228Linksys spa942 phones need template changeFixed an issue where for mwi the voicemail box (mailbox id) should be set to the user extension and voicemail server should be blank. If many of these phones were configured the old setting caused a flood of subscribes to the server.FixConfig
UC-3389Auto Attendant prompt "Please hold while I transfer your call" when transferring call after failure cannot be dissabledAuto Attendants prompt "Please hold while I transfer your call" when transferring calls AFTER FAILURE cannot be disabled.

It can be done for any other call transfer through Auto Attendants.

More info https://ezuce.zendesk.com/agent/tickets/3640
FixAA
UC-3556Session manager widget stuck in "outgoing" after an agent calls back a clientFixed an issue that caused a Reach agent to be stuck in 'Outgoing'.

Steps to reproduce:
1.Client calls Line 303 where Agent 2007 is Idle - Session manager icon changes correctly
2.Client presses * to leave a VM in this queue and then leaves a VM and presses * again to finish.
3.Agent is alerted by the newly left VM
4.Agent successfully listens to this VM and then from the Dashboard clicks the Callback icon

Issue : after the agent ends the call,his widget is stuck in "outgoing" - check attached screenshot.
FixReach
UC-3557Callback button and VM player disappear after first useFixed an issue that caused the Voicemail Player to disappear after first use.

Used a cluster with services enabled as in the attached photo.
Also Reach is enabled only on Primary server .
Server config is taken from openuc.ezuce server.(very similar)
Line config photo is also attached.

Steps:
1.Client calls Line 303 where Agent 2007 is Idle
2.Client presses * to leave a VM in this queue and then leaves a VM and presses * again to finish.
3.Agent is alerted by the newly left VM
4.Agent successfully listens to this VM and then from the Dashboard clicks the Callback icon (dashboard view as seen in r1.png)
5.Client is called back.Agent and client have a successful call
6.Client repeats the process and calls Line 303 where he leaves a VM again

Issue : The agent is alerted by the newly left VM , so he answers and listens to this VM, however the dashboard does not display the Callback button and VM player(see capture r2.png).The agent cannot call back the client

Workaround: agent must re-login in the dashboard.

Attached snapshot for this cluster , reach log is on Debug.
FixReach
UC-3596Add nodes IP and FQDN in /etc/hostsWe received some tickets where although named is starting prior to mongod it fails to serve IP address of the other nodes resulting in following errors on mongod.log. We've added server node names and IP addresses to servers' /etc/hosts file to alleviate the problem.FixConfig
UC-3616Proxy/SAA should instruct the phone to send the call-pickup through proxyFixed an issue where in the case of a call pickup of a shared line, the phone is sending the INVITE w/ replaces to the 2nd phone w/o using proxy and this will simply break in cases when the phones can't communicate directly (i.e. TLS, NAT, ...).FixSAA, SIP
UC-3662Queues will not inherit Recipes from Queue GroupsFixed an issue that caused Queues to not inherit Recipes from Queue Groups.

Steps :
1.Create a new Queue Group and add a Recipe step to it :
Tick interval is 15 Send To voicemail Run once
Result:successfully created (1.PNG)
2.Create a new Queue and assign it to the above group
Result: successfully created. (2.PNG)
3.Client calls in this queue and waits (there are no agents available) :

Expected : After 15 seconds the client should be sent to VM as defined in the inherited recipe from the queue group
Result : Client is left in queue as if recipe does not work

It does not matter what recipe you setup.
Recipe steps work if they are defined straight on Queues
Skills are inherited from the Queue Groups,so that works.
FixReach
UC-3663eMail notification checkbox has opposite effectIt was reported that when you did not check the box to notify the user of account creation that the user was notified.

When you add a new user , the NOTIFIED (and not "notify" - there's some confusion) checkbox will be by default unchecked.
That means the user will be informed by his user creation
Otherwise if you check it , the system considers the user to have already been notified , so the email is not sent.

We changed the label from "Notified" to "User was notified".
FixConfig
UC-3682Reach warm transfer not working correctlyFixed an issue with Reach warm call transfer not working properly. Problem was caused by FS upgrade in 15.06. Problem does not reproduce with older FS and now does not reproduce with FS 1.4.20 included in 15.10.

Workaround: Downgrade FS in 15.05 - 15.08.

Customer originally described .. :

"During testing on reach on 15.05 we uncovered the following issue that did not exist in 14.04.

When answering a Reach call from a Bria Softphone (Stretto for CCS and Bria3 3.5.5) when selecting transfer/conference the hold button on the portal placed the Bria on hold, this is an issue because it's not obvious to the agent. The call does not release from hold unless manually done from the Bria. If only happens on each initial call to the agent, for example if the call is transferred back the agent, the agent can perform a transfer/conference without thee Bria going on hold.

Tested on 15.05 and 14.04, 14.04 has no issue."

Steps to reproduce .. :

We did further testing. Behavior for Polycom is the same as Bria. Please note Bria was on my PC over VPN and Polycom was on my home network registered through the Ingate SBC.

On Reach3 15.05 (see packet capture from Bria "reach3_Bria_hold.pcapng"
1. Agent "pan" answer call
2. Agent places caller on hold
- Bria goes on hold
3. Agent "pan" conferences agent "lca"
- Agent "lca" answers
***-Bria for agent "pan" does not release from hold***
- Agents cannot converse, (If agent "pan" clicks hold button in UI, customer and agent "lca" can converse).
4. Agent "pan" manually takes Bria off hold
5. All parties converse.

On Reach1 14.04 (see packet capture from Bria "reach1_Bria_hold.pcapng"
1. Agent "pan" answer call
2. Agent places caller on hold
- Bria goes on hold
3. Agent "pan" conferences agent "lca"
- Agent "lca" answers
-Bria for agent "pan" releases from hold
- Agents can converse,
4. Agent "pan" click hold in UI taking customer off hold
5. All parties converse.

Additional information :

" I took a closer look at each Notify hold and talk request and the "To:" Address in 14,04 is the sip uri of the agent in both hold and talk. In 15.05 the hold has the correct sip uri while talk changes the "To:" Address to the callers sip uri
FixReach
UC-3714Internal Error when Adding PSTN to Audiocodes Mediant 1000 GatewayFixed an issue when attempting to add a PSTN Line to an Audiocodes Mediant 1000 PRI gateway profile the error below is presented in sipxconfig.log.

Caused by: org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: No row with the given identifier exists: [org.sipfoundry.sipxconfig.gateway.FxoPort#-1]; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [org.sipfoundry.sipxconfig.gateway.FxoPort#-1]
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:677)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:551)
at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:545)
at org.sipfoundry.sipxconfig.gateway.GatewayContextImpl.getPort(GatewayContextImpl.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:64)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy32.getPort(Unknown Source)
at org.sipfoundry.sipxconfig.site.gateway.port.PortSettings.pageBeginRender(PortSettings.java:65)
at org.apache.tapestry.AbstractPage.firePageBeginRender(AbstractPage.java:409)
at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:244)
at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:400)
... 69 more
Caused by: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [org.sipfoundry.sipxconfig.gateway.FxoPort#-1]
at org.hibernate.impl.SessionFactoryImpl$2.handleEntityNotFound(SessionFactoryImpl.java:435)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:233)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:269)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:985)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:978)
at org.springframework.orm.hibernate3.HibernateTemplate$3.doInHibernate(HibernateTemplate.java:558)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
... 92 more
FixAudiocodes
UC-3732One can access Reach pages that should not be visible, if he changes the URLFixed an issue that allowed Agents to change the URL and get to pages that should not be visible to them.

An agent logs in his dashboard and he will be directed to :
https://FQDN/reach/portal/dashboard#main
If he changes url to :
https://FQDN/reach/portal/dashboard#reports
He will be able to access the reports page
What is good is that he cannot generate a report.

https://FQDN/reach/portal/dashboard#supervisor - will send you to supervisor page but you won't see anything.

Access to these pages should be restricted if permission is not provided.
FixReach
UC-3749Reach VQueue Manager Dies due to recipe configFixed an issue where the VQueue Manager dies if there are recipe steps that are built that execute simultaneously. Specifically, if one of those recipe steps is a transfer to URI.

Example was that one customer had a recipe step built for remove skill. It was a "run many" step and was configured for 15 seconds. They then had a transfer to URI/Extension running at 60 seconds. This created a situation where both recipe steps executed. The issue is that there appears to be a race condition where the call is transferred already but Reach is in process of performing the remove skill on the call. This caused the VQueue Manager to crash.

The VQueue Manager was properly restarted but did not appear to have knowledge of all of the existing VQueues in the system and thus there were routing issues caused by this.

THIS FIX SHOULD INCLUDE 2 PIECES:
1. Handle the recipe config condition so that the VQueue Manager does not die off.
2. Improve the code around respawning the VQueue Manager such that it "discovers" VQueues that are already active in the system (including associated calls and agents).
FixReach
UC-3750GRUU problem in 15.06Fixed an issue with GRUU caused by an earlier commit (introduced in 15.06) that caused GRUU to break when used with wss transport.

Customer was using GRUU address to target specific registration instances.
Customer used to receive the contact's GRUU address as:
~~gr~BtXVZtl2D-l@server.fqdndomain.com;gr
and now doesn't receive it on registration.
FixSIP
UC-3778Clean old queues and agents from openacdpermissionprofile documentFixed an issue where if a supervisor disables Queue Manager and Agent Manager, the previously selected queues or agents groups still remained in the database.FixReach
UC-3780Translations in the login screen don't workFixed an issue in uniteme when the browser default language was set to for example Dutch and translations for the login screen are available they won't be used in some cases, the text will still be in English.FixConfig
UC-3782Problem with login box when German language is usedFixed an issue with the GUI Login box when using a browser with default language German the submit button is out of the login form.FixConfig
UC-3783Openuc-saa service restart needed after a server rebootImplemented a workaround with Cron while we're investigating to restart openuc-saa after a server has been up 5 minutes.

Steps to replicate :
1.Configure openuc-saa on server and verify that it actually works on phones(and not just that service is enabled).
Result : there is a good chance it works
2.Reboot the server and verify that saa works again as in step 1.
Result : service is running put phones are not showing any presence updates)

Workaround : service openuc-saa restart
FixSSS, SAA
UC-3784CDR Display name cut off on call queue callFixed an issue where certain characters (the '/' character in this case) in caller-id were causing issues with CDR. Worked around the issue by replacing '/' with '-' in callerid name.FixConfig
UC-3791System Audit BackupEnsure that system audit data is in backup / restore routines.

The system administrator would like to be able to back system Audit data and restore it should there be a system problem.
FixBackup
UC-3795License Counts are IncorrectFixed an issue where the license counts were wrong on the licensing page.

In 15.08, on the System --> Licensing page, the "total users" count seems to show the total users that are NOT phantoms.

The phantom user count is OK.

However, the issue is that because the total user count is incorrect (deducts phantoms) the number of users requiring licenses is wrong. This is because it takes the "total users" - the phantoms. Since "total users" already has the phantoms deducted, this is not the correct logic.

Ultimately, the phantoms appear to be deducted twice as a result, leading to a number for "users requiring license" that is too low.
FixConfig, License
UC-3797System audit (sipxconfig) listed on secondaries in system -> servicesFixed an issue where "System Audit (sipxconfig)" is erroneously listed as an available service on secondary servers. Screenshots are attached showing examples.FixConfig, System Audit
UC-3799Shortcode for disable/enable live attendant not workingSteps to reproduce :

1. Configure a Live Attendant under System> Dial Plans > AutoAttendant page:
Enable live attendant : Checked
Live attendant extension : 201
Enable / disable code : 123
Extension will ring for : 10 seconds
Follow user call forwarding : Unchecked
Live answer attendant : Always

2. Live Attedant can be enabled/disabled using the shortcode feature:
- enabling/disabling it with *67/*68 + AA extension + code.

3. After Live Attendant is set up, user 202 calls AA ext 100, user 201 being alerted by the incoming call.

4. Disable Live Attendant using the shortcode by dialing:
- shortcode + AA ext + code = *68100123

Expected result:
- Live Attendant should now be disabled and the default Operator AutoAttendant should be reached
Reported problem:
- repeating step 3, user 201 will be alerted by the incoming call.
FixAA
UC-3818Agents kicked out from dashboard - permissions relatedFixed an issue where cfter some changes on permission profiles,
followed by some basic calls that checked permissions applied correctly,
agents were automatically set to released.
FixReach
UC-3837zen 5081 : 15.10 invalid /etc/hosts entryA invalid /etc/hosts entry is generated on 15.10 as shown on line two below .. :

[root@uc ~]# cat /etc/hosts
192.168.10.15 uc.ezuce.mattkeys.net uc
$(ips[$(host_servers).ezuce.mattkeys.net][1]) $(host_servers).ezuce.mattkeys.net $(host_servers) # sipXcom cluster
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

Steps taken to reproduce

1. Install 15.08 from ISO.
2. Install 15.10 from ISO.
3. cat /etc/hosts on each

Results attached, 15.08 on the left and 15.10 on the right. It is also there if the server was upgraded via yum from 15.08.

No commit required. Rebuild after revert of some code for UC-3770 fixed issue.
FixConfig
UC-3838zen 5081 : 15.10 DNS zone incorrect after restoreRestored customer sipxcom 14.10 configuration.tar.gz to 15.10 within the webui restore from backup upload (no options checked on the restore). Resulting /var/named/default.view.<sipdomain>.zone was found to be incorrect and using the pre-existing sip domain. For example I was using ezuce.mattkeys.net previously and restored cha.vox.genesyslabs.com .. :

[root@uc ~]# cat /var/named/default.view.cha.vox.genesyslab.com.zone
$TTL 1800
@ IN SOA ns1.ezuce.mattkeys.net. root.ezuce.mattkeys.net. (
105820009 ; serial#
1800 ; refresh, seconds
1800 ; retry, seconds
1800 ; expire, seconds
1800 ) ; minimum TTL, seconds
ezuce.mattkeys.net. IN NS uc

This configuration.tar.gz backup I used can be found here :
sftp://ftp.ezuce.com/support/upload/mkeys/genesys/sa_restore/configuration(28).tar.gz

No commit required. Rebuild after revert of some code for UC-3770 fixed issue.
FixConfig
UC-3839zen 5088 : 15.10 System -> Backups never completes listing backupsSteps to reproduce ..

1. log into 15.10 webui as superadmin using any browser
2. navigate to system -> backups

At the bottom of the page "operation in progress" spins forever, preventing the user from running "backup now" or making any schedule changes.

No commit required. Rebuild after revert of some code for UC-3770 fixed issue.
FixBackup
UC-3840zen 5087 : 15.10 config backup to 15.10 restore failsSteps taken to reproduce .. :

1. on uc.ezuce.mattkeys.net (192.168.10.15) command line, I ran sipx-backup -c to generate configuration.tar.gz, attached
2. on test1510.home.mattkeys.net (192.168.1.183) webui as superadmin, system -> restore -> backup file upload -> configuration.tar.gz from step 1, restore

result is a failure, 99% snapshot attached from test1510.home.mattkeys.net.

No commit required. Rebuild after revert of some code for UC-3770 fixed issue.
FixBackup
UC-442Conference Control Labels incorrectFixed an issue on the conference config page where the DTMF digits for various conference operations, the "Volume" and "Microphone Gain" options are defined as they were labeled backwards. For example, a conference participant presses "6" to increase his volume into conference or "3" to increase the conference's audio to him. But the labels read the opposite.

The Freeswitch config the GUI generates the following:

<control action="vol talk up" digits="3"/>
<control action="vol talk zero" digits="2"/>
<control action="vol talk dn" digits="1"/>
<control action="vol listen up" digits="6"/>
<control action="vol listen zero" digits="5"/>
<control action="vol listen dn" digits="4"/>

The labels here seem to correspond to the GUI labels, "vol talk" for Mic Gain and "vol listen" for Volume. That makes sense. The actual behavior, however, is opposite.
FixConference
UC-473Change LDAP + PIN to LDAP + PasswordFixed an issue with error on login where the error message indicated PIN, it should reference Password.FixConfig
UC-492Phone Book not Paginating CorrectlyFixed a problem with the ‘Next’ and ‘Previous’ page buttons not working (remain greyed out) regardless of the count of users within the phone book as best as possible with the control application that was used for this feature. If we limited pagination to 12 the search feature would only search those 12 for a user. We decided to set the page size to 500 to keep searching working. Next and Prev will work if you have over 500 users in phonebook.FixConfig
UW-180Voicemails (portrait): when hitting Load message , download and garbage bin go over the player.Fixed an issue that was caused by hitting 'Load message' on Android in Chrome that caused 'download and garbage bin' to appear over player. In ladscape it worked fine.FixUniteLite, UniteWeb
UW-312Activity List cleared on logoutFixed an issue with Unite Web that caused Activity List items are cleared on logout/login.FixUniteLite, UniteWeb
UW-313Notifications no longer workingFixed an issue that caused the red dot representing new IMs to no longer be displayed on the browser tab.
Sound notifications also don't work.
This is the Console error:

TypeError: Notify.isSupported is not a function
at Notify.myNotification.needsPermission (fc9f128370b1ea9770ccfadb.scripts.js:1)
at fc9f128370b1ea9770ccfadb.scripts.js:1
at handleMessage (fc9f128370b1ea9770ccfadb.scripts.js:1)
at Object.h.Handler.run (4e42ce69bdd61567355bfd36.modules.js:3)
at 4e42ce69bdd61567355bfd36.modules.js:3
at Object.h.forEachChild (4e42ce69bdd61567355bfd36.modules.js:3)
at Object.h.Connection._dataRecv (4e42ce69bdd61567355bfd36.modules.js:3)
at Object.a.Bosh._onRequestStateChange (4e42ce69bdd61567355bfd36.modules.js:4)
FixUniteWeb
SIPX-332Polycom VVX 5.4.0 only supporting 34 total linesIt was reported that Polycom firmware 5.4 supports 34 total lines+BLFs compared to 48 on firmware 4.1.7

e.g. On VVX 600 running fw 5.4.0 if you deduct the total number of line keys supported, which is 16 , you will only have 18 slots available for BLFs
Compared to 4.1.7 - 32.

Also valid for firmwares 5.3,5.2,5.1


From: http://support.polycom.com/global/documents/support/setup_maintenance/products/voice/EM_AG_Addendum.pdf

Polycom phones can have multiple registrations; each registration requires an address or phone number. All VVX phones support up to 48 registration line keys and up to 34 line registrations when connected to three expansion modules.
Known IssuePolycom
SIPX-377Document Known Issue for SIPX-376If a server in a partitioned region is rebooted before WAN comes up the Registrar service will fail to start.

How to reproduce: Setup 2 regions, one region has 4 servers, and the other has one.

Have phones registered in both.

Partition off the regions from each other (as in a WAN failure).
Reboot the server at the 1-server region.
After the server reboots, the registrar service will fail to start.
Registrar will start working properly once the WAN comes up.
Known IssueSIP, Regions
SIPX-378Document Known Issue for SIPX-335If an admin changes a user's location the changes are not reflected in Mongo.

Workaround: send server profiles.
Known IssueConfig
SIPX-393Add known issue for Auth Codes with LocationsThe authorization code is a user itself. The problem is that this special user is not a member of any location/branch.

For example if a call is placed from user X (which is in the same location as the gateway he is trying to use) to the auth shortcode : *82.

The user is allowed to call *82 then is allowed to enter the auth code, and is approved to call by proxy.

But on the next step when user X goes on and tries to enter the external number, the user is blocked because the "auth code" special user needs to transfer user X outside via the gateway. The special user cannot transfer the call externally via the gateway, because the gateway is placed in a location, and can only be used by users from that location, of which our "auth code" special user is not part of.
Known IssueAuthCode
UC-3793Issues with IC and Chrome in adding secondary databaseCustomer installed a 3 node cluster from 15.08 ISO. Using IE or Chrome, he was unable to add secondary databases in system -> database due to browser/certificate issues. This is not an issue if you've got FireFox (currently) so I haven't labeled it as a blocker, however I think it should be noted in the 15.08 / 15.10 release notes.

Fix: Install a valid certificate on system or use FireFox.
Known IssueConfig
UC-3836Document known issue UC-3821Known issue where after upgrading to 15.10, the cache is any browser that you've historically used to log into Reach has to be cleared to properly load the user portal.

If you do not clear cache, the user login will be accepted but not widgets will load. You will be able to load the session manager widget and perhaps some others but it will appear as though you don't have permissions for much of anything.

This needs to be documented at a minimum but I'm hopeful that we can do something programmatically to resolve this as this will be messy in live environments after an upgrade to 15.10.
Known IssueReach

 

Enhancements, Fixes and Known Issues by Keyword

 JIRA nameRN ContentEnhancement/Fix/Known IssueKey words
UC-3389Auto Attendant prompt "Please hold while I transfer your call" when transferring call after failure cannot be dissabledAuto Attendants prompt "Please hold while I transfer your call" when transferring calls AFTER FAILURE cannot be disabled.

It can be done for any other call transfer through Auto Attendants.

More info https://ezuce.zendesk.com/agent/tickets/3640
FixAA
UC-3799Shortcode for disable/enable live attendant not workingSteps to reproduce :

1. Configure a Live Attendant under System> Dial Plans > AutoAttendant page:
Enable live attendant : Checked
Live attendant extension : 201
Enable / disable code : 123
Extension will ring for : 10 seconds
Follow user call forwarding : Unchecked
Live answer attendant : Always

2. Live Attedant can be enabled/disabled using the shortcode feature:
- enabling/disabling it with *67/*68 + AA extension + code.

3. After Live Attendant is set up, user 202 calls AA ext 100, user 201 being alerted by the incoming call.

4. Disable Live Attendant using the shortcode by dialing:
- shortcode + AA ext + code = *68100123

Expected result:
- Live Attendant should now be disabled and the default Operator AutoAttendant should be reached
Reported problem:
- repeating step 3, user 201 will be alerted by the incoming call.
FixAA
UC-3714Internal Error when Adding PSTN to Audiocodes Mediant 1000 GatewayFixed an issue when attempting to add a PSTN Line to an Audiocodes Mediant 1000 PRI gateway profile the error below is presented in sipxconfig.log.

Caused by: org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: No row with the given identifier exists: [org.sipfoundry.sipxconfig.gateway.FxoPort#-1]; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [org.sipfoundry.sipxconfig.gateway.FxoPort#-1]
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:677)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:551)
at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:545)
at org.sipfoundry.sipxconfig.gateway.GatewayContextImpl.getPort(GatewayContextImpl.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:64)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy32.getPort(Unknown Source)
at org.sipfoundry.sipxconfig.site.gateway.port.PortSettings.pageBeginRender(PortSettings.java:65)
at org.apache.tapestry.AbstractPage.firePageBeginRender(AbstractPage.java:409)
at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:244)
at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:400)
... 69 more
Caused by: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [org.sipfoundry.sipxconfig.gateway.FxoPort#-1]
at org.hibernate.impl.SessionFactoryImpl$2.handleEntityNotFound(SessionFactoryImpl.java:435)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:233)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:269)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:985)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:978)
at org.springframework.orm.hibernate3.HibernateTemplate$3.doInHibernate(HibernateTemplate.java:558)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
... 92 more
FixAudiocodes
UC-3747Use ElasticSearch for persisting SystemAudit actionsReimplement the System Audit code to use ElasticSearch and Logstash for persisting the user actions, instead of Postgres.EnhancementAudit
SIPX-393Add known issue for Auth Codes with LocationsThe authorization code is a user itself. The problem is that this special user is not a member of any location/branch.

For example if a call is placed from user X (which is in the same location as the gateway he is trying to use) to the auth shortcode : *82.

The user is allowed to call *82 then is allowed to enter the auth code, and is approved to call by proxy.

But on the next step when user X goes on and tries to enter the external number, the user is blocked because the "auth code" special user needs to transfer user X outside via the gateway. The special user cannot transfer the call externally via the gateway, because the gateway is placed in a location, and can only be used by users from that location, of which our "auth code" special user is not part of.
Known IssueAuthCode
SIPX-293Configuration fails to deploy due to IVR exceptionFixed an issue with a java.lang.NullPointerException when backup server was set to a different IP.FixBackup
UC-3791System Audit BackupEnsure that system audit data is in backup / restore routines.

The system administrator would like to be able to back system Audit data and restore it should there be a system problem.
FixBackup
UC-3839zen 5088 : 15.10 System -> Backups never completes listing backupsSteps to reproduce ..

1. log into 15.10 webui as superadmin using any browser
2. navigate to system -> backups

At the bottom of the page "operation in progress" spins forever, preventing the user from running "backup now" or making any schedule changes.

No commit required. Rebuild after revert of some code for UC-3770 fixed issue.
FixBackup
UC-3840zen 5087 : 15.10 config backup to 15.10 restore failsSteps taken to reproduce .. :

1. on uc.ezuce.mattkeys.net (192.168.10.15) command line, I ran sipx-backup -c to generate configuration.tar.gz, attached
2. on test1510.home.mattkeys.net (192.168.1.183) webui as superadmin, system -> restore -> backup file upload -> configuration.tar.gz from step 1, restore

result is a failure, 99% snapshot attached from test1510.home.mattkeys.net.

No commit required. Rebuild after revert of some code for UC-3770 fixed issue.
FixBackup
SIPX-331Call Queue service labeled as "beta"Remove the (beta) tag on Call queue in Admin Portal.

Go to System -> Services -> Telephony Services "Call Queue (beta)" service should be renamed to "Call Queue".
FixCallQueue
SIPX-314Obfuscate CDRsAdded a new feature to obfuscate (masquarade) parts of dialed phone numbers. Larger companies sometimes have concerns about the data privacy of the cdrs.

Settings can be found in System -> CDR -> Advanced Settings
Enable Masquerading - enable / disable the freature
Minimum length of extension that muse be masqueraded - This value is the minimum length of extension that should be covered with a *
Prefixes excluded from masquerading - Certain numbers prefixed with these values will show the entire dialed number and not be covered with a *
EnhancementCDR
SIPX-84Log Accepted authorization code.Added the ability to log the accepted Authorization Code and store in CDR.EnhancementCDR, AuthCode
SIPX-274Conference maximum legs field , description updateFixed an issue that when creating a new conference, the "Maximum legs " field is set by default to "0",
and has the following description : "The maximum number of call legs to be allowed by this bridge. 0 means unlimited."

Reported problem : Setting up "1" in the "Maximum legs" field will have the same effect as setting "0" - unlimited users will be able to join the conference.

*Setting up "2", will permit two users to join the conference,then the 3rd one will be asked to enter PIN,and upon entering he will hear a prompt "Locking conference" and get disconnected.F
FixConference
UC-442Conference Control Labels incorrectFixed an issue on the conference config page where the DTMF digits for various conference operations, the "Volume" and "Microphone Gain" options are defined as they were labeled backwards. For example, a conference participant presses "6" to increase his volume into conference or "3" to increase the conference's audio to him. But the labels read the opposite.

The Freeswitch config the GUI generates the following:

<control action="vol talk up" digits="3"/>
<control action="vol talk zero" digits="2"/>
<control action="vol talk dn" digits="1"/>
<control action="vol listen up" digits="6"/>
<control action="vol listen zero" digits="5"/>
<control action="vol listen dn" digits="4"/>

The labels here seem to correspond to the GUI labels, "vol talk" for Mic Gain and "vol listen" for Volume. That makes sense. The actual behavior, however, is opposite.
FixConference
SIPX-114Translations in the login screen don't workFixed an issue with the login to the admin GUI so that it would use the default system language.

When the browser default language is for example Dutch and translations for the login screen are available they won't be used in some cases, the text will still be in English.
FixConfig
SIPX-167Disable ipv6 using cfengine promiseFixed an issue with RPM installations to disable IPV6. This was being done properly for ISO installations.

Ensure the existence of:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

is within /etc/sysctl.conf until we have completed ipv6 support.
EnhancementConfig
SIPX-240Creating Snom Group results in Error screenFixed an issue with phone groups other than Polycom.

It was reported initially that when adding a group for snom phones - snom320 in this case, but same with any of the others as well.

Select snom320 from list of devices. Make a change in the group - select save - go to error screen with the following - An internal error has occurred. Click here to continue.

When you go back to the group, your changes are saved in the profile.
FixConfig
SIPX-256Make call back on busy HAMake call back on busy a highly available service.EnhancementConfig
SIPX-283sipXcom version fails to start when installing from RPMsFixed an issue where cfengine fails to run due to missing local_cp_by_digest bundleFixConfig
SIPX-287Add fields to confirm passwords on Admin Settings and SNMP pagesAdd confirmation fields for default password,default PIN and default psql password on Admin Settings page and confirmation field for community string on SNMP page.EnhancementConfig
SIPX-328Sipxcom 15.08 Install Errors using Centos minimal MethodFixed an issue caused when user ran 'yum install sipxcom' instead of 'yum install sipxecs'.

Workaround for 15.08 - use 'yum install sipxecs'.

Installed Centos minimal and then installed Sipxcom using this methodhttp://wiki.sipxcom.org/display/sipXcom/Installing+on+Fedora+and+CentOS.

The following errors were generated following execution of sipxecs-setup. System is unstable and cannot be used.

Centos installation method is used for remote locations where transmission of ISO files is easier with Centos ISO than Sipxcom ISO because image is smaller.

Application settings:
Primary server : yes
Host : pbx
SIP Domain : sipxtest.com
Network Domain : sipxtest.com
Would you like to change your application settings? [ enter 'y' or 'n' ] : n
Initial setup, this may take a few minutes...
error reading information on service vsftpd: No such file or directory
error reading information on service vsftpd: No such file or directory
error reading information on service vsftpd: No such file or directory
error reading information on service mysqld: No such file or directory
error reading information on service mysqld: No such file or directory
error reading information on service mysqld: No such file or directory
Finishing system configuration, almost done...
error reading information on service vsftpd: No such file or directory
error reading information on service vsftpd: No such file or directory
error reading information on service vsftpd: No such file or directory
error reading information on service mysqld: No such file or directory
error reading information on service mysqld: No such file or directory
error reading information on service mysqld: No such file or directory
error reading information on service xinetd: No such file or directory
error reading information on service xinetd: No such file or directory
error reading information on service xinetd: No such file or directory
done.
FixConfig
SIPX-371Unite Web Redirect to insecure linkFixed an issue where if an administrator went to https://servername/sipxconfig/ it redirected the browser to http://servername/sipxconfig/app where it should have redirected to https://servername/sipxconfig/app.FixConfig
SIPX-374Make T.38 reinvite on fax receive optionalCreated an option to send a T.38-ReINVITE when a fax was detected by tone detection to deal with a FreeSwitch bug that was adding additional SDP information into a dialog.EnhancementConfig
SIPX-378Document Known Issue for SIPX-335If an admin changes a user's location the changes are not reflected in Mongo.

Workaround: send server profiles.
Known IssueConfig
SIPX-50When saving a group onSave() is triggered twiceFixed an issue that caused group settings saves to be done twice.

The problem was that when calling from UI we did:

Group group = getGroup();
if (equalsIgnoreCase(User.GROUP_RESOURCE_ID, group.getResource())) {
getCoreContext().saveGroup(group);
} else if (equalsIgnoreCase(Phone.GROUP_RESOURCE_ID, group.getResource())) {
getPhoneContext().saveGroup(group);
} else {
getSettingContext().saveGroup(group);
}

In CoreContextImpl we have:

@Override
public void saveGroup(Group group) {
m_settingDao.saveGroup(group);
}

both methods were intercepted and onSave event was published.
FixConfig
UC-2407Error message after changing User ID needs an updateFixed an error message to indicate that Password needed to be changed and not PIN.

Steps to reproduce:
1.Go to Users->Users->User 200 and changes its User ID to 250
2.Apply

Reported issued : you will receive an error :
"When changing user name, you must also change PIN"
Expected : When changing user ID , you must also change Password
FixConfig
UC-2763Remove IM Chat Room section from Conference pageWith UC-2671 Decouple Conferences and Chat Rooms - getting fixed, the IM Chat Room section is no longer needed under the Features->Conferencing->"Server"->Conferences->"Conference"

These settings were removed.
FixConfig
UC-3228Linksys spa942 phones need template changeFixed an issue where for mwi the voicemail box (mailbox id) should be set to the user extension and voicemail server should be blank. If many of these phones were configured the old setting caused a flood of subscribes to the server.FixConfig
UC-3596Add nodes IP and FQDN in /etc/hostsWe received some tickets where although named is starting prior to mongod it fails to serve IP address of the other nodes resulting in following errors on mongod.log. We've added server node names and IP addresses to servers' /etc/hosts file to alleviate the problem.FixConfig
UC-3663eMail notification checkbox has opposite effectIt was reported that when you did not check the box to notify the user of account creation that the user was notified.

When you add a new user , the NOTIFIED (and not "notify" - there's some confusion) checkbox will be by default unchecked.
That means the user will be informed by his user creation
Otherwise if you check it , the system considers the user to have already been notified , so the email is not sent.

We changed the label from "Notified" to "User was notified".
FixConfig
UC-3666Feature request - ability to assign port number to exchange voicemail dial planAdded the ability to set a port in the Voicemail dialplan when using Exchange Voicemail Server as an option.

Needed the ability to change the port to 5080 when sending and not use 5060. This eliminated the need to use an SBC to communicate to Office 365 Exchange Unified Messaging
EnhancementConfig
UC-3780Translations in the login screen don't workFixed an issue in uniteme when the browser default language was set to for example Dutch and translations for the login screen are available they won't be used in some cases, the text will still be in English.FixConfig
UC-3782Problem with login box when German language is usedFixed an issue with the GUI Login box when using a browser with default language German the submit button is out of the login form.FixConfig
UC-3784CDR Display name cut off on call queue callFixed an issue where certain characters (the '/' character in this case) in caller-id were causing issues with CDR. Worked around the issue by replacing '/' with '-' in callerid name.FixConfig
UC-3793Issues with IC and Chrome in adding secondary databaseCustomer installed a 3 node cluster from 15.08 ISO. Using IE or Chrome, he was unable to add secondary databases in system -> database due to browser/certificate issues. This is not an issue if you've got FireFox (currently) so I haven't labeled it as a blocker, however I think it should be noted in the 15.08 / 15.10 release notes.

Fix: Install a valid certificate on system or use FireFox.
Known IssueConfig
UC-3837zen 5081 : 15.10 invalid /etc/hosts entryA invalid /etc/hosts entry is generated on 15.10 as shown on line two below .. :

[root@uc ~]# cat /etc/hosts
192.168.10.15 uc.ezuce.mattkeys.net uc
$(ips[$(host_servers).ezuce.mattkeys.net][1]) $(host_servers).ezuce.mattkeys.net $(host_servers) # sipXcom cluster
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

Steps taken to reproduce

1. Install 15.08 from ISO.
2. Install 15.10 from ISO.
3. cat /etc/hosts on each

Results attached, 15.08 on the left and 15.10 on the right. It is also there if the server was upgraded via yum from 15.08.

No commit required. Rebuild after revert of some code for UC-3770 fixed issue.
FixConfig
UC-3838zen 5081 : 15.10 DNS zone incorrect after restoreRestored customer sipxcom 14.10 configuration.tar.gz to 15.10 within the webui restore from backup upload (no options checked on the restore). Resulting /var/named/default.view.<sipdomain>.zone was found to be incorrect and using the pre-existing sip domain. For example I was using ezuce.mattkeys.net previously and restored cha.vox.genesyslabs.com .. :

[root@uc ~]# cat /var/named/default.view.cha.vox.genesyslab.com.zone
$TTL 1800
@ IN SOA ns1.ezuce.mattkeys.net. root.ezuce.mattkeys.net. (
105820009 ; serial#
1800 ; refresh, seconds
1800 ; retry, seconds
1800 ; expire, seconds
1800 ) ; minimum TTL, seconds
ezuce.mattkeys.net. IN NS uc

This configuration.tar.gz backup I used can be found here :
sftp://ftp.ezuce.com/support/upload/mkeys/genesys/sa_restore/configuration(28).tar.gz

No commit required. Rebuild after revert of some code for UC-3770 fixed issue.
FixConfig
UC-473Change LDAP + PIN to LDAP + PasswordFixed an issue with error on login where the error message indicated PIN, it should reference Password.FixConfig
UC-492Phone Book not Paginating CorrectlyFixed a problem with the ‘Next’ and ‘Previous’ page buttons not working (remain greyed out) regardless of the count of users within the phone book as best as possible with the control application that was used for this feature. If we limited pagination to 12 the search feature would only search those 12 for a user. We decided to set the page size to 500 to keep searching working. Next and Prev will work if you have over 500 users in phonebook.FixConfig
SIPX-242Custom gateway settings :: CallerID, do not alter name, just numberContribution to just keep the "Display Name" portion of the From header when transforming extensions.

We could potentially check the User Entity and Gateway Entity for caller ID name before using the Display Name in the original From header, but I don't think that's necessary since this will most likely only be used when
1) Sending user info to another PBX
2) Mapping users to a block of DIDs owned, in which case the name portion will probably just be ignored.

I think this is better than having no name portion kept, but if you think it should check the gateway and user entity first let me know and I can change it.
gniculae
EnhancementConfig, Gateway
UC-3795License Counts are IncorrectFixed an issue where the license counts were wrong on the licensing page.

In 15.08, on the System --> Licensing page, the "total users" count seems to show the total users that are NOT phantoms.

The phantom user count is OK.

However, the issue is that because the total user count is incorrect (deducts phantoms) the number of users requiring licenses is wrong. This is because it takes the "total users" - the phantoms. Since "total users" already has the phantoms deducted, this is not the correct logic.

Ultimately, the phantoms appear to be deducted twice as a result, leading to a number for "users requiring license" that is too low.
FixConfig, License
SIPX-226Option to enable Core Dumps for FreeswitchAdded a new option in System -> Media Services -> Advanced Settings to enable core dumps.

in /etc/sysctl.conf add

fs.suid_dumpable=2
kernel.core_pattern=/tmp/core

then

/sbin/sysctl -p /etc/sysctl.conf

verify properly set

[root@openuc ~]# sysctl fs.suid_dumpable
fs.suid_dumpable = 2

In /etc/init.d/sipxfreeswitch add -core switch when starting up, e.g.

DAEMON_START_ARGS="-nc -nonat -core \
-u sipx \
-g sipx \
$DAEMON_ARGS"

then restart freeswitch service as service sipxfreeswitch restart.

Force core dump as:

fs_cli
freeswitch@internal> fsctl crash
Socket interrupted, bye!

Core file generated as

[root@openuc ~]# ls -la /tmp/core.20319
-rw------- 1 sipx sipx 28315648 Jul 21 04:06 /tmp/core.20319

(pattern is core.PID)

To see what did the crash (mind that freeswitch-debuginfo RPM should be installed and same version as freeswitch):

gdb freeswitch /tmp/core.20319

then type bt, you will get something as

(gdb) bt
#0 0x00007fe36c705625 in raise () from /lib64/libc.so.6
#1 0x00007fe36c706e05 in abort () from /lib64/libc.so.6
#2 0x00007fe36ed59c61 in switch_core_session_ctl (cmd=SCSC_CRASH, val=0x0) at src/switch_core.c:2506
#3 0x00007fe35a3d49c5 in ctl_function (cmd=<value optimized out>, session=<value optimized out>, stream=0x7fe34943cae0) at mod_commands.c:2219
#4 0x00007fe36ed873de in switch_api_execute (cmd=0x7fe34c00bd80 "fsctl", arg=0x7fe34c00bd86 "crash", session=0x0, stream=0x7fe34943cae0) at src/switch_loadable_module.c:2438
#5 0x00007fe36ed3153b in switch_console_execute (xcmd=<value optimized out>, rec=0, istream=0x7fe34943cae0) at src/switch_console.c:391
#6 0x00007fe35b999a75 in api_exec (thread=<value optimized out>, obj=0x7fe34943d470) at mod_event_socket.c:1503
#7 0x00007fe35b99b4cd in parse_command (listener=<value optimized out>, event=0x7fe34943d758, reply=0x7fe34943db70 "", reply_len=512) at mod_event_socket.c:2253
#8 0x00007fe35b99d9b7 in listener_run (thread=<value optimized out>, obj=0x7fe36000b208) at mod_event_socket.c:2677
#9 0x00007fe36d0bd9d1 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fe36c7bb8fd in clone () from /lib64/libc.so.6

or

bt full
thread apply all bt
thread apply all bt full
EnhancementConfig, Media
SIPX-239Upgrade FS to latest versionUpgrade FS to latest version (1.4.20)EnhancementConfig, Media
SIPX-326Add vp8 codec config for media servicesEnabled the vp8 codec in media servicesEnhancementConfig, Media
UC-3210Adding the 137th BLF and click apply or save, it will show the error message "Number of speed dials cannot exceed 136" and not write to the database.Fixed an issue that if a 137th BLF was added to a usre and the admin would click apply or save, it would show the error message "Number of speed dials cannot exceed 136" and not write to the database. Config now will read SSS parameter for the maximum number of speed dial and check against that.FixConfig, SSS
UC-3797System audit (sipxconfig) listed on secondaries in system -> servicesFixed an issue where "System Audit (sipxconfig)" is erroneously listed as an available service on secondary servers. Screenshots are attached showing examples.FixConfig, System Audit
SIPX-228Provision JitsiBe able to provision Jitsi as a phone and XMPP client from within sipXcom.

In phone and phone groups be able to create a Jitsi phone and associate a user with it.

Enable the ability to add XMPP capability if the user has sipXcom XMPP configured.

Configuration should work much like existing Bria configuration capability.

https://jitsi.org/Documentation/ConfigureJitsiWithProvisioning

Note: Jitsi doesn't seem to go to the user inbox properly to check VM, Dial 101 as workaround (see jira.sipxcom.org/browse/SIPX-375)
EnhancementJitsi
SIPX-267Change System -> Branches to System -> LocationsAs part of the new Locations feature, change the Branches menu item to be Locations.EnhancementLocations
SIPX-269In Locations (Branches) page add Calling RestrictionsAdded the ability to restrict calling based on a user's defined Location.

The Administrator would like to be able to configure which other Locations users in a particular Location are allowed to call.

The Administrator would like to be able to control what features users from other Locations are allowed to access for a particular Location (i.e., Auto Attendants, Hunt Groups, Intercom, Paging, Conference Bridge, Call Queue, Park Orbits, Authorization Codes).
EnhancementLocations
SIPX-285Add option to assign location(s) for additional resourcesAdd enhancement to support Locations for system services.

AA
Auth Codes
Call Park
Call Queue
Conferences
Hunt Groups
Paging
others...

Rename Location to Server in Call Park page
EnhancementLocations
SIPX-313References in from settings_with_location table not removed when node is deletedFixed an issue that caused the settings_with_location table is not cleaned up when locations deletedFixLocations
SIPX-318Users in different locations are allowed to call each other by defaultUsers in different location should not be allowed to call each other by default.

1.Created two Locations.
2.Created two user groups with one user in each group.
3.Assigned a different location to each user group.
4.Verified in mongo that users are assigned to correct location.
5.Called between these two users
Result : users can successfully call each other.
Expected : they should not be able to
EnhancementLocations
SIPX-321Add more info on Locations pageBy default calling between different locations will not be allowed.
This could be important information to have in the admin gui either on the locations page or under the Add location page.
Perhaps there is more relevant info that should be added..
EnhancementLocations
SIPX-362SIP Core related changes for Location Permissions for InboundNote the "loc_assoc_inbound" new field that contains the locations where the external inbound calls are permitted
The old loc_assoc field is now restricted to locations where internal calls only are permitted

Core code needs to be changed to ackwnowledge these new field.
EnhancementLocations
SIPX-369Location fallback permissionsAdded an enhancement so that in the Locations panel there will be a new tab named Fallback Calling Permissions with a dropdown listing all locations. When a location is picked it will be replicated in Mongo as loc_assoc_fallback, single value. If no location selected there will be an empty value replicated as loc_assoc_fallback.

The fallback permissions control call transfers.
EnhancementLocations
SIPX-370SIP Core - Location fallback permissionsAdded an enhancement to support adding permissions to the fallback call routing in support of permissions for call forwarding.EnhancementLocations
UC-3763Change System -> Emergency Dialing -> Locations text box nameAs part of adding the new Locations feature we changed the 'Location' text box name to read "Emergency Response Location" in Emergency Dialing so as not to cause confusion with Locations.

Also modify description under text box that currently reads "Physical location details (such as room, floor, building, street address). This should be as fine grained as possible. Third party applications may use this to update the Public Safety database." to read "Physical emergency response location details (such as room, floor, building, street address). This should be as fine grained as possible. Third party applications may use this to update the Public Safety database."
EnhancementLocations
SIPX-278MoH not working when phone behind NATFixed an issue with remote phones would not get MoH.

This does not replicate on setups where servers and phones are on the same network.(no NAT)

Configuration:
Server is installed in AWS (behind NAT)
Phones are behind their own NAT.

Added two set of logs.
In one set, call is between two Polycom phones (fw 4.1.7) - there is no MoH.
In the other set,call is between a Polycom and a Bria softphone - there is MoH only when Polycom holds the call.

Fail scenario <Polycom phones>--Nat--Internet--Nat--<openUC> :
1.Polycom 10.2.0.51 - extn 2801 calls Polycom 10.2.0.52 - extn 2802
There is voice path both ways
2.2801 holds call
Result Fail : 2802 does not hear Moh
(also tested when 2802 was the one to hold the call,there was no moh as well,but i did not include that in the logs/capture)

Semi-Fail scenario <Polycom + Bria >--Nat--Internet--Nat--<openUC> :
1.Polycom 10.2.0.51 - extn 2801 calls Bria 10.2.0.200 - extn 2804
There is voice path both ways
2.2801 holds call
Result Success : 2804 hears Moh
3.2801 unholds call
There is voice path both ways
4.2804 holds call
Result Fail : 2801 does not hear MoH
FixMoH, NAT
SIPX-142Make TCP default transport for Polycom phonesIn many cases recently it has become apparent that continuing to use UDP for SIP signalling with Polycom phones hasn't really worked:

* Server Failover in HA environments
* Large BLF lists

TCP is also inherently more reliable which results in a more consistent customer experience.

This ticket is for two configuration items:
* Make TCP the default transport protocol for Polycom Phones
* Enable TCP Fast Failover by default
EnhancementPolycom
SIPX-243Polycom Configuration Server Feature Control DND/FWDFixed an issue where the Polycom Plugin generates wrong Parameter in Server Feature Control for DND and Forward

Parameter is
serverFeatureControl.doNotDisturb.enable
not
serverFeatureControl.doNotDisturb.enable.enabled

Same for Forwarding

Related to SIPX-36
FixPolycom
SIPX-275Polycom Configuration improvementsAdded some new configuration features to the Polycom configuration plugin.

- Added ACD Agent login-logout
- Added admin and user password configuration
- Added labels for Polycom firmware 5.2.1, 5.2.2, 5.2.3, 5.3.0, 5.3.1, 5.4.0
- Added configuration for local processing of DND and FWD, when server-based feature control is active
- Making device backgrounds editable (SoundPoint and VVX series) with enable/disable feature

Tested with 15.10 and VVX 300/310/410/500
EnhancementPolycom
SIPX-329Configuration option for Push and State Polling User, Password and TypeAdded the configurable parameters for Polycom plugin so that user and password for push and polling messages could be configured.

Used for remote control and tracking of phone status

Tested with 15.10, Polycom VVX 500, VVX 410

Parameter on the phone
WebGUI of VVX Phone > Settings > Application > Phone State
WebGUI of VVX Phone > Settings > Application > Push

Parameter in config gui
Devices > Phone Group > Polycom VVX... > Applications

Moved UCDesktop in Menu Applications
EnhancementPolycom
SIPX-332Polycom VVX 5.4.0 only supporting 34 total linesIt was reported that Polycom firmware 5.4 supports 34 total lines+BLFs compared to 48 on firmware 4.1.7

e.g. On VVX 600 running fw 5.4.0 if you deduct the total number of line keys supported, which is 16 , you will only have 18 slots available for BLFs
Compared to 4.1.7 - 32.

Also valid for firmwares 5.3,5.2,5.1


From: http://support.polycom.com/global/documents/support/setup_maintenance/products/voice/EM_AG_Addendum.pdf

Polycom phones can have multiple registrations; each registration requires an address or phone number. All VVX phones support up to 48 registration line keys and up to 34 line registrations when connected to three expansion modules.
Known IssuePolycom
SIPX-36DND disable does not workFixed an issue that caused the Polycom disable DND feature to not work.

There was a typo in the syntax that is used in the config file generated for each phone.
The config file contains:
feature.doNotDisturb.enable.enabled="0"
But it needs to be
feature.doNotDisturb.enable="0"

This is controlled by the setting under Features > Do Not Disturb in the phone or group config.
FixPolycom
SIPX-78Polycom VVX 1500 Missing Desktop IntegrationThe Polycom VVX 1500 phone did not have the Desktop Integration settings available in the template. Added the settings.FixPolycom
SIPX-88Polycom firmware 5.1.1 default administrator passwordAdded the ability to set the Admin user and password for Polycom phones.

After upgrading to Polycom release 5.1.1 rev B a warning message is displayed to the user: "Default admin password is in use, please contact your administrator"
EnhancementPolycom
UC-3244zen 3420 : Desktop integration missing from VVX 1500 templateAdded the desktop integration portion of the Polycom template is for the VVX 1500 template, whereas it is there under all other VVX templates.EnhancementPolycom
UC-3756Update Polycom - ezuce custom background imagesUpdated eZuce background images that Polycoms load on their displays.

Update the ezuce logo to use the new one and change color scheme - currently background is white (this is an issue because the menu options are also written with white).

VVX400 does not have custom bg (works for vvx410)

VVX600 needs to have the ezuce logo differenty - currently on the main screen , you cannot see the ezuce logo because it is blocked by the black bar where softkeys reside.
EnhancementPolycom
UC-154Admin should be able to configure the wait music per queueAdded the ability to allow the Reach administrator to select a wav file to play while in queue. There should be a setting for MoH file per queue AND also a setting for MoH per client. The per client setting shold be on the client page and override the queue setting. This is to play client specific MoH messages while in queue.

Note that if an IVR script sits in front of Reach and is setting the client within the script (rather than the line configuration setting the client), the client specific MoH file still needs to be used. Minimally, the IVR should be able to set the MoH file to use along with the Client.

New setting button implemented in Admin Client Page and Queue Page allow the administrator to select a wav file to play, listen and delete it.
Multiple files can be added, they are played at random in a loop.
If both set, Client MoH will override Queue MoH files.
IVR scripts are available in attachments, bridging the call through Reach Line using two different methods, ToReachDirectly.lua can be customized to play either Client MoH or Queue MoH.
EnhancementReach
UC-2127Add "Traffic Detail" Reach ReportAdd report as defined in the attached PDF.EnhancementReach
UC-2699Change Date filter to Date/Time filter on Reach ReportsAllow the Reach supervisor user to select a date/time range for start/stop rather than just a date start/stop for the following reports:

Agent Group Productivity
Agent Productivity
CDR
Queue Group Traffic Overview
Queue Traffic Overview
EnhancementReach
UC-2916Reach blinking title bar when browser is minimizedImplemented a blinking title bar to notify for "auto release" or new call being offered.

When the browser is minimized, blink the title bar if the user is being offered a call or if they have been placed into the release mode automatically (e.g. they were offered a call but did not answer it).

Once the user opens the browser again, the blinking should go away.
EnhancementReach
UC-3156The state of an agent that is on an outbound call is not reflected under the supervisor tab.Fixed an issue caused when an agent makes an outbound call the supervisor was not aware of the agent's state changes.FixReach
UC-3343Rotational MOH for Reach CallsAdded the ability for a Reach administrator to have multiple MoH files defined and have them cycled through.

We need to allow the administrator to select a directory where .wav files exist. When the directory is selected, MOH should be provided such that all of the files in the MOH directory are rotated through.

This new setting should be configurable per queue AND also per client. The per client setting should be on the client page and override the queue setting. This is to play client specific MoH messages while in queue.

Note that if an IVR script sits in front of Reach and is setting the client within the script (rather than the line configuration setting the client), the client specific MoH file still needs to be used. Minimally, the IVR should be able to set the MoH directory to use along with the Client.

See related UC-154
EnhancementReach
UC-3531Reach Agent Association to PSTN NumberAdded the ability for an Agent to be associated with a PSTN number so that the Agent can be logged in automatically without having to enter this information.

In the Agent admin configuration for Reach, there will be a new configuration parameter. This new parameter will map an agent to a predetermined PSTN number(s). The interface for adding the list of associated numbers will be similar to how call forwarding is configured. There will be an "add number" button/link that will allow the admin to add a new, blank entry. Once the admin hits this "add number" link, they will be given a free form text box to enter the PSTN number. This PSTN number need not be checked for format other to ensure that it is not blank.

Each agent would have a mapping with zero or more PSTN numbers.

There cannot be duplicate PSTN numbers in the system, thus avoiding multiple agents being associated with a single pstn number.

From a configuration perspective, this is all that is required. An agent will have a 1:N relationship with a list of PSTN numbers and that will be stored in the config DB for later use by other application(s).

Ultimately, we will make a feature addition such that Reach will provide an API call that can be used to login an agent via PSTN number directly, without the use of the agent user/pass since there is a direct relationship between the user and a PSTN Number.
EnhancementReach
UC-3556Session manager widget stuck in "outgoing" after an agent calls back a clientFixed an issue that caused a Reach agent to be stuck in 'Outgoing'.

Steps to reproduce:
1.Client calls Line 303 where Agent 2007 is Idle - Session manager icon changes correctly
2.Client presses * to leave a VM in this queue and then leaves a VM and presses * again to finish.
3.Agent is alerted by the newly left VM
4.Agent successfully listens to this VM and then from the Dashboard clicks the Callback icon

Issue : after the agent ends the call,his widget is stuck in "outgoing" - check attached screenshot.
FixReach
UC-3557Callback button and VM player disappear after first useFixed an issue that caused the Voicemail Player to disappear after first use.

Used a cluster with services enabled as in the attached photo.
Also Reach is enabled only on Primary server .
Server config is taken from openuc.ezuce server.(very similar)
Line config photo is also attached.

Steps:
1.Client calls Line 303 where Agent 2007 is Idle
2.Client presses * to leave a VM in this queue and then leaves a VM and presses * again to finish.
3.Agent is alerted by the newly left VM
4.Agent successfully listens to this VM and then from the Dashboard clicks the Callback icon (dashboard view as seen in r1.png)
5.Client is called back.Agent and client have a successful call
6.Client repeats the process and calls Line 303 where he leaves a VM again

Issue : The agent is alerted by the newly left VM , so he answers and listens to this VM, however the dashboard does not display the Callback button and VM player(see capture r2.png).The agent cannot call back the client

Workaround: agent must re-login in the dashboard.

Attached snapshot for this cluster , reach log is on Debug.
FixReach
UC-3662Queues will not inherit Recipes from Queue GroupsFixed an issue that caused Queues to not inherit Recipes from Queue Groups.

Steps :
1.Create a new Queue Group and add a Recipe step to it :
Tick interval is 15 Send To voicemail Run once
Result:successfully created (1.PNG)
2.Create a new Queue and assign it to the above group
Result: successfully created. (2.PNG)
3.Client calls in this queue and waits (there are no agents available) :

Expected : After 15 seconds the client should be sent to VM as defined in the inherited recipe from the queue group
Result : Client is left in queue as if recipe does not work

It does not matter what recipe you setup.
Recipe steps work if they are defined straight on Queues
Skills are inherited from the Queue Groups,so that works.
FixReach
UC-3682Reach warm transfer not working correctlyFixed an issue with Reach warm call transfer not working properly. Problem was caused by FS upgrade in 15.06. Problem does not reproduce with older FS and now does not reproduce with FS 1.4.20 included in 15.10.

Workaround: Downgrade FS in 15.05 - 15.08.

Customer originally described .. :

"During testing on reach on 15.05 we uncovered the following issue that did not exist in 14.04.

When answering a Reach call from a Bria Softphone (Stretto for CCS and Bria3 3.5.5) when selecting transfer/conference the hold button on the portal placed the Bria on hold, this is an issue because it's not obvious to the agent. The call does not release from hold unless manually done from the Bria. If only happens on each initial call to the agent, for example if the call is transferred back the agent, the agent can perform a transfer/conference without thee Bria going on hold.

Tested on 15.05 and 14.04, 14.04 has no issue."

Steps to reproduce .. :

We did further testing. Behavior for Polycom is the same as Bria. Please note Bria was on my PC over VPN and Polycom was on my home network registered through the Ingate SBC.

On Reach3 15.05 (see packet capture from Bria "reach3_Bria_hold.pcapng"
1. Agent "pan" answer call
2. Agent places caller on hold
- Bria goes on hold
3. Agent "pan" conferences agent "lca"
- Agent "lca" answers
***-Bria for agent "pan" does not release from hold***
- Agents cannot converse, (If agent "pan" clicks hold button in UI, customer and agent "lca" can converse).
4. Agent "pan" manually takes Bria off hold
5. All parties converse.

On Reach1 14.04 (see packet capture from Bria "reach1_Bria_hold.pcapng"
1. Agent "pan" answer call
2. Agent places caller on hold
- Bria goes on hold
3. Agent "pan" conferences agent "lca"
- Agent "lca" answers
-Bria for agent "pan" releases from hold
- Agents can converse,
4. Agent "pan" click hold in UI taking customer off hold
5. All parties converse.

Additional information :

" I took a closer look at each Notify hold and talk request and the "To:" Address in 14,04 is the sip uri of the agent in both hold and talk. In 15.05 the hold has the correct sip uri while talk changes the "To:" Address to the callers sip uri
FixReach
UC-3690Remove Security Drop Down from Agent Group and Agent pages - ReachRemoved the Security Drop Down from Agent Group and Agent pages as this functionality is replaced with the user permission profile.

Ensure that existing users are converted appropriately:
Current Setting of Supervisor or Admin will be made part of the Supervisor permission profile. Current setting of agent will be made part of the agent permission profile.
EnhancementReach
UC-3701Move Reach Permission Profile Assignment to Agent GroupAdded a Permission Profile setting also to the agent group.

For newly added agent groups, ensure that this new parameter is defaulted to the prebuilt "agent" permission profile.
The permission profile will be stored in AgentGroup mongo entity in "permp" field (same as Agent).

Reach will use the most permissive permission between the Agent and Agent Group permission profile.
EnhancementReach
UC-3702Remove "Security" setting on Reach Agent and Agent Group admin pagesRemoved the security setting drop down containing values of "agent", "supervisor" and "admin" on both the Agent and Agent Group Reach admin pages.

These are no longer needed since we have added the permission profiles and we've "hard coded" the security level in the Reach code such that a user has access to everything by default.
EnhancementReach
UC-3705Expose Reach function to return the current status of an agentAdded an API call to allow an ivr script to query Reach for the status of a particular agent.

API call should receive the agent ID as the input and return a string a value that indicates the current state of the agent. The state returned should include at least the following:
not logged in
idle (would indicate that they are logged in and idle)
unavailable (would indicate that they are logged in and unavailable)
EnhancementReach
UC-3707Expose Reach API call to login agent via predefined PSTN associationAdded the ability for a Reach agent to login via an IVR.

Dependent upon UC-3531

In the agent configuration, there will be a list of predefined PSTN numbers that are associated with a reach agent. This work is defined in UC-3531.

As described in UC-3548, Reach offers the possibility to effectively login an agent via a PSTN number. What we need now, is to check for a predefined PSTN association and log an agent in based on that.

Specifically, an IVR checks in mongo for a PSTN number. If there is a match, it would retrieve the credentials of the agent and send those over to Reach. Otherwise, it would prompt to the agent for an agent id and password. This way we leverage the work done in UC-3548.

Reach should return to the IVR a custom event that specifies the result of the login: success or error.

Also, there should be two options when logging an agent in: login and make available and login and leave the agent on released. This is important if we don't want an agent to receive calls as he logs into the system, but rather let him make outbound calls.
EnhancementReach
UC-3722Reach Use Advance Login allows clicking "use advanced" withoug a URI enteredAdded an improvement to leave the Advanced Login button greyed out until a valid SIP URI is entered.

As of 15.08, once a reach user logs in they are sent to a screen that allows them to use advanced login options. This assumes that the user that logged in has the correct permission to allow them access to advanced login options.

They are presented with 2 buttons as follows:
Use Advanced Login (in grey)
Continue (in blue)

Currently, they can click the Use Advanced Login button even if they do not put anything in the Advanced Options section (e.g. a sip URI). If they do that, they are logged in but they will be offered calls on their normal extension (registered line). This is a bit counter intuitive.

This request is to have the Use Advanced Login button greyed out and not selectable until the user puts a URI in the advance login area. Once they enter a URI there, the Use Advanced Login button should be enabled and turned to blue.

In addition, by default, we should have the Advanced Options sections opened up so that the Endpoint field is displayed by default.
EnhancementReach
UC-3723short version of the CDR reportThe report will be a short version of the CDR report and will include the following data.

For all "initial" calls into Reach (segment 1 calls), show CDR details with the following data fields:
Queue
Line
Agent Login
Agent Name
Disposition
Caller ANI
Caller ID
Offered To Agent Date/Time
Accepted by Agent Date/Time
Time in Queue
Call End Date/Time
Call Duration

Input parameters for execution of the report will minimally include start date and end date.
EnhancementReach
UC-3732One can access Reach pages that should not be visible, if he changes the URLFixed an issue that allowed Agents to change the URL and get to pages that should not be visible to them.

An agent logs in his dashboard and he will be directed to :
https://FQDN/reach/portal/dashboard#main
If he changes url to :
https://FQDN/reach/portal/dashboard#reports
He will be able to access the reports page
What is good is that he cannot generate a report.

https://FQDN/reach/portal/dashboard#supervisor - will send you to supervisor page but you won't see anything.

Access to these pages should be restricted if permission is not provided.
FixReach
UC-3749Reach VQueue Manager Dies due to recipe configFixed an issue where the VQueue Manager dies if there are recipe steps that are built that execute simultaneously. Specifically, if one of those recipe steps is a transfer to URI.

Example was that one customer had a recipe step built for remove skill. It was a "run many" step and was configured for 15 seconds. They then had a transfer to URI/Extension running at 60 seconds. This created a situation where both recipe steps executed. The issue is that there appears to be a race condition where the call is transferred already but Reach is in process of performing the remove skill on the call. This caused the VQueue Manager to crash.

The VQueue Manager was properly restarted but did not appear to have knowledge of all of the existing VQueues in the system and thus there were routing issues caused by this.

THIS FIX SHOULD INCLUDE 2 PIECES:
1. Handle the recipe config condition so that the VQueue Manager does not die off.
2. Improve the code around respawning the VQueue Manager such that it "discovers" VQueues that are already active in the system (including associated calls and agents).
FixReach
UC-3757Improve Reach Permission ProfilesImproved Reach permissions profiles in multiple ways:
- Prevent user from enabling permissions from the browser's console.
- Do not allow agents to transfer (or make a conference) on a queue for which he doesn't have permissions
- Add the agent's permissions in the dashboard, in a text field, under "My profile", so that he would be aware of what he is allowed to do in Reach.
EnhancementReach
UC-3778Clean old queues and agents from openacdpermissionprofile documentFixed an issue where if a supervisor disables Queue Manager and Agent Manager, the previously selected queues or agents groups still remained in the database.FixReach
UC-3786JasperReports deployment improvement/updateUpdate JasperRepors deployment process allowing us to release new reports for 15.10 releaseEnhancementReach
UC-3818Agents kicked out from dashboard - permissions relatedFixed an issue where cfter some changes on permission profiles,
followed by some basic calls that checked permissions applied correctly,
agents were automatically set to released.
FixReach
UC-3836Document known issue UC-3821Known issue where after upgrading to 15.10, the cache is any browser that you've historically used to log into Reach has to be cleared to properly load the user portal.

If you do not clear cache, the user login will be accepted but not widgets will load. You will be able to load the session manager widget and perhaps some others but it will appear as though you don't have permissions for much of anything.

This needs to be documented at a minimum but I'm hopeful that we can do something programmatically to resolve this as this will be messy in live environments after an upgrade to 15.10.
Known IssueReach
UC-2305GUI crash in a regions partitioned setup (intermitent)Fixed an issue with Regions such that when Cluster was in a partitioned state after making config changes that apply to all servers, GUI would crash because httpd service crashed.

Setup : 8 servers in HA with 3 regions (2+1 default)

Steps :
1.Default region is no longer available - partitioned
2.From the GUI make a config changes that applies to all servers

Reported issue : After making config changes that apply to all servers, GUI will crash, httpd service will crash

Workaround : service sipxconfig restart
FixRegions
UC-3616Proxy/SAA should instruct the phone to send the call-pickup through proxyFixed an issue where in the case of a call pickup of a shared line, the phone is sending the INVITE w/ replaces to the 2nd phone w/o using proxy and this will simply break in cases when the phones can't communicate directly (i.e. TLS, NAT, ...).FixSAA, SIP
UC-3750GRUU problem in 15.06Fixed an issue with GRUU caused by an earlier commit (introduced in 15.06) that caused GRUU to break when used with wss transport.

Customer was using GRUU address to target specific registration instances.
Customer used to receive the contact's GRUU address as:
~~gr~BtXVZtl2D-l@server.fqdndomain.com;gr
and now doesn't receive it on registration.
FixSIP
SIPX-377Document Known Issue for SIPX-376If a server in a partitioned region is rebooted before WAN comes up the Registrar service will fail to start.

How to reproduce: Setup 2 regions, one region has 4 servers, and the other has one.

Have phones registered in both.

Partition off the regions from each other (as in a WAN failure).
Reboot the server at the 1-server region.
After the server reboots, the registrar service will fail to start.
Registrar will start working properly once the WAN comes up.
Known IssueSIP, Regions
SIPX-310Problem receiving faxes in 15.06 and later & sipXbridge Specs ViolationFixed an issue with sipXbridge that caused certain SDP values to not be passed. This was manifested by a FS but that's adding additional SDP settings.

During a T.38 re-INVITE sipXbridge strips a custom payload from the m line sent by FS. The resulting m-line has no payload at all which of course is a syntax error. This seems to be a direct result of the regression pointed out here:https://freeswitch.org/jira/browse/FS-6954.

This may cause SBC's that don't pass the m-line in SDP to not be able to receive faxes.
FixSIPTrunk
UC-3783Openuc-saa service restart needed after a server rebootImplemented a workaround with Cron while we're investigating to restart openuc-saa after a server has been up 5 minutes.

Steps to replicate :
1.Configure openuc-saa on server and verify that it actually works on phones(and not just that service is enabled).
Result : there is a good chance it works
2.Reboot the server and verify that saa works again as in step 1.
Result : service is running put phones are not showing any presence updates)

Workaround : service openuc-saa restart
FixSSS, SAA
UW-180Voicemails (portrait): when hitting Load message , download and garbage bin go over the player.Fixed an issue that was caused by hitting 'Load message' on Android in Chrome that caused 'download and garbage bin' to appear over player. In ladscape it worked fine.FixUniteLite, UniteWeb
UW-312Activity List cleared on logoutFixed an issue with Unite Web that caused Activity List items are cleared on logout/login.FixUniteLite, UniteWeb
UW-313Notifications no longer workingFixed an issue that caused the red dot representing new IMs to no longer be displayed on the browser tab.
Sound notifications also don't work.
This is the Console error:

TypeError: Notify.isSupported is not a function
at Notify.myNotification.needsPermission (fc9f128370b1ea9770ccfadb.scripts.js:1)
at fc9f128370b1ea9770ccfadb.scripts.js:1
at handleMessage (fc9f128370b1ea9770ccfadb.scripts.js:1)
at Object.h.Handler.run (4e42ce69bdd61567355bfd36.modules.js:3)
at 4e42ce69bdd61567355bfd36.modules.js:3
at Object.h.forEachChild (4e42ce69bdd61567355bfd36.modules.js:3)
at Object.h.Connection._dataRecv (4e42ce69bdd61567355bfd36.modules.js:3)
at Object.a.Bosh._onRequestStateChange (4e42ce69bdd61567355bfd36.modules.js:4)
FixUniteWeb
SIPX-307Yealink configuration crashes on applyFixed an issue with Version 15.06 - 15.10 that caused the Yealink Configuration to crash on apply (similar to SIPX-240)

Failure occurs in "org.sipfoundry.sipxconfig.site.phone.EditPhoneDefaults.java), inside the apply Method the "DeviceVersion" throws a null-pointer exception.

The DeviceVersion is null, because inside the Yealink-Plugin the a phone is tagged with "yealinkPhone" and the configuration looks for "yealink"

To handle this, it is necessary to change "yealinkPhone" to "yealink" to make it work (plugin folder and bean_id)

Made some changes to do this (pull request follows), but this means the bean_id will changes, so older entrys in the database will crash the web GUI.

To fix this a change inside the postgres is needed, which is not part of the commit source. Tested with 15.10.

SQL Statement to fix after update
UPDATE "public"."phone" SET "bean_id"='yealink' WHERE ("bean_id"='yealinkPhone')
FixYealink
SIPX-309Yealink DND mode.Fixed a problem with DND mode on Yealink phones.
"Feature Key Synchronization" - must be unchecked in phone's web interface or by autoprovision fille.
FixYealink
SIPX-323Yealink ACD and SIP Server TypesAdded some new configuration parameters for Yealink Phones:

ACD inital state on login
ACD auto login after reboot

SIP Server types
UCAP, Genesys and Genesys Advanced
EnhancementYealink
  • No labels