[asterisk-commits] file: branch 1.4 r55914 -
/branches/1.4/channels/chan_sip.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Wed Feb 21 10:18:20 MST 2007
Author: file
Date: Wed Feb 21 11:18:19 2007
New Revision: 55914
URL: http://svn.digium.com/view/asterisk?view=rev&rev=55914
Log:
Add a flag that indicates whether a SIP dialog is an outgoing call or not. SIP_OUTGOING originally did it but it was repurposed to the direction of the last transaction, which can cause update_call_counter to falsely decrease the wrong counters. (please don't hurt me oej) (issue #8943 reported by mdu113)
Modified:
branches/1.4/channels/chan_sip.c
Modified: branches/1.4/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/chan_sip.c?view=diff&rev=55914&r1=55913&r2=55914
==============================================================================
--- branches/1.4/channels/chan_sip.c (original)
+++ branches/1.4/channels/chan_sip.c Wed Feb 21 11:18:19 2007
@@ -778,6 +778,7 @@
#define SIP_PAGE2_CALL_ONHOLD_INACTIVE (1 << 24) /*!< 24: Inactive */
#define SIP_PAGE2_RFC2833_COMPENSATE (1 << 25) /*!< 25: ???? */
#define SIP_PAGE2_BUGGY_MWI (1 << 26) /*!< 26: Buggy CISCO MWI fix */
+#define SIP_PAGE2_OUTGOING_CALL (1 << 27) /*!< 27: Is this an outgoing call? */
#define SIP_PAGE2_FLAGS_TO_COPY \
(SIP_PAGE2_ALLOWSUBSCRIBE | SIP_PAGE2_ALLOWOVERLAP | SIP_PAGE2_VIDEOSUPPORT | \
@@ -2992,7 +2993,7 @@
{
char name[256];
int *inuse = NULL, *call_limit = NULL, *inringing = NULL;
- int outgoing = ast_test_flag(&fup->flags[0], SIP_OUTGOING);
+ int outgoing = ast_test_flag(&fup->flags[1], SIP_PAGE2_OUTGOING_CALL);
struct sip_user *u = NULL;
struct sip_peer *p = NULL;
@@ -15256,6 +15257,8 @@
*cause = AST_CAUSE_SWITCH_CONGESTION;
return NULL;
}
+
+ ast_set_flag(&p->flags[1], SIP_PAGE2_OUTGOING_CALL);
if (!(p->options = ast_calloc(1, sizeof(*p->options)))) {
sip_destroy(p);
More information about the asterisk-commits
mailing list