Child pages
  • sipXcom 15.04
Skip to end of metadata
Go to start of metadata


Following quickly on the heels of 14.10.1, the 15.04 release of sipXcom addresses a number of bugs and adds some additional functionality.

New Features:

Add IM ID to initial user creation page

Create Proxy plugin to solve MoH / Ringing overlap for poorly behaving SBCs (solves an issue with Acme)

Add option to bridge call when transferring through IVR (instead using REFER)

Implement expire grace period for registrations

Call forward from phone

Enable/Disable voicemail deposit option not shown in admin gui


TCP failover support.

Implement log-callback in order to catch mongo cxx driver's logs

Upgrade Freeswitch to 1.4.15

Upgrade Mongo to 2.6.5 including all drivers (Java / C++)


  1. 15.04 Full Release Notes are located here:

  2. 15.04.1 Hot Fix Release Notes are located here:



Who Should Install?

This release is recommended for all 14.XX installations.

New Installs

A new ISO is available for 15.04 at:


To update please edit your /etc/yum.repos.d/sipxecs.repo file and reference the new download server (  The repo should look as follows:

name=sipXecs software for CentOS $releasever - $basearch

To edit this file, login to your sipX server as root and then use either vi or nano (easier).

vi /etc/yum.repos.d/sipxecs.repo


nano /etc/yum.repos.d/sipxecs.repo

Once the repo file is modified, run:

yum clean all

yum update

Issues Addressed

There are a couple more that need to be added in here and hope to get done shortly.


JIRA IDJIRA nameRN ContentEnhancement/Fix/Known Issue
UC-1895Update Call Forwarding on Schedule change.Fixed an issue where if you change the schedule later and press apply the changes will not be applied until you go to the Call Forwarding Tab an press apply there.Support Improvement
UW-167Request for conference/mybuddy/proxy to escape special charactersFixed an issue where if a user pasted a phone number with special characters to dial a user or a number in conference, the call would disconnect. Solution was to escape special characters and only dial numbers entered.Support Improvement
UC-515Security Vulnerability: SNMP community string can be guessedAdded the ability to configure a custom Community string (under Diagnostics->Snmp->) where you can set a community password.Support Bug
XX-11567Backup/restore does not handle some promptsFixed an issue where backup / restore did not handle some uploaded media files.Support Bug
SIPX-7Create Proxy plugin to solve MoH / Ringing overlap for poorly behaving SBCsCreated a proxy plugin to:

1. Check if the sipfrag of a notify is a 180 Ringing
2. Convert to sipfrag 100 Trying before sending to Polycom

End result: Polycom will only send BYE upon receipt of sipfrag 200 Ok. The intention is to let MoH play the entire alerting phase.
New Feature
UC-108Add IM ID to initial user account setup pageAdded the ability to configure a user's IM ID on the new user setup page.New Feature
XX-11238Authentication Rules should not authenticate calls to registered users from an SBC or gatewayAdded a new feature where if an SBC handles remote worker registrations and it is also configured as a gateway with permission, calls to registered users will be authenticated. This will fail if the call is coming from the PSTN.New Feature
XX-11518Call forward from phoneImplement a new proxy plugin to handle call forward when enabled on a phone. The plugin will honor the 302 from phone and sign the contact. This will allow calls to get routed as if it came from config.

Phones must be registered and the 302 must come from the same ip as the registration. Same as UC-3437.
New Feature
XX-11551Implement expire grace period for registrationsImplement a configurable grace period before registrations are deemed expired to minimize the adverse effect of a delayed replication process for real time collections.New Feature
XX-11601Add option to bridge call when transferring through IVR (instead using REFER)Added a new feature to change the transfer method and bridge the call in Freeswitch. Since some ITSPs does not support REFER with replaces, this feature is an attempt to remedy this problem. This will alow also ringback / MoH on transfer through IVR. Feature is disabled by default.New Feature
XX-11449Upgrade to Mongo 2.6.5Upgrade to Mongo 2.6.5 to make new client drivers available to openUC services.Improvement
XX-11450Update java MongoDB Client drivers for all system java componentsUpdate java MongoDB Client Drivers for all system java componentsImprovement
XX-11451Update C++ MongoDB Client drivers for all system C++ componentsUpdate C++ drivers for MongoDB in all system components that use itImprovement
XX-11503Enable/Disable voicemail deposit option not shown in admin guiAn improvement to the system was made so that the Administrator can enable or disable voicemail deposit for individual users. Users can change a setting called enable/disable voicemail deposit while logged in as their extension in GUI under Attendant settings. This option should also be shown when a superadmin user looks at the Attendant options for an extension but it is not. Since users accidently set (or forget) this option and call for support because their voicemail is not working, it would be handy for superadmin to see it.Improvement
XX-11576Upgrade Freeswitch to 1.4.15Updated Freeswitch to 1.4.15. There are 1000+ fixes to freeswitch since June 2014 version 1.4.6 (version of Freeswitch in 14.10).Improvement
XX-11579Implement log-callback in order to catch mongo cxx driver's logsCreated an improvement that created a hook in order to intercept mongo cxx driver's logs and save them in sipX components' log filesImprovement
XX-11585TCP failover support.Created an improvement to Proxy (sipXtackLib) so that when a write operation fails, the TCP transport will now look for an alternative flow (or create a new one).Improvement
SIPX-5IM User group completely removed from openfire after a name changeFixed an issue where users would see in their rosters a removed user group.Bug
SIPX-6Logged messages are not escaped anymoreFixed an issue, created by another commit, to re-enable the escape filter for log entries. The commit broke simple greps after INCOMING and OUTGOING messages.Bug
SIPX-8Openfire IM plugin doesn't handle call-transfer and multiple calls to/from the same user (copy of UC-3541)Fixed an issue with the openfire IM plugin where it did not properly handle call transfer or multiple calls to the same user. In case of a call transfer, the presence for all users involved in the transfer will be 'available' even if 2 users should be on-call. In case of multiple calls for/from the same user, the presence will be set to 'available' after the 1st call is closed even if the 2nd call is still up.Bug
SIPX-16sipXconfig does not start when system is offlineFixed an issue where resolution is attempted and when system offlin sipxplugin2.beans.xml is not properly parsed. Changed the header to avoid this checking.Bug
UC-1382Consultative transfer must point to the exact gateway that accepted the initial INVITEFixed an issue that is caused when there are multiple gateways configured to handle the call, there is no guaranty that the initial INVITE and the transferred INVITE with replaces will follow the same forked path. The proxy should be able to tag the REPLACEs header with the absolute URI of the gateway that accepted the initial INVITE. The registrar fallback plugin should be able to parse this tag and return it as a solitary contact.
To disable remove "SIPX_TRAN_HOOK_LIBRARY.905_gatewaydest: @sipxpbx.lib.dir@/transactionplugins/" from /etc/sipxpbx/sipxproxy/sipXproxy-config.vm
UC-23515 Minutes calls downtime after rebooting the server in a partitioned regionFixed an issue with calls not being able to be completed for 5 minutes following a reboot of the server in a partitioned region.Bug
UC-3033Long call timeout malfunction - it sends notify too early, or when not needed or out of the expected time frameFixed some discovered issues around long call timeouts. These were:
- there is a Notify sent to the watcher - 202 sent too early (a few seconds after the call confirmed status Notify)
- every 64 seconds Notify messages are sent from sss
- sometimes the 64 seconds interval is not respected
UC-3409Make SIP components resilient to mongo slow query timeoutsBy default the mongo read query timeout is set to 100 milliseconds in mongo-client.ini. Although this value should be more than enough for most cases, in extreme load conditions some read queries might still timeout. We need to make sure SIP components using mongo C++ driver handle properly the event when a mongo query fails because of timeout.
Did the following:
1. Review all mongo subsystem interfaces from sipXcommServerLib and add support so the caller knows if a query failed because of timeout or a query returned no data.
2. Review all SIP components using mongo and implement additional handling for the failed mongo queries because of timeout, most likely this means answering with 5xx server error.
UC-3475System audit: custom caller id settings labels not localizedFixed an issue with new audit feature where custom caller id settings labels were not properly localized.Bug
UC-3541Openfire IM plugin doesn't handle call-transfer and multiple calls to/from the same user (copy of SIPX-8)Fixed an issue with the openfire IM plugin where it did not properly handle call transfer or multiple calls to the same user. In case of a call transfer, the presence for all users involved in the transfer will be 'available' even if 2 users should be on-call. In case of multiple calls for/from the same user, the presence will be set to 'available' after the 1st call is closed even if the 2nd call is still up. (same as SIPX-8)Bug
UW-177Calling by name returns Number Not FoundFixed an issue when click to call initiates, the unite users phone rings and upon answering call does not ring user X.
Call ends and in Unite Web it displays Number not found
UW-210UI issues if a user has a long enough nameFixed an issue where if the user name of a user is long, it will be displayed on two lines.

This means that the user name will overlap his profile picture, the search box or the phone number he dials, depending on the tab the user selects.
UW-222New sipXcom User Portal cannot call from dialpadFixed an issue with click to call that was not working for the new sipXcom user portal. (Cloned to SIPX-13)Bug
XX-11281Incorrect dependencies on install from sourcesFixed an issue that caused a number of errors in the 14.04. install, when trying to create a build machine from sources on a CentOS 6.5 64bit machine. This was related to the wiki page "Installing from sources".
1. Errors on install (easily fixable)
a. The "make" step creates a sipxecs.repo file. However, it points to a repository which has recently changed and no longer exists. On top of that it points to a 4.6.0 directory - shouldn't it point to 14.04?
b. The script creating "" after cloning from git repository does not include all dependencies required to build sipx. Omitted is "resiprocate-devel" and its dependencies. They "seem" to show up in but the names used there don't trigger an install.

One has to run the following to get them with the proper names:

yum install sipxresiprocate-devel
yum install c-ares-devel

Should be fixed so one does not have to rummage around trying to locate the missing dependencies.
XX-11297Polycom group firmware setting overrides individual firmware settingFixed an issue with the Polycom template such that when setting the group firmware version in a phone group that a phone belongs to, that setting value will take precedence even if the firmware version is set at the phone level.

Also, if there are conflicting firmware values in multiple groups a phone is assigned to, the system would arbitrarily choose a firmware version from one of the groups. The group with the highest precedent should be used.
XX-11502Local region only 100% / All other regions 100% fail over plan results in failed calls / unregistered phonesUpdated all Mongo drivers which addressed this issue as well.Bug
XX-11527Mongo read queries are very slow in cases there is no PRIMARYWhile investigating the XX-11502, we discovered the underlying problem is due to the timeouts generated by mongo reads. Since there is no primary, mongo should not accept further writes but it should properly resolve the reads.

While investigating we found the following:
1. for 1st mongo connection, the c++ driver is trying to reach the dead nodes first (as specified in the connectionString parameter from the /etc/sipxpbx/mongo-client.ini file) and this will take 5 secs (hardcoded in c++ mongo client driver) for each replica set. After eventually it connects to mongo, it tries to establish/detect a primary - operation that takes a lot of "random" time (i.e. i saw values of 10 secs, 32secs, ~300secs ...). After if finds out that there is no primary, the connection is, finally, returned to the caller - aproximative time is ~30 secs.

2. The mongo connections (i.e. tcp socket connections) returned through that c++ driver function are kept/cached in a connection-pool, also maintained inside c++ driver's code, in order to reuse the socket for further queries. Periodically (I've observed a 32secs interval, maybe it's configurable), this cached connections are trying to find out if meanwhile a primary has appeared. Thus, when we'll try to get an available connection using the C++ driver API, that function will block until the primary check is done.

Updating Mongo drivers to 2.6 solves these issues.
XX-11552XX-11585 UC-2921 Prevents Audiocodes gateways from working correctly when using TCPFixed an issue caused by UC-2921 where after upgrade to 14.10 Audiocodes FXS gateways would lose their registration status and sip calls over TCP connections would work once but fail after the first call.Bug
XX-11565Improve CDR XLS which only supports a maximum of 65536 rows at the momentFixed an issue with CDR XLS export where it only supported a maximum of 65536 rows. This caused the CDR XLS reports throw a JAVA exception. The newest POI library supports that higher limit but it is an internal dependency for another unupdated library (jasperreports-3.7.0.jar) which generate the CDR reports.

See for compatibility. Updated all libraries and updated sipxconfig code with new APIs as required by new Jasper.
XX-11586Park - Fail to ringback on key pressed / timeout through SBCFixed an issue with the new Park Orbit implementation where a call from external number came in, was subsequently parked, on timeout or on transfer key pressed the original caller should ring back but when using an SBC but the call was disconnected instead.Bug
XX-11595upgrade to 14.10 change working time attendant schedulesFixed an issue where after upgrade to 14.10 the auto attendant hours were no longer correct.Bug
XX-11596sipXproxy doesn't set the right Record-Route headerFixed an issue with sipXproxy where it did not set the TLS Record-Route in the SUBSCRIBE message. This caused further NOTIFY messages to be sent by the phone over TCP instead of TLS. Record-Route header should be set to TLS interface in order for further phone NOTIFY messages to be transported over TLS.Bug
  • No labels