ftmod_misdn: Fix brown paperbag logic bug in handle_b_channel_event()

Yeah, right, discard the incoming audio data when the b-channel is active...

Reverse the check, so ftdm_read() on an active mISDN b-channel will
be able to read audio data from the RX socketpair and not kill
the call from repeatedly timing out in poll().

Fixes:
    [WARNING] mod_freetdm.c:775 Too many timeouts while waiting I/O in channel FreeTDM/1:1/XX device 1:1!
    [ERR] mod_freetdm.c:820 clearing IO in channel FreeTDM/1:1/XX device 1:1!

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
This commit is contained in:
Stefan Knoblich 2013-01-07 18:04:00 +01:00
parent 95ac0ecc2f
commit 2bb859e2b4
1 changed files with 1 additions and 1 deletions

View File

@ -2298,7 +2298,7 @@ static ftdm_status_t handle_b_channel_event(ftdm_channel_t *chan)
char *data = buf + MISDN_HEADER_LEN;
/* Discard incoming audio if not active */
if (!priv->active) {
if (priv->active) {
/* Convert audio data */
misdn_convert_audio_bits(data, datalen);