]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add bridge indication to conferences so sip disables the async rtp since we already...
authorAnthony Minessale <anthony.minessale@gmail.com>
Mon, 14 Aug 2006 21:16:17 +0000 (21:16 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Mon, 14 Aug 2006 21:16:17 +0000 (21:16 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2293 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_conference/mod_conference.c

index 6a856a2ab13d59d067abd886882cb0dd4c840985..5e7ccb8b45b397b01dbf9efc01c4ba774491ce83 100644 (file)
@@ -2171,6 +2171,7 @@ static void conference_function(switch_core_session_t *session, char *data)
        switch_xml_t cxml = NULL, cfg = NULL, profile = NULL, profiles = NULL;
        char *flags_str;
        member_flag_t uflags = MFLAG_CAN_SPEAK | MFLAG_CAN_HEAR;
+       switch_core_session_message_t msg = {0};
        
        channel = switch_core_session_get_channel(session);
     assert(channel != NULL);
@@ -2404,9 +2405,19 @@ static void conference_function(switch_core_session_t *session, char *data)
        }
        switch_set_flag_locked((&member), MFLAG_RUNNING | uflags);
 
+       msg.from = __FILE__;
+
+       /* Tell the channel we are going to be in a bridge */
+       msg.message_id = SWITCH_MESSAGE_INDICATE_BRIDGE;
+       switch_core_session_receive_message(session, &msg);
+
        /* Run the confernece loop */
        conference_loop(&member);
 
+       /* Tell the channel we are no longer going to be in a bridge */
+       msg.message_id = SWITCH_MESSAGE_INDICATE_UNBRIDGE;
+       switch_core_session_receive_message(session, &msg);
+
        /* Remove the caller from the conference */
        conference_del_member(member.last_conference, &member);