Dial a device even if it's state is unknown.
authorJoshua Colp <jcolp@digium.com>
Tue, 11 Mar 2008 20:36:14 +0000 (20:36 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 11 Mar 2008 20:36:14 +0000 (20:36 +0000)
(closes issue #12184)
Reported by: bluecrow76
Patches:
      asterisk-svn-app_page.c.devicestate_unknown.diff uploaded by bluecrow76 (license 270)

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

apps/app_page.c

index 2ea367e..5db858c 100644 (file)
@@ -124,9 +124,14 @@ static int page_exec(struct ast_channel *chan, void *data)
                }
 
                /* Ensure device is not in use if skip option is enabled */
-               if (ast_test_flag(&flags, PAGE_SKIP) && (state = ast_device_state(tech)) != AST_DEVICE_NOT_INUSE) {
-                       ast_log(LOG_WARNING, "Destination '%s' has device state '%s'.\n", tech, devstate2str(state));
-                       continue;
+               if (ast_test_flag(&flags, PAGE_SKIP)) {
+                       state = ast_device_state(tech);
+                       if (state == AST_DEVICE_UNKNOWN) {
+                               ast_log(LOG_WARNING, "Destination '%s' has device state '%s'. Paging anyway.\n", tech, devstate2str(state));
+                       } else if (state != AST_DEVICE_NOT_INUSE) {
+                               ast_log(LOG_WARNING, "Destination '%s' has device state '%s'.\n", tech, devstate2str(state));
+                               continue;
+                       }
                }
 
                *resource++ = '\0';