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


 New Features:

Call Back on Busy

Voicemail forward to eMail and Delete from Mailbox

More efficient handling of SIP CANCEL requests

Define a call queue exit key in sipXcallqueue

Set outbound SIP Port for Voicemail dial plan to aid with Exchange Voicemail configuration


Marshal notifies with 180 for call transfers to be converted to a 100 trying

Utilize MongoDB TTL Feature on Documents to time out Registrations and Subscriptions

Allow for longer re-transmits of SIP UDP and TCP packets

Yealink phone enhancements / fixes

Configurable number of digits to be collected by Auto Attendant

LDAP Alarms if problems occur during normal operation

Change the backup path for automatic backups

Who Should Install?

This release is recommended for all 4.6, 14.XX and 15.XX installations.

New Installs

A new ISO is available for 15.08 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


JIRA IDJIRA nameRN ContentEnhancement/Fix/Known Issue
SIPX-209Introduce a new queue for child transaction CANCEL eventsAdded a new feature to more efficiently handle call CANCELs.

In previous code a CANCEL received by the server is propagated in one burst towards all child transactions which can overwhelm the outbound queue.

This tracker address this issue by introducing a separate event queue for each child so that they are tried serially instead of a single burst.
New Feature
SIPX-210sipXcallqueue - define call queue exit keyAdded a new feature to sipXcallqueue to define call queue exit key. This required minor code changes in sipXcallqueue project (that is to expose it as a setting and use it as an action in FS dialplan).

Queue Calls using the basic queue call sipxcallqueue NEEDS to have a break away option.

This is part of the freeswitch call queue functionality you currently use its just not an option in the GUI (mod_callcenter)

The way I would set it up is just present us with an option called --- Breakaway Button or Breakaway Dial

This Breakaway feature would require 2 options… Breakaway digit to be dialed and Breakaway ext… the breakaway ext is where it goes to if someone waiting in the queue hits the button.

The new feature would allow administrators to create a queue audio file that would just tell the end user if you do not want to wait any longer just press – lets say 8 – to go to our voicemail so that we may call you back at our earliest convenience.

Here is the info from mod_callcenter - (

Here is an example config

<action application="set" data="cc_exit_keys=#"/>
New Feature
SIPX-273Make SIP Port configurable in a Voicemail DialPlanAdded a new feature to be able to set the destination server and SIP port when configuring an Exchange Server as the external voicemail server. This should allow for connectivity to Office 365 without requiring a Session Border Controller.New Feature
SIPX-276Voicemail to eMail forward and deleteAdded a new feature so that a user/administrator could configure eMail forward and delete of voicemail and conference recordings.
Voicemail and Conferences should only be deleted on successful forward.
Known Limitation: there are some cases in which the email is not successfully sent, but the voicemail is moved in the deleted folder.
This is because sending an email is not a synchronous operation and an error can occur at any stage during the email sending process. openUC will put the email in the send queue and will check for basic errors, after this, the email is considered sent.
New Feature
SIPX-81Config support for call back on busyRequired for new Call Back on Busy FeatureNew Feature
SIPX-85Call Back on busyNew Call Back on Busy Feature.

The Callback on Busy feature enables a caller to dial the callback prefix and an intended user number. When the intended user is available it will initiate a call between the two users, provided that the callback request has not expired.

To request a callback, you need to dial the callback prefix (default *92) with the extension you want a callback from (example *92200).

To enable the feature, go to System -> Servers -> Telephony Services -> enable Callback on Busy check box. Currently not HA so only enable on one server.

To configure prefix and timeout see Features -> Callback on Busy.
New Feature
SIPX-101Increase number of SIP UDP/TCP re-transmits as well as increase T1 timer and allow parameters to be changed in web adminAdded an enhancement to allow for longer re-transmits of SIP UDP and TCP packets. In some network environments (mobile data network) there are very often long delays before the initial path is available between SIP user agents and the sipXcom server. Once the path is setup, the network response is very reasonable. Increasing the SIP resend times to a larger value allows for the initial SIP invite to get to a user agent and then respond in time allows the calls to be properly setup.

The enhancement allows configuration of retranmits as well as timer T1. In most cases, simply increasing T1 will compensate for high latency.

That enhancement has the new configuration requirements:

Settings should be in System -> SIP Proxy -> Configuration Parameters (Advanced Settings)

Setting 1:
Check box setting name:
SIP Round Trip Time (T1 Timer)
The value of the T1 timer used for retransmission interval computation. This is expressed in milliseconds (100ms - 500ms).
Default Value: 100
Max input value accepted: 500
Minium input value accepted: 100
No text allowed, integer only 100 - 500

Setting 2:
Check box setting name:
SIP Retransmission Count
The number of times SIP requests will be retransmitted before a timeout occurs (2 - 7).
Default value: 4
Max input value accepted: 7
Minimum input value accepted: 2
No text allowed, integer only 2 to 7.
SIPX-108Display name for Yealink phonesModify the Yealink plugin to set a user with First and Last name and register him on a Yealink phone

The line display name to take the value from users first and last name (same as it works on Polycoms)

The line display name is the line number
SIPX-115Make configurable number of digits used by play/get in AAIn Auto Attendant the play and get digits accepts only 10 digits to be entered, therefore truncates the last ones. This was hardcoded in ivr and not configurable at the moment.

This caused an issue with enabling and disabling night mode on Auto Attendants due to the number of digits that needed to be entered.
SIPX-15Garbled Moh: Add ability to rewrite 180 with SDP to 183 with SDP in Transfer Control PluginAdded an enhancement to marshal notifies with 180 for call transfers to be converted to a 100 trying event to keep Polycom phones from stopping MoH and disconnecting the call on alerting while there is really no early media streaming for 180. This causes dead air within the span the transfer is in alerting phase.

However, there are instances when 180 actually contains SDP and we need to notify the Polycom that early media is now streaming. To achieve this, we must convert 180 to 183 so that the marshaling code does not convert the event to 100 trying.
SIPX-184Make Hazelcast integration configurableAdded an enhancement to turn Hazelcast on / off for openfire.Enhancement
SIPX-185Use mongodb TTL mechanism to expire registrations / subscriptionsAdded an enhancement to use MongoDB's TTL mechanism to expire registrations and subscriptions.

The current mechanism for removing expired registrations relys on custom code. On a separate thread we periodically query mongo database and remove entries in case expiration time exceeded.

In the case of many expired registrations the results could be very large and impact performance (see point 2.2 and comment: GET MORE operations could also be a result of large data returned in query result).

MongoDB comes with its own support for documents Time To Live, see which could perform much better and have less impact on database than our custom mechanism.
SIPX-186Adapt the code for subscriptionsThis issue is part of SIPX-185. Subscriptions should be able to be expired by mongo TTL featureEnhancement
SIPX-187Adapt any other component which relies on the content of the 'expirationTime' mongo fieldThis issue is part of SIPX-185. Besides config, there is also which will be affected by the change. If there are more, we should update all of themEnhancement
SIPX-188Adapt config to handle the new format of 'expirationTime' fieldThis issue is part of SIPX-185. After the change, that field will be a Date() object representing the time when the binding will expire; right now it is an integer containing the seconds since epoch when the binding expires.
Therefore, config should be adapted to handle the new format
SIPX-189Adapt the code for reg bindingsThis issue is part of SIPX-185. Reg bindings should have 'expirationTime' as Date() instead of int/logEnhancement
SIPX-190Config should change the type of 'expirationTime' field from node.registrar at upgradeThis is part of SIPX-185. With the changes for SIPX-185, the 'expirationTime' field was changed from long type to Date() type in order for mongo TTL thread to be able to remove expired documents.
Thus, at upgrade, we need to make sure that the existing bindings will be properly merged so that the values of the 'expirationTime' field will be changed from int to Date().
SIPX-207Config should change the type of 'expires' field from node.subscription at upgradeThis is part of SIPX-185. With the changes for SIPX-185, the 'expires' field was changed from long type to Date() type in order for mongo TTL thread to be able to remove expired documents.
Thus, at upgrade, we need to make sure that the existing subscriptions will be properly merged so that the values of the 'expires' field will be changed from int to Date().
SIPX-208If LDAP authentication against a domain error occurs raise an alarmAdded an enhancement to raise an alarm of LDAP errors occur.

LDAP now has proper timeout if an authentication against a configured domain occurs. This might however be difficult for an administrator to know that there actually is a problem.

Raise an alert if there is a timeout or error condition with respect to LDAP authentication against a domain.
UC-1131SQA does not log start/stopAdded an enhancement to the SQA service for it to log when it is started and when it is gracefully closed.Enhancement
UC-1422Add a new config setting to enable/disable consultative transfer fix for multiple gateways per locationAdded an enhancement to control settings for UC-1382. The fix for UC-1382's works in a very specific case and could be enable/disabled per request. That is because the fix uses custom SIP headers and does some SIP messages header parsing (INVITE, REFER, 200OK) which are not needed in regular scenarios.

Check UC-1382 for a description of possible issues when doing consultative transfer and multiple gateways per location are configured.

Where: SIP Proxy -> Advanced Settings
Setting name: Consultative Transfer to Use Gateway of Initial Invite (on/off) - default to on
Description: When a call is consultative transferred the resulting invite for the final destination of the transfer needs to use the same gateway as the consultative part of the transfer (warning - restarts proxy).

This is the config side only, the back end is not completed yet, so while the setting is visible in Admin GUI, the actual enhancement is not ready yet. Presently slated for 15.10.
UC-3622Customize backup/restore script to backup in a dedicated locationAdded an enhancement to allow the administrator to specify a different system path to save backup files.

Currently local backup uses a fixed path to save backup files: /var/sipxdata/backup

Add a parameter to sipx-archive script to specify a different path to save backups
UC-3697Default the Sofia Config so that Freeswitch uses SIP Call ID as it's Call IDAdded an enhancement to make freeswitch use the SIP Call ID for it's Call ID. This makes tracing calls through freeswitch easier.

Default the sofia profile (sofia.conf.xml.vm) now contains the following line.

<param name="inbound-use-callid-as-uuid" value="true"/>

This will make Freeswitch use the SIP Call ID for it's Call ID and greatly eases the debug process when trying to find particular calls in the system based on pcap captures.
UC-3700Default the Sofia Config so that Freeswitch uses SIP Call ID as it's outbound Call IDThis is Admin GUI work related to UC-3697

Under System - Media Services -> two new check boxes are added :
Preserve inbound call id , Preserve call id on outbound calls - enabled by default.

Default the sofia profile to use

<param name="outbound-use-uuid-as-callid" value="true"/>

This will make Freeswitch to record have same call_uuid as initial leg
SIPX-143Recreating a region with phones registered results in doubled registrations for same phone (one of them expired)Fixed an issue with Regions that was caused by recreating a region that had phones registered would result in doubled registrations for each phone with one of them being expired.

Detailed information:
Expired registration was that one with initial shard id.
For the same registration: "", we have "shardId" : 1, and "shardId" : 6,

sipxecs:PRIMARY> db.registrar.find({"shardId" : 1}).pretty()
"_id" : ObjectId("5450fbc485e6cd2d05dbb5dd"),
"timestamp" : NumberLong(1414593476),
"localAddress" : "",
"identity" : "",
"uri" : "",
"callId" : "7463f4df-35ed9969-232c967f@",
"contact" : "<sip:200@;x-sipX-nonat>",
"binding" : "sip:200@",
"qvalue" : "",
"instanceId" : "",
"gruu" : "",
"shardId" : 1,
"path" : "",
"cseq" : 14,
"expirationTime" : NumberLong(1414595689),
"instrument" : "0004f2871439",
"expired" : false
"_id" : ObjectId("54524727a75c3916d8c77bbd"),
"timestamp" : NumberLong(1414678311),
"localAddress" : "",
"identity" : "",
"uri" : "",
"callId" : "7d195f23-be10cead-7fe5ebf3@",
"contact" : "<sip:200@;transport=tcp;x-sipX-nonat>",
"binding" : "sip:200@",
"qvalue" : "",
"instanceId" : "",
"gruu" : "",
"shardId" : 6,
"path" : "",
"cseq" : 10,
"expirationTime" : NumberLong(1414678647),
"instrument" : "0004f2871439",
"expired" : false

This is not possible because "shardId" : 1 are'n available anymore for server with local address: This server has shardId = 4

[root@defs171 ~]# cat /etc/sipxpbx/mongo-client.ini
[root@defs171 ~]#

This bug can be reproduced in next scenario:
On a HA setup, 7 nodes cluster - regions setup
Register phone with line 200
Delete regions
Recreate them
In GUI : Diagnostics -> registrations
Expected result:
A single registration
Actual result:
Same registration doubled one available and another one expired.
SIPX-170Restore of userProfile collection does not work properly when restoring on the same machineFixed an issue caused by restoring data to an existing configured server.

1.Make a backup of your system via System->Backup and save it for upcoming steps
2.Edit an already existing user , for example in my case :
User 1000:
-changed user ID and IM ID from 1000 to 100033
-he did not have first name last name setup so i added something
-he did not have the 3 "Custom" fileds filled so i filled them
3.Restore the system to the old backup by going to SYstem->Restore

System to be restored and user 1000 to have his original settings

User 1000 had user ID: 1000, IM ID: 100033, first/last name empty, Custom fields filled
Verified in mongo and actually all details about user 1000 were as in step 2.

Restoring the backup on a different fresh installed machine did not cause any issues.
SIPX-179Unpacked WAR directory explicitly setFixed an issue that caused the temp directory where jetty unpacked WAR files to not get cleaned up properly.

sipXcom-users thread regarding this:!topic/sipxcom-users/bGvupc9xMbo

the temp directory where jetty unpacks the WARs does not seem to get cleaned. When i restart sipxecs a new directory is created and the old ones are still there.
I've tried using the persistTempDirectory but came to the conclusion that this is only available since jetty 9.1+. (

Is there any way to clean up old unpacked war directories? I could ofcourse write a nasty hack for the init.d script, but i'm hoping there is a better solution.

Well, i tried setting the 'persistTempDirectory' in the sipxconfig-jetty.xml file but to no avail. The current solution we are using is to explicitly set the tempDirectory on production system so they wont fill up the harddisk in time, like so:

<Call name="addHandler">
<New class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/sipxconfig</Set>
<Set name="war"><SystemProperty name="jetty.lib.dir"/>/sipxconfig.war</Set>
<Set name="extractWAR">true</Set>
<Set name="tempDirectory">/var/sipxdata/tmp/sipxconfig</Set>

Attached is a patch which fixes this 'bug'.
SIPX-192Error in Polycom Soundpoint 3.2.x firmware configuration causes 488 Not Acceptable HereFixed an issue when generating Soundpoint 3.2.x configs for Soundpoint IP 650 phones, in the [MAC-ADDRESS]-sipx-sip.cfg file where the codecs were listed with wrong priority order.

In the following examples, a SPIP 650 phone has been configured with G722, G711A, G711Mu and G729AB. Calls sent by a Patton Smartnode are rejected with a 488 Not Acceptable Here message.
Configuring the phone in a 4.2.1 SipXecs server, the configuration looks like the following:
but in a 15.05 SipXcom server, the configuration is like the following:
It seems that the first three codecs get an empty string priority value, and the fourth get the number "1".
Configuring a SPIP331 phone with G771A, G771Mu,G729AB codecs, the generated file contains the following lines:
Also in this case the priority order is missing. Anyway, the phone accepts calls.
SIPX-194"On the phone" not removed if user offlineFixed an issue with openfire integration such that if the user goes offline (fox XMPP) during a call and terminates the call prior going back online, the 'On the phone' status message remains stuckFix
SIPX-201Call queue strategy does not have a default setFixed an issue with sipXcallqueue where the feature did not have a default queue strategy set.

1.Enable call queue
2.Click Add Call Queue and enter some name and extension
3.Click Apply

The Strategy drop-down will be marked with a discontinued rectangle as if the default option was changed.
This happens because of strategy being set to "0":
<setting name="strategy"><type refid="type_strategy"/><value>0</value></setting>

Default should be ring-all strategy as the web ui shows
SIPX-202Agent level/position default to 0Fixed an issue sipXcallqueue where the Agent level/position was not set to 0.

Reproduce Setup:
- call queue feature enabled
- Queue Q1 created
- Agent A1 created

Reproduce Steps:
1.Assign Agent A1 as a member of queue Q1 : click Set Queue Membership and select Q1.

Call queue PRD doc says it should default to 1.

Agent Q1 is assigned to Q1 but his level/position default to 0.

"level – Administrator will be able to specify a level (tier) of an agent within each queue. Default to '1'.
position – Administrator will be able to specify a position of an agent within each queue. Default to '1'."
SIPX-205Certificate Authorities not deleted from server on deleteFixed an issue where Certificate Authorities are not removed when deleted from GUI.

1. Create a new CA using:
> req -new -x509 -nodes -sha1 -days 365 > host.crt
2. Go to System -> Certificates -> Certificate Authorities
3. Upload Certificate Authority host.crt created at step 1
4. SSH to the server and check the saved file name:
ls -l /etc/sipxpbx/ssl/authorities/host.crt.crt
-rw-r--r-- 1 sipx sipx 993 Apr 18 12:19 /etc/sipxpbx/ssl/authorities/2. Go to System -> Certificates -> Certificate Authorities
3. Upload Certificate Authority host.crt created at step 1
5. Go to System -> Certificates -> Certificate Authorities
6. Delete host.crt
7. SSH to the server and check that the file was deleted

Possible security issue.
SIPX-206Certificate Authorities uploaded with .crt.crt extensionFixed an issue that caused new Certificate Authorities that were uploaded to sipXcom server to have a .crt.crt extension.

1. Create a new CA using:
> req -new -x509 -nodes -sha1 -days 365 > host.crt
2. Go to System -> Certificates -> Certificate Authorities
3. Upload Certificate Authority host.crt created at step 1
4. SSH to the server and check the saved file name:
ls -l /etc/sipxpbx/ssl/authorities/host.crt.crt
-rw-r--r-- 1 sipx sipx 993 Apr 18 12:19 /etc/sipxpbx/ssl/authorities/host.crt.crt
SIPX-211Bria phone does not register with TLS - account partially enabledFixed an issue where Bria cannot register with TLS.

Also, sipx certificate authority needs to be added in the cert authority list client side (if the cert authority is not present on bria machine - most likely is not present if the internal sip certificate generated by sipxcom is used): Example on how to do that when Bria is installed on a windows machine:

Bria tech support doc related to SIP TLS:
SIPX-215Yealink config generation failsFixed an issue with the Yealink plugin that caused phone configurations to not be created properly.!msg/sipxcom-users/oOWRSzSy9ro/8f8X1TbuAdsJ

Projection for: 7/7/15 12:23 PM 7/7/15 12:23 PM Failed Invocation of method 'getTftpServer' in class threw exception java.lang.NullPointerException at yealinkPhone/config_v7x.vm[line 2, column 28]
SIPX-217Fix text on Phone and Phone Group PagesFixed the text on the Phone and Phone Group pages to reflect that now the 'Profiles template version' is now the Group Firmware version.

The setting label should change to such.

Also the text under that box should read:
Changes the group firmware will effect all phones in the group. If you require different firmware for different phones please use additional group to manage the firmware. NOTE: If phones are present in multiple groups, with different versions, the last group in the list of phone groups takes precedence.

The help text to the right should read:
NOTE: Changing the group firmware WILL set all of the phones in the group to that firmware version.
SIPX-218Call Queue no longer working after enabling/disabling other servicesFixed an issue with sipXcallqueue that caused sipXcallqueue to not work properly when other services were enabled or disabled.

Reproduce Setup:
Single node setup
Call Queue enabled and configured.
When enabling/disabling other services, callqueue document configuration gets modified in mongo, causing lack of functionality.

Reproduce Steps:
1. Enable Call Queue
2. Add Call Queue : name 5 extension 555
3. Click Apply
4. Check in mongo :
mongo imdb
sipxecs:PRIMARY> db.entity.find({"ent":"callqueue"}).pretty()
"_id" : "CallQueue8",
"ident" : "",
"vld" : true,
"ent" : "callqueue",
"als" : [
"id" : "5",
"cnt" : "sip:555@",
"rln" : "callqueue"
"id" : "555",
"cnt" : "sip:555@",
"rln" : "callqueue"

5. Call Queue extension and check functionality - it does
6. Enable/disable a telephony service(eg: Authorization Code)
7. After configuration deployment check again in mongo :

sipxecs:PRIMARY> db.entity.find({"ent":"callqueue"}).pretty()
"_id" : "CallQueue8",
"ident" : "",
"vld" : true,
"ent" : "callqueue",
"als" : [ ]

8. Call Queue extension again and check functionality.

Call to Queue extension does not connect.

"Apply" on the Callqueue page fixes this issue.
SIPX-219Fix special german chars errorsFixed an issue that caused codepage related errors for special chars (like german umlaute).

SIPX-222SipXBridge Shared Memory Error Causes Unintended RTP Port Change and One Way MediaFixed an issue where in some cases, following re-inivtes, sipXbridge will change its RTP port and thereby cause one-way media.

The root cause is a memory share error in RtpReceiverEndpoint.setSessionDescription():

Old (note original comments removed):

// OnRelay: problem is 'sessionDescription is assigned, not copied, and subsequently reused and modified by the caller.
this.sessionDescription = SipUtilities.cleanSessionDescription(sessionDescription);


SipUtilities.fixupSdpMediaAddresses(sessionDescription, address, this.getPort());

sessionDescription = SipUtilities.cleanSessionDescription( sessionDescription );

SipUtilities.fixupSdpMediaAddresses(sessionDescription, address, this.getPort() );
// OnRelay: Ensures a correct clone of the sessionDescription is assigned after all necessary changes
this.sessionDescription = SipUtilities.cloneSessionDescription(sessionDescription);
SIPX-223Exception when adding PSTN line to Audiocodes type of gatewaysFixed an issue that caused a GUI error to be thrown when adding a PSTN line to an Audiocodes Gateway.

Reproduce Steps :
1.Go to Devices Gateways and from the menu add any of the Audiocodes gateways
2.Edit the added gateway and go under PSTN Lines
3.Click Add PSTN line link

Issue : an error is displayed
This happens to all the Audiocodes gateways
(After reconnecting to Admin Portal, you can see the line was actually added)
SIPX-232sipxconfig SOAP API not working if no internet connectivityFixed an issue with spring framework that caused the SOAP API to not work if the server had no Internet connectivity.Fix
SIPX-30Queue calls continuously offered to unregistered agents causes freeswitch floodingResolved an issue that caused freeswitch and sipxproxy services will start consuming some CPU
(with 4 agents ~ 15-20 %)

After a short while, freeswitch.log will indicate some problems:
[CRIT] mod_sofia.c:4268 Error Creating Session
[CRIT] switch_time.c:1227 Over Session Rate of 30!
[CRIT] switch_core_session.c:2350 Throttle Error! 3

Sofia status shows 3-4 calls in Running state during this test..

1.Enable call queue and use the default settings.
2.Add a queue
3.Assign a couple of agents to this queue and make them Available
4.Don't register the agents on actual phones.
5.Call the queue extension from some number.

Don't leave unregistered agents in Available state - log them out..
SIPX-31Call queue call timeout does not work anymoreResolved an issue where an agent is alerted but the call keeps alerting him after 15s as well.

Call to be passed to the other agent after 15s

1.Enable Call queue service
2.Queue already added with ring strategy set to Ring agent who has been idle the longest.
3.Agents 2012 and 2048 are already created and assigned to queue 557 and they have Call timeout field set to 15 seconds
4.Call the queue and wait in queue for call timeout to be reached

Agents 2012 and 2048, queue 557 configs from fS_cli :


SIPX-39Expiration timer could not be changed under Huntgroup --> Call SequenceFixed an issue with changing the expiration timer for a Hunt Groups did not work properly.

If you try to change expiration timer on anyone of the extensions in a Hunt Group you will receive "Changes applied successfully." message but the values are not changed.
SIPX-43Freeswitch rtp timeout causes MoH to stop after 5 minutesFixed an issue with long duration MoH. When a user was put on hold, MoH feature would stop playing the music after 5 minutes.Fix
SIPX-54Cannot add simple speed dial or BLF on the Yealink phoneFixed an issue with Yealink phone configuration that did not allow the administrator to add a simple Speed Dial or BLF key.

Go into Admin Portal to Users->"200" -> Speed dials and try to add speed dials here followed by a Send Profiles (or doing this via the User Portal)
SIPX-55Both PCMA and PCMU are marked as G711 in the Yealink profileFixed an issue with the labels for PCMA and PCMU G.711 Codecs.

Under Device -> Phones -> "Yealink phone" -> Line -> Codecs there is no way of telling which codec is G711 U-law and which is A-law since both are named G711.
UC-2436Alias field stack overflowCustomer had 206 aliases on one user at 10 characters each. Attempting to remove one of them resulted in an internal error being displayed on the page. The problem was described as a regular exp pattern trying to validate the field which enters in a loop with so many chars.Fix
UC-2507Missing 'Remote Station ID' causes FAX IVR processing null pointer exceptionLooks like remote station id missing and causing issue

Amended code to handle scenarios when fax is not successfully received.

The error was not from missing remote station id (that case is handled in, but from null "faxReceive" object when failing to receive fax.

This fix ensures that in case fax to email fails to work, instead of displaying a null pointer exception log message in sipxivr.log , an error is displayed with proper reason of failure.
UC-2891Proxy should look for X-sipX-AuthIdentify also in To headerAddressed an issue caused by Grandstream's non-compliant REFER mechanism.

This issue was found while investigating a customer issue.

The caller phone Grandstream is not compliant to REFER mechanism because it did not encode X-sipX-AuthIdentify as a separate header. It put it in the To header
To: <>;tag=as6f6ba4a4

However the authentication succeeded for the referred call because the caller knew how to authenticate.
We could overcome this limitation of some phones by looking for X-sipX-AuthIdentify in also in To header.
UC-3259max_forwards set too low for call queueFixed an issue were if a call passed through sipXcallqueue the max forwards would get set too low.

1. Place call into SipXcallQueue from outside world
2. Get an agent
3. Have agent park call... unpark call.. then park call again

Default value for calls originated from Call Queue is now 70.
UC-3538Config for mod_say is incompleteFixed an issue with freeswitch's mod_say module that was caused by an incomplete configuration.

The proper proper package / build / configure for it is now included with the base install of freeswitch.
UC-3558Transfer/Conference widget missing during call backFixed an issue that caused the Reach Transfer/Conference widget to be missing in the Agent Dashboard.

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.

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.He can see the Transfer/Conference widget.
5.Client is called back and he answers

In the agent dashboard,the Transfer/Conference widget is missing.
UC-3568Improve Bria provisioning from openUCFixed some issues with Bria provisioning with newer versions of Bria.
Issues included:
1. Bria 4.x although could retrieve .ini file its provisioning support is limited
2. Bria 3.x could import .ini file but some parameters were different from the ones set on openUC configuration page (ex. Transport was set as UDP and on Bria was showed as Auto)
3. fix phone settings provisioning (the issue was that e911 location setting and deviceLimit settings were generated in the provision file *.ini
these are removed now)
4. fix audio/video codecs view
5. added remaining Bria 3.5, 4.1 phone settings
6. add line settings for bria 3.5 and 4.1 support
7. add generic phone preference settings for bria 3.5 and 4.1
UC-3577zen 3973 : 14.04 to 14.10 upgrade did not update call park orbit locationsFixed an issue with upgrades from 14.04 to later versions that caused Park Orbit locations to not be updated.

After the upgrade the webui would crash if you attempted to navigate to features -> call park. Attempted to send server profiles to correct and IMDB generation also failed due to this missing location.
UC-3620REST API activecdrs Problem in 14.10 Update1Fixed an issue with the activecdrs REST API.

This was caused by release 14.10's use of JDK 7 (release 14.04 uses JDK 6) and for XML-Java marshaling we use xstream version 1.3.1.
UC-3661Last digits in the Live Attendant dialed number getting truncated if they are already used in the prefixFixed an issue that caused users to not be able to enable / disable Live Attendant when too many digits were entered.

Related to SIPX-115

System > Dialplans > Dialing Rules > AutoAttendant :

Enabled : Yes
AutoAttendant Extension : 360603
Enable live attendant : Yes
Live attendant extension : 36060000
Enable / Disable PIN : 3606

User 201 with 2 speed dials enabled :

DayAttLive : *67 + 360603 + 3606 (enable Live Attendant)
NightAttLive: *68 + 360603 + 3606 (disable Live Attendant)

Reported Problem :
When the speed dial buttons are being used the IVR is producing unsuccessful tones.
An examination of sipxivr.log showed that the last digit from the Live Attendant PIN number was being truncated part way through the ivr processing of the request, regardless of the number of digits contained by Live Attendant PIN.

If the last digits of the PIN number used, are also contained in the prefix for the Enable/Disable Live Attendant they get truncated ( e.g in this case was '6' - PIN 360*6* prefix **6*7)

"2015-06-09T13:37:34.158000Z""LiveAttendantManagement:run for*673606033606"
"2015-06-09T13:37:34.158000Z""LiveAttendantManagement:run dialed number360603360 action true"
"2015-06-09T13:37:34.183000Z""RestfulRequest::request PUT to response: 404"
UC-3668Voicemail Backup not executed when multiple choices checked : Configuration, CDR, VoicemailFixed an issue with manual backup routine when multiple backup choices were checked.

Cluster with 3 nodes: primary, secondary, arbiter.
Primary node running Mongo.
Media services running on secondary node.
In admin GUI under System > Backup > Locally Backups > Files 3 options are available : Voicemail, Configuration, CDR.

Reported Problem :
When trying to manually generate a server backup and selecting Voicemail in combination with Configuration, CDR or both options, the archive voicemail.tar.gz doesn't get generated.

When selected in a single-handed manner, the archive is generated successfully.

Log files attached when all 3 options are checked.
UC-3680Services no longer visible after changing SNMP community stringFixed an issue caused by changing the SNMP community string that caused the System -> Servers -> Services page to not work properly.

1. Change Diagnostics->SNMP->Community string to something new
2. Go to System->Servers->click a server->Services

Services are not displayed.

From config.log
"2015-06-26T07:06:23.160000Z""Connecting to to get SNMP information"
"2015-06-26T07:06:33.162000Z""Could not get SNMP data"
UC-3685vCard instead of VCARD for exported phonebooksFixed an issue with vCard export for Bria 4 that caused it to be able to utilize the contacts from the system.

We can export phonebooks from openUC as .vcf and then import them into Bria softphone.

Issue: But we export them using "vCard" keyword:

When you import the .vcf file with contacts into Bria, no contacts will be imported.

You have to change "vCard" to "VCARD" and then contacts will be imported.

From vCard RFC ( is not very specific about this.
"3.3. ABNF Format Definition
The following ABNF uses the notation of [RFC5234]
vcard-entity = 1*vcard
; A vCard object MUST include the VERSION and FN properties.
; VERSION MUST come immediately after BEGIN:VCARD."

There's a possibility other application will not recognize our exported .vcf files.
UC-3714Internal Error when Adding PSTN to Audiocodes Mediant 1000 GatewayFixed an issue that caused a GUI exception to be thrown when attempting to add a PSTN Line to an Audiocodes Mediant 1000 PRI gateway profile.Fix
UC-3750GRUU problem in 15.06Reverted a commit that broke GRUU when utilizing the WSS transportFix
SIPX-310Problem receiving faxes in 15.06 and later & sipXbridge Specs ViolationDuring 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:

This may cause SBC's that don't pass the m-line in SDP to not be able to receive faxes. 
Known Issue


  • No labels