summaryrefslogtreecommitdiff
path: root/zaptel.h
diff options
context:
space:
mode:
authormarkster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2003-10-27 17:00:04 +0000
committermarkster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2003-10-27 17:00:04 +0000
commit398f396e0f94fb6009a3b27ffbae417becee566b (patch)
tree2a6d60c717ca01981ed3555ea6e52f4cf1292ac7 /zaptel.h
parent74768740b2a7dd30d85567e258c9a8c9c75a0cae (diff)
Create echo "Pretraining" ioctl
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@260 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'zaptel.h')
-rwxr-xr-xzaptel.h24
1 files changed, 20 insertions, 4 deletions
diff --git a/zaptel.h b/zaptel.h
index ebe4bea..936d213 100755
--- a/zaptel.h
+++ b/zaptel.h
@@ -539,11 +539,21 @@ char dialstr[ZT_MAX_DTMF_BUF];
#define ZT_TIMERACK _IOW (ZT_CODE, 48, int)
/*
- * Set Conference to mute mode
+ * Get Conference to mute mode
*/
#define ZT_GETCONFMUTE _IOR (ZT_CODE, 49, int)
/*
+ * Request echo training in some number of ms (with muting in the mean time)
+ */
+#define ZT_ECHOTRAIN _IOW (ZT_CODE, 50, int)
+
+/*
+ * Set on hook transfer for n number of ms -- implemnted by low level driver
+ */
+#define ZT_ONHOOKTRANSFER _IOW (ZT_CODE, 51, int)
+
+/*
* 60-80 are reserved for private drivers
* 80-85 are reserved for dynamic span stuff
*/
@@ -805,6 +815,8 @@ struct zt_tone_def { /* Structure for zone programming */
#define ZT_KEWLTIME 500 /* 500ms for kewl pulse */
#define ZT_AFTERKEWLTIME 300 /* 300ms after kewl pulse */
+#define ZT_MAX_PRETRAINING 1000 /* 1000ms max pretraining time */
+
#define ZT_MAX_SPANS 128 /* Max, 128 spans */
#define ZT_MAX_CHANNELS 1024 /* Max, 1024 channels */
#define ZT_MAX_CONF 1024 /* Max, 1024 conferences */
@@ -982,12 +994,12 @@ struct zt_chan {
struct confq confin;
struct confq confout;
- short getlin[ZT_MAX_CHUNKSIZE]; /* Last transmitted samples */
+ short getlin[ZT_MAX_CHUNKSIZE]; /* Last transmitted samples */
unsigned char getraw[ZT_MAX_CHUNKSIZE]; /* Last received raw data */
short getlin_lastchunk[ZT_MAX_CHUNKSIZE]; /* Last transmitted samples from last chunk */
- short putlin[ZT_MAX_CHUNKSIZE]; /* Last received samples */
+ short putlin[ZT_MAX_CHUNKSIZE]; /* Last received samples */
unsigned char putraw[ZT_MAX_CHUNKSIZE]; /* Last received raw data */
- short conflast[ZT_MAX_CHUNKSIZE]; /* Last conference sample -- base part of channel */
+ short conflast[ZT_MAX_CHUNKSIZE]; /* Last conference sample -- base part of channel */
short conflast1[ZT_MAX_CHUNKSIZE]; /* Last conference sample -- pseudo part of channel */
short conflast2[ZT_MAX_CHUNKSIZE]; /* Previous last conference sample -- pseudo part of channel */
@@ -997,6 +1009,10 @@ struct zt_chan {
echo_can_state_t *ec;
echo_can_disable_detector_state_t txecdis;
echo_can_disable_detector_state_t rxecdis;
+
+ int echostate; /* State of echo canceller */
+ int echolastupdate; /* Last echo can update pos */
+ int echotimer; /* Timer for echo update */
/* RBS timings */
int prewinktime; /* pre-wink time (ms) */