mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Merged revisions 332022 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332022 | mnicholson | 2011-08-16 09:40:37 -0500 (Tue, 16 Aug 2011) | 16 lines In 10 and trunk this option is disabled by default. Merged revisions 332021 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332021 | mnicholson | 2011-08-16 09:20:43 -0500 (Tue, 16 Aug 2011) | 7 lines Added the 'storesipcause' option to sip.conf to allow the user to disable the setting of HASH(SIP_CAUSE,<chan name>) on the channel. Having chan_sip set HASH(SIP_CAUSE,<chan name>) on the channel carries a significant performance penalty because of the usage of the MASTER_CHANNEL() dialplan function. AST-580 ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
7
CHANGES
7
CHANGES
@@ -190,6 +190,9 @@ res_fax
|
|||||||
SIP Changes
|
SIP Changes
|
||||||
-----------
|
-----------
|
||||||
* Add T38 support for REJECTED state where T.38 Negotiation is explicitly rejected.
|
* Add T38 support for REJECTED state where T.38 Negotiation is explicitly rejected.
|
||||||
|
* Setting of HASH(SIP_CAUSE,<slave-channel-name>) on channels is now disabled
|
||||||
|
by default. It can be enabled using the 'storesipcause' option. This feature
|
||||||
|
has a significant performance penalty.
|
||||||
|
|
||||||
Queue changes
|
Queue changes
|
||||||
-------------
|
-------------
|
||||||
@@ -256,7 +259,9 @@ SIP Changes
|
|||||||
and enables symmetric RTP support.
|
and enables symmetric RTP support.
|
||||||
* Slave SIP channels now set HASH(SIP_CAUSE,<slave-channel-name>) on each
|
* Slave SIP channels now set HASH(SIP_CAUSE,<slave-channel-name>) on each
|
||||||
response. This permits the master channel to know how each channel dialled
|
response. This permits the master channel to know how each channel dialled
|
||||||
in a multi-channel setup resolved in an individual way.
|
in a multi-channel setup resolved in an individual way. This carries a
|
||||||
|
performance penalty and can be disabled in sip.conf using the
|
||||||
|
'storesipcause' option.
|
||||||
* Added 'externtcpport' and 'externtlsport' options to allow custom port
|
* Added 'externtcpport' and 'externtlsport' options to allow custom port
|
||||||
configuration for the externip and externhost options when tcp or tls is used.
|
configuration for the externip and externhost options when tcp or tls is used.
|
||||||
* Added support for message body (stored in content variable) to SIP NOTIFY message
|
* Added support for message body (stored in content variable) to SIP NOTIFY message
|
||||||
|
@@ -746,6 +746,8 @@ static enum st_refresher global_st_refresher; /*!< Session-Timer refresher
|
|||||||
static int global_min_se; /*!< Lowest threshold for session refresh interval */
|
static int global_min_se; /*!< Lowest threshold for session refresh interval */
|
||||||
static int global_max_se; /*!< Highest threshold for session refresh interval */
|
static int global_max_se; /*!< Highest threshold for session refresh interval */
|
||||||
|
|
||||||
|
static int global_store_sip_cause; /*!< Whether the MASTER_CHANNEL(HASH(SIP_CAUSE,[chan_name])) var should be set */
|
||||||
|
|
||||||
static int global_dynamic_exclude_static = 0; /*!< Exclude static peers from contact registrations */
|
static int global_dynamic_exclude_static = 0; /*!< Exclude static peers from contact registrations */
|
||||||
/*@}*/
|
/*@}*/
|
||||||
|
|
||||||
@@ -17979,6 +17981,7 @@ static char *sip_show_settings(struct ast_cli_entry *e, int cmd, struct ast_cli_
|
|||||||
ast_cli(a->fd, " SIP realtime: Enabled\n" );
|
ast_cli(a->fd, " SIP realtime: Enabled\n" );
|
||||||
ast_cli(a->fd, " Qualify Freq : %d ms\n", global_qualifyfreq);
|
ast_cli(a->fd, " Qualify Freq : %d ms\n", global_qualifyfreq);
|
||||||
ast_cli(a->fd, " Q.850 Reason header: %s\n", AST_CLI_YESNO(ast_test_flag(&global_flags[1], SIP_PAGE2_Q850_REASON)));
|
ast_cli(a->fd, " Q.850 Reason header: %s\n", AST_CLI_YESNO(ast_test_flag(&global_flags[1], SIP_PAGE2_Q850_REASON)));
|
||||||
|
ast_cli(a->fd, " Store SIP_CAUSE: %s\n", AST_CLI_YESNO(global_store_sip_cause));
|
||||||
ast_cli(a->fd, "\nNetwork QoS Settings:\n");
|
ast_cli(a->fd, "\nNetwork QoS Settings:\n");
|
||||||
ast_cli(a->fd, "---------------------------\n");
|
ast_cli(a->fd, "---------------------------\n");
|
||||||
ast_cli(a->fd, " IP ToS SIP: %s\n", ast_tos2str(global_tos_sip));
|
ast_cli(a->fd, " IP ToS SIP: %s\n", ast_tos2str(global_tos_sip));
|
||||||
@@ -25072,7 +25075,7 @@ static int handle_incoming(struct sip_pvt *p, struct sip_request *req, struct as
|
|||||||
|
|
||||||
handle_response(p, respid, e + len, req, seqno);
|
handle_response(p, respid, e + len, req, seqno);
|
||||||
|
|
||||||
if (p->owner) {
|
if (global_store_sip_cause && p->owner) {
|
||||||
struct ast_channel *owner = p->owner;
|
struct ast_channel *owner = p->owner;
|
||||||
|
|
||||||
snprintf(causevar, sizeof(causevar), "MASTER_CHANNEL(HASH(SIP_CAUSE,%s))", owner->name);
|
snprintf(causevar, sizeof(causevar), "MASTER_CHANNEL(HASH(SIP_CAUSE,%s))", owner->name);
|
||||||
@@ -28108,6 +28111,7 @@ static int reload_config(enum channelreloadreason reason)
|
|||||||
global_shrinkcallerid = 1;
|
global_shrinkcallerid = 1;
|
||||||
authlimit = DEFAULT_AUTHLIMIT;
|
authlimit = DEFAULT_AUTHLIMIT;
|
||||||
authtimeout = DEFAULT_AUTHTIMEOUT;
|
authtimeout = DEFAULT_AUTHTIMEOUT;
|
||||||
|
global_store_sip_cause = FALSE;
|
||||||
|
|
||||||
sip_cfg.matchexternaddrlocally = DEFAULT_MATCHEXTERNADDRLOCALLY;
|
sip_cfg.matchexternaddrlocally = DEFAULT_MATCHEXTERNADDRLOCALLY;
|
||||||
|
|
||||||
@@ -28585,6 +28589,8 @@ static int reload_config(enum channelreloadreason reason)
|
|||||||
} else {
|
} else {
|
||||||
global_st_refresher = i;
|
global_st_refresher = i;
|
||||||
}
|
}
|
||||||
|
} else if (!strcasecmp(v->name, "storesipcause")) {
|
||||||
|
global_store_sip_cause = ast_true(v->value);
|
||||||
} else if (!strcasecmp(v->name, "qualifygap")) {
|
} else if (!strcasecmp(v->name, "qualifygap")) {
|
||||||
if (sscanf(v->value, "%30d", &global_qualify_gap) != 1) {
|
if (sscanf(v->value, "%30d", &global_qualify_gap) != 1) {
|
||||||
ast_log(LOG_WARNING, "Invalid qualifygap '%s' at line %d of %s\n", v->value, v->lineno, config);
|
ast_log(LOG_WARNING, "Invalid qualifygap '%s' at line %d of %s\n", v->value, v->lineno, config);
|
||||||
|
@@ -1016,6 +1016,16 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
|
|||||||
; but occasionally has spikes.
|
; but occasionally has spikes.
|
||||||
|
|
||||||
; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
|
; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
|
||||||
|
|
||||||
|
;----------------------------- SIP_CAUSE reporting ---------------------------------
|
||||||
|
; storesipcause = no ; This option causes chan_sip to set the
|
||||||
|
; HASH(SIP_CAUSE,<channel name>) channel variable
|
||||||
|
; to the value of the last sip response.
|
||||||
|
; WARNING: enabling this option carries a
|
||||||
|
; significant performance burden. It should only
|
||||||
|
; be used in low call volume situations. This
|
||||||
|
; option defaults to "no".
|
||||||
|
|
||||||
;-----------------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
[authentication]
|
[authentication]
|
||||||
|
Reference in New Issue
Block a user