Comments (4)
What granularity do you need for "exact duration"? Is there a reason something like this doesn't work?
same => n,Set(start=${EPOCH})
same => n,Record(...)
same => n,Set(end=${EPOCH})
same => n,Set(duration=$[${end}-${start}])
from asterisk.
Granularity would be just whole seconds - no need for fractions of a second.
Your epoch solution is what we're doing now, and it works OK if the dial plan is, in fact, that simple. But when you're doing error handling, or having to Goto() another place (or deal with a Hangup event) then the epoch calculation has to be made elsewhere in dialplan, which almost always ends up with Durations that are 1 or 2 seconds off.
We automatically subtract 1 second for all instances where the ${end} calculation happens on another label/context, so that solves most scenarios - but a dial plan variable with recording length would solve all those issues.
from asterisk.
@jcolp Do you mind transferring this back to the main repo? There is now a patch to go with this.
from asterisk.
Request completed.
from asterisk.
Related Issues (20)
- [bug]: chan_dahdi: Tens or hundreds of thousands of channel opens attempted during restart
- [bug]: segmentation fault without bundled pjsip HOT 12
- [improvement]: Endpoint identifier transport
- [new-feature]: chan_dahdi: Add AMI action to show spans
- [improvement]: Remove deprecation warning for 'core show channels concise' in main/cli.c HOT 4
- [bug]: res_stir_shaken implicit declaration of function errors/warnings HOT 6
- [new-feature]: callerid.c: Parse all received parameters
- [improvement]: func_callerid: Warn if invalid redirecting reason is set
- [new-feature]: app_queue: Allow queue strategy to be manipulated externally
- [bug]: Asterisk segfault HOT 2
- [bug] Document the `Events` argument of the `Login` AMI action HOT 3
- [bug]: Unable to Cancel Schedule ID ... probably a bug dtls_srtp_stop_timeout_timer, line 2914 HOT 3
- [new-feature]: new module: format_aac HOT 10
- [bug]: commit ddb5c37 makes database id columns nullable HOT 1
- [bug]: Unexpected control subclass '14' HOT 3
- [bug]: ODBC_STORAGE not found in Asterisk 20.7 HOT 9
- [improvement]: Add support for multi-rate DTMF
- [bug]: Expires value on 200 OK one second less then expires value on REGISTER request; causes ever-diminishing cycle HOT 1
- [bug]: invalid queue strategy from realtime not properly handled
- [bug]: RTP inactivity monitor hang up calls after 500ms.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from asterisk.