Merged revisions 8905 via svnmerge from
authorKevin P. Fleming <kpfleming@digium.com>
Mon, 30 Jan 2006 17:09:55 +0000 (17:09 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Mon, 30 Jan 2006 17:09:55 +0000 (17:09 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r8905 | kpfleming | 2006-01-30 11:08:28 -0600 (Mon, 30 Jan 2006) | 2 lines

disable buggy PRI user-user code until it can be fixed

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8906 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_zap.c

index a5dbf78..7dd6232 100644 (file)
@@ -111,6 +111,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #define ZT_EVENT_DTMFUP 0
 #endif
 
+/* define this to send PRI user-user information elements */
+#undef SUPPORT_USERUSER
+
 /*! 
  * \note Define ZHONE_HACK to cause us to go off hook and then back on hook when
  * the user hangs up to reset the state machine so ring works properly.
@@ -2013,7 +2016,9 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout)
 #ifdef ZAPATA_PRI
        if (p->pri) {
                struct pri_sr *sr;
+#ifdef SUPPORT_USERUSER
                const char *useruser;
+#endif
                int pridialplan;
                int dp_strip;
                int prilocaldialplan;
@@ -2127,11 +2132,14 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout)
                                        l ? (p->use_callingpres ? ast->cid.cid_pres : PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN) : 
                                                 PRES_NUMBER_NOT_AVAILABLE);
                pri_sr_set_redirecting(sr, ast->cid.cid_rdnis, p->pri->localdialplan - 1, PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN, PRI_REDIR_UNCONDITIONAL);
+
+#ifdef SUPPORT_USERUSER
                /* User-user info */
                useruser = pbx_builtin_getvar_helper(p->owner, "USERUSERINFO");
 
                if (useruser)
                        pri_sr_set_useruser(sr, useruser);
+#endif
 
                if (pri_setup(p->pri->pri, p->call,  sr)) {
                        ast_log(LOG_WARNING, "Unable to setup call to %s (using %s)\n", 
@@ -2519,13 +2527,20 @@ static int zt_hangup(struct ast_channel *ast)
                /* Perform low level hangup if no owner left */
 #ifdef ZAPATA_PRI
                if (p->pri) {
+#ifdef SUPPORT_USERUSER
                        const char *useruser = pbx_builtin_getvar_helper(ast,"USERUSERINFO");
+#endif
+
                        /* Make sure we have a call (or REALLY have a call in the case of a PRI) */
                        if (p->call && (!p->bearer || (p->bearer->call == p->call))) {
                                if (!pri_grab(p, p->pri)) {
                                        if (p->alreadyhungup) {
                                                ast_log(LOG_DEBUG, "Already hungup...  Calling hangup once, and clearing call\n");
+
+#ifdef SUPPORT_USERUSER
                                                pri_call_set_useruser(p->call, useruser);
+#endif
+
                                                pri_hangup(p->pri->pri, p->call, -1);
                                                p->call = NULL;
                                                if (p->bearer) 
@@ -2534,7 +2549,11 @@ static int zt_hangup(struct ast_channel *ast)
                                                const char *cause = pbx_builtin_getvar_helper(ast,"PRI_CAUSE");
                                                int icause = ast->hangupcause ? ast->hangupcause : -1;
                                                ast_log(LOG_DEBUG, "Not yet hungup...  Calling hangup once with icause, and clearing call\n");
+
+#ifdef SUPPORT_USERUSER
                                                pri_call_set_useruser(p->call, useruser);
+#endif
+
                                                p->alreadyhungup = 1;
                                                if (p->bearer)
                                                        p->bearer->alreadyhungup = 1;
@@ -8652,9 +8671,13 @@ static void *pri_dchannel(void *vpri)
                                                                snprintf(ani2str, 5, "%.2d", e->ring.ani2);
                                                                pbx_builtin_setvar_helper(c, "ANI2", ani2str);
                                                        }
+
+#ifdef SUPPORT_USERUSER
                                                        if (!ast_strlen_zero(e->ring.useruserinfo)) {
                                                                pbx_builtin_setvar_helper(c, "USERUSERINFO", e->ring.useruserinfo);
                                                        }
+#endif
+
                                                        snprintf(calledtonstr, sizeof(calledtonstr)-1, "%d", e->ring.calledplan);
                                                        pbx_builtin_setvar_helper(c, "CALLEDTON", calledtonstr);
                                                        if (e->ring.redirectingreason >= 0)
@@ -8687,9 +8710,13 @@ static void *pri_dchannel(void *vpri)
                                                                        snprintf(ani2str, 5, "%d", e->ring.ani2);
                                                                        pbx_builtin_setvar_helper(c, "ANI2", ani2str);
                                                                }
+
+#ifdef SUPPORT_USERUSER
                                                                if (!ast_strlen_zero(e->ring.useruserinfo)) {
                                                                        pbx_builtin_setvar_helper(c, "USERUSERINFO", e->ring.useruserinfo);
                                                                }
+#endif
+
                                                                if (e->ring.redirectingreason >= 0)
                                                                        pbx_builtin_setvar_helper(c, "PRIREDIRECTREASON", redirectingreason2str(e->ring.redirectingreason));
                                                        
@@ -8755,9 +8782,13 @@ static void *pri_dchannel(void *vpri)
                                                                pri->pvts[chanpos]->dsp_features = 0;
                                                        }
                                                }
+
+#ifdef SUPPORT_USERUSER
                                                if (!ast_strlen_zero(e->ringing.useruserinfo)) {
                                                        pbx_builtin_setvar_helper(pri->pvts[chanpos]->owner, "USERUSERINFO", e->ringing.useruserinfo);
                                                }
+#endif
+
                                                ast_mutex_unlock(&pri->pvts[chanpos]->lock);
                                        }
                                }
@@ -8912,9 +8943,13 @@ static void *pri_dchannel(void *vpri)
                                                        /* Enable echo cancellation if it's not on already */
                                                        zt_enable_ec(pri->pvts[chanpos]);
                                                }
+
+#ifdef SUPPORT_USERUSER
                                                if (!ast_strlen_zero(e->answer.useruserinfo)) {
                                                        pbx_builtin_setvar_helper(pri->pvts[chanpos]->owner, "USERUSERINFO", e->answer.useruserinfo);
                                                }
+#endif
+
                                                ast_mutex_unlock(&pri->pvts[chanpos]->lock);
                                        }
                                }
@@ -8972,9 +9007,13 @@ static void *pri_dchannel(void *vpri)
                                                        if (option_verbose > 2)
                                                                ast_verbose(VERBOSE_PREFIX_3 "Channel %d/%d, span %d received AOC-E charging %d unit%s\n",
                                                                        pri->pvts[chanpos]->logicalspan, pri->pvts[chanpos]->prioffset, pri->span, (int)e->hangup.aoc_units, (e->hangup.aoc_units == 1) ? "" : "s");
+
+#ifdef SUPPORT_USERUSER
                                                if (!ast_strlen_zero(e->hangup.useruserinfo)) {
                                                        pbx_builtin_setvar_helper(pri->pvts[chanpos]->owner, "USERUSERINFO", e->hangup.useruserinfo);
                                                }
+#endif
+
                                                ast_mutex_unlock(&pri->pvts[chanpos]->lock);
                                        } else {
                                                ast_log(LOG_WARNING, "Hangup on bad channel %d/%d on span %d\n", 
@@ -9032,9 +9071,13 @@ static void *pri_dchannel(void *vpri)
                                                        pri_reset(pri->pri, PVT_TO_CHANNEL(pri->pvts[chanpos]));
                                                        pri->pvts[chanpos]->resetting = 1;
                                                }
+
+#ifdef SUPPORT_USERUSER
                                                if (!ast_strlen_zero(e->hangup.useruserinfo)) {
                                                        pbx_builtin_setvar_helper(pri->pvts[chanpos]->owner, "USERUSERINFO", e->hangup.useruserinfo);
                                                }
+#endif
+
                                                ast_mutex_unlock(&pri->pvts[chanpos]->lock);
                                        } else {
                                                ast_log(LOG_WARNING, "Hangup REQ on bad channel %d/%d on span %d\n", PRI_SPAN(e->hangup.channel), PRI_CHANNEL(e->hangup.channel), pri->span);
@@ -9058,9 +9101,13 @@ static void *pri_dchannel(void *vpri)
                                                        if (option_verbose > 2) 
                                                                ast_verbose(VERBOSE_PREFIX_3 "Channel %d/%d, span %d got hangup ACK\n", PRI_SPAN(e->hangup.channel), PRI_CHANNEL(e->hangup.channel), pri->span);
                                                }
+
+#ifdef SUPPORT_USERUSER
                                                if (!ast_strlen_zero(e->hangup.useruserinfo)) {
                                                        pbx_builtin_setvar_helper(pri->pvts[chanpos]->owner, "USERUSERINFO", e->hangup.useruserinfo);
                                                }
+#endif
+
                                                ast_mutex_unlock(&pri->pvts[chanpos]->lock);
                                        }
                                }