diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 57430ac6456f8b8790029de15149c15134e2436a..58384af53637cca02ecb7594eca676ba14795e81 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -12663,6 +12663,12 @@ static void add_codec_to_sdp(const struct sip_pvt *p, struct ast_format_list fmt; const char *mime; unsigned int rate; + struct ast_codec_pref *pref; + + if (!p->rtp) { + /* I don't see how you couldn't have p->rtp, but good to check for and error out if not there like earlier code */ + return; + } if (debug) ast_verbose("Adding codec %u (%s) to SDP\n", format->id, ast_getformatname(format)); @@ -12673,11 +12679,9 @@ static void add_codec_to_sdp(const struct sip_pvt *p, return; } - if (p->rtp) { - struct ast_codec_pref *pref = &ast_rtp_instance_get_codecs(p->rtp)->pref; - fmt = ast_codec_pref_getsize(pref, format); - } else /* I don't see how you couldn't have p->rtp, but good to check for and error out if not there like earlier code */ - return; + pref = &ast_rtp_instance_get_codecs(p->rtp)->pref; + fmt = ast_codec_pref_getsize(pref, format); + ast_str_append(m_buf, 0, " %d", rtp_code); ast_str_append(a_buf, 0, "a=rtpmap:%d %s/%u\r\n", rtp_code, mime, rate);