mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	Patch based on this patch with small changes for trunk...
Merged revisions 53109 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r53109 | oej | 2007-02-02 01:24:03 +0100 (Fri, 02 Feb 2007) | 4 lines Disable the direct p2p RTP call setup in SIP. You can enable it in sip.conf, but it is now considered experimental until we solve the AST_CONTROL_ANSWER with payload and videocaps stuff. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -526,6 +526,7 @@ static int default_maxcallbitrate;	/*!< Maximum bitrate for call */ | ||||
| static struct ast_codec_pref default_prefs;		/*!< Default codec prefs */ | ||||
|  | ||||
| /* Global settings only apply to the channel */ | ||||
| static int global_directrtpsetup;	/*!< Enable support for Direct RTP setup (no re-invites) */ | ||||
| static int global_limitonpeers;		/*!< Match call limit on peers only */ | ||||
| static int global_rtautoclear; | ||||
| static int global_notifyringing;	/*!< Send notifications on ringing */ | ||||
| @@ -10478,6 +10479,7 @@ static int sip_show_settings(int fd, int argc, char *argv[]) | ||||
| 	ast_cli(fd, "  Realm. auth:            %s\n", authl ? "Yes": "No"); | ||||
|  	ast_cli(fd, "  Always auth rejects:    %s\n", global_alwaysauthreject ? "Yes" : "No"); | ||||
| 	ast_cli(fd, "  Call limit peers only:  %s\n", global_limitonpeers ? "Yes" : "No"); | ||||
| 	ast_cli(fd, "  Direct RTP setup:       %s\n", global_directrtpsetup ? "Yes" : "No"); | ||||
| 	ast_cli(fd, "  User Agent:             %s\n", global_useragent); | ||||
| 	ast_cli(fd, "  MWI checking interval:  %d secs\n", global_mwitime); | ||||
| 	ast_cli(fd, "  Reg. context:           %s\n", S_OR(global_regcontext, "(not set)")); | ||||
| @@ -16337,6 +16339,7 @@ static int reload_config(enum channelreloadreason reason) | ||||
| 	global_notifyringing = DEFAULT_NOTIFYRINGING; | ||||
| 	global_limitonpeers = FALSE;		/*!< Match call limit on peers only */ | ||||
| 	global_notifyhold = FALSE;		/*!< Keep track of hold status for a peer */ | ||||
| 	global_directrtpsetup = FALSE;		/* Experimental feature, disabled by default */ | ||||
| 	global_alwaysauthreject = 0; | ||||
| 	global_allowsubscribe = FALSE; | ||||
| 	snprintf(global_useragent, sizeof(global_useragent), "%s %s", DEFAULT_USERAGENT, ASTERISK_VERSION); | ||||
| @@ -16463,6 +16466,8 @@ static int reload_config(enum channelreloadreason reason) | ||||
| 			ast_copy_string(default_notifymime, v->value, sizeof(default_notifymime)); | ||||
| 		} else if (!strcasecmp(v->name, "limitonpeers")) { | ||||
| 			global_limitonpeers = ast_true(v->value); | ||||
| 		} else if (!strcasecmp(v->name, "directrtpsetup")) { | ||||
| 			global_directrtpsetup = ast_true(v->value); | ||||
| 		} else if (!strcasecmp(v->name, "notifyringing")) { | ||||
| 			global_notifyringing = ast_true(v->value); | ||||
| 		} else if (!strcasecmp(v->name, "notifyhold")) { | ||||
| @@ -17013,6 +17018,11 @@ static int sip_set_rtp_peer(struct ast_channel *chan, struct ast_rtp *rtp, struc | ||||
| 	p = chan->tech_pvt; | ||||
| 	if (!p)  | ||||
| 		return -1; | ||||
|  | ||||
| 	/* Disable early RTP bridge  */ | ||||
| 	if (chan->_state != AST_STATE_UP && !global_directrtpsetup) 	/* We are in early state */ | ||||
| 		return 0; | ||||
|  | ||||
| 	sip_pvt_lock(p); | ||||
| 	if (ast_test_flag(&p->flags[0], SIP_ALREADYGONE)) { | ||||
| 		/* If we're destroyed, don't bother */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user