Correctly handle emission of BUSY_HERE 486
Since 9a12c78a, the daemon has a timeout system which emits a 486 (BUSY_HERE) answer after a preferences-defined timeout if user didn't take the call.
However this 486 signal is currently handled by the daemon like a 600 (BUSY_EVERYWHERE) signal, that is if one device sends 486 then the call will end for all devices. A correct behavior would be to wait for all devices to hang up (486 but not necessarily) before exiting the call.
Example
Bob calls Alice. Alice has three devices:
- (D1) her smartphone. This device has a timeout of 0 because she is in a meeting and doesn't want to receive calls.
- (D2) her laptop. The laptop has a timeout of 20s.
- (D3) her desktop. The desktop has a timeout of 1mn.
Currently:
The call ends directly because D1 sends 486 (BUSY_HERE) right away.
Should be:
The call does not ring on D1, rings 20s on D2 and 1mn on D3. After 1mn Bob's call enters PEER_BUSY status.