Index: main/devicestate.c =================================================================== --- main/devicestate.c (revision 173900) +++ main/devicestate.c (working copy) @@ -352,8 +352,11 @@ res = ast_parse_device_state(device); +#if 0 + /* XXX Why are we changing unknown (device doesn't exist) to not-in-use (device DOES exist)? XXX */ if (res == AST_DEVICE_UNKNOWN) return AST_DEVICE_NOT_INUSE; +#endif return res; } Index: main/pbx.c =================================================================== --- main/pbx.c (revision 173900) +++ main/pbx.c (working copy) @@ -3733,6 +3733,8 @@ case AST_DEVICE_BUSY: return AST_EXTENSION_BUSY; case AST_DEVICE_UNAVAILABLE: + case AST_DEVICE_UNKNOWN: + case AST_DEVICE_INVALID: return AST_EXTENSION_UNAVAILABLE; case AST_DEVICE_RINGINUSE: return (AST_EXTENSION_INUSE | AST_EXTENSION_RINGING); @@ -3740,8 +3742,6 @@ return AST_EXTENSION_RINGING; case AST_DEVICE_INUSE: return AST_EXTENSION_INUSE; - case AST_DEVICE_UNKNOWN: - case AST_DEVICE_INVALID: case AST_DEVICE_NOT_INUSE: return AST_EXTENSION_NOT_INUSE; }