[asterisk-commits] file: branch 1.2 r45260 - in /branches/1.2:
channels/ configs/
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Mon Oct 16 12:28:18 MST 2006
Author: file
Date: Mon Oct 16 14:28:18 2006
New Revision: 45260
URL: http://svn.digium.com/view/asterisk?rev=45260&view=rev
Log:
Add 'ignoreoodreplies' option which will not create a pvt structure on a SIP response but instead basically drop it.
Modified:
branches/1.2/channels/chan_sip.c
branches/1.2/configs/sip.conf.sample
Modified: branches/1.2/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/branches/1.2/channels/chan_sip.c?rev=45260&r1=45259&r2=45260&view=diff
==============================================================================
--- branches/1.2/channels/chan_sip.c (original)
+++ branches/1.2/channels/chan_sip.c Mon Oct 16 14:28:18 2006
@@ -372,6 +372,8 @@
static int global_reg_timeout = DEFAULT_REGISTRATION_TIMEOUT;
static int global_regattempts_max = 0;
+
+static int global_ignoreoodreplies = 1;
/* Object counters */
static int suserobjs = 0;
@@ -3238,6 +3240,11 @@
p = p->next;
}
ast_mutex_unlock(&iflock);
+
+ /* If this is a response and we have ignoring of out of dialog replies turned, then drop it */
+ if (req->method == SIP_RESPONSE && global_ignoreoodreplies)
+ return NULL;
+
p = sip_alloc(callid, sin, 1, intended_method);
if (p)
ast_mutex_lock(&p->lock);
@@ -8304,6 +8311,7 @@
ast_cli(fd, " Videosupport: %s\n", videosupport ? "Yes" : "No");
ast_cli(fd, " AutoCreatePeer: %s\n", autocreatepeer ? "Yes" : "No");
ast_cli(fd, " Allow unknown access: %s\n", global_allowguest ? "Yes" : "No");
+ ast_cli(fd, " Drop misc replies: %s\n", global_ignoreoodreplies ? "Yes" : "No");
ast_cli(fd, " Promsic. redir: %s\n", ast_test_flag(&global_flags, SIP_PROMISCREDIR) ? "Yes" : "No");
ast_cli(fd, " SIP domain support: %s\n", AST_LIST_EMPTY(&domain_list) ? "No" : "Yes");
ast_cli(fd, " Call to non-local dom.: %s\n", allow_external_domains ? "Yes" : "No");
@@ -11947,6 +11955,11 @@
ast_set_flag(mask, SIP_PROMISCREDIR);
ast_set2_flag(flags, ast_true(v->value), SIP_PROMISCREDIR);
res = 1;
+ } else if (!strcasecmp(v->name, "ignoreoodreplies")) {
+ if (ast_true(v->value))
+ global_ignoreoodreplies = 1;
+ else
+ global_ignoreoodreplies = 0;
}
return res;
@@ -12599,6 +12612,7 @@
tos = 0;
expiry = DEFAULT_EXPIRY;
global_allowguest = 1;
+ global_ignoreoodreplies = 1;
/* Read the [general] config section of sip.conf (or from realtime config) */
v = ast_variable_browse(cfg, "general");
Modified: branches/1.2/configs/sip.conf.sample
URL: http://svn.digium.com/view/asterisk/branches/1.2/configs/sip.conf.sample?rev=45260&r1=45259&r2=45260&view=diff
==============================================================================
--- branches/1.2/configs/sip.conf.sample (original)
+++ branches/1.2/configs/sip.conf.sample Mon Oct 16 14:28:18 2006
@@ -111,7 +111,7 @@
; for any reason, always reject with '401 Unauthorized'
; instead of letting the requester know whether there was
; a matching user or peer for their request
-
+;ignoreoodreplies = no ; If no then out of dialog replies will not be ignored
;
; If regcontext is specified, Asterisk will dynamically create and destroy a
; NoOp priority 1 extension for a given peer who registers or unregisters with
More information about the asterisk-commits
mailing list