chan_dahdi: Add dialmode option for FXS lines. (#36)

Currently, both pulse and tone dialing are always enabled
on all FXS lines, with no way of disabling one or the other.

In some circumstances, it is desirable or necessary to
disable one of these, and this behavior can be problematic.

A new "dialmode" option is added which allows setting the
methods to support on a per channel basis for FXS (FXO
signalled lines). The four options are "both", "pulse",
"dtmf"/"tone", and "none".

Additionally, integration with the CHANNEL function is
added so that this setting can be updated for a channel
during a call.

Resolves: #35
ASTERISK-29992

UserNote: A "dialmode" option has been added which allows
specifying, on a per-channel basis, what methods of
subscriber dialing (pulse and/or tone) are permitted.

Additionally, this can be changed on a channel
at any point during a call using the CHANNEL
function.
This commit is contained in:
InterLinked1
2023-05-02 09:05:12 -05:00
committed by GitHub
parent a8a0adcdda
commit 5d1dd11143
5 changed files with 107 additions and 4 deletions

View File

@@ -116,6 +116,13 @@ enum analog_dsp_digitmode {
ANALOG_DIGITMODE_MF,
};
enum analog_dialmode {
ANALOG_DIALMODE_BOTH = 0,
ANALOG_DIALMODE_PULSE,
ANALOG_DIALMODE_DTMF,
ANALOG_DIALMODE_NONE,
};
enum analog_cid_start {
ANALOG_CID_START_POLARITY = 1,
ANALOG_CID_START_POLARITY_IN,
@@ -308,6 +315,7 @@ struct analog_pvt {
int channel; /*!< Channel Number */
enum analog_sigtype outsigmod;
enum analog_dialmode dialmode; /*!< Which of pulse and/or tone dialing to support */
int echotraining;
int cid_signalling; /*!< Asterisk callerid type we're using */
int polarityonanswerdelay;