Skip to content

Releases: 2600hz/kazoo

3.19.23

24 Feb 20:18
Compare
Choose a tag to compare

Kazoo Changes

Changes to 3.19 after version 3.19.22

Resolved Tickets

Major (1)

  • KAZOO-3250 As a sysadmin, I'd like the callflow app callflow submodule not to allow a call to be transferred to another callflow if the call is hungup

Normal (1)

  • KAZOO-3352 As a front-end developer, I want the back-end to let me set a prepend feature on a phone number document, so that I can build the SmartPBX prepend feature easily

Change Details

KAZOO-3250

Summary:
As a sysadmin, I'd like the callflow app callflow submodule not to allow a call to be transferred to another callflow if the call is hungup

Description:
To prevent loops, I'd like it if the callflow module in the callflow app (the action in the UI which lets you transfer calls to another callflow) to not actually process the request if the current channel is not active.

Reporter:
Darren Schreiber <darren@2600hz.org>

KAZOO-3352

Summary:
As a front-end developer, I want the back-end to let me set a prepend feature on a phone number document, so that I can build the SmartPBX prepend feature easily

Description:
Acceptance Criteria:

  • The PUT/POST API on /phone_numbers allow developers to set a prepend key ({ ..., prepend: { name: 'JR', enabled: true }, .... } (In theory that should already work and don't need any change on the back-end?)
  • If the prepend key is set and if the enabled key is set to true, then the /phone_numbers view, should add the "prepend" value to the "features" array.

UI Ticket matching this back-end ticket is UI-1219

Reporter:
Jean-Roch Maitre <jr@2600hz.com>

3.19.22

24 Feb 05:50
Compare
Choose a tag to compare

Kazoo Changes

Changes to 3.19 after version 3.19.21

Resolved Tickets

Major (1)

  • KAZOO-3360 Workaround for commas not functioning expectedly in conferences when auto answer is set

Change Details

KAZOO-3360

Summary:
Workaround for commas not functioning expectedly in conferences when auto answer is set

Description:
Workaround for commas not functioning expectedly in conferences w/ auto-answer

                                                                    ,&quot;{alert_info=intercom}[sip_auto_answer=true]&quot;

Reporter:
Darren Schreiber <darren@2600hz.org>

3.19.21

24 Feb 00:00
Compare
Choose a tag to compare

Kazoo Changes

Changes to 3.19 after version 3.19.20

Resolved Tickets

Major (1)

  • KAZOO-3250 As a sysadmin, I'd like the callflow app callflow submodule not to allow a call to be transferred to another callflow if the call is hungup

Normal (4)

  • KAZOO-3353 As a front-end dev, I want to be able to set a key with an array of emails on a voicemail box, so that I can notify multiple persons when this voicemail box receives a message
  • KAZOO-3352 As a front-end developer, I want the back-end to let me set a prepend feature on a phone number document, so that I can build the SmartPBX prepend feature easily
  • KAZOO-3307 omnipresence notifies
  • KAZOO-3270 The preview API copies the default notification to the current account if it doesn't exist.

Change Details

KAZOO-3250

Summary:
As a sysadmin, I'd like the callflow app callflow submodule not to allow a call to be transferred to another callflow if the call is hungup

Description:
To prevent loops, I'd like it if the callflow module in the callflow app (the action in the UI which lets you transfer calls to another callflow) to not actually process the request if the current channel is not active.

Reporter:
Darren Schreiber <darren@2600hz.org>

KAZOO-3353

Summary:
As a front-end dev, I want to be able to set a key with an array of emails on a voicemail box, so that I can notify multiple persons when this voicemail box receives a message

Description:
Acceptance Criteria:

  • The Voicemail box document now validates a new key that is an array of string like : ['jr@2600hz.com', 'peter@2600hz.com'], name it how you/Karl want it, it's supposed to be a list of addresses that will be notified whenever a voicemail is received on this vmbox. It is very important to still get the e-mail from the owner of the vmbox and notify him as well (but you don't have to add it to the array)
  • If one of the e-mail fails to be sent, then the overall process should be considered as a failure

Reporter:
Jean-Roch Maitre <jr@2600hz.com>

KAZOO-3352

Summary:
As a front-end developer, I want the back-end to let me set a prepend feature on a phone number document, so that I can build the SmartPBX prepend feature easily

Description:
Acceptance Criteria:

  • The PUT/POST API on /phone_numbers allow developers to set a prepend key ({ ..., prepend: { name: 'JR', enabled: true }, .... } (In theory that should already work and don't need any change on the back-end?)
  • If the prepend key is set and if the enabled key is set to true, then the /phone_numbers view, should add the "prepend" value to the "features" array.

UI Ticket matching this back-end ticket is UI-1219

Reporter:
Jean-Roch Maitre <jr@2600hz.com>

KAZOO-3307

Summary:
omnipresence notifies

Description:
with the addition of force_dummy_dialog parameter to kamailio there is no longer the need to notify kamailio on initial subscribe.

also, kamailio does not honor the send_fast_notify parameter on re-subscribes, therefore omnipresence should not send the notify to avoid duplicate notifies

Reporter:
Luis Azedo <luis@2600hz.com>

KAZOO-3270

Summary:
The preview API copies the default notification to the current account if it doesn't exist.

Description:
When sending a preview API request on a notification that is not present on the current account, the default notification is automatically copied to the current account.
Is that an intended behavior? Is it necessary?
If yes, then the UI needs to be re-worked, as it can be confusing for the end user.

Note: this happens whether the API sends back an error (500) or a success (200). See KAZOO-3267 & KAZOO-3269 for more info.

Reporter:
Maxime Roux <max@2600hz.com>

Maintenance/Community Commits

3.19.20

19 Feb 22:20
Compare
Choose a tag to compare

Kazoo Changes

Changes to 3.19 after version 3.19.19

Resolved Tickets

Normal (1)

  • KAZOO-3248 Speex audio codec not found error

Change Details

KAZOO-3248

Summary:
Speex audio codec not found error

Description:
When I try to add the "Speex" codec, I see a weird enum error in Monster UI. JR told me it's because "Speex" (not the ones with the frequency attached like speex@16000 or speex@32000) is missing from the schema enum.

Reporter:
Richard Hurlock <richard@2600hz.com>

3.19.19

19 Feb 20:56
Compare
Choose a tag to compare

Kazoo Changes

Changes to 3.19 after version 3.19.18

Resolved Tickets

Normal (1)

  • KAZOO-3248 Speex audio codec not found error

Change Details

KAZOO-3248

Summary:
Speex audio codec not found error

Description:
When I try to add the "Speex" codec, I see a weird enum error in Monster UI. JR told me it's because "Speex" (not the ones with the frequency attached like speex@16000 or speex@32000) is missing from the schema enum.

Reporter:
Richard Hurlock <richard@2600hz.com>

3.19.18

19 Feb 19:06
Compare
Choose a tag to compare

Kazoo Changes

Changes to 3.19 after version 3.19.17

Resolved Tickets

Blocker (1)

  • KAZOO-3332 Amount charged by topup seems to be wrong

Normal (2)

  • KAZOO-3292 As a dev, I want the backend to update the media document when we do a recording over the phone, so that I can know what is the real source of the media
  • KAZOO-3269 The preview API on "voicemail_full" returns a 200, but no e-mail is sent

Change Details

KAZOO-3332

Summary:
Amount charged by topup seems to be wrong

Description:

Reporter:
Peter Defebvre <peter@2600hz.com>

KAZOO-3292

Summary:
As a dev, I want the backend to update the media document when we do a recording over the phone, so that I can know what is the real source of the media

Description:
When recording a menu greeting over the phone, the media document has the "media_source" set to "recording", and a relevant "description".
However, it seems to set those only on a newly created media.
If update said media with text to speech, the "media_source" is set to "tts" and the description to "<Text to Speech>". If you record a greeting message after that, the message is properly replaced, but the "media_source" and "description" are not.

Reporter:
Maxime Roux <max@2600hz.com>

KAZOO-3269

Summary:
The preview API on "voicemail_full" returns a 200, but no e-mail is sent

Description:
request id: 3d6a8674eb44a6b3455b5c59ecf48733

Reporter:
Maxime Roux <max@2600hz.com>

Maintenance/Community Commits

3.19.17

13 Feb 19:39
Compare
Choose a tag to compare

Kazoo Changes

Changes to 3.19 after version 3.19.16

Resolved Tickets

Major (1)

  • KAZOO-3255 When a user_id and a hotdesk are chained in the same request

Normal (2)

  • KAZOO-3330 When calling to voicemail with a device that has a mixed case username BLF subscriptions to that username are not updated
  • KAZOO-3307 omnipresence notifies

Change Details

KAZOO-3255

Summary:
When a user_id and a hotdesk are chained in the same request

Description:
As a sample:

http://CUSTOMER:8000/v1/accounts/dcdb24b2679a8ecfca17e9f8eeef87da/users/2576a118af965fe303398bc3dbcefb0b/hotdesks

Reporter:
Darren Schreiber <darren@2600hz.org>

KAZOO-3330

Summary:
When calling to voicemail with a device that has a mixed case username BLF subscriptions to that username are not updated

Description:
If a device is subscribed to a mixed case username the phone will indicate for the channel creation but not for answer or destroy. Registrar is setting a presence ID with a lower-case username which results in subsequent events using a converted username.

Reporter:
Karl Anderson <karl@2600hz.org>

KAZOO-3307

Summary:
omnipresence notifies

Description:
with the addition of force_dummy_dialog parameter to kamailio there is no longer the need to notify kamailio on initial subscribe.

also, kamailio does not honor the send_fast_notify parameter on re-subscribes, therefore omnipresence should not send the notify to avoid duplicate notifies

Reporter:
Luis Azedo <luis@2600hz.com>

Maintenance/Community Commits

3.18.57

13 Feb 02:49
Compare
Choose a tag to compare

Kazoo Changes

Changes to 3.18 after version 3.18.56

Resolved Tickets

Major (1)

  • KAZOO-3255 When a user_id and a hotdesk are chained in the same request

Normal (1)

  • KAZOO-3330 When calling to voicemail with a device that has a mixed case username BLF subscriptions to that username are not updated

Change Details

KAZOO-3255

Summary:
When a user_id and a hotdesk are chained in the same request

Description:
As a sample:

http://CUSTOMER:8000/v1/accounts/dcdb24b2679a8ecfca17e9f8eeef87da/users/2576a118af965fe303398bc3dbcefb0b/hotdesks

Reporter:
Darren Schreiber <darren@2600hz.org>

KAZOO-3330

Summary:
When calling to voicemail with a device that has a mixed case username BLF subscriptions to that username are not updated

Description:
If a device is subscribed to a mixed case username the phone will indicate for the channel creation but not for answer or destroy. Registrar is setting a presence ID with a lower-case username which results in subsequent events using a converted username.

Reporter:
Karl Anderson <karl@2600hz.org>

3.19.16

11 Feb 00:11
Compare
Choose a tag to compare

Kazoo Changes

Changes to 3.19 after version 3.19.15

Resolved Tickets

Normal (5)

  • KAZOO-3313 Outbound virtual fax stopped processing jobs until the whapp was restarted
  • KAZOO-3233 As a crossbar endpoint, I would like to set encodings provided without other modules adding theirs so I can control what encodings are supported
  • KAZOO-3232 As a crossbar endpoint, I would like to set languages provided without other modules adding theirs so I can control what languages are supported
  • KAZOO-3231 As a crossbar endpoint, I would like to set content types accepted without other endpoints previous to me adding theirs
  • KAZOO-3230 As a crossbar endpoint, I would like to set content types provided by me and not have previous endpoints add theirs

Change Details

KAZOO-3313

Summary:
Outbound virtual fax stopped processing jobs until the whapp was restarted

Description:
As reported:

The case was: all the outbound virtual fax stopped working. The bigcouch servers are fine and we have lots of outbound fax pending there. At the same time, I could not find the line "fetched <number> jobs, attempting to distribute to workers" in our log file anymore. Instead, I see lines like "fax_jobs:121 (<0.1270.0>) unhandled message: timeout" in the log file every 5 seconds. I know kazoo server tries to grab fax job every 5 second(timeout). Based on this log line, we know the info is 'timeout'. My question is how come the function "handle_info('timeout', #state{jobs=[]}=State)" defined before the "handle_info(_Info, State)" was not called. Everything went back to normal(no such weird log anymore) after we restart the whistle_apps on that server. That server is running version kazoo 3.12.

Reporter:
Karl Anderson <karl@2600hz.org>

KAZOO-3233

Summary:
As a crossbar endpoint, I would like to set encodings provided without other modules adding theirs so I can control what encodings are supported

Description:

Reporter:
James Aimonetti <james@2600hz.org>

KAZOO-3232

Summary:
As a crossbar endpoint, I would like to set languages provided without other modules adding theirs so I can control what languages are supported

Description:
See parent ticket for more, but restrict setting languages provided to the last endpoint on the URI

Reporter:
James Aimonetti <james@2600hz.org>

KAZOO-3231

Summary:
As a crossbar endpoint, I would like to set content types accepted without other endpoints previous to me adding theirs

Description:
Same as KAZOO-3230, except for content_types_accepted. Only the last endpoint module should be setting these.

Reporter:
James Aimonetti <james@2600hz.org>

KAZOO-3230

Summary:
As a crossbar endpoint, I would like to set content types provided by me and not have previous endpoints add theirs

Description:
Currently, api_resource will fold over all request nouns to run their "content_types_provided" binding. However, I think only the last noun in the URI will control the output of the response. Save some processing time by only executing the binding for the last noun on the URI

Reporter:
James Aimonetti <james@2600hz.org>

3.19.15

10 Feb 00:15
Compare
Choose a tag to compare

Kazoo Changes

Changes to 3.19 after version 3.19.14

Resolved Tickets

Blocker (1)

  • KAZOO-3247 As a developer, I would like smart pbx to send me "enabled = true" so that the provisioner knows that the line has been configured

Major (1)

  • KAZOO-3290 When listing port requests of descendants, the API sends back a list of all accounts, even those without port requests

Normal (11)

  • KAZOO-3300 handle sip unregister
  • KAZOO-3295 As a developer, I would like to issue metaflow commands against the b-leg of a call with metaflows configured at the account level
  • KAZOO-3293 eavesdrop: call redirection
  • KAZOO-3258 BigCouch can return 409 but still store the document which does not flush the cache
  • KAZOO-3237 As a UI developer, I want a way to search for callflows by both their name and number(s), so that I can implement a usable search feature in the Callflows App
  • KAZOO-3234 As a system admin, I would like Doodle to stop trying to start when access is refused by the broker so that my logs don't fill up with errors
  • KAZOO-3209 Konami transfer takeback not working as expected
  • KAZOO-3169 Crossbar bug handling invalid request to post resoruces.
  • KAZOO-2592 When filling a port via the porting manager the numbers should be listed
  • KAZOO-472 Support an option in the timezone on the device section to override the account level setting
  • KAZOO-3125 TIcket to track issues with init scripts in centos 6.5

Trivial (1)

  • KAZOO-3276 As a UI dev, I want a "Content-Disposition" header when requesting the cdrs as a CSV file, so that the browser can correctly interpret it

Change Details

KAZOO-3247

Summary:
As a developer, I would like smart pbx to send me "enabled = true" so that the provisioner knows that the line has been configured

Description:
Currently, all lines are disabled by default. I would like smart pbx to include the enabled = 1, for true, when the device is initially created.

"settings": {
"lines": [
{
"basic": {
"enable": "0",
....

Reporter:
Ricky Ing <ricky@2600hz.com>

KAZOO-3290

Summary:
When listing port requests of descendants, the API sends back a list of all accounts, even those without port requests

Description:
It would be better to only send back the accounts with existing, port requests, using this format:

[
{
id: {{account_id}},
name: {{account_name}},
port_requests: [
{{port_requests}}
]
}
]

Acceptance criteria:

  • send only accounts which contains port requests,
  • use the new format to send the data.

Reporter:
Joris Tirado <joris@2600hz.com>

KAZOO-3300

Summary:
handle sip unregister

Description:
some devices send unregister (REGISTER with expires=0) but we keep the registration active.

Reporter:
Luis Azedo <luis@2600hz.com>

KAZOO-3295

Summary:
As a developer, I would like to issue metaflow commands against the b-leg of a call with metaflows configured at the account level

Description:
It appears that when bridging to devices, a metaflow request for the b-leg isn't sent when the account is configured for metaflows. It should!

Reporter:
James Aimonetti <james@2600hz.org>

KAZOO-3293

Summary:
eavesdrop: call redirection

Description:

Reporter:
SIPLABS Communications <info@siplabs.ru>

KAZOO-3258

Summary:
BigCouch can return 409 but still store the document which does not flush the cache

Description:
Sometimes we got conflicting error when updating a doc and we have not figure out the exact root cause. But we do notice that normally the 1st "POST" was successful based on the "pvt_modified" field but somehow we still got 409 error. The real problem is all the "POST" against the same doc after the 1st one failed with 409 and those 409 were real(doc was not updated). I think the current cache mechanism cause this. For example for doc XYZ, the current revision is 7 in both bigcouchDB and cache. We issue a "POST" request and the revision become 8 in bigcouchDB but somehow we get 409 error. Since the cache will not be cleaned in case the operation failed(it is a fake failure in this case), all the following "POST" operations will fail with 409 because they are all based on the old doc(revision 7) in the cache.

So is it possible to clean the cache on receipt of 409 on kazoo like what is happening for successful "POST" operation. At least make it a operation so we can set.

Reporter:
Karl Anderson <karl@2600hz.org>

KAZOO-3237

Summary:
As a UI developer, I want a way to search for callflows by both their name and number(s), so that I can implement a usable search feature in the Callflows App

Description:
Right now, the search API allows us to search for callflows by "name", but not by "numbers" (which is an array).
We want to be able to search by both, and moreover by both at the same time (as in "look in both name and numbers field for a match for the searched value").

Reporter:
Maxime Roux <max@2600hz.com>

KAZOO-3234

Summary:
As a system admin, I would like Doodle to stop trying to start when access is refused by the broker so that my logs don't fill up with errors

Description:
When Doodle is configured with default creds, it will try, ad-nauseum, to connect to the broker even though it will never succeed. When the broker returns "ACCESS_REFUSED" as in the log line below, Doodle should log loudly (lager:warning or lager:error maybe) that the creds are wrong; Doodle should then stop trying to access the broker.

2015-01-13T13:45:07.168330-05:00 apps001-staging 2600hz[4387]: |00000000000|wh_amqp_connection:320 (<0.31754.6>) failed to connect to 'amqp://user:pass@server.com:5672/babble' will retry: {auth_failure,"ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile."}

Reporter:
James Aimonetti <james@2600hz.org>

KAZOO-3209

Summary:
Konami transfer takeback not working as expected

Description:
Takeback (*1) works fine as long as the transferee did not yet pickup the call (during 'ringing'), but if used during the conversation of transferer and transferee the call is dropped and the caller is left on hold waiting forever.

Reporter:
Arne van Balgoijen <arne@firmtel.com>

KAZOO-3169

Summary:
Crossbar bug handling invalid request to post resoruces.

Description:
Cross bar returns 500 error on invalid json (gateways in this request was incorrect as it should be an array of objects). Instead of returnign an error, the request passed JSON validation and caused an error on the server side. Reqeust was definitely invalid, but it

Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|api_resource:101 (<0.17350.36>) PUT: /v1/accounts/97b2b81afa212847f3a8484ee18830b0/local_resources? from 10.26.0.100
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|api_resource:156 (<0.17350.36>) run: known_methods
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|api_resource:176 (<0.17350.36>) run: allowed_methods
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|api_util:181 (<0.17350.36>) application/json content type when getting req data
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|api_util:443 (<0.17350.36>) request has a json payload: {"data":{"name":"offnet 0","makebusy":{"test":true,"gateway":true,"proxy":"10.26.0.127","register":false},"gateways":{"enabled":true,"server":"10.26.0.130","prefix":"^\d+$"}}}
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|api_util:463 (<0.17350.36>) request envelope is valid
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|kazoo_bindings:679 (<0.17350.36>) matched [<<"local_resources">>,<<"allowed_methods">>,<<"">>] to [<<"local_resources">>,<<"allowed_methods">>,<<"v1_resource">>]
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|api_resource:219 (<0.17350.36>) adding cors headers
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|cb_accounts:957 (<0.17350.36>) account 97b2b81afa212847f3a8484ee18830b0 db exists, setting operating database as account%2F97%2Fb2%2Fb81afa212847f3a8484ee18830b0
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|api_util:652 (<0.17350.36>) using auth token from header
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|kazoo_bindings:679 (<0.17350.36>) matched [<<"authenticate">>,<<"
">>] to [<<"authenticate">>,<<"v1_resource">>]
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|cb_ip_auth:88 (<0.17350.36>) attemping to authenticate ip 10.26.0.100
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|crossbar_doc:361 (<0.17350.36>) getting start_key from request: undefined
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|crossbar_doc:320 (<0.17350.36>) not enabling pagination
Dec 3 22:15:09 test 2600hz[1433]: |6668635f3767f38447892b84d0851b3c|crossbar_doc:269 (<0.17350.36>) limit: undefined page_size: undefined
Dec 3 22:15:09 test 2600hz[1433]: |...

Read more