[svn-commits] file: branch file/rtp_engine-mark2 r184655 - in /team/file/rtp_engine-mark2: ...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Mar 27 09:23:40 CDT 2009


Author: file
Date: Fri Mar 27 09:23:35 2009
New Revision: 184655

URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=184655
Log:
Merged revisions 184566,184628,184630 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
  r184566 | file | 2009-03-27 10:15:26 -0300 (Fri, 27 Mar 2009) | 16 lines
  
  Merged revisions 184565 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r184565 | file | 2009-03-27 10:06:45 -0300 (Fri, 27 Mar 2009) | 9 lines
    
    Fix an issue where nat=yes would not always take effect for the RTP session on outgoing calls.
    
    If calls were placed using an IP address or hostname the global nat setting was copied over
    but was not set on the RTP session itself. This caused the RTP stack to not perform symmetric RTP
    actions.
    
    (closes issue #14546)
    Reported by: acunningham
  ........
................
  r184628 | file | 2009-03-27 10:57:29 -0300 (Fri, 27 Mar 2009) | 6 lines
  
  Fix a potential race condition when creating a software based mixing bridge.
  
  It was possible for no timer to become available between creating the bridge
  and starting it. We now open a timer when creating it and keep it open until the
  bridge is destroyed.
................
  r184630 | russell | 2009-03-27 11:00:18 -0300 (Fri, 27 Mar 2009) | 2 lines
  
  Change g_eid to ast_eid_default.
................

Modified:
    team/file/rtp_engine-mark2/   (props changed)
    team/file/rtp_engine-mark2/bridges/bridge_softmix.c
    team/file/rtp_engine-mark2/channels/chan_sip.c
    team/file/rtp_engine-mark2/include/asterisk/utils.h
    team/file/rtp_engine-mark2/main/asterisk.c
    team/file/rtp_engine-mark2/main/event.c
    team/file/rtp_engine-mark2/main/pbx.c
    team/file/rtp_engine-mark2/pbx/pbx_dundi.c
    team/file/rtp_engine-mark2/res/ais/evt.c

Propchange: team/file/rtp_engine-mark2/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/file/rtp_engine-mark2/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/file/rtp_engine-mark2/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Mar 27 09:23:35 2009
@@ -1,1 +1,1 @@
-/trunk:1-184561
+/trunk:1-184632

Modified: team/file/rtp_engine-mark2/bridges/bridge_softmix.c
URL: http://svn.digium.com/svn-view/asterisk/team/file/rtp_engine-mark2/bridges/bridge_softmix.c?view=diff&rev=184655&r1=184654&r2=184655
==============================================================================
--- team/file/rtp_engine-mark2/bridges/bridge_softmix.c (original)
+++ team/file/rtp_engine-mark2/bridges/bridge_softmix.c Fri Mar 27 09:23:35 2009
@@ -91,7 +91,7 @@
 		return -1;
 	}
 
-	ast_timer_close(timingfd);
+	bridge->bridge_pvt = (void*)(unsigned long)timingfd;
 
 	return 0;
 }
@@ -199,11 +199,7 @@
 /*! \brief Function which acts as the mixing thread */
 static int softmix_bridge_thread(struct ast_bridge *bridge)
 {
-	int timingfd;
-
-	if ((timingfd = ast_timer_open()) < 0) {
-		return -1;
-	}
+	int timingfd = (unsigned short)(unsigned long)bridge->bridge_pvt;
 
 	ast_timer_set_rate(timingfd, (1000 / SOFTMIX_INTERVAL));
 
@@ -267,7 +263,6 @@
 		ao2_lock(bridge);
 	}
 
-	ast_timer_set_rate(timingfd, 0);
 	ast_timer_close(timingfd);
 
 	return 0;

Modified: team/file/rtp_engine-mark2/channels/chan_sip.c
URL: http://svn.digium.com/svn-view/asterisk/team/file/rtp_engine-mark2/channels/chan_sip.c?view=diff&rev=184655&r1=184654&r2=184655
==============================================================================
--- team/file/rtp_engine-mark2/channels/chan_sip.c (original)
+++ team/file/rtp_engine-mark2/channels/chan_sip.c Fri Mar 27 09:23:35 2009
@@ -4906,6 +4906,8 @@
 		return -1;
 	}
 
+	do_setnat(dialog, ast_test_flag(&dialog->flags[0], SIP_NAT) & SIP_NAT_ROUTE);
+
 	ast_string_field_set(dialog, tohost, peername);
 
 	/* Get the outbound proxy information */

Modified: team/file/rtp_engine-mark2/include/asterisk/utils.h
URL: http://svn.digium.com/svn-view/asterisk/team/file/rtp_engine-mark2/include/asterisk/utils.h?view=diff&rev=184655&r1=184654&r2=184655
==============================================================================
--- team/file/rtp_engine-mark2/include/asterisk/utils.h (original)
+++ team/file/rtp_engine-mark2/include/asterisk/utils.h Fri Mar 27 09:23:35 2009
@@ -688,7 +688,7 @@
  * This is set in asterisk.conf, or determined automatically by taking the mac
  * address of an Ethernet interface on the system.
  */
-extern struct ast_eid g_eid;
+extern struct ast_eid ast_eid_default;
 
 /*!
  * \brief Fill in an ast_eid with the default eid of this machine

Modified: team/file/rtp_engine-mark2/main/asterisk.c
URL: http://svn.digium.com/svn-view/asterisk/team/file/rtp_engine-mark2/main/asterisk.c?view=diff&rev=184655&r1=184654&r2=184655
==============================================================================
--- team/file/rtp_engine-mark2/main/asterisk.c (original)
+++ team/file/rtp_engine-mark2/main/asterisk.c Fri Mar 27 09:23:35 2009
@@ -182,7 +182,7 @@
 
 /*! @} */
 
-struct ast_eid g_eid;
+struct ast_eid ast_eid_default;
 
 /* XXX tmpdir is a subdir of the spool directory, and no way to remap it */
 char record_cache_dir[AST_CACHE_DIR_LEN] = DEFAULT_TMP_DIR;
@@ -427,7 +427,7 @@
 		return NULL;
 	}
 
-	ast_eid_to_str(eid_str, sizeof(eid_str), &g_eid);
+	ast_eid_to_str(eid_str, sizeof(eid_str), &ast_eid_default);
 
 	ast_cli(a->fd, "\nPBX Core settings\n");
 	ast_cli(a->fd, "-----------------\n");
@@ -2817,7 +2817,7 @@
 	ast_copy_string(cfg_paths.socket_path, DEFAULT_SOCKET, sizeof(cfg_paths.socket_path));
 	ast_copy_string(cfg_paths.run_dir, DEFAULT_RUN_DIR, sizeof(cfg_paths.run_dir));
 
-	ast_set_default_eid(&g_eid);
+	ast_set_default_eid(&ast_eid_default);
 
 	/* no asterisk.conf? no problem, use buildtime config! */
 	if (cfg == CONFIG_STATUS_FILEMISSING || cfg == CONFIG_STATUS_FILEUNCHANGED || cfg == CONFIG_STATUS_FILEINVALID) {
@@ -2988,7 +2988,7 @@
 			struct ast_eid tmp_eid;
 			if (!ast_str_to_eid(&tmp_eid, v->value)) {
 				ast_verbose("Successfully set global EID to '%s'\n", v->value);
-				g_eid = tmp_eid;
+				ast_eid_default = tmp_eid;
 			} else
 				ast_verbose("Invalid Entity ID '%s' provided\n", v->value);
 		} else if (!strcasecmp(v->name, "lightbackground")) {

Modified: team/file/rtp_engine-mark2/main/event.c
URL: http://svn.digium.com/svn-view/asterisk/team/file/rtp_engine-mark2/main/event.c?view=diff&rev=184655&r1=184654&r2=184655
==============================================================================
--- team/file/rtp_engine-mark2/main/event.c (original)
+++ team/file/rtp_engine-mark2/main/event.c Fri Mar 27 09:23:35 2009
@@ -954,7 +954,7 @@
 	if (!ast_event_get_ie_raw(event, AST_EVENT_IE_EID)) {
 		/* If the event is originating on this server, add the server's
 		 * entity ID to the event. */
-		ast_event_append_ie_raw(&event, AST_EVENT_IE_EID, &g_eid, sizeof(g_eid));
+		ast_event_append_ie_raw(&event, AST_EVENT_IE_EID, &ast_eid_default, sizeof(ast_eid_default));
 	}
 
 	return event;

Modified: team/file/rtp_engine-mark2/main/pbx.c
URL: http://svn.digium.com/svn-view/asterisk/team/file/rtp_engine-mark2/main/pbx.c?view=diff&rev=184655&r1=184654&r2=184655
==============================================================================
--- team/file/rtp_engine-mark2/main/pbx.c (original)
+++ team/file/rtp_engine-mark2/main/pbx.c Fri Mar 27 09:23:35 2009
@@ -2924,7 +2924,7 @@
 		} else if (!strcmp(var, "SYSTEMNAME")) {
 			s = ast_config_AST_SYSTEM_NAME;
 		} else if (!strcmp(var, "ENTITYID")) {
-			ast_eid_to_str(workspace, workspacelen, &g_eid);
+			ast_eid_to_str(workspace, workspacelen, &ast_eid_default);
 			s = workspace;
 		}
 	}

Modified: team/file/rtp_engine-mark2/pbx/pbx_dundi.c
URL: http://svn.digium.com/svn-view/asterisk/team/file/rtp_engine-mark2/pbx/pbx_dundi.c?view=diff&rev=184655&r1=184654&r2=184655
==============================================================================
--- team/file/rtp_engine-mark2/pbx/pbx_dundi.c (original)
+++ team/file/rtp_engine-mark2/pbx/pbx_dundi.c Fri Mar 27 09:23:35 2009
@@ -4614,7 +4614,7 @@
 		ast_log(LOG_WARNING, "Unable to get host name!\n");
 	AST_LIST_LOCK(&peers);
 
-	memcpy(&global_eid, &g_eid, sizeof(global_eid));
+	memcpy(&global_eid, &ast_eid_default, sizeof(global_eid));
 
 	global_storehistory = 0;
 	ast_copy_string(secretpath, "dundi", sizeof(secretpath));

Modified: team/file/rtp_engine-mark2/res/ais/evt.c
URL: http://svn.digium.com/svn-view/asterisk/team/file/rtp_engine-mark2/res/ais/evt.c?view=diff&rev=184655&r1=184654&r2=184655
==============================================================================
--- team/file/rtp_engine-mark2/res/ais/evt.c (original)
+++ team/file/rtp_engine-mark2/res/ais/evt.c Fri Mar 27 09:23:35 2009
@@ -141,7 +141,7 @@
 		return;
 	}
 
-	if (!ast_eid_cmp(&g_eid, ast_event_get_ie_raw(event, AST_EVENT_IE_EID))) {
+	if (!ast_eid_cmp(&ast_eid_default, ast_event_get_ie_raw(event, AST_EVENT_IE_EID))) {
 		/* Don't feed events back in that originated locally. */
 		return;
 	}
@@ -183,7 +183,7 @@
 
 	ast_log(LOG_DEBUG, "Got an event to forward\n");
 
-	if (ast_eid_cmp(&g_eid, ast_event_get_ie_raw(ast_event, AST_EVENT_IE_EID))) {
+	if (ast_eid_cmp(&ast_eid_default, ast_event_get_ie_raw(ast_event, AST_EVENT_IE_EID))) {
 		/* If the event didn't originate from this server, don't send it back out. */
 		ast_log(LOG_DEBUG, "Returning here\n");
 		return;




More information about the svn-commits mailing list