Merged revisions 301134 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r301134 | rmudgett | 2011-01-07 19:11:31 -0600 (Fri, 07 Jan 2011) | 7 lines
  
  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: https://origsvn.digium.com/svn/asterisk/trunk@301135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Richard Mudgett 2011-01-08 01:13:58 +00:00
parent 74e0a87776
commit f91340bb71
1 changed files with 11 additions and 3 deletions

View File

@ -12826,6 +12826,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 */
@ -13136,11 +13141,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
@ -13189,8 +13197,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;