diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 55e1e5e3c0..7c7326a232 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4946,9 +4946,16 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req) ast_rtp_lookup_mime_multiple(s3, BUFSIZ, newnoncodeccapability, 0, 0)); } if (!newjointcapability) { - ast_log(LOG_NOTICE, "No compatible codecs, not accepting this offer!\n"); - /* Do NOT Change current setting */ - return -1; + /* If T.38 was not negotiated either, totally bail out... */ + if (!p->t38.jointcapability) { + ast_log(LOG_NOTICE, "No compatible codecs, not accepting this offer!\n"); + /* Do NOT Change current setting */ + return -1; + } else { + if (option_debug > 2) + ast_log(LOG_DEBUG, "Have T.38 but no audio codecs, accepting offer anyway\n"); + return 0; + } } /* We are now ready to change the sip session and p->rtp and p->vrtp with the offered codecs, since