Release Notes for Platform release 5.3.58
User documentation
2020-11-02
Releases 5.3.41 through 5.3.58¶
Platform¶
- Drop support for less relevant AMR and MP3 audio codecs.
- Show Cloudonix version in user-agent through trunk calls.
- Use domain's "authorization-api-key" in session update callbacks.
- Support scheduling outbound calls by setting the "schedule" field.
- Support specifying custom Trunk "connection"timeout" profile attribute both per-trunk and per-domain.
- Expose application failure errors in session error field.
- Support asserted-identity SIP standard
Container Applications¶
- Add new voice app runtime - "select", for simple IVR switching
- Add new voice app runtime - "forward" for externalizing one stage from a container application to a remote application.
- Expose CXML request parameters to Ruby/Javascript applications using the non-AWS-compatible "parameters" field in addition to the longer "queryStringParametes".
Subscriber Gateway¶
- Allow registering subscribers to disable server keep-alive by sending X-KeepAlive: No in register request.
- Add gateway reachability service at http://subscribers.cloudonix.io/check-me/ for clients to check Cloudonix Platform reachability.
- Increase supported subscriber identity to 64 characters.
Border¶
- Support trunks sending media re-INVITEs.
- Set the domain in the 'To' field, in trunk INVITEs, to the Cloudonix domain that owns the calls.
API.Core¶
- Add REST endpoint for CDR retrieval.
- Add reporting REST endpoints for tenant-level and domain-level reports.
- Support PATCH operations in addition to PUT on all resources.
- Fixed issues with compiling Asterisk-compatible DNID expressions. Asterisk-compatible expressions are no longer "prefix expression" unless the user specifies they want this behavior.
- Setting Asterisk-compatible now correctly unsets all other flags.
- Enforce session callback URLs to use only HTTP/S protocols and no unresolvable host names. Providing invalid session callbacks is now an error.
- Support application lookup by name and numeric id.
- Support trunk lookup by name.
- Add UUID to subscribers and support subscriber lookup by uuid, msisdn and numeric id.
- Support administrator lookup by email.
- Return owner tenant information in domain lookup.
- Return owner user information in API key lookup.
- Prevent domain admins from deleting their own domain - only tenant admins can remove domains.
- Require all public trunks to provide a technical prefix.
- Change application hosting model (container voice apps). The new model is simpler and uses canonical URLs for stages. This allows direct access to non-default stages.
- Support inbound trunks with wildcard ports (i.e. a call may be accepted from any source port) by setting port to -1
- Support /customers as an alias to /tenants
- When using the PATCH method, merge profile fields correctly in all entities (i.e. to delete profile fields with PATCH, specify them with value null. To completely override profile content, use PUT method).
- New trunk field "metric" allows ordering outbound trunk lookups, in case application or LCR does not specify a trunk list.
- Implement trashcan for most entities.
- Add createdAt/updatedAt to most entities.
- Allow non-conflicting tenant name updates.
APP.Core¶
- Support encoding CXML recording to MP3 when setting domain profile field "recording-media-type" (currently "wav" and "mp3" are supported, "wav" is default).
CXML¶
- Support setting Dial verb's "trunks" attribute to
"*"
to try all active outbound trunks. - Store incoming subscriber custom SIP headers into session "subscriber-sip-header" profile field.
- Store incoming trunk custom SIP headers into session "trunk-sip-header" profile field.
- Better support for boolean attributes to look more like HTML: setting "0", "false", or "no" means disabled while setting no value, or setting any non-false value means enabled.
- Send the current session object as the "SessionData" field when using (default) POST method to call voice application.
- Use domain's "authorization-api-key" in CXML calls.
- Enforce content-type of
URLs - support wave/binary content type to mean WAV files and MPEG content types to mean MP2/3/4, as well as ulaw and alaw. - Support relative URLs in callbacks and other URL fields.
- Support text/html and text/plain content types as valid types for CXML documents (some people can't be bothered to set the correct content-type).
- Send the domain name for the current session in the CXML request headers ("X-CX-Domain" header) and body ("Domain" field). This should be useful for customers with multiple domains.
CDR¶
- Store LCR result fields in CDR
- Identify subscriber in CDR using UUID.