diff options
author | markster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2004-04-16 17:59:07 +0000 |
---|---|---|
committer | markster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2004-04-16 17:59:07 +0000 |
commit | 0a1121e435c240bc917130fdf86afcc34f7a8a7f (patch) | |
tree | 31b333e2a868597234aa87f773e75d913636c1d2 /zaptel.c | |
parent | 7003350768ed2f317fad1f1a81779294710df125 (diff) |
Add support for E&M / E1
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@366 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'zaptel.c')
-rwxr-xr-x | zaptel.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -339,7 +339,7 @@ static rwlock_t chan_lock = RW_LOCK_UNLOCKED; static struct zt_zone *tone_zones[ZT_TONE_ZONE_MAX]; -#define NUM_SIGS 9 +#define NUM_SIGS 10 static inline void rotate_sums(void) @@ -367,7 +367,8 @@ static unsigned int in_sig[NUM_SIGS][2] = { { ZT_SIG_FXOLS,0 | (ZT_ABIT << 8)}, { ZT_SIG_FXOGS,ZT_BBIT | ((ZT_ABIT | ZT_BBIT) << 8)}, { ZT_SIG_FXOKS,0 | (ZT_ABIT << 8)}, - { ZT_SIG_SF, 0} + { ZT_SIG_SF, 0}, + { ZT_SIG_EM_E1, ZT_DBIT | (ZT_ABIT << 8) }, } ; /* must have span to begin with */ @@ -405,6 +406,8 @@ static char *sigstr(int sig) return "FXOGS"; case ZT_SIG_EM: return "E&M"; + case ZT_SIG_EM_E1: + return "E&M-E1"; case ZT_SIG_CLEAR: return "ClearChannel"; case ZT_SIG_HDLCRAW: @@ -1768,6 +1771,8 @@ who cares what the sig bits are as long as they are stable */ ZT_ABIT | ZT_BBIT | ZT_CBIT | ZT_DBIT, ZT_ABIT | ZT_BBIT | ZT_CBIT | ZT_DBIT, ZT_BBIT | ZT_CBIT | ZT_DBIT }, /* no signalling */ + { ZT_SIG_EM_E1, ZT_DBIT, ZT_ABIT | ZT_BBIT | ZT_DBIT, + ZT_ABIT | ZT_BBIT | ZT_DBIT, ZT_DBIT }, /* E and M E1 */ } ; int x; @@ -4800,6 +4805,7 @@ static void __zt_hooksig_pvt(struct zt_chan *chan, zt_rxsig_t rxsig) chan->rxhooksig = rxsig; switch(chan->sig) { case ZT_SIG_EM: /* E and M */ + case ZT_SIG_EM_E1: switch(rxsig) { case ZT_RXSIG_OFFHOOK: /* went off hook */ /* The interface is going off hook */ @@ -4924,6 +4930,7 @@ void zt_rbsbits(struct zt_chan *chan, int cursig) } /* Fall through */ case ZT_SIG_EM: /* E and M */ + case ZT_SIG_EM_E1: case ZT_SIG_FXOLS: /* FXO Loopstart */ case ZT_SIG_FXOKS: /* FXO Kewlstart */ if (cursig & ZT_ABIT) /* off hook */ |