chan_sip: Crypto attribute not last but first on SDP media level.
authorAlexander Traud <pabstraud@compuserve.com>
Sat, 21 Oct 2017 08:44:21 +0000 (10:44 +0200)
committerAlexander Traud <pabstraud@compuserve.com>
Sat, 21 Oct 2017 08:44:21 +0000 (10:44 +0200)
This matches the behavior of the other SIP channel driver, chan_pjsip.

ASTERISK-27365

Change-Id: I8f23a51290a58b75816da2999ed1965441dfc5d6

channels/chan_sip.c

index 6d85141..ef83666 100644 (file)
@@ -13864,11 +13864,11 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
                        case SDP_AUDIO:
                                if (needaudio) {
                                        add_content(resp, ast_str_buffer(m_audio));
-                                       add_content(resp, ast_str_buffer(a_audio));
-                                       add_content(resp, hold);
                                        if (a_crypto) {
                                                add_content(resp, a_crypto);
                                        }
+                                       add_content(resp, ast_str_buffer(a_audio));
+                                       add_content(resp, hold);
                                } else {
                                        add_content(resp, offer->decline_m_line);
                                }
@@ -13914,11 +13914,11 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
                /* generate new SDP from scratch, no offers */
                if (needaudio) {
                        add_content(resp, ast_str_buffer(m_audio));
-                       add_content(resp, ast_str_buffer(a_audio));
-                       add_content(resp, hold);
                        if (a_crypto) {
                                add_content(resp, a_crypto);
                        }
+                       add_content(resp, ast_str_buffer(a_audio));
+                       add_content(resp, hold);
                }
                if (needvideo) { /* only if video response is appropriate */
                        add_content(resp, ast_str_buffer(m_video));