--- asterisk-1.2.18_old/devicestate.c 2006-02-10 21:38:59.000000000 +0100 +++ asterisk-1.2.18/devicestate.c 2007-05-25 10:18:16.000000000 +0200 @@ -122,6 +122,9 @@ if (!chan_tech->devicestate) /* Does the channel driver support device state notification? */ return ast_parse_device_state(device); /* No, try the generic function */ else { + res = ast_parse_device_state(device); + if (res == AST_DEVICE_RINGING) + return res; res = chan_tech->devicestate(number); /* Ask the channel driver for device state */ if (res == AST_DEVICE_UNKNOWN) { res = ast_parse_device_state(device);