Referencing Issues
[ASTREX-17] New switch bridging architecture
Purely major performance optimizations. Currently, DSP is more or less running all the time on every chan_dahdi
channel:
- DTMF dialing requires DSP
- During a call, dialing digits will get converted to out of band via DSP. We'll want to strive to use in-band signalling and if it needs to be converted to out-of-band, that can be handled by a separate appliance (such as another Asterisk machine through which trunk calls flow).
- If
callwaitingcallerid=yes
, then DSP is also always enabled (see https://github.com/asterisk/asterisk/blob/master/channels/dahdi/bridge_native_dahdi.c#L672). This is highly unnecessarily, since detection of the CPE DTMF ACK is only necessary for maybe 2 seconds out of the whole call - it should be enabled when needed on-demand, and remain disabled if not otherwise needed for the remainder of the call. This also inhibits native bridging from being used, which is another disadvantage of being liberal with when we're running DSP on a channel.
Other housekeeping items:
The dialmode (but NOT digitdetect) setting persists between channel invocations, but it probably shouldn't. If set in the config file, that is the default, and if set via the CHANNEL
function, that should override it for the duration the DAHDI channel is off-hook, but be reset afterwards. - fix here: https://github.com/asterisk/asterisk/pull/1379
- There should be a mode (for digitdetect, probably) where it only detects DTMF at the CDPR, and is disabled otherwise (in-band the rest of the time)
- If dialmode does not include DTMF (i.e. is pulse or none), then that also means we don't need DSP since we don't need to detect DTMF.
Comments
You must be logged in to leave a comment.