Releases: 2600hz/kazoo
4.3.142
Changes for 4.3.142
Changes to branch 4.3 after version 4.3.141.
Commits
- 
2022 has arrived - by James Aimonetti 
- 
Add restrict_presence_event_publisher ecallmgr system_config option - by timeodonovan When enabled it prevents all but the ecallmgr node handling a call from sending presence updates. This stops duplicate notifies being sent to devices which can result in them returning 500 errors, removing their subscriptions and subsequently breaking BLFs. A caveat to this is that the initial state change will not be forwarded to subscribers when a device is dialling, as no ecallmgr node will be defined at this stage. This is usually for a very short period as the following state changes will be at the point where the call is being handled by an ecallmgr node. 
- 
KZOO-212: change bandwidth api url - by iceHESS Old bandwidth API URL is shutting down. Using the new URL. 
4.3.141
Changes for 4.3.141
Changes to branch 4.3 after version 4.3.140.
Commits
- 
PISTON-221: only record in ACDc once per call - by Daniel Finke - prevent multiple overlapping recordings if caller re-enters a queue
 
- 
invalidate ci cache keys because images are updated - by iceHESS 
- 
Fix to remove concatenated media names - by Kevin D 
- 
KTEL-10: Replace colons by dashes on fax attachments names - by Harenson Henao When teletype sends a fax attachment, its name includes a time format that includes colons. Colons are not allowed characters for filenames in Windows and so many SMTP relays and mail servers will auto-correct the colon to a dash or underscore character. However, if the end user's server does not correct this, the resulting attachment is unopenable on Windows. 
- 
PISTON-1267 add a handler for action 'move' to channel's crossbar API - by Alexey Khabulyak Add ability to move a call(call-flipping) via crossbar API kazoo5 PR: 2600hz/kazoo-crossbar#203 
- 
FORUM-11759: Check for ID on req data - by James Aimonetti Test creating a document with ID on the request data. 
- 
PISTON-973: big acdc_queue_manager refactor + queue manager diag tool - by Daniel Finke - 
rename some queue manager funs and call/cast messages for clarity 
- 
refactor agent ID list and count funs 
- 
replace ss_size 
- 
big refactor of update_strategy_with_agent 
- 
diagnostics launcher funs 
- 
diagnostics receiver attachment to queue manager 
- 
?DIAG macro and payload transformation 
- 
create acdc_queue_manager_diag_sup 
- 
update unit tests 
 
- 
- 
Skip adding preflow on transfers - by James Aimonetti When transferring a call, don't prepend a preflow. Previously, preflows were prepended to all callflows when present. If a preflow defined a TTS like "Welcome to Company X", the caller would hear the TTS on call connection and, if transferred to a parking slot via *31 (for instance), would hear the preflow TTS again before hearing hold music. Backport of 2600hz/kazoo-callflow#77 
- 
KZOO-190: Fix wave (wav) voicemail recordings transcription - by Harenson Henao 
- 
PISTON-1082: Crossbar validation errors with the same top level key will no longer overwrite each other but instead will now merge the keys where possible - by Ben Bradford Kazoo 5pr: 2600hz/kazoo-crossbar#140 When CB builds the error response from multiple validation errors it would do a top level merge only resulting in errors regularly overwriting each other in the response. EG: Take the error list below [{<<"numbers">>,<<"type">>, {[{<<"message">>,<<"Value did not match type(s): array">>}, {<<"target">>,<<"array">>}, {<<"value">>,<<"12345">>}]}}, {<<"numbers">>,<<"required">>, {[{<<"message">>, <<"Callflows must be assigned at least one number or pattern">>}]}}]With the current merge CB would return: {[{<<"numbers">>, {[{<<"required">>, {[{<<"message">>, <<"Callflows must be assigned at least one number or pattern">>}]}}]}}]}With this solution, CB will respond with: {[{<<"numbers">>, {[{<<"type">>, {[{<<"value">>,<<"12345">>}, {<<"target">>,<<"array">>}, {<<"message">>,<<"Value did not match type(s): array">>}]}}, {<<"required">>, {[{<<"message">>, <<"Callflows must be assigned at least one number or pattern">>}]}}]}}]}This still does not handle the the case where the keys exactly match but the only way to do this would be to change the response type of the error to an array (Breaking change) but maybe its worth considering for a future version. { "numbers": { "unique": [ { "value": "12345", "message": "number is not unique" }, { "value": "54321", "message": "number is not unique" } ] } }
- 
KZOO-179: add 988 as emergency classifier - by holy-batman 
- 
KZOO-185: increase stop recording expiration timer - by iceHESS It has been observed the timer for expiration timer while waiting to receive RECORD_STOPevent could timed out sooner than receiving that event. Increasingthis timer to allow more time for the event to arrive so the recording can properly stored. 
- 
closes KAZOO-6141. 
- 
PISTON-1184: Correctly escape and wrap values when passing to FS to prevent special characters from causing issues - by Ben Bradford 
4.3.140
Changes for 4.3.140
Changes to branch 4.3 after version 4.3.139.
Commits
- 
KZOO-173: Strict check ipv4 addresses - by holy-batman when a number is passed through ip check it results in saying valid ip when its just a number, strict checking of ipv4 will make sure when an ip is properly formatted with dots is accepted as a valid IP. 
- 
Make sure alerts are enabled before processing - by holy-batman fix crash when alerts are disabled and we still try to create new alerts. 
- 
PISTON-1086:Fixed incorrectly formatted kazoo_document validation system error responses - by Ben Bradford Kazoo 5.x pr 2600hz/kazoo-core#211 
- 
Print per-application memory usage - by James Aimonetti 
- 
Don't crash on duplicate bindings - by James Aimonetti 
- 
disable a test in duo that verifies valid sig_auth because it is expired now - by iceHESS Because the test sig_auth is expired, disabling the test until we find another valid one. 
4.3.139
Changes for 4.3.139
Changes to branch 4.3 after version 4.3.138.
Commits
- 
KZOO-163: change users and vmboxes cb_listing to emit id as key - by iceHESS To avoid pagination problem in crossbar changing these two views to use doc id as key. 
- 
iterator in cowlib - by lazedo 
4.3.138
Changes for 4.3.138
Changes to branch 4.3 after version 4.3.137.
Commits
- 
HELP-19729: handle rapid carrier retry that leaves cf_exe processes - by Karl Anderson There is potential for a callflow executor leak when sending a default error response. In the field we found inbound calls that were forwarded to a number which canceled the request almost immediately. When this happens callflows gets a message back from stepswitch that the bridge was unsuccessful then looks up the children in the callflow to see if any handle that specific hangup cause. In this case (and most configurations) there are no special branches so it performs a default action which is to send back a SIP error message. However, while that process is happening FreeSWITCH has already forwarded the cancel from the B leg back to the A leg and out to the carrier. The particular carrier in this incident then immediately retries the same call in another zone. When that call gets created in the other zone the ecallmgr call control usurps any other call control processes for that call id, terminating the ecallmgr call control in the first zone. It is only then that the first callflow sends the command to publish the SIP error but with no ecallmgr control process in that zone anymore nothing is there to process it. Callflows then waits indefinitely to hear back if the SIP error message was processed. As a general avoidance of similar situations the all infinite wait times in call command have also been reduced to one day by default, however if the cluster is servicing things like turret phones they can set it back to infinity. 
- 
PISTON-1191 Add Queue name and options to tasks_listener - by Ben Bradford After the removal of kz_globals from the tasks app the tasks app was creating N number of copies of an object where N was the number of tasks applications in the cluster. Kazoo 5.x PR 2600hz/kazoo-tasks#13 
4.3.137
Changes for 4.3.137
Changes to branch 4.3 after version 4.3.136.
Commits
- 
Upstream 4.3 added missing blacklist list to accounts schema updated relevant calls - by Ben Bradford Kazoo 5 prs: 
- 
KZOO-154: make sure e911 email format is email - by holy-batman when invalid email is entered into email section it crashes 911 notifications. 
- 
PISTON-1180: dialyzer fixes in tasks app - by Daniel Finke 
- 
PISTON-1185: remove unused ACDc pending_logged_outstatus - by Daniel Finke
- 
PISTON-1175: remove unused kapi_acdc_queue:sync_req/resp - by Daniel Finke 
- 
PISTON-1177: new approach to determine initial availability for agents of queue - by Daniel Finke - 
when acdc_queue_manager boots, do not immediately assume all member agents are available 
- 
when manager proc is ready, pub msg so that agents send an availability update 
- 
any subsequent agent starts/availability changes will already be picked up by existing bindings 
 
- 
- 
add disposition value to cdr/interaction endpoint - by supapo 
- 
Fixed dialyzer issues that came up from running dialyze hard after 4.3.136 merge - by Ben Bradford Dialyze hard identified some issues in kazoo proper and kz_http. Pulled in dialyzer fixes for kz_http and fixed csv proper bug 
- 
Pulled in improvements to validate-js that will fix the failing test due to incorrectly parsing of the word 'function' in JSON schema files - by Ben Bradford @jamesaimonetti as we discussed. 
- 
PISTON-1186: Fixes 'make dialyze_changed' failure when no Erlang file changes - by Roger Neate The check-dialyzer.escriptscript exits with a non-zero status when no Erlang files are specified on the command line. To prevent this from causing the makedialyze-changedtarget (or targets that depend on it) to fail when no Erlang files have been changed, the makefile now filters the list of changed files.
4.3.136
Changes for 4.3.136
Changes to branch 4.3 after version 4.3.135.
Commits
- update gun dep for 19.3 compat - by lazedo
- Bump 2021 - by James Aimonetti
4.3.135
Changes for 4.3.135
Changes to branch 4.3 after version 4.3.134.
Commits
- KTEL-3: store password in context to send email if requested - by Hesaam Farhang
4.3.134
Changes for 4.3.134
Changes to branch 4.3 after version 4.3.133.
Commits
- 
KZOO-96: Resolve emergency email num resolve correct caller id number to get proper address - by Taran Romana When e911 call is made from number different than number which has e911 active, make sure to resolve proper address and info. Also make sure to not try to send emails for e911 calls made using local carrier as we only care about numbers which have e911 activated and have email address setup for that. 
- 
SUPP-33: fix import/delete rates - by iceHESS Fix import/delete rates in tasks app and cb_rates. - fix import where ratedeck database was incorrectly formatted (like ratedeck/) because of
 ratedeck_idbeing an empty binary from CSV- 
fix delete returning result which causing crashes in kt_task_worker
- 
in delete, group objects by db, also add better logging 
- 
convert import state to map 
- 
make a clean json to save to db: CSV missing fields are empty binary. Together with changes in kzd_rates make 
 sure we are generating a clean JSON to be saved to db. - 
try to update rate doc on conflict: When a user deletes the rates from ratedeck db, it is soft deleted by default. This commit will try to update and ensure save the doc even if it is deleted. 
- 
fix kzd_rates accessors return empty binary: Tasks app CSV has empty binary for all fields that are missing from uploaded CSV. This will cause kzd_rates to always return empty string and doc save with them in db. This will make sure all accessros has correct type ne_binary and handle situation when the value is empty binary so we save a clean JSON in db. 
 
- fix import where ratedeck database was incorrectly formatted (like 
- 
KZOO-103: add smart formatting to remove hesitations - by holy-batman https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-output#smart_formatting Smart formatting remove hesitation as well as formats text more elegantly. 
- 
refresh maintenance view if not found - by iceHESS 
- 
MSPB-164: Spare numbers - by holy-batman fix issue where numbers were not being moved to spare where unassigned from a callflow. 
- 
SUPP-33: add maintenance view to all dbs, clean soft deleted from all dbs - by iceHESS We should remove soft deleted docs from all configured dbs. To this we also need to add maintenance view to all dbs. Also maintenance/soft_deletesis update to have id and rev so deleting won'trequired lookup_rev one by one. 
4.3.133
Changes for 4.3.133
Changes to branch 4.3 after version 4.3.132.
Commits
- 
PISTON-1170: Sets prepend_on_forward media content_type correctly. - by Roger Neate The kzm_message:forward_message/4function branches, depending on whether the user has recorded an additional message to be prepended to the voicemail message being forwarded. Prepending the additional message requires the two media files to be merged into a temporary file. This is then written to the database as an attachment.Prior to this fix, the code assumed that the merged media file has an mp3format, which is not necessarily true. In addition, it did not pass any content-type option to thekz_datamgr:put_attachment/5function which actually writes the attachment. As a result, the attachment metadata in the database always indicated a content-type ofapplication/octet-stream.Calls to kz_media_util:join_media_files/2now ensure that the merged output format is specified explicitly, rather than relying on default behaviour. The same format is also mapped to the corresponding MIME type which is passed tokz_datamgr:put_attachment/5to ensure the attachment metadata is correct.
- 
fix kapi decode_pid - by lazedo 
- 
PISTON-1163: Refactors cf_acdc_agent status update logic. - by Roger Neate Voxter has introduced an additional end_wrapupaction that requirescf_acdc_agentchanges. The existing logic seems somewhat harder to follow than necessary; in inconsistent in various ways; and seems to still include obsolete code. These changes only refactor the status update logic to give the code a more consistent structure and simplify future changes. Other than making log messages more consistent, these changes should have no functionally observable effect.
- 
add wav support and remove unnecessary code - by Taran Romana Added wav supported and removed unnecessary code which was creating confusion, we already have the preferred audio codec not sure why we are looking for it again. 
- 
backport e911 crash fix - by Taran Romana 
- 
function. - by Ben Bradford I had a issue where make code checks would change the line -spec text(doc()) -> kz_term:api_ne_binary().To -spec kz_term:text(doc()) -> kz_term:api_ne_binary().Kazoo 5pr 2600hz/kazoo5#39