aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2009-11-13 17:20:53 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2009-11-13 17:20:53 +0000
commit273fffca58a99e0096be7633a531673e50f07a91 (patch)
tree70bbbff2e167466d8054a66cbfc31e094db83665
parent071893ff6e78b62c44d80362a93f562d81c06ebe (diff)
Merged revisions 229966 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r229966 | file | 2009-11-13 11:20:26 -0600 (Fri, 13 Nov 2009) | 13 lines Merged revisions 229965 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r229965 | file | 2009-11-13 11:19:59 -0600 (Fri, 13 Nov 2009) | 6 lines Document a limitation in the AVAILSTATUS variable from ChanIsAvail and provide a workaround for it that does not change existing behavior. (closes issue #14426) Reported by: macli ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@229967 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--apps/app_chanisavail.c5
-rw-r--r--configs/extensions.conf.sample2
2 files changed, 6 insertions, 1 deletions
diff --git a/apps/app_chanisavail.c b/apps/app_chanisavail.c
index 3425bc35a..8dc95cd9e 100644
--- a/apps/app_chanisavail.c
+++ b/apps/app_chanisavail.c
@@ -53,6 +53,11 @@ static char *descrip =
" s - Consider the channel unavailable if the channel is in use at all.\n"
" t - Simply checks if specified channels exist in the channel list\n"
" (implies option s).\n"
+"Note that the AVAILSTATUS variable is used for both device state\n"
+"and cause code. It is therefore possible for it to give a value that may\n"
+"indicate a device is available when it is not. It is suggested that the\n"
+"AVAILORIGCHAN variable is used instead to see whether a device is available\n"
+"or not.\n"
"This application sets the following channel variable upon completion:\n"
" AVAILCHAN - the name of the available channel, if one exists\n"
" AVAILORIGCHAN - the canonical channel name that was used to create the channel\n"
diff --git a/configs/extensions.conf.sample b/configs/extensions.conf.sample
index cb8b47cdd..27e0aad46 100644
--- a/configs/extensions.conf.sample
+++ b/configs/extensions.conf.sample
@@ -493,7 +493,7 @@ exten => a,n,Return
; ${ARG1} - Device to page
exten => s,1,ChanIsAvail(${ARG1},s) ; s is for ANY call
-exten => s,n,GoToIf([${AVAILSTATUS} = "1"]?autoanswer:fail)
+exten => s,n,GoToIf([${AVAILORIGCHAN} = ""]?fail:autoanswer)
exten => s,n(autoanswer),Set(_ALERT_INFO="RA") ; This is for the PolyComs
exten => s,n,SIPAddHeader(Call-Info: Answer-After=0) ; This is for the Grandstream, Snoms, and Others
exten => s,n,NoOp() ; Add others here and Post on the Wiki!!!!