mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	Merged revisions 294822 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r294822 | rmudgett | 2010-11-11 20:44:12 -0600 (Thu, 11 Nov 2010) | 18 lines Merged revisions 294821 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294821 | rmudgett | 2010-11-11 20:41:13 -0600 (Thu, 11 Nov 2010) | 11 lines Asterisk is getting a "No D-channels available!" warning message every 4 seconds. Asterisk is just whining too much with this message: "No D-channels available! Using Primary channel XXX as D-channel anyway!". Filtered the message so it only comes out once if there is no D channel available without an intervening D channel available period. (closes issue #17270) Reported by: jmls ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -981,9 +981,14 @@ static int pri_find_dchan(struct sig_pri_span *pri) | ||||
| 	if (newslot < 0) { | ||||
| 		newslot = 0; | ||||
| 		/* This is annoying to see on non persistent layer 2 connections.  Let's not complain in that case */ | ||||
| 		if (pri->sig != SIG_BRI_PTMP) { | ||||
| 			ast_log(LOG_WARNING, "No D-channels available!  Using Primary channel as D-channel anyway!\n"); | ||||
| 		if (pri->sig != SIG_BRI_PTMP && !pri->no_d_channels) { | ||||
| 			pri->no_d_channels = 1; | ||||
| 			ast_log(LOG_WARNING, | ||||
| 				"Span %d: No D-channels available!  Using Primary channel as D-channel anyway!\n", | ||||
| 				pri->span); | ||||
| 		} | ||||
| 	} else { | ||||
| 		pri->no_d_channels = 0; | ||||
| 	} | ||||
| 	if (old && (oldslot != newslot)) | ||||
| 		ast_log(LOG_NOTICE, "Switching from d-channel fd %d to fd %d!\n", | ||||
| @@ -4386,6 +4391,7 @@ static void *pri_dchannel(void *vpri) | ||||
|  | ||||
| 			switch (e->e) { | ||||
| 			case PRI_EVENT_DCHAN_UP: | ||||
| 				pri->no_d_channels = 0; | ||||
| 				if (!pri->pri) pri_find_dchan(pri); | ||||
|  | ||||
| 				/* Note presense of D-channel */ | ||||
|   | ||||
| @@ -395,6 +395,8 @@ struct sig_pri_span { | ||||
| 	int resetpos;							/*!< current position during a reset (-1 if not started) */ | ||||
| 	int sig;								/*!< ISDN signalling type (SIG_PRI, SIG_BRI, SIG_BRI_PTMP, etc...) */ | ||||
| 	int new_chan_seq;						/*!< New struct ast_channel sequence number */ | ||||
| 	/*! TRUE if we have already whined about no D channels available. */ | ||||
| 	unsigned int no_d_channels:1; | ||||
|  | ||||
| 	/* Everything after here is internally set */ | ||||
| 	struct pri *dchans[SIG_PRI_NUM_DCHANS];		/*!< Actual d-channels */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user