Author: rmudgett
Date: Mon Nov 17 10:49:45 2014
New Revision: 428144

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=428144
Log:
Reslove; reset automerge

Modified:
    team/rmudgett/bridge_tasks/   (props changed)
    team/rmudgett/bridge_tasks/apps/confbridge/conf_state_multi_marked.c
    team/rmudgett/bridge_tasks/channels/chan_sip.c

Propchange: team/rmudgett/bridge_tasks/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/rmudgett/bridge_tasks/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.

Propchange: team/rmudgett/bridge_tasks/
------------------------------------------------------------------------------
--- bridge_tasks-integrated (original)
+++ bridge_tasks-integrated Mon Nov 17 10:49:45 2014
@@ -1,1 +1,1 @@
-/trunk:1-428075
+/trunk:1-428143

Modified: team/rmudgett/bridge_tasks/apps/confbridge/conf_state_multi_marked.c
URL: 
http://svnview.digium.com/svn/asterisk/team/rmudgett/bridge_tasks/apps/confbridge/conf_state_multi_marked.c?view=diff&rev=428144&r1=428143&r2=428144
==============================================================================
--- team/rmudgett/bridge_tasks/apps/confbridge/conf_state_multi_marked.c 
(original)
+++ team/rmudgett/bridge_tasks/apps/confbridge/conf_state_multi_marked.c Mon 
Nov 17 10:49:45 2014
@@ -86,8 +86,6 @@
        conf_remove_user_marked(user->conference, user);
 
        if (user->conference->markedusers == 0) {
-               need_prompt = 1;
-
                AST_LIST_TRAVERSE_SAFE_BEGIN(&user->conference->active_list, 
user_iter, list) {
                        /* Kick ENDMARKED cbu_iters */
                        if (ast_test_flag(&user_iter->u_profile, 
USER_OPT_ENDMARKED) && !user_iter->kicked) {
@@ -101,8 +99,15 @@
                                
ast_bridge_remove(user_iter->conference->bridge, user_iter->chan);
                        } else if (ast_test_flag(&user_iter->u_profile, 
USER_OPT_WAITMARKED)
                                && !ast_test_flag(&user_iter->u_profile, 
USER_OPT_MARKEDUSER)) {
+                               need_prompt = 1;
+
                                conf_remove_user_active(user_iter->conference, 
user_iter);
                                conf_add_user_waiting(user_iter->conference, 
user_iter);
+                       } else {
+                               /* User is neither wait_marked nor end_marked; 
however, they
+                                * should still hear the prompt.
+                                */
+                               need_prompt = 1;
                        }
                }
                AST_LIST_TRAVERSE_SAFE_END;

Modified: team/rmudgett/bridge_tasks/channels/chan_sip.c
URL: 
http://svnview.digium.com/svn/asterisk/team/rmudgett/bridge_tasks/channels/chan_sip.c?view=diff&rev=428144&r1=428143&r2=428144
==============================================================================
--- team/rmudgett/bridge_tasks/channels/chan_sip.c (original)
+++ team/rmudgett/bridge_tasks/channels/chan_sip.c Mon Nov 17 10:49:45 2014
@@ -1258,6 +1258,7 @@
 static struct ast_channel *sip_pvt_lock_full(struct sip_pvt *pvt);
 /* static int sip_addrcmp(char *name, struct sockaddr_in *sin);        Support 
for peer matching */
 static int sip_refer_alloc(struct sip_pvt *p);
+static void sip_refer_destroy(struct sip_pvt *p);
 static int sip_notify_alloc(struct sip_pvt *p);
 static int do_magic_pickup(struct ast_channel *channel, const char *extension, 
const char *context);
 static void set_peer_nat(const struct sip_pvt *p, struct sip_peer *peer);
@@ -6485,11 +6486,7 @@
                ast_udptl_destroy(p->udptl);
                p->udptl = NULL;
        }
-       if (p->refer) {
-               ast_string_field_free_memory(p->refer);
-               ast_free(p->refer);
-               p->refer = NULL;
-       }
+       sip_refer_destroy(p);
        sip_route_clear(&p->route);
        deinit_req(&p->initreq);
 
@@ -15564,8 +15561,19 @@
 /*! \brief Allocate SIP refer structure */
 static int sip_refer_alloc(struct sip_pvt *p)
 {
+       sip_refer_destroy(p);
        p->refer = ast_calloc_with_stringfields(1, struct sip_refer, 512);
        return p->refer ? 1 : 0;
+}
+
+/*! \brief Destroy SIP refer structure */
+static void sip_refer_destroy(struct sip_pvt *p)
+{
+       if (p->refer) {
+               ast_string_field_free_memory(p->refer);
+               ast_free(p->refer);
+               p->refer = NULL;
+       }
 }
 
 /*! \brief Allocate SIP refer structure */
@@ -18123,8 +18131,9 @@
        struct sip_refer *refer = NULL;
        const char *transfer_context = NULL;
 
-       if (!p->refer && !sip_refer_alloc(p))
+       if (!sip_refer_alloc(p)) {
                return -1;
+       }
 
        refer = p->refer;
 
@@ -25246,7 +25255,7 @@
                replace_id = ast_strdupa(p_replaces);
                ast_uri_decode(replace_id, ast_uri_sip_user);
 
-               if (!p->refer && !sip_refer_alloc(p)) {
+               if (!sip_refer_alloc(p)) {
                        transmit_response_reliable(p, "500 Server Internal 
Error", req);
                        append_history(p, "Xfer", "INVITE/Replace Failed. Out 
of memory.");
                        sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
@@ -26105,7 +26114,7 @@
        }
 
        /* Allocate memory for call transfer data */
-       if (!p->refer && !sip_refer_alloc(p)) {
+       if (!sip_refer_alloc(p)) {
                transmit_response(p, "500 Internal Server Error", req);
                append_history(p, "Xfer", "Refer failed. Memory allocation 
error.");
                return -3;


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to