]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
ftmod_misdn: Fix brown paperbag logic bug in handle_b_channel_event()
authorStefan Knoblich <stkn@openisdn.net>
Mon, 7 Jan 2013 17:04:00 +0000 (18:04 +0100)
committerStefan Knoblich <stkn@openisdn.net>
Mon, 7 Jan 2013 17:04:00 +0000 (18:04 +0100)
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>
libs/freetdm/src/ftmod/ftmod_misdn/ftmod_misdn.c

index 82a35ad7e60a67db1e9ccfbd62ec642d78e9b5a5..784bc55c5c87b5a5ee0c4f8baa1443c1b832c84c 100644 (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);