Releases: 2600hz/kazoo
4.3.122
Changes for 4.3.122
Changes to branch 4.3
after version 4.3.121
.
Commits
-
PISTON-1135: compare existing account doc to saved account doc, not req data - by Daniel Finke
Prior to this change, the check of whether the account’s "pvt_enabled" property changed was always succeeding. This caused the registrations for the account to be flushed on every account save.
-
fix
make validate-js
- by James Aimonettimake validate-js
was always failing withUsage: ./scripts/validate-js.sh file.json+
-
fix
make validate-js
- by Daniel Finkemake validate-js
was always failing withUsage: ./scripts/validate-js.sh file.json+
-
fix hotornot crash when caller_id_numbers is in filter_list - by Alan R Evans
Fix hotornot crash when caller_id_names is present in system_config/hotornot/filter_list
Before fix:
[root@d1k1 ~]# sup hotornot_maintenance rates_for_did 00447800000000 Candidates: RATE NAME | COST | INCREMENT | MINIMUM | SURCHARGE | WEIGHT | PREFIX | RATEDECK NAME | VERSION | outbound_GB_447891 | 0.0102 | 60 | 60 | 0.0 | 59 | 447891 | ratedeck | | outbound_GB_4478 | 0.2237 | 60 | 60 | 0.0 | 18 | 4478 | ratedeck | | outbound_GB_44 | 0.0035 | 60 | 60 | 0.0 | 20 | 44 | ratedeck | | inbound_UK_44 | 0.0 | 60 | 60 | 0.0 | 20 | 44 | ratedeck | | Command failed: {'EXIT',{function_clause,[{knm_converters,normalize,[undefined],[{file,"src/converters/knm_converters.erl"},{line,101}]},{hon_util,matching_rate,3,[{file,"src/hon_util.erl"},{line,213}]},{lists,'-filter/2-lc$^0/1-0-',2,[{file,"lists.erl"},{line,1286}]},{lists,foldl,3,[{file,"lists.erl"},{line,1263}]},{hotornot_maintenance,rates_for_did,4,[{file,"src/hotornot_maintenance.erl"},{line,83}]},{sup,in_kazoo,4,[{file,"src/sup.erl"},{line,98}]},{rpc,'-handle_call_call/6-fun-0-',5,[{file,"rpc.erl"},{line,197}]}]}}
After fix:
[root@d1k1 ~]# sup hotornot_maintenance rates_for_did 00447800000000 Candidates: RATE NAME | COST | INCREMENT | MINIMUM | SURCHARGE | WEIGHT | PREFIX | RATEDECK NAME | VERSION | outbound_GB_447891 | 0.0102 | 60 | 60 | 0.0 | 59 | 447891 | ratedeck | | outbound_GB_4478 | 0.2237 | 60 | 60 | 0.0 | 18 | 4478 | ratedeck | | outbound_GB_44 | 0.0035 | 60 | 60 | 0.0 | 20 | 44 | ratedeck | | inbound_UK_44 | 0.0 | 60 | 60 | 0.0 | 20 | 44 | ratedeck | | Matching: RATE NAME | COST | INCREMENT | MINIMUM | SURCHARGE | WEIGHT | PREFIX | RATEDECK NAME | VERSION | * outbound_GB_447891 | 0.0102 | 60 | 60 | 0.0 | 59 | 447891 | ratedeck | | outbound_GB_4478 | 0.2237 | 60 | 60 | 0.0 | 18 | 4478 | ratedeck | | inbound_UK_44 | 0.0 | 60 | 60 | 0.0 | 20 | 44 | ratedeck | | outbound_GB_44 | 0.0035 | 60 | 60 | 0.0 | 20 | 44 | ratedeck | | ok
-
Upstream 4.3 knm converters normalize crashes - by Ben Bradford
Crash fixes related to knm_converters:normalize/1
Kazoo5 PRs:
-
Upstream 4.3 telnyx carrier api issues - by Ben Bradford
Fixes to the Telnyx carrier module
The best effort configuration setting did not work, My guess is that this was written and then telnyx changed the api response and the response to no longer included the flag “any_best_effort” so the old code would never filter the best effort out. This improvement will now pass the best effort flag to telnyx and remove the need to filter the response.
Requests for TF numbers was failing as the request built and passed to Telnyx was incorrect. It passed the TF NAP as
prefix
in the body and it should benap
as there api doc states. I have also added the option to filer TF numbers by NXX.Also found that the crossbar quantity option was always overwritten to 500 so every time you requested 15 numbers through CB it requested 500 from telnyx resulting in longer query times. The fix was to only set the default values if they were not set.
Kazoo5 PR 2600hz/kazoo-core#48
-
Upstream 4.3 - standardized csv files generated by kazoo - by Ben Bradford
Back port or changes accepted to master branch a few months back by @jamesaimonetti
-
PISTON-1002: use collect_digits for DTMF during vm greeting/instructions - by James Aimonetti
Backport of #6249. Going to make a change in master as well as the 8-arity version of kapps_call_command:collect_digits wasn't actually needed.
-
PISTON-1002: use collect_digits for DTMF during vm greeting/instructions - by Daniel Finke
Backport of #6249. Going to make a change in master as well as the 8-arity version of kapps_call_command:collect_digits wasn't actually needed.
-
Moved callflow validation logic out of crossbar and into kazoo core so it can be used by other modules - by Ben Bradford
Moved validation logic so it can be used by future kazoo tasks callflow module
4.3.121
Changes for 4.3.121
Changes to branch 4.3
after version 4.3.120
.
Commits
-
Add .vscode directory to .gitignore. - by Roger Neate
Visual Studio Code uses the .vscode directory for workspace settings that should not be under source control.
-
acdc - PISTON-1112: fix validation of agent pause timeout/time-limit - by Daniel Finke
-
schema validates system_config.acdc default_agent_pause_timeout for non-negative integers or the "infinity" special string
-
refactored out ?DEFAULT_AGENT_PAUSE_TIMEOUT into shared header
-
fixed acdc_maintenance expecting integer, despite possibility of <<"infinity">> value
-
moved Time-Limit validation in kapi_acdc_agent into PAUSE_* macros rather than AGENT_*
-
-
SUPP-16: load_parents sets an empty object for account - by Hesaam Farhang
It is not clear what is the difference between
/accounts/:id/parents
and/accounts/:id/tree
. But the are doing same thing in different ways.As it turns out
load_parents
is loading all result ofaccounts/listing_by_id
and then uses
kz_json:find_value/3
to grab the parent's account info.But it is constantly failing in a specific server. I can't reproduce the exact
problem in any environment that I test it.
For example it should return:
[{"id":"{ACCOUNT_1}","name":"{ACCOUNT1_NAME}"},{"id":"{ACCOUNT_2}","name":"{ACCOUNT2_NAME}"}]
But it returns instead:
[{"id":"{ACCOUNT_1}","name":"{ACCOUNT1_NAME}"},{}]
Since those
/tree
and/parents
seems returning same thingand
/tree
implementation is way more efficient and stable than/parents
I change it to use that.
-
HELP-6670: match smtp option on teletype, specifically no_mx_lookups - by Karl Anderson
-
SUPP-22: do not normalize number if there is no dialplan or capture group - by Hesaam Farhang
Do not normalize number if there is no dialplan or number is not from capture group when callflow wins the call.
Normalizing twice may result the number to be classified differently so call won't be restricted.
-
PROD-157: Seperate telemetry consensus logic - by John White
This PR modifies how kazoo_telemetry determines its leader and removes functionality from
kz_nodes
.Changes:
-
backports change to
kz_nodes
to use node_info binding to retrieve metadata for node_info status -
consensus logic moved to
kazoo_telemetry_leader
-
kazoo_telemetry_leader
now uses node_info binding to publish leader data -
fixes bug where registration metadata wasn't being from registrar role in #kz_node{} record
-
-
PROD-167: capture the subject line in inbound email to fax for use in notifications - by swysor
After an upgrade to a release containing this enhancement, from one server running the
teletype
app by running the command:sup teletype_maintenance restore_system_templates
This command will add the {{ subject }} macro used in templates and update the default templates in the database.
4.3.120
Changes for 4.3.120
Changes to branch 4.3
after version 4.3.119
.
Commits
-
HELP-16635: deduct tokens on all API requests - by James Aimonetti
Each time an API request is made, deduct the token cost
from the associated bucket.
4.3.119
Changes for 4.3.119
Changes to branch 4.3
after version 4.3.118
.
Commits
-
HELP-15378: Add voicemail.vmbox_name macro to voicemail to email template - by Harenson Henao
Master: 2600hz/kazoo-teletype#7
-
HELP-15581: Log when not config menu option was selected after 3 tries - by Harenson Henao
Before this change the process would crash with reason
function clause
.Master: 2600hz/kazoo-callflow#7
4.3.118
Changes for 4.3.118
Changes to branch 4.3
after version 4.3.117
.
Commits
-
- KZOO-72: Crash handling 502 error in Google ASR Provider - by John White
Currently the anonymous match pattern for
handle_response/1
assumes a JSON content-type and attempts to decode the response body. This will cause a crash on 502 responses, for example, as they return an HTML response body.This PR removes the JSON decode call in favor of passing up the raw response body for error propagation.
-
KCRO-32: validation no longer uses crossbar_doc so the context db_doc is not set and billing relies on that - by bitbashing
-
HELP-15121: Fix moh-sound conference setting to work with media-id - by Harenson Henao
Before this change if you set
conference.profile.moh-sound=media-id
you get dead air when you join the conference.Master: 2600hz/kazoo-core#41
-
SUPP-14: fix losing origination-call-id when faing account to account - by lazedo
When sending fax, fax_worker sets
Origination-Call-ID
but will be discarded bykapi_call
on the loopback. This will take care of fax events to honor this field.Also it puts job_id in fax_worker handle_event as call_id so we can grab logs by job_id for all stages in fax_workers.
Increasing timeouts for fax_worker stages to give it a more relax time if something taking more times to finish like sending the page.
-
KZOO-70: use pvt_offering or the literal string and append _recipient/_queue to the result - by bitbashing
4.3.117
4.3.116
Changes for 4.3.116
Changes to branch 4.3
after version 4.3.115
.
Commits
-
SUPP-8: read exisiting account document to get tree when importing enabled field - by icehess
When trying to disable an account via the Account Manager app, the account is not disabled.
This bug was introduce when account creation/deletion was moved to core.
Before that move, we properly load and merge the request document with doc from database
so we had the
pvt_tree
field when we were checking ig the requestor is inaccount's tree.
But this got moved into after validation and in
post/1,2
function and so wedon't set enabled anymore.
-
Update teletype available macros list - by Harenson Henao
Master: 2600hz/kazoo-teletype#8
-
HELP-15749: start kazoo_number_manager before kazoo_events - by James Aimonetti
When blackhole runs stand-alone, it relies on kazoo_events for the
kz_hooks when subscriptions for channel events are made. When the
event is a CHANNEL_CREATE from offnet, and no account ID is
associated, kz_hooks_util uses knm_number to lookup the account
associated with the destination.
kazoo_events.app did not list kazoo_number_manager as a dependency;
thus knm was not started and number lookups failed since the knm cache
wasn't started.
Updating kazoo_events.app to its proper dependencies resolves the issue.
-
Improve handling of slow websocket clients - by James Aimonetti
When a websocket client is having trouble reading messages off its
socket, backpressure will cause the mailbox of the
blackhole_socket_handler to start to fill up with {send_data, _}
tuples from blackhole_data_emitter. This is due to the sending of data
being stuck in prim_inet:send/3.
We add two mechnisms to try to avoid the server being harshly impacted
by slow clients:
- Reduce the send_timeout blackhole uses to more quickly terminate
the socket in the event of slow sends
- Check the mailbox of blackhole_socket_handler from
blackhole_data_emitter before sending the {send_data, _} tuple, opting
to shed the load while waiting.
-
- DUPT-193: Make conference websocket events more granular - by John White
This PR Addresses a bug where the newly introduced granular subscriptions were passing the legacy binding thru and rewriting into the newer binding string.
Example:
... auth_token: sessionStorage.getItem('auth_token'), data: { account_id: data.data.account_id, binding: 'conference.event.b05d601a69718090248aec40ee8e049d.*' }
was rewriting to
conference.event.b05d601a69718090248aec40ee8e049d.*.*
-
HELP-15556: correct classifiers before setting into accumulator - by James Aimonetti
System classifiers missing 'friendly_name' would be "corrected" into
the accumulator object instead of the classifier settings.
Add classifier name as "friendly_name" into the classifier's settings
object and set that updated object into the accumulator.
-
PISTON-1088: more DRY Makefile dialyze targets - by Daniel Finke
- also make the output of check-dialyzer.escript consistently "nothing"
whether using --bulk, --hard, or no flags at all
4.3.115
Changes for 4.3.115
Changes to branch 4.3
after version 4.3.114
.
Commits
- fix acdc commit - 4.3 - by lazedo
4.3.114
Changes for 4.3.114
Changes to branch 4.3
after version 4.3.113
.
Commits
-
acdc - PISTON-292: support for pause aliases - by Daniel Finke
-
acdc - Support infinity for agent pause time - by Daniel Finke
-
PISTON-1090: backport stepswitch loopback fields to fix fax doc "from" - by Daniel Finke
Based on discussion in IRC on 12 June 2020. Fixes the "from_uri" (& other variables) of a loopback channel, so that the CDRs and fax recipient doc contain the expected values.
- backport of 2600hz/kazoo-stepswitch@23b4030
-
HELP-15052: Add missing documentation for some CDR fields - by Harenson Henao
-
Many dialyzer fixes for acdc - by Daniel Finke
-
acdc - Fix number of tuple elements to acdc_queue_manager's agent_unavailable - by Daniel Finke
-
acdc ignore/cancel/exit overhaul - by Daniel Finke
-
PISTON-179: re-implement exit key support
-
PISTON-191: clear queue fsm when ignoring members
-
PISTON-588: allow external member_call_cancels
-
-
Dialyzer fixes for pivot_call - by Daniel Finke
4.3.113
Changes for 4.3.113
Changes to branch 4.3
after version 4.3.112
.
Commits
-
HELP-14771: Add stepswitch.min_shortdial_destination parameter - by Harenson Henao
And also refactor short-dial correction code in order to be able to add
unit tests for that functionality per @jamesaimonetti request.
Master PRs:
-
Fix spelling - by James Aimonetti
-
Tracking down metadata missing from recordings in storage - by James Aimonetti
-
HELP-15122: take sync field into Context on device save - by James Aimonetti
-
PISTON-1084: fail pivot req immediately on a req error - by Daniel Finke
Without publishing a pivot failed event, errors on pivot HTTP reqs such as DNS resolution failures will hang around until the 10s timeout in cf_pivot, which is pointless
-
acdc - PISTON-1083: acdc stats: allow some wiggle room on query timestamp ranges - by Daniel Finke
-
acdc - remove unused acdc_agent_listener:maybe_update_presence_state/2 - by Daniel Finke
-
acdc - PISTON-116: acdc_agent_fsm: stop ringing when pausing - by Daniel Finke
-
acdc - PISTON-773: rework some acdc_agent_util status code - by Daniel Finke
-
acdc - Misc sync-up changes to acdc - by Daniel Finke
-
acdc - PISTON-352: track endpoints in acdc_agent_fsm better - by Daniel Finke
-
acdc - PISTON-234: keep modified caller ID on phone after bridge to agent - by Daniel Finke
-
Moved request validation logic out of crossbar users modules and into kazoo documents users so validation logic can be used by other parts of the code base. - by Ben Bradford
Backport of previous commit to master.