[asterisk-commits] oej: branch oej/pinedanish-copybridgeflags-1.6.0 r261226 - in /team/oej/pined...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed May 5 03:29:27 CDT 2010


Author: oej
Date: Wed May  5 03:29:21 2010
New Revision: 261226

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=261226
Log:
Reset automerge

Added:
    team/oej/pinedanish-copybridgeflags-1.6.0/contrib/init.d/org.asterisk.asterisk.plist
      - copied unchanged from r253630, branches/1.6.0/contrib/init.d/org.asterisk.asterisk.plist
Modified:
    team/oej/pinedanish-copybridgeflags-1.6.0/   (props changed)
    team/oej/pinedanish-copybridgeflags-1.6.0/Makefile
    team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_dial.c
    team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_followme.c
    team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_meetme.c
    team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_stack.c
    team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_userevent.c
    team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_waituntil.c
    team/oej/pinedanish-copybridgeflags-1.6.0/cdr/cdr_pgsql.c
    team/oej/pinedanish-copybridgeflags-1.6.0/cdr/cdr_sqlite3_custom.c
    team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_dahdi.c
    team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_h323.c
    team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_mgcp.c
    team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_sip.c
    team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_skinny.c
    team/oej/pinedanish-copybridgeflags-1.6.0/configs/extensions.ael.sample
    team/oej/pinedanish-copybridgeflags-1.6.0/configs/say.conf.sample
    team/oej/pinedanish-copybridgeflags-1.6.0/configs/sip.conf.sample
    team/oej/pinedanish-copybridgeflags-1.6.0/doc/tex/localchannel.tex
    team/oej/pinedanish-copybridgeflags-1.6.0/include/asterisk/frame.h
    team/oej/pinedanish-copybridgeflags-1.6.0/include/asterisk/rtp.h
    team/oej/pinedanish-copybridgeflags-1.6.0/main/asterisk.c
    team/oej/pinedanish-copybridgeflags-1.6.0/main/channel.c
    team/oej/pinedanish-copybridgeflags-1.6.0/main/features.c
    team/oej/pinedanish-copybridgeflags-1.6.0/main/logger.c
    team/oej/pinedanish-copybridgeflags-1.6.0/main/manager.c
    team/oej/pinedanish-copybridgeflags-1.6.0/main/rtp.c
    team/oej/pinedanish-copybridgeflags-1.6.0/main/sched.c
    team/oej/pinedanish-copybridgeflags-1.6.0/main/stdtime/localtime.c
    team/oej/pinedanish-copybridgeflags-1.6.0/main/tcptls.c
    team/oej/pinedanish-copybridgeflags-1.6.0/main/utils.c
    team/oej/pinedanish-copybridgeflags-1.6.0/pbx/pbx_dundi.c
    team/oej/pinedanish-copybridgeflags-1.6.0/utils/Makefile

Propchange: team/oej/pinedanish-copybridgeflags-1.6.0/
------------------------------------------------------------------------------
    automerge = http://www.codename-pineapple.org/

Propchange: team/oej/pinedanish-copybridgeflags-1.6.0/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed May  5 03:29:21 2010
@@ -1,1 +1,1 @@
-/branches/1.6.0:1-252034
+/branches/1.6.0:1-253709

Propchange: team/oej/pinedanish-copybridgeflags-1.6.0/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/Makefile
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/Makefile?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/Makefile (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/Makefile Wed May  5 03:29:21 2010
@@ -786,6 +786,8 @@
 		elif [ -f /etc/SuSE-release -o -f /etc/novell-release ]; then \
 			$(INSTALL) -m 755 contrib/init.d/rc.suse.asterisk $(DESTDIR)/etc/init.d/asterisk; \
 			if [ -z "$(DESTDIR)" ]; then /sbin/chkconfig --add asterisk; fi; \
+		elif [ -d $(DESTDIR)/Library/LaunchDaemons -a ! -f $(DESTDIR)/Library/LaunchDaemons/org.asterisk.asterisk.plist ]; then \
+			$(INSTALL) -m 644 contrib/init.d/org.asterisk.asterisk.plist $(DESTDIR)/Library/LaunchDaemons/org.asterisk.asterisk.plist; \
 		elif [ -f /etc/slackware-version ]; then \
 			echo "Slackware is not currently supported, although an init script does exist for it."; \
 		else \

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_dial.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_dial.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_dial.c Wed May  5 03:29:21 2010
@@ -1274,12 +1274,12 @@
 
 	ast_channel_lock(chan);
 	if (chan->cdr->answer.tv_sec) {
-		snprintf(buf, sizeof(buf), "%ld", end - chan->cdr->answer.tv_sec);
+		snprintf(buf, sizeof(buf), "%ld", (long) end - chan->cdr->answer.tv_sec);
 		pbx_builtin_setvar_helper(chan, "ANSWEREDTIME", buf);
 	}
 
 	if (chan->cdr->start.tv_sec) {
-		snprintf(buf, sizeof(buf), "%ld", end - chan->cdr->start.tv_sec);
+		snprintf(buf, sizeof(buf), "%ld", (long) end - chan->cdr->start.tv_sec);
 		pbx_builtin_setvar_helper(chan, "DIALEDTIME", buf);
 	}
 	ast_channel_unlock(chan);

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_followme.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_followme.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_followme.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_followme.c Wed May  5 03:29:21 2010
@@ -889,12 +889,12 @@
 
 	ast_channel_lock(chan);
 	if (chan->cdr->answer.tv_sec) {
-		snprintf(buf, sizeof(buf), "%ld", end - chan->cdr->answer.tv_sec);
+		snprintf(buf, sizeof(buf), "%ld", (long) end - chan->cdr->answer.tv_sec);
 		pbx_builtin_setvar_helper(chan, "ANSWEREDTIME", buf);
 	}
 
 	if (chan->cdr->start.tv_sec) {
-		snprintf(buf, sizeof(buf), "%ld", end - chan->cdr->start.tv_sec);
+		snprintf(buf, sizeof(buf), "%ld", (long) end - chan->cdr->start.tv_sec);
 		pbx_builtin_setvar_helper(chan, "DIALEDTIME", buf);
 	}
 	ast_channel_unlock(chan);

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_meetme.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_meetme.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_meetme.c Wed May  5 03:29:21 2010
@@ -5241,7 +5241,6 @@
 	if (!trunk) {
 		ast_log(LOG_ERROR, "SLA Trunk '%s' not found!\n", args.trunk_name);
 		pbx_builtin_setvar_helper(chan, "SLATRUNK_STATUS", "FAILURE");
-		ast_atomic_fetchadd_int((int *) &trunk->ref_count, -1);
 		sla_queue_event(SLA_EVENT_CHECK_RELOAD);	
 		return 0;
 	}

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_stack.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_stack.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_stack.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_stack.c Wed May  5 03:29:21 2010
@@ -228,9 +228,9 @@
 {
 	struct ast_datastore *stack_store = ast_channel_datastore_find(chan, &stack_info, NULL);
 	AST_LIST_HEAD(, gosub_stack_frame) *oldlist;
-	struct gosub_stack_frame *newframe;
+	struct gosub_stack_frame *newframe, *lastframe;
 	char argname[15], *tmp = ast_strdupa(data), *label, *endparen;
-	int i;
+	int i, max_argc = 0;
 	AST_DECLARE_APP_ARGS(args2,
 		AST_APP_ARG(argval)[100];
 	);
@@ -258,6 +258,12 @@
 		stack_store->data = oldlist;
 		AST_LIST_HEAD_INIT(oldlist);
 		ast_channel_datastore_add(chan, stack_store);
+	} else {
+		oldlist = stack_store->data;
+	}
+
+	if ((lastframe = AST_LIST_FIRST(oldlist))) {
+		max_argc = lastframe->arguments;
 	}
 
 	/* Separate the arguments from the label */
@@ -273,8 +279,13 @@
 	} else
 		args2.argc = 0;
 
+	/* Mask out previous arguments in this invocation */
+	if (args2.argc > max_argc) {
+		max_argc = args2.argc;
+	}
+
 	/* Create the return address, but don't save it until we know that the Gosub destination exists */
-	newframe = gosub_allocate_frame(chan->context, chan->exten, chan->priority + 1, args2.argc);
+	newframe = gosub_allocate_frame(chan->context, chan->exten, chan->priority + 1, max_argc);
 
 	if (!newframe) {
 		return -1;
@@ -297,10 +308,10 @@
 	}
 
 	/* Now that we know for certain that we're going to a new location, set our arguments */
-	for (i = 0; i < args2.argc; i++) {
+	for (i = 0; i < max_argc; i++) {
 		snprintf(argname, sizeof(argname), "ARG%d", i + 1);
-		frame_set_var(chan, newframe, argname, args2.argval[i]);
-		ast_debug(1, "Setting '%s' to '%s'\n", argname, args2.argval[i]);
+		frame_set_var(chan, newframe, argname, i < args2.argc ? args2.argval[i] : "");
+		ast_debug(1, "Setting '%s' to '%s'\n", argname, i < args2.argc ? args2.argval[i] : "");
 	}
 
 	/* And finally, save our return address */

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_userevent.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_userevent.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_userevent.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_userevent.c Wed May  5 03:29:21 2010
@@ -37,7 +37,7 @@
 static char *descrip = 
 "  UserEvent(eventname[,body]): Sends an arbitrary event to the manager\n"
 "interface, with an optional body representing additional arguments.  The\n"
-"body may be specified as a | delimeted list of headers. Each additional\n"
+"body may be specified as a comma (,) delimited list of headers. Each additional\n"
 "argument will be placed on a new line in the event. The format of the\n"
 "event will be:\n"
 "    Event: UserEvent\n"

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_waituntil.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_waituntil.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_waituntil.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/apps/app_waituntil.c Wed May  5 03:29:21 2010
@@ -48,6 +48,7 @@
 {
 	int res;
 	double fraction;
+	long seconds;
 	struct timeval future = { 0, };
 	struct timeval tv = ast_tvnow();
 	int msec;
@@ -58,12 +59,13 @@
 		return 0;
 	}
 
-	if (sscanf(data, "%30ld%30lf", (long *)&future.tv_sec, &fraction) == 0) {
+	if (sscanf(data, "%30ld%30lf", &seconds, &fraction) == 0) {
 		ast_log(LOG_WARNING, "WaitUntil called with non-numeric argument\n");
 		pbx_builtin_setvar_helper(chan, "WAITUNTILSTATUS", "FAILURE");
 		return 0;
 	}
 
+	future.tv_sec = seconds;
 	future.tv_usec = fraction * 1000000;
 
 	if ((msec = ast_tvdiff_ms(future, tv)) < 0) {

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/cdr/cdr_pgsql.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/cdr/cdr_pgsql.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/cdr/cdr_pgsql.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/cdr/cdr_pgsql.c Wed May  5 03:29:21 2010
@@ -171,7 +171,7 @@
 			if (strcmp(cur->name, "start") == 0 || strcmp(cur->name, "calldate") == 0) {
 				if (strncmp(cur->type, "int", 3) == 0) {
 					LENGTHEN_BUF2(12);
-					lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%ld", cdr->start.tv_sec);
+					lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%ld", (long) cdr->start.tv_sec);
 				} else if (strncmp(cur->type, "float", 5) == 0) {
 					LENGTHEN_BUF2(30);
 					lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%f", (double)cdr->start.tv_sec + (double)cdr->start.tv_usec / 1000000.0);
@@ -184,7 +184,7 @@
 			} else if (strcmp(cur->name, "answer") == 0) {
 				if (strncmp(cur->type, "int", 3) == 0) {
 					LENGTHEN_BUF2(12);
-					lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%ld", cdr->answer.tv_sec);
+					lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%ld", (long) cdr->answer.tv_sec);
 				} else if (strncmp(cur->type, "float", 5) == 0) {
 					LENGTHEN_BUF2(30);
 					lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%f", (double)cdr->answer.tv_sec + (double)cdr->answer.tv_usec / 1000000.0);
@@ -197,7 +197,7 @@
 			} else if (strcmp(cur->name, "end") == 0) {
 				if (strncmp(cur->type, "int", 3) == 0) {
 					LENGTHEN_BUF2(12);
-					lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%ld", cdr->end.tv_sec);
+					lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%ld", (long) cdr->end.tv_sec);
 				} else if (strncmp(cur->type, "float", 5) == 0) {
 					LENGTHEN_BUF2(30);
 					lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%f", (double)cdr->end.tv_sec + (double)cdr->end.tv_usec / 1000000.0);

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/cdr/cdr_sqlite3_custom.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/cdr/cdr_sqlite3_custom.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/cdr/cdr_sqlite3_custom.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/cdr/cdr_sqlite3_custom.c Wed May  5 03:29:21 2010
@@ -226,7 +226,7 @@
 		ast_free(value);
 }
 
-static int sqlite3_log(struct ast_cdr *cdr)
+static int write_cdr(struct ast_cdr *cdr)
 {
 	int res = 0;
 	char *error = NULL;
@@ -329,7 +329,7 @@
 		}
 	}
 
-	res = ast_cdr_register(name, desc, sqlite3_log);
+	res = ast_cdr_register(name, desc, write_cdr);
 	if (res) {
 		ast_log(LOG_ERROR, "Unable to register custom SQLite3 CDR handling\n");
 		free_config(0);

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_dahdi.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_dahdi.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_dahdi.c Wed May  5 03:29:21 2010
@@ -49,7 +49,7 @@
 
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
-#ifdef __NetBSD__
+#if defined(__NetBSD__) || defined(__FreeBSD__)
 #include <pthread.h>
 #include <signal.h>
 #else

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_h323.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_h323.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_h323.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_h323.c Wed May  5 03:29:21 2010
@@ -922,6 +922,10 @@
 		ast_rtp_new_source(pvt->rtp);
 		res = 0;
 		break;
+	case AST_CONTROL_SRCCHANGE:
+		ast_rtp_change_source(pvt->rtp);
+		res = 0;
+		break;
 	case AST_CONTROL_PROCEEDING:
 	case -1:
 		break;

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_mgcp.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_mgcp.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_mgcp.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_mgcp.c Wed May  5 03:29:21 2010
@@ -1478,6 +1478,9 @@
 		break;
 	case AST_CONTROL_SRCUPDATE:
 		ast_rtp_new_source(sub->rtp);
+		break;
+	case AST_CONTROL_SRCCHANGE:
+		ast_rtp_change_source(sub->rtp);
 		break;
 	case -1:
 		transmit_notify_request(sub, "");

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_sip.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_sip.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_sip.c Wed May  5 03:29:21 2010
@@ -1008,13 +1008,12 @@
 #define SIP_PAGE2_FAX_DETECT		(1 << 28)		/*!< DP: Fax Detection support */
 #define SIP_PAGE2_REGISTERTRYING        (1 << 29)       /*!< DP: Send 100 Trying on REGISTER attempts */
 #define SIP_PAGE2_UDPTL_DESTINATION     (1 << 30)       /*!< DP: Use source IP of RTP as destination if NAT is enabled */
-#define SIP_PAGE2_CONSTANT_SSRC         (1 << 31)       /*!< GDP: Don't change SSRC on reinvite */
 
 #define SIP_PAGE2_FLAGS_TO_COPY \
 	(SIP_PAGE2_ALLOWSUBSCRIBE | SIP_PAGE2_ALLOWOVERLAP | SIP_PAGE2_IGNORESDPVERSION | \
 	SIP_PAGE2_VIDEOSUPPORT | SIP_PAGE2_T38SUPPORT | SIP_PAGE2_RFC2833_COMPENSATE | \
 	 SIP_PAGE2_BUGGY_MWI | SIP_PAGE2_TEXTSUPPORT | SIP_PAGE2_UDPTL_DESTINATION | \
-	 SIP_PAGE2_CONSTANT_SSRC | SIP_PAGE2_FAX_DETECT)
+	 SIP_PAGE2_FAX_DETECT)
 
 /*@}*/ 
 
@@ -4333,9 +4332,6 @@
 		ast_rtp_set_rtptimeout(dialog->rtp, peer->rtptimeout);
 		ast_rtp_set_rtpholdtimeout(dialog->rtp, peer->rtpholdtimeout);
 		ast_rtp_set_rtpkeepalive(dialog->rtp, peer->rtpkeepalive);
-		if (ast_test_flag(&dialog->flags[1], SIP_PAGE2_CONSTANT_SSRC)) {
-			ast_rtp_set_constantssrc(dialog->rtp);
-		}
 		/* Set Frame packetization */
 		ast_rtp_codec_setpref(dialog->rtp, &dialog->prefs);
 		dialog->autoframing = peer->autoframing;
@@ -4346,9 +4342,6 @@
 		ast_rtp_set_rtptimeout(dialog->vrtp, peer->rtptimeout);
 		ast_rtp_set_rtpholdtimeout(dialog->vrtp, peer->rtpholdtimeout);
 		ast_rtp_set_rtpkeepalive(dialog->vrtp, peer->rtpkeepalive);
-		if (ast_test_flag(&dialog->flags[1], SIP_PAGE2_CONSTANT_SSRC)) {
-			ast_rtp_set_constantssrc(dialog->vrtp);
-		}
 	}
 	if (dialog->trtp) { /* Realtime text */
 		ast_rtp_setdtmf(dialog->trtp, 0);
@@ -5701,6 +5694,9 @@
 		break;
 	case AST_CONTROL_SRCUPDATE:
 		ast_rtp_new_source(p->rtp);
+		break;
+	case AST_CONTROL_SRCCHANGE:
+		ast_rtp_change_source(p->rtp);
 		break;
 	case -1:
 		res = -1;
@@ -18168,14 +18164,6 @@
 				res = -1;
 				goto request_invite_cleanup;
 			}
-			if (ast_test_flag(&p->flags[1], SIP_PAGE2_CONSTANT_SSRC)) {
-				if (p->rtp) {
-					ast_rtp_set_constantssrc(p->rtp);
-				}
-				if (p->vrtp) {
-					ast_rtp_set_constantssrc(p->vrtp);
-				}
-			}
 		} else {	/* No SDP in invite, call control session */
 			p->jointcapability = p->capability;
 			ast_debug(2, "No SDP in Invite, third party call control\n");
@@ -21367,9 +21355,6 @@
 	} else if (!strcasecmp(v->name, "t38pt_usertpsource")) {
 		ast_set_flag(&mask[1], SIP_PAGE2_UDPTL_DESTINATION);
 		ast_set2_flag(&flags[1], ast_true(v->value), SIP_PAGE2_UDPTL_DESTINATION);
-	} else if (!strcasecmp(v->name, "constantssrc")) {
-		ast_set_flag(&mask[1], SIP_PAGE2_CONSTANT_SSRC);
-		ast_set2_flag(&flags[1], ast_true(v->value), SIP_PAGE2_CONSTANT_SSRC);
 	} else if (!strcasecmp(v->name, "faxdetect")) {
                 ast_set_flag(&mask[1], SIP_PAGE2_FAX_DETECT);
                 ast_set2_flag(&flags[1], ast_true(v->value), SIP_PAGE2_FAX_DETECT);
@@ -22878,8 +22863,6 @@
 				default_maxcallbitrate = DEFAULT_MAX_CALL_BITRATE;
 		} else if (!strcasecmp(v->name, "matchexterniplocally")) {
 			global_matchexterniplocally = ast_true(v->value);
-		} else if (!strcasecmp(v->name, "constantssrc")) {
-			ast_set2_flag(&global_flags[1], ast_true(v->value), SIP_PAGE2_CONSTANT_SSRC);
 		} else if (!strcasecmp(v->name, "session-timers")) {
 			int i = (int) str2stmode(v->value); 
 			if (i < 0) {

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_skinny.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_skinny.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_skinny.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/channels/chan_skinny.c Wed May  5 03:29:21 2010
@@ -3771,6 +3771,9 @@
 	case AST_CONTROL_SRCUPDATE:
 		ast_rtp_new_source(sub->rtp);
 		break;
+	case AST_CONTROL_SRCCHANGE:
+		ast_rtp_change_source(sub->rtp);
+		break;
 	default:
 		ast_log(LOG_WARNING, "Don't know how to indicate condition %d\n", ind);
 		return -1; /* Tell asterisk to provide inband signalling */

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/configs/extensions.ael.sample
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/configs/extensions.ael.sample?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/configs/extensions.ael.sample (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/configs/extensions.ael.sample Wed May  5 03:29:21 2010
@@ -18,16 +18,24 @@
 // function: ${ENV(VARIABLE)}
 //
 
+// NOTE! NOTE! NOTE!
+// Asterisk by default will load both extensions.conf and extensions.ael files.
+// Upon loading these files the dialplans generated from both with be merged,
+// so you must make sure that you don't have any overlapping contexts or global
+// variables. If you do, then unexpected behavior may result when the data is
+// merged.
+// NOTE! NOTE! NOTE!
+
 globals {
-	CONSOLE="Console/dsp"; 		// Console interface for demo
-	//CONSOLE=DAHDI/1
-	//CONSOLE=Phone/phone0
-	IAXINFO=guest;				// IAXtel username/password
-	//IAXINFO="myuser:mypass";
-	TRUNK="DAHDI/G2";					// Trunk interface
-	//
-	// Note the 'G2' in the TRUNK variable above. It specifies which group (defined
-	// in dahdi.conf) to dial, i.e. group 2, and how to choose a channel to use in
+	CONSOLE-AEL="Console/dsp"; 		// Console interface for demo
+	//CONSOLE-AEL=Zap/1;
+	//CONSOLE-AEL=Phone/phone0;
+	IAXINFO-AEL=guest;				// IAXtel username/password
+	//IAXINFO-AEL="myuser:mypass";
+	OUTBOUND-TRUNK="Zap/g2";		// Trunk interface
+	//
+	// Note the 'g2' in the OUTBOUND-TRUNK variable above. It specifies which group (defined
+	// in chan_dahdi.conf) to dial, i.e. group 2, and how to choose a channel to use in
 	// the specified group. The four possible options are:
 	//
 	// g: select the lowest-numbered non-busy DAHDI channel
@@ -39,8 +47,8 @@
 	// R: use a round-robin search, starting at the next lowest channel than last
 	//    time (aka. descending rotary hunt group).
 	//
-	TRUNKMSD=1;					// MSD digits to strip (usually 1 or 0)
-	//TRUNK=IAX2/user:pass at provider
+	OUTBOUND-TRUNKMSD=1;					// MSD digits to strip (usually 1 or 0)
+	//OUTBOUND-TRUNK2=IAX2/user:pass at provider;
 };
 
 //
@@ -186,7 +194,7 @@
 // up, please go to www.gnophone.com or www.iaxtel.com
 //
 context ael-iaxtel700 {
-	_91700XXXXXXX => Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel);
+	_91700XXXXXXX => Dial(IAX2/${IAXINFO-AEL}@iaxtel.com/${EXTEN:1}@iaxtel);
 };
 
 //
@@ -210,7 +218,7 @@
 	};
 	_9011. => {
 		&ael-dundi-e164(${EXTEN:4});
-		Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+		Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
 	};
 };
 
@@ -223,7 +231,7 @@
 	};
 	_91NXXNXXXXXX => {
 		&ael-dundi-e164(${EXTEN:1});
-		Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+		Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
 	};
 };
 
@@ -232,7 +240,7 @@
 	// Local seven-digit dialing accessed through trunk interface
 	//
 	_9NXXXXXX => {
-		Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+		Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
 	};
 };
 
@@ -241,10 +249,10 @@
 	// Long distance context accessed through trunk interface
 	//
 	
-	_91800NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
-	_91888NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
-	_91877NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
-	_91866NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+	_91800NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
+	_91888NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
+	_91877NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
+	_91866NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
 };
 
 context ael-international {

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/configs/say.conf.sample
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/configs/say.conf.sample?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/configs/say.conf.sample (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/configs/say.conf.sample Wed May  5 03:29:21 2010
@@ -198,3 +198,35 @@
     _datetime::. => date:YBdA k 'ora' M 'perc':${SAY}
     _date::. => date:YBdA:${SAY}
     _time::. => date:k 'ora' M 'perc':${SAY}
+
+[fr](date-base,digit-base)
+    _[n]um:0. => num:${SAY:1}
+    _[n]um:X => digits/${SAY}
+    _[n]um:1X => digits/${SAY}
+    _[n]um:[2-9]0 =>  digits/${SAY}
+    _[n]um:[2-6]1 => digits/${SAY:0:1}0, vm-and, digits/${SAY:1}
+    _[n]um:71 => digits/60, vm-and, num:1${SAY:1}
+    _[n]um:7X => digits/60, num:1${SAY:1}
+    _[n]um:9X => digits/80, num:1${SAY:1}
+    _[n]um:[2-9][1-9] =>  digits/${SAY:0:1}0, num:${SAY:1}
+    _[n]um:100 => digits/hundred
+    _[n]um:1XX => digits/hundred, num:${SAY:1}
+    _[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
+    
+    _[n]um:1XXX => digits/thousand, num:${SAY:1}
+    _[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
+    _[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
+    _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
+    
+    _[n]um:1XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
+    _[n]um:[2-9]XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
+    _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2}
+    _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3}
+    
+    _datetime::. => date:AdBY 'digits/at' H 'hours' M 'perc':${SAY}  
+    _date::. => date:AdBY:${SAY}
+    _time::. => date:H 'hours' M 'perc':${SAY}
+    
+    _pho[n]e:XXXX => num:${SAY:0:2}, num:${SAY:2:2}
+    _pho[n]e:0[1-9]XXXXXXXX => num:${SAY:0:1}, num:${SAY:1:1}, num:${SAY:2:2}, num:${SAY:4:2}, num:${SAY:6:2}, num:${SAY:8:2}
+    _pho[n]e:. => digit:${SAY}

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/configs/sip.conf.sample
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/configs/sip.conf.sample?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/configs/sip.conf.sample (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/configs/sip.conf.sample Wed May  5 03:29:21 2010
@@ -622,8 +622,6 @@
                                 ; for devices that send us non standard SDP packets
                                 ; (observed with Microsoft OCS). By default this option is
                                 ; off.
-
-;constantssrc=yes               ; Don't change the RTP SSRC when our media stream changes
 
 ;----------------------------------------- REALTIME SUPPORT ------------------------
 ; For additional information on ARA, the Asterisk Realtime Architecture,

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/doc/tex/localchannel.tex
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/doc/tex/localchannel.tex?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/doc/tex/localchannel.tex (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/doc/tex/localchannel.tex Wed May  5 03:29:21 2010
@@ -373,6 +373,22 @@
 
 \subsection{Understanding When To Use /n}
 
+Lets take a look at an example that demonstrates when the use of the /n
+directive is necessary. If we spawn a Local channel which does a Dial()
+to a SIP channel, but we use the L() option (which is used to limit the
+amount of time a call can be active, along with warning tones when the
+time is nearly up), it will be associated with the Local channel,
+which is then optimized out of the call path, and thus won't perform
+as expected.
+
+This following dialplan will not perform as expected.
+
+[services]
+exten => 2,1,Dial(SIP/PHONE_B,,L(60000:45000:15000))
+
+[internal]
+exten => 4,1,Dial(Local/2 at services);
+
 By default, the Local channel will try to optimize itself out of the call path.
 This means that once the Local channel has established the call between the
 destination and Asterisk, the Local channel will get out of the way and let
@@ -390,44 +406,40 @@
 Local channel in the call path, along with any channel variables, or other
 channel specific information.
 
-For example, if we were calling a Local channel from the Dial() application, we
-could change:
-
-\begin{verbatim}
-Dial(Local/201 at devices)
-\end{verbatim}
-
-...into the following line:
-
-\begin{verbatim}
-Dial(Local/201 at devices/n)
+In order to make this behave as we expect (limiting the call), we would change:
+
+\begin{verbatim}
+[internal]
+exten => 4,1,Dial(Local/2 at services)
+\end{verbatim}
+
+...into the following:
+
+\begin{verbatim}
+[internal]
+exten => 4,1,Dial(Local/2 at services/n)
 \end{verbatim}
 
 By adding /n to the end, our Local channel will now stay in the call path and
 not go away.
 
-Lets take a look at an example that demonstrates when the use of the /n 
-directive is necessary. If we spawn a Local channel which then performs another
-Dial() to a SIP channel, but we use the L() option (which is used to limit the
-amount of time a call can be active, along with warning tones when the time is
-nearly up), it will be associated with the Local channel, which is then
-optimized out of the call path, and thus won't perform as expected.
-
-Here is an overview of our call flow, and the information associated with the
-channels:
+Why does adding the /n option all of a suddon make the 'L' option work? First
+we need to show an overview of the call flow that doesn't work properly, and
+discuss the information associated with the channels:
 
 \begin{enumerate}
   \item SIP device PHONE\_A calls Asterisk via a SIP INVITE
-  \item Asterisk accepts the INVITE and then starts processing dialplan logic
+  \item Asterisk accepts the INVITE and then starts processing dialplan logic in the [internal] context
   \item Our dialplan calls Dial(Local/2 at services) -- notice no /n
-  \item The Local channel then executes dialplan at extension 2 within the services context
-  \item Extension 2 within [services] then performs another Dial() to a SIP channel with the line:  Dial(SIP/PHONE\_B,,L(60000:450000:15000))
-  \item The call is then placed to SIP/PHONE\_B which then answers the call.
-  \item The Local channel containing the information for tracking the time allowance of the call is then optimized out of the call path, losing all information about when to terminate the call.
-  \item SIP/PHONE\_A and SIP/PHONE\_B then continue talking indefinitely.  
+  \item The Local channel then executes dialplan at extension 2 within the [services] context
+  \item Extension 2 within [services] then performs Dial() to PHONE_B with the line:  Dial(SIP/PHONE\_B,,L(60000:45000:15000))
+  \item SIP/PHONE\_B then answers the call
+  \item Even though the L option was given when dialing the SIP device, the L information is stored in the channel that is doing the Dial() which is the Local channel, and not the endpoint SIP channel.
+  \item The Local channel in the middle, containing the information for tracking the time allowance of the call, is then optimized out of the call path, losing all information about when to terminate the call.
+  \item SIP/PHONE\_A and SIP/PHONE\_B then continue talking indefinitely.
 \end{enumerate}
 
-Now, if we were to modify our dialplan at step three (3) then we would force the
+Now, if we were to add /n to our dialplan at step three (3) then we would force the
 Local channel to stay in the call path, and the L() option associated with the
 Dial() from the Local channel would remain, and our warning sounds and timing
 would work as expected.
@@ -435,14 +447,20 @@
 There are two workarounds for the above described scenario:
 
 \begin{enumerate}
-\item Use Dial(Local/2 at services/n) to cause the Local channel to remain in the call
-path so that the L() option used inside the Local channel is not discarded
-when optimization is performed.
-\item Place the L() option outside of the Local channel so that when it is
-optimized out of the call path, the information required to make L() work is
-associated with the outside channel. For example: 
-\begin{verbatim}
-   Dial(Local/2 at services,,L(60000:45000:15000))
+\item Use what we just described, Dial(Local/2 at services/n) to cause the Local
+channel to remain in the call path so that the L() option used inside the
+Local channel is not discarded when optimization is performed.
+\item Place the L() option at the outermost part of the path so that when the middle
+is optimized out of the call path, the information required to make L() work
+is associated with the outside channel. The L information will then be stored
+on the calling channel, which is PHONE\_A. For example:
+
+\begin{verbatim}
+[services]
+exten => 2,1,Dial(SIP/PHONE_B)
+
+[internal]
+exten => 4,1,Dial(Local/2 at services,,L(60000:45000:15000));
 \end{verbatim}
 \end{enumerate}
 

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/include/asterisk/frame.h
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/include/asterisk/frame.h?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/include/asterisk/frame.h (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/include/asterisk/frame.h Wed May  5 03:29:21 2010
@@ -83,7 +83,8 @@
 	\arg \b HOLD	Call is placed on hold
 	\arg \b UNHOLD	Call is back from hold
 	\arg \b VIDUPDATE	Video update requested
-	\arg \b SRCUPDATE       The source of media has changed
+	\arg \b SRCUPDATE The source of media has changed (RTP marker bit must change)
+	\arg \b SRCCHANGE Media source has changed (RTP marker bit and SSRC must change)
 
 */
 
@@ -302,7 +303,8 @@
 	_XXX_AST_CONTROL_T38 = 19,	/*!< T38 state change request/notification \deprecated This is no longer supported. Use AST_CONTROL_T38_PARAMETERS instead. */
 	AST_CONTROL_SRCUPDATE = 20,     /*!< Indicate source of media has changed */
 	AST_CONTROL_T38_PARAMETERS = 24, /*!< T38 state change request/notification with parameters */
-	AST_CONTROL_BRIDGEPARAM = 25,	/*!< Bridge parameter update after masquerade */
+	AST_CONTROL_SRCCHANGE = 25,  /*!< Media source has changed and requires a new RTP SSRC */
+	AST_CONTROL_BRIDGEPARAM = 26,	/*!< Bridge parameter update after masquerade */
 };
 
 enum ast_control_t38 {

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/include/asterisk/rtp.h
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/include/asterisk/rtp.h?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/include/asterisk/rtp.h (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/include/asterisk/rtp.h Wed May  5 03:29:21 2010
@@ -187,10 +187,11 @@
 
 int ast_rtp_setqos(struct ast_rtp *rtp, int tos, int cos, char *desc);
 
-/*! \brief When changing sources, don't generate a new SSRC */
-void ast_rtp_set_constantssrc(struct ast_rtp *rtp);
-
+/*! \brief Indicate that we need to set the marker bit */
 void ast_rtp_new_source(struct ast_rtp *rtp);
+
+/*! \brief Indicate that we need to set the marker bit and change the ssrc */
+void ast_rtp_change_source(struct ast_rtp *rtp);
 
 /*! \brief  Setting RTP payload types from lines in a SDP description: */
 void ast_rtp_pt_clear(struct ast_rtp* rtp);

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/main/asterisk.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/main/asterisk.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/main/asterisk.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/main/asterisk.c Wed May  5 03:29:21 2010
@@ -3303,7 +3303,7 @@
 		} else
 			ast_log(LOG_WARNING, "Unable to open pid file '%s': %s\n", ast_config_AST_PID, strerror(errno));
 #else
-		ast_log(LOG_WARNING, "Mac OS X detected.  Use '/sbin/launchd -d' to launch with the nofork option.\n");
+		ast_log(LOG_WARNING, "Mac OS X detected.  Use 'launchctl load /Library/LaunchDaemon/org.asterisk.asterisk.plist'.\n");
 #endif
 	}
 #endif

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/main/channel.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/main/channel.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/main/channel.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/main/channel.c Wed May  5 03:29:21 2010
@@ -2461,6 +2461,7 @@
 				case AST_CONTROL_RINGING:
 				case AST_CONTROL_ANSWER:
 				case AST_CONTROL_SRCUPDATE:
+				case AST_CONTROL_SRCCHANGE:
 					/* Unimportant */
 					break;
 				default:
@@ -3102,6 +3103,7 @@
 	case AST_CONTROL_PROCEEDING:
 	case AST_CONTROL_VIDUPDATE:
 	case AST_CONTROL_SRCUPDATE:
+	case AST_CONTROL_SRCCHANGE:
 	case AST_CONTROL_RADIO_KEY:
 	case AST_CONTROL_RADIO_UNKEY:
 	case AST_CONTROL_OPTION:
@@ -3209,6 +3211,7 @@
 	case AST_CONTROL_PROCEEDING:
 	case AST_CONTROL_VIDUPDATE:
 	case AST_CONTROL_SRCUPDATE:
+	case AST_CONTROL_SRCCHANGE:
 	case AST_CONTROL_RADIO_KEY:
 	case AST_CONTROL_RADIO_UNKEY:
 	case AST_CONTROL_OPTION:
@@ -3913,6 +3916,7 @@
 				case AST_CONTROL_UNHOLD:
 				case AST_CONTROL_VIDUPDATE:
 				case AST_CONTROL_SRCUPDATE:
+				case AST_CONTROL_SRCCHANGE:
 				case -1:			/* Ignore -- just stopping indications */
 					break;
 
@@ -4867,6 +4871,7 @@
 			case AST_CONTROL_UNHOLD:
 			case AST_CONTROL_VIDUPDATE:
 			case AST_CONTROL_SRCUPDATE:
+			case AST_CONTROL_SRCCHANGE:
 			case AST_CONTROL_T38_PARAMETERS:
 				ast_indicate_data(other, f->subclass, f->data, f->datalen);
 				if (jb_in_use) {

Modified: team/oej/pinedanish-copybridgeflags-1.6.0/main/features.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.6.0/main/features.c?view=diff&rev=261226&r1=261225&r2=261226
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.6.0/main/features.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.6.0/main/features.c Wed May  5 03:29:21 2010
@@ -30,6 +30,7 @@
 #include "asterisk/_private.h"
 
 #include <pthread.h>
+#include <signal.h>
 #include <sys/time.h>
 #include <sys/signal.h>
 #include <netinet/in.h>
@@ -3751,7 +3752,7 @@
 	AST_LIST_TRAVERSE(&parkinglot, cur, list) {
 		ast_cli(a->fd, "%-10.10s %25s (%-15s %-12s %-4d) %6lds\n"
 			,cur->parkingexten, cur->chan->name, cur->context, cur->exten
-			,cur->priority, cur->start.tv_sec + (cur->parkingtime/1000) - time(NULL));

[... 254 lines stripped ...]



More information about the asterisk-commits mailing list