]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Revert "res_pjsip_session: Release media resources on session end quicker."
authorGeorge Joseph <gjoseph@digium.com>
Tue, 1 Aug 2017 21:36:35 +0000 (16:36 -0500)
committerGeorge Joseph <gjoseph@digium.com>
Tue, 1 Aug 2017 21:39:26 +0000 (15:39 -0600)
This reverts commit 6c374d863c420d2519a52fffba3de5f935a30cdb.

Change-Id: Ia89836005df66ef540885afd6f171886de0db442

channels/chan_pjsip.c
res/res_pjsip_session.c

index dd03b74ae895833328d71ecafe36ee3ea63e0c6f..ebda6c7ee174082fc22c5d7177f2bc7cfa4393c6 100644 (file)
@@ -2273,6 +2273,7 @@ static struct hangup_data *hangup_data_alloc(int cause, struct ast_channel *chan
 static void clear_session_and_channel(struct ast_sip_session *session, struct ast_channel *ast)
 {
        session->channel = NULL;
+       set_channel_on_rtp_instance(session, "");
        ast_channel_tech_pvt_set(ast, NULL);
 }
 
index 40b197bf7c461812b41847a8a899ea5349f33a2b..bb349a4b67d18f658748ee9f9b74dcc52fcdb1eb 100644 (file)
@@ -1872,12 +1872,8 @@ static void session_destructor(void *obj)
 
        ast_taskprocessor_unreference(session->serializer);
        ao2_cleanup(session->datastores);
-       if (session->active_media_state) {
-               ast_sip_session_media_state_free(session->active_media_state);
-       }
-       if (session->pending_media_state) {
-               ast_sip_session_media_state_free(session->pending_media_state);
-       }
+       ast_sip_session_media_state_free(session->active_media_state);
+       ast_sip_session_media_state_free(session->pending_media_state);
 
        AST_LIST_HEAD_DESTROY(&session->supplements);
        while ((delay = AST_LIST_REMOVE_HEAD(&session->delayed_requests, next))) {
@@ -3138,13 +3134,6 @@ static int session_end(void *vsession)
                        iter->session_end(session);
                }
        }
-
-       /* Release any media resources. */
-       ast_sip_session_media_state_free(session->active_media_state);
-       session->active_media_state = NULL;
-       ast_sip_session_media_state_free(session->pending_media_state);
-       session->pending_media_state = NULL;
-
        return 0;
 }