Releases: 2600hz/kazoo
Releases · 2600hz/kazoo
4.3.15
kazoo Changes
Changes to 4.3 after version 4.3.14
Resolved Tickets
KAZOO-1
- Summary
- Kamailio - Registration Handling
- Commits
KAZOO-6004
- Summary
- Setting e911 caller_name fails when account name contains less than 3 characters
- Commits
KAZOO-6005
- Summary
- Unable to run kazoo_ledgers_maintenance:verify_rollovers
- Commits
- KAZOO-6005: fix default value (#5282) by bitbashing
Unticketed Commits
- [4.3] Phonebook: fixed response so it gets handled more gracefully (#5293) * Phonebook: fixed response so it gets handled more gracefully do not refetch when phonebook is not enabled better more maintainable implementation fixed mergey commented out unused code for later some code clean up working phonebook integration removed debug thing * fixed doc error * make fmt * Fixed some PR comments * remove reason before saving doc by Sean Wysor
- publish created fix (#5312) by lazedo
- track freeswitch core-uuid (#5310) fix copy pasted spec by lazedo
- [4.3] Handle new device only on successful save (#5302) When a device is dry-run'd with a 402 accept charges, the 'maybe_add_mobile_mdn/1' call would still add the number to the account. On the subsequent PUT to accept charges, since the number now exists, the PUT will fail and the device will not be created. Instead, we check that the save was successful (since 402 is an 'error') before handling the new device. This is more in line with how it used to work when crossbar_services:maybe_dry_run/2 took a callback function if not dry-running. by James Aimonetti
- FORUM-10262: update handling of a menu's greeting media file (#5297) by James Aimonetti
- [4.3] Fix confirm in ccvs 4.3 (#5299) * group confirm is set in the CCVs of an endpoint * make sure a path can be used for blacklisted keys by James Aimonetti
- [4.3] Makes sure binaries are properly encoded for JSON encoding (#5295) * save in unicode chunks * receive as unicode, split up as unicode by James Aimonetti
- [4.3] HELP-39208: when transfering via API/DTMF, use authz context (#5244) * HELP-39208: when transfering via API/DTMF, use authz context * pass proper value to function * don't (un)bind for call events * /2 defaults to undefined so include default false * update config * use hunt-context for route_req payloads * add binary check by James Aimonetti
- HELP-40510: play invalid entry upon invalid option seleciton in message_menu (#5285) by swysor
- [4.3] HELP-39951: Added ability to define lists of caller ID names and call… (#5261) * HELP-39951: Added ability to define lists of caller ID names and caller ID numbers that are anonymous * use lists:member, ne_binaries * just use one catch all field for this * make apis * updated docs * removed the defaults as kazoo sets them for unknown fields when creating call objects * fixed issues with make busy * renamed the config variables for additional cid checking * Renamed some parameters * fixed some pr comments * updated default cid name from anonymous to unknown * updated docs and schemas * Fixed functions for looking up unknown cid names * fixed an unused var error * fixed format * made the setting configurable for default unknown caller id name * use a configurable value for unknown caller id * fixed invalid xref * Make APIs * removed 0s and upper case patterns from the additonal_cid rules by Sean Wysor
- Updates to Pivot and ClickToCall (#5262) * refactor bindings * update c2c schema to reflect what the code allows * use accessor module * remove blocking from c2c doc, should be a qs param * add blocking response if requested * more logging around starting kapps * handle already_started error * don't update if the diff is empty * don't perform update when no changes occurred * default to system hold music * start to update docs with json responses * simplify loopback * address dialyzer complaints * add default conference moh to system_config * update description * publish a processing message to let cf_pivot go * add processing api * format * cleanup specs * update logging * use gen_listener's AMQP channel * add bindings for origination-call-id if present * don't simplify * take a default * nicer logging * set origination-call-id from route_req * update spec/accessor * add schema field * make sure call-id is a binary * fix spec * log schema errors when applying defaults * log the updated doc before saving * more logging for insight * if the doc doesn't exist, save it * less verbose logging * if the event is for a loopback, use call-id or unique-id only faxes uses origination-call-id for real legs to carriers and so needs the events publised using the asked-for origination-call-id. c2c and others use loopbacks with origination-call-id but the cf_exe binds to the loopback-b leg (a FS UUID). Events are then published using the origination-call-id in the routing key when the call-id is the FS UUID, and cf_exe doesn't receive them. * remove origination bindings now that events are published with call-id * default to not loopback * log reasons to stop by James Aimonetti
4.2.46
kazoo Changes
Changes to 4.2 after version 4.2.45
Resolved Tickets
KAZOO-6004
- Summary
- Setting e911 caller_name fails when account name contains less than 3 characters
- Commits
4.3.14: use get_key() type
kazoo Changes
Changes to 4.3 after version 4.3.13
Resolved Tickets
KAZOO-6003
- Summary
- carrier_acls does not show carriers in offnet DB
- Commits
- [add fetch_current (#5271)
same as get_current without updating and returning error if doc is not
found
use kapps_config:fetch_current in fs_acls
fix ast
KAZOO-6003 use fs_acls](3d4f5a6) by lazedo
Unticketed Commits
- use get_key() type more spec/type updates by James Aimonetti
- Added support for patching port req (#5272) QF: moved the port_request push to phonebook to inside state change to pending make fmt fixed docs make apis added example to docs fix return value bad args for cb_context:load() there is already a loader funciton here there is already a loader funciton here fixed global listing by number removed restriction on superduper admin user to support api_keys fixed spec by swysor
- HELP-40391: fix passing terminators instead of lang in cf_direcotry (#5263) by Hesaam Farhang
- Return Updates instead of JObj (#5269) by swysor
4.3.13
kazoo Changes
Changes to 4.3 after version 4.3.12
4.3.12
kazoo Changes
Changes to 4.3 after version 4.3.11
Unticketed Commits
- HELP-40139: fixed provisioner issue with codec deletion (#5250) by swysor
- apply spec changes by James Aimonetti
- ensure current acls come from database (#5259) check for error & apply the change to existing acls by lazedo
- ensure realm in park event (#5257) by lazedo
- [4.3] when using update_doc/3, don't include {_rev, null} (#5255) * when using update_doc/3, don't include {_rev, null} Previous versions used kz_doc:delete_revision/1 before calling kz_datamgr:ensure_saved/2 to clear the _rev from the doc. In deprecating kz_datgmgr:ensure_saved/2 the initial refactor chose to refactor this to using {_rev, null} in the {update, [...]} list passed to kz_datamgr:update_doc/3. However, as these calls were being made to replicate a doc from an account database to an aggregate database (like sip_auth or accounts), the effect was that the save would fail with conflict (because the original doc's _rev didn't match the aggregate doc's _rev), the aggregate doc would be fetched and updates applied (nulling _rev again). Saving would then conflict again as no _rev was supplied but the doc exists...and you got yourself a loop. * xref fix by James Aimonetti
- Conf channels 4.3 (#5252) * default to 2 channels * default to 48000 * set default rate in twiml conference by James Aimonetti
- if moh has http_cache, strip it (#5248) by James Aimonetti
- allow bind with private functions (#5240) add kazoo_bindings process to cache listener * allows modules to subscribe to changes in a cache * useful for new documents without creating a new listener add accounts view to kazoo_data for loading simplify kazoo data bootstrap and call plan init changing dataplan processing * load on init * don't cache everything * listen to changes add maintenance commands for reload flush, tests, deps test all system dbs at startup move test condition to kzs_plan database existence is done at startup move bootstrap use fold for db init supress change notice on init update tests fix format line & remove whitespaces allow supress change notice for database by lazedo
- move usurp handling to own process (#5229) by lazedo
- add publisher confirms to amqp_worker (#5238) publisher confirms default should be false by lazedo
- check if template exists to update (#5242) disallow update if template is not exists by Hesaam Farhang
4.3.11: rework blackhole subscriptions (#5227)
kazoo Changes
Changes to 4.3 after version 4.3.10
Resolved Tickets
KAZOO-5992
- Summary
- As an admin I want to be able to list port requests by multiple states so that I can easily determine what needs attention
- Commits
- [KAZOO-5992: added ability to summarize by_types (#5219)
KAZOO-5992: formatting](775a31e) by karl anderson
Unticketed Commits
- rework blackhole subscriptions (#5227) * saves binding entries by lazedo
- couch errors can be sent in text/html by haproxy (#5225) retry on 500 from haproxy by lazedo
- HELP-40129: restrict group_confirm from being lifted to global props (#5235) As per Tony in https://freeswitch.org/jira/browse/FS-3792: "if you are using group_confirm, the variables will be parsed twice once for the top originate and one for the one inside the loopback set the group_confirm options inside [] for each leg instead of globally in {} " See note in https://freeswitch.org/confluence/display/FREESWITCH/XML+User+Directory in section "Group Call with Answer Confirmation" as well Since it seems only loopback endpoints are affected, future work could be done to detect if the endpoints are loopback or not but for now let's just patch and address it later if necessary. by James Aimonetti
- Backport of #5182 and #5214 (#5230) - Dialyzing hard of callflows (#5182) - Channel status req (#5214) by James Aimonetti
- [4.3] Cleanup function calling when making changes to ACL lists (#5213) * dialyzer updates needed * add specs for funs, use executor * export types and better specs * update usage of publish_channel_status_req * update type for 4.3 by James Aimonetti
- 4three: fix branched callflow not being properly killed, prevent cf_pivot from waiting forever (#5221) by Mark Magnusson
- timeout options name are changed in cowboy 2.0, increase idle_timeout (#5210) don't crash here by Hesaam Farhang
4.2.45: rework blackhole subscriptions (#5228)
kazoo Changes
Changes to 4.2 after version 4.2.44
Unticketed Commits
- rework blackhole subscriptions (#5228) * saves binding entries by lazedo
- 4two: fix branched callflow not being properly killed, prevent cf_pivot from waiting forever (#5220) by Mark Magnusson
- use username in transfer api (#5201) by lazedo
- use pmap in blackhole - 4.2 (#5199) * pmap_responders fix * use pmap in blackhole by lazedo
- [master] HELP-39737: update modified timestamp for aging (#5186) (#5191) * HELP-39737: update modified timestamp for aging * HELP-39737: it doesn't seem necessary to set modified, any action making PN dirty is enough to update modified by icehess
- [4.2] HELP-39143: Phone stays in calling mode even after media is established when using cf toggle (#5117) * HELP-39143: call showing connected mode when invoking *74 * instead of b_noop, do a b_answer to ensure call is answered before prompts play by Sean Wysor
- allow kzd_accounts to access soft deleted accounts (#5180) * needed to fetch tree for a deleted account by lazedo
- HELP-37837: Fix tasks app startup race condition issue (#5065) * Fix tasks app startup race condition issue (WIP) * Fix tasks app startup race condition issue * SUPPORT-37837: Circle fixes * SUPPORT-37837: Add fixes according to PR review's comments * SUPPORT-37837: Add fixes according to PR review's comments * SUPPORT-37837: Remove kz_global's extra fix besides lookup_name fix by Harenson Henao
- Added convertapi support (#5102) (#5146) * Fixed typo * Fixed typo * Added passing options as map * Added convertapi support * Updated swagger.json adn added system_config.kazoo_convert.json * Added md file for convertapi * Renamed "for_open_office_files_only" value to "for_openoffice_files_only" * Fixed typo * Documentation clarification * Added missed behaviour declaration (cherry picked from commit 5df065656cca7ef827d3e3de03825ee9c3650813) by sergey-safarov
- updated tests so it uses Today instead of PrevDate (#5139) Temporal route changes to Today vs PrevDate, refactor weekly logic only change weekly prevdate to today by swysor
- don't crash the crasher (#5131) by James Aimonetti
- If no realm is present in the channel record, use the default realm (#5125) by James Aimonetti
- HELP-37255 - add Require-Fail-On-Single-Reject - 4.2 (#4933) * add Require-Fail-On-Single-Reject call forwarding configured to require key press needs to exit from the originate loop if the user rejects the call using Fail-On-Single-Reject is not enough because it will add the variable to the a-leg of the loopback channel, and we want to add it as part of the bridge dial string of the b-leg * add NO_ANSWER to exit reasons by John White
- 4two: correctly cast bindings on inital add so that they can be removed with rm_binding later (#5128) by Mark Magnusson
- FORUM-9923: start time is not stop time (#5107) by swysor
- [4.2] prepend after privacy (#5083) * apply prepend after privacy * fix return type of cid by Veo Chen
- FORUM-9923: update temporal rules/routes (#5105) * FORUM-9923: update temporal rules/routes update schema to include missing fields update callflow action to use accessor module's functions update tests for yearly recurring events * update docs a bit * satisfy the edoc * more doc clarification * spelling fixes for ect/etc add the ref doc changes by James Aimonetti
- oops accidently pdfs (#5101) fixed a few more commands in the schema Fixed some more schemas Fixed factual error in doc by swysor
- Updated fax converter to use 200x200 default resolution (#5094) formatting fixes Updated docs for new resolution Fixed the command name for resample and updated docs for new command fixed imagemagic assertion in centos make api, updated docs removed redundent slow test rand_hex(32) to rand_hex(12) by swysor
- Avoid asking for cached value when possible (#5089) The default realm config is accessed on nearly every call event processed in ecallmgr before publishing to the wider kazoo ecosystem. When the cache is cold, several things happen: 1. Each event for any active calls will request the default realm 2. Since the cache is cold, a kz_amqp_worker will be checked out to fetch the value from sysconf 3. Each worker will return at about the same time and attempt to cache the value. Under load, this causes: 1. If enough call events happen before the value can be retrieved from sysconf, the worker pool will be exhausted, crashing the event process. 2. When the amqp workers that did get used to fetch the value return, they will inundate the cache process' mailbox, causing timeouts waiting for the cache to respond. This patch does two things to help: 1. Only ask the ecallmgr_config cache for the default realm if the realm isn't found in the FreeSWITCH props (vs asking for it before looking). 2. Add store_async to the kz_cache to use gen_server:cast/2 to not block the ecallmgr process trying to get on with its work. What this doesn't address is a potential stampede on the ecallmgr_config cache that results in many multiples of amqp workers being used to fetch the same key. As 4.3+ remove ecallmgr_config entirely, it didn't seem worth the time to add stampede mitigation here. However, kapps_config should be looked at for possible stampede mitigation in 4.3+ During loaded issue period, ecallmgr_config asked for these most often: 19 ecallmgr:debug_channel 47 ecallmgr:default_realm 64 ecallmgr:freeswitch_context 161 ecallmgr:expires_deviation_time by James Aimonetti
- KAZOO-5923: Fix number(s) synchronisation (#5206) KAZOO-5923: use kz_json:are_equal/2 instead of the =:= operator and tickie atoms by Harenson Henao
- KAZOO-5963: remove extra quotes from rfc_1036 in cdrs (#5092) by icehess
4.3.10
kazoo Changes
Changes to 4.3 after version 4.3.9
Resolved Tickets
KAZOO-5987
- Summary
- When the topup threshold matches the topup amount and the starting credit is 0 units an additional topup is performed
- Commits
Unticketed Commits
- use username instead of presence_id for Referred-By (#5202) by lazedo
- [4.3] Better iso8601 (#5203) * Add timezone and parser to iso 8601 * throw if something is invalid, more test to cover invalid inputs * use onlt one throws in edoc * some code clean up * edocify * make fmt by icehess
- Merge remote-tracking branch 'origin/master' into 4.3 by karl anderson
- use pmap in blackhole (#5198) * pmap_responders fix * use pmap in blackhole by lazedo
- HELP-39798: find conference username from sip_req_uri (#5195) * less logging about missing realms * if Hunt-Destination-Number is missing, use sip_req_uri user by James Aimonetti
- update jiffy (#5196) * update jiffy * json error logging by lazedo
4.3.9
kazoo Changes
Changes to 4.3 after version 4.3.8
Unticketed Commits
- Merge remote-tracking branch 'origin/master' into 4.3 by karl anderson
- adding iso8601 combined datetime format to cdrs (#5192) by icehess
- add kazoo-regexp extension to json schema (#5193) by lazedo
- update account realm pattern (#5189) by lazedo
- [master] HELP-39737: update modified timestamp for aging (#5186) * HELP-39737: update modified timestamp for aging * HELP-39737: it doesn't seem necessary to set modified, any action making PN dirty is enough to update modified by icehess
- HELP-39801: revert time format change in cdrs (#5183) by icehess
- HELP-37837: Fix tasks app startup race condition issue (#5184) by Harenson Henao
- add SDKs listing (#5187) by James Aimonetti
- handle empty items when annotating (#5188) by bitbashing
- HELP-39143: Phone stays in calling mode even after media is established when using cf toggle (#5115) * HELP-39143: call showing connected mode when invoking *74 * instead of b_noop, do a b_answer to ensure call is answered before prompts play by Sean Wysor
- improve migration order and speed (#5181) * improve migration order and speed * increase the bookkeeper timeout by bitbashing
- Revert endpoint ID assignment (#5178) Reverting incorrectly modified endpoint ID variable. by Matt Martin
- fix hook name in find_webhooks (#5179) allow kzd_accounts to access soft deleted accounts * needed to fetch tree for a deleted account by lazedo
- dollars problem (#5177) wrong table, fix test by Hesaam Farhang
- Stepswitch ignore events (#5175) * needed to clean * ignore unused events instead of crashing * xref by James Aimonetti
- FORUM-10167: fixed ecallmgr trying to load all the apps (#5176) * FORUM-10167: fixed ecallmgr trying to load all the apps * FORUM-10167: a different approach * Fixed clause by Sean Wysor
- Qf 4.3 tweaks (#5173) * some initial findings * handle DST on month boundry * fix app assignments to specific users * show what changed during reconcile maintenance * more explicit (and correct) sort by tree length by bitbashing
- if only the PLT is included, don't output anything (#5172) by James Aimonetti
- refactor getting mapped voice for easier digestion formatting get types and specs in line formatting and tickies formatting by James Aimonetti
- fix tts engine (#5169) fx engine_data type type is reference in async create_resp specs by lazedo
- prevent ts_callflow crash (#5170) by lazedo
- Dialyze changed files all at once (#5162) * add ability to differentiate between hard and bulk dialyzing * formatting changes to test dialyze-changed * update spec/type * add bare file to list of beams * doc the target by James Aimonetti
- Improve JSON object generation for testing (#5156) * Improve JSON object generation for testing Add a property check that reports the object depth generation Use symbolic calls to kz_json:set_value/3 to construct the object Use resize/2 to control the max depth of the object Update tests to use the new deep_object/0 generator * formatting * ensure objects are objects by James Aimonetti
- don't flush a missing ETS table (#5171) If the cache hasn't been started and a
flush
is attempted, a crash will occur when performing the ETS operation. This can happen when the Kazoo application hasn't yet started and an operator attempts to flush its cache. Instead, check that the cache is running and log if not, avoiding a crash. by James Aimonetti - KAZOO-5984: crossbar view should stop when map function returns error (#5174) KAZOO-5984: let not overwrite error message oops, it should be arity 2 awkwardless comment by Hesaam Farhang
- KAZOO-5923: Fix number(s) synchronisation (#5185) * KAZOO-5923: Fix number(s) synchronisation * KAZOO-5923: Reconcile accountdb after synchronization process by Harenson Henao
4.3.8
kazoo Changes
Changes to 4.3 after version 4.3.7
Unticketed Commits
- Merge remote-tracking branch 'origin/master' into 4.3 by karl anderson
- validate kazoo object in view files (#5167) * validate kazoo object in view files * fix kapps test by providing correct count, revert couchjs change * we should run validate-js on all json file in priv to check views collisions by icehess
- add defaults to billing & ringing seconds (#5168) by lazedo