提交 2bb859e2 authored 作者: Stefan Knoblich's avatar Stefan Knoblich

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: 's avatarStefan Knoblich <stkn@openisdn.net>
上级 95ac0ecc
...@@ -2298,7 +2298,7 @@ static ftdm_status_t handle_b_channel_event(ftdm_channel_t *chan) ...@@ -2298,7 +2298,7 @@ static ftdm_status_t handle_b_channel_event(ftdm_channel_t *chan)
char *data = buf + MISDN_HEADER_LEN; char *data = buf + MISDN_HEADER_LEN;
/* Discard incoming audio if not active */ /* Discard incoming audio if not active */
if (!priv->active) { if (priv->active) {
/* Convert audio data */ /* Convert audio data */
misdn_convert_audio_bits(data, datalen); misdn_convert_audio_bits(data, datalen);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论