[asterisk-commits] branch oej/metermaids r8985 - in
/team/oej/metermaids: ./ channels/chan_zap.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Tue Jan 31 08:22:43 MST 2006
Author: oej
Date: Tue Jan 31 09:22:40 2006
New Revision: 8985
URL: http://svn.digium.com/view/asterisk?rev=8985&view=rev
Log:
Merged revisions 8905 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r8905 | kpfleming | 2006-01-30 18:08:28 +0100 (Mon, 30 Jan 2006) | 2 lines
disable buggy PRI user-user code until it can be fixed
........
Modified:
team/oej/metermaids/ (props changed)
team/oej/metermaids/channels/chan_zap.c
Propchange: team/oej/metermaids/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Jan 31 09:22:40 2006
@@ -1,1 +1,1 @@
-/branches/1.2:1-7496,7498-8888
+/branches/1.2:1-7496,7498-8984
Modified: team/oej/metermaids/channels/chan_zap.c
URL: http://svn.digium.com/view/asterisk/team/oej/metermaids/channels/chan_zap.c?rev=8985&r1=8984&r2=8985&view=diff
==============================================================================
--- team/oej/metermaids/channels/chan_zap.c (original)
+++ team/oej/metermaids/channels/chan_zap.c Tue Jan 31 09:22:40 2006
@@ -108,6 +108,9 @@
#define ZT_EVENT_DTMFDOWN 0
#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
@@ -2018,7 +2021,9 @@
#ifdef ZAPATA_PRI
if (p->pri) {
struct pri_sr *sr;
- const char *useruser;
+#ifdef SUPPORT_USERUSER
+ char *useruser;
+#endif
int pridialplan;
int dp_strip;
int prilocaldialplan;
@@ -2132,11 +2137,14 @@
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",
@@ -2524,13 +2532,20 @@
/* Perform low level hangup if no owner left */
#ifdef ZAPATA_PRI
if (p->pri) {
- const char *useruser = pbx_builtin_getvar_helper(ast,"USERUSERINFO");
+#ifdef SUPPORT_USERUSER
+ 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)
@@ -2539,7 +2554,11 @@
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;
@@ -8653,9 +8672,13 @@
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)
@@ -8688,9 +8711,13 @@
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));
@@ -8756,9 +8783,13 @@
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);
}
}
@@ -8913,9 +8944,13 @@
/* 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);
}
}
@@ -8973,9 +9008,13 @@
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",
@@ -9033,9 +9072,13 @@
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);
@@ -9059,9 +9102,13 @@
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);
}
}
More information about the asterisk-commits
mailing list