diff --git a/channels/chan_simpleusb.c b/channels/chan_simpleusb.c index 43ecc58..ffd586f 100644 --- a/channels/chan_simpleusb.c +++ b/channels/chan_simpleusb.c @@ -2228,6 +2228,13 @@ static struct ast_frame *simpleusb_read(struct ast_channel *c) sd = 1; } o->rx_ctcss_active = sd; + + /* Special case where cd and sd have been configured for no */ + if (o->rxcdtype == CD_IGNORE && o->rxsdtype == SD_IGNORE) { + cd = 0; + sd = 0; + } + /* Timer for how long TX has been unkeyed - used with txoffdelay */ if (o->txoffdelay) { if (o->txkeyed == 1) { diff --git a/channels/chan_usbradio.c b/channels/chan_usbradio.c index 839f8ab..23a9815 100644 --- a/channels/chan_usbradio.c +++ b/channels/chan_usbradio.c @@ -2235,6 +2235,13 @@ static struct ast_frame *usbradio_read(struct ast_channel *c) sd = 1; } o->rx_ctcss_active = sd; + + /* Special case where cd and sd have been configured for no */ + if (o->rxcdtype == CD_IGNORE && o->rxsdtype == SD_IGNORE) { + cd = 0; + sd = 0; + } + /* Timer for how long TX has been unkeyed - used with txoffdelay */ if (o->txoffdelay) { if (o->txkeyed == 1) { @@ -2246,6 +2253,8 @@ static struct ast_frame *usbradio_read(struct ast_channel *c) } } } + + /* Check conditions and set receiver active */ if (cd && sd) { //if(!o->rxkeyed)o->pmrChan->dd.b.doitnow=1; if (o->rxkeyed || ((o->txoffcnt >= o->txoffdelay) && (o->rxoncnt >= o->rxondelay))) {