aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2011-01-08 01:11:31 +0000
committerrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2011-01-08 01:11:31 +0000
commiteab55f86a9534aa0fc2ff78f28d89acc6fb82743 (patch)
tree9a43ca6a51c62ba3347c97c38aa015e17ef9117a
parentff969e85a7b1969c7e115b3d012943ab4adfca52 (diff)
The DTMF attended transfer feature cannot callback a chan_dahdi BRI phone.
The DAHDI ISDN channel name is not dialable. Make a channel name like DAHDI/i3/400-12 dialable when the sequence number is stripped off of the name. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@301134 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_dahdi.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index ccd410178..7bb664535 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -12773,6 +12773,11 @@ static int is_group_or_channel_match(struct dahdi_pvt *p, int span, ast_group_t
if (!p->pri || p->pri->span != span) {
return 0;
}
+ if (!groupmatch && channelmatch == -1) {
+ /* Match any group since it only needs to be on the PRI span. */
+ *groupmatched = 1;
+ return 1;
+ }
}
#endif /* defined(HAVE_PRI) */
/* check group matching */
@@ -13083,11 +13088,14 @@ static struct dahdi_pvt *determine_starting_point(const char *data, struct dahdi
* data is ---v
* Dial(DAHDI/pseudo[/extension[/options]])
* Dial(DAHDI/<channel#>[c|r<cadance#>|d][/extension[/options]])
- * Dial(DAHDI/[i<span>-](g|G|r|R)<group#(0-63)>[c|r<cadance#>|d][/extension[/options]])
* Dial(DAHDI/<subdir>!<channel#>[c|r<cadance#>|d][/extension[/options]])
+ * Dial(DAHDI/i<span>[/extension[/options]])
+ * Dial(DAHDI/[i<span>-](g|G|r|R)<group#(0-63)>[c|r<cadance#>|d][/extension[/options]])
*
* i - ISDN span channel restriction.
* Used by CC to ensure that the CC recall goes out the same span.
+ * Also to make ISDN channel names dialable when the sequence number
+ * is stripped off. (Used by DTMF attended transfer feature.)
*
* g - channel group allocation search forward
* G - channel group allocation search backward
@@ -13136,8 +13144,8 @@ static struct dahdi_pvt *determine_starting_point(const char *data, struct dahdi
/* Remove the ISDN span channel restriction specifier. */
s = strchr(args.group, '-');
if (!s) {
- ast_log(LOG_WARNING, "Bad ISDN span format for data %s\n", data);
- return NULL;
+ /* Search all groups since we are ISDN span restricted. */
+ return iflist;
}
args.group = s + 1;
res = 0;