summaryrefslogtreecommitdiff
path: root/channels/sig_analog.h
diff options
context:
space:
mode:
Diffstat (limited to 'channels/sig_analog.h')
-rw-r--r--channels/sig_analog.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/channels/sig_analog.h b/channels/sig_analog.h
index 661179881..89ac6b83d 100644
--- a/channels/sig_analog.h
+++ b/channels/sig_analog.h
@@ -185,6 +185,13 @@ struct analog_callback {
/* callbacks for increasing and decreasing ss_thread_count, will handle locking and condition signal */
void (* const increase_ss_count)(void);
void (* const decrease_ss_count)(void);
+
+ int (* const distinctive_ring)(struct ast_channel *chan, void *pvt, int idx, int *ringdata);
+ int (* const set_linear_mode)(void *pvt, int idx, int linear_mode);
+ void (* const get_and_handle_alarms)(void *pvt);
+ void * (* const get_sigpvt_bridged_channel)(struct ast_channel *chan);
+ int (* const get_sub_fd)(void *pvt, enum analog_sub sub);
+ void (* const set_cadence)(void *pvt, int *cidrings, struct ast_channel *chan);
};
@@ -210,8 +217,12 @@ struct analog_pvt {
/* All members after this are giong to be transient, and most will probably change */
struct ast_channel *owner; /*!< Our current active owner (if applicable) */
- struct analog_subchannel subs[3]; /*!< Sub-channels */
+ struct analog_subchannel subs[3]; /*!< Sub-channels */
struct analog_dialoperation dop;
+ int onhooktime; /*< Time the interface went on-hook. */
+ int fxsoffhookstate; /*< TRUE if the FXS port is off-hook */
+ /*! \brief -1 = unknown, 0 = no messages, 1 = new messages available */
+ int msgstate;
/* XXX: Option Variables - Set by allocator of private structure */
unsigned int answeronpolarityswitch:1;
@@ -228,17 +239,22 @@ struct analog_pvt {
unsigned int transfer:1;
unsigned int transfertobusy:1; /*!< allow flash-transfers to busy channels */
unsigned int use_callerid:1; /*!< Whether or not to use caller id on this channel */
+ const struct ast_channel_tech *chan_tech;
+ /*!
+ * \brief TRUE if distinctive rings are to be detected.
+ * \note For FXO lines
+ * \note Set indirectly from the "usedistinctiveringdetection" value read in from chan_dahdi.conf
+ */
+ unsigned int usedistinctiveringdetection:1;
/* Not used for anything but log messages. Could be just the TCID */
- int channel; /*!< Channel Number or CRV */
+ int channel; /*!< Channel Number */
enum analog_sigtype outsigmod;
int echotraining;
int cid_signalling; /*!< Asterisk callerid type we're using */
int polarityonanswerdelay;
int stripmsd;
enum analog_cid_start cid_start;
- /* Number of rings to wait to send callerid on FXS. Set to 1 for US */
- int sendcalleridafter;
int callwaitingcallerid;
char mohsuggest[MAX_MUSICCLASS];
char cid_num[AST_MAX_EXTENSION];
@@ -282,10 +298,8 @@ struct analog_pvt {
int callwaitcas;
-#if 0
int ringt;
int ringt_base;
-#endif
};
struct analog_pvt * analog_new(enum analog_sigtype signallingtype, struct analog_callback *c, void *private_data);