[asterisk-commits] rizzo: branch rizzo/astobj2 r51230 -
/team/rizzo/astobj2/channels/chan_sip.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Thu Jan 18 09:49:26 MST 2007
Author: rizzo
Date: Thu Jan 18 10:49:25 2007
New Revision: 51230
URL: http://svn.digium.com/view/asterisk?view=rev&rev=51230
Log:
merge from trunk 48983, 48986, 48990,
Add support for buggy Cisco MWI firmware > 8.0.3 (issue 8575 - flewid)
Modified:
team/rizzo/astobj2/channels/chan_sip.c
Modified: team/rizzo/astobj2/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/rizzo/astobj2/channels/chan_sip.c?view=diff&rev=51230&r1=51229&r2=51230
==============================================================================
--- team/rizzo/astobj2/channels/chan_sip.c (original)
+++ team/rizzo/astobj2/channels/chan_sip.c Thu Jan 18 10:49:25 2007
@@ -823,10 +823,12 @@
#define SIP_PAGE2_CALL_ONHOLD (3 << 23) /*!< Call states */
#define SIP_PAGE2_CALL_ONHOLD_ONEDIR (1 << 23) /*!< 23: One directional hold */
#define SIP_PAGE2_CALL_ONHOLD_INACTIVE (1 << 24) /*!< 24: Inactive */
-#define SIP_PAGE2_RFC2833_COMPENSATE (1 << 25)
+#define SIP_PAGE2_RFC2833_COMPENSATE (1 << 25) /*!< 25: ???? */
+#define SIP_PAGE2_BUGGY_MWI (1 << 26) /*!< 26: Buggy CISCO MWI fix */
#define SIP_PAGE2_FLAGS_TO_COPY \
- (SIP_PAGE2_ALLOWSUBSCRIBE | SIP_PAGE2_ALLOWOVERLAP | SIP_PAGE2_VIDEOSUPPORT | SIP_PAGE2_T38SUPPORT | SIP_PAGE2_RFC2833_COMPENSATE)
+ (SIP_PAGE2_ALLOWSUBSCRIBE | SIP_PAGE2_ALLOWOVERLAP | SIP_PAGE2_VIDEOSUPPORT | \
+ SIP_PAGE2_T38SUPPORT | SIP_PAGE2_RFC2833_COMPENSATE | SIP_PAGE2_BUGGY_MWI)
/* T.38 set of flags */
#define T38FAX_FILL_BIT_REMOVAL (1 << 0) /*!< Default: 0 (unset)*/
@@ -7430,7 +7432,12 @@
ast_str_append(&out, 0, "Messages-Waiting: %s\r\n", newmsgs ? "yes" : "no");
ast_str_append(&out, 0, "Message-Account: sip:%s@%s\r\n",
S_OR(vmexten, default_vmexten), S_OR(p->fromdomain, ast_inet_ntoa(p->ourip)));
- ast_str_append(&out, 0, "Voice-Message: %d/%d (0/0)\r\n", newmsgs, oldmsgs);
+ /* Cisco has a bug in the SIP stack where it can't accept the
+ (0/0) notification. This can temporarily be disabled in
+ sip.conf with the "buggymwi" option */
+ ast_str_append(&out, 0, "Voice-Message: %d/%d%s\r\n",
+ newmsgs, oldmsgs, (ast_test_flag(&p->flags[1], SIP_PAGE2_BUGGY_MWI) ? "" : " (0/0)"));
+
if (p->subscribed) {
if (p->expiry)
add_header(&req, "Subscription-State", "active");
@@ -16216,6 +16223,8 @@
#endif
} else if (!strcasecmp(v->name, "rfc2833compensate")) {
CO_SF(1, SIP_PAGE2_RFC2833_COMPENSATE);
+ } else if (!strcasecmp(v->name, "buggymwi")) {
+ CO_SF(1, SIP_PAGE2_BUGGY_MWI);
} else
return 0; /* not found */
More information about the asterisk-commits
mailing list