You mean devices, not extensions.
If the device is a SIP device, it will do itself, and there is no need for Asterisk to know about it.
Otherwise, it is going to be quite difficult. You will probably need to store details of the channels in use for R1 and R2 in global variables and issue a channel redirect when another call is attempted to an extension associated with one of those devices. You may also need to use hangup handlers to fix up when the second call ends.
You are definitely going to need to specify the requirement in a lot more detail, covering all the relevant sequences of operations on the three devices, before someone can come up with a specific solution, although I doubt that they will do that for free.
Although your current description is incomplete, it also seems to be garbled, e.g. “R3Fave”.
I believe current versions of Asterisk may have call waiting features, but I doubt that they will pre-empt a call without explicit action by the called party. I have a feeling that Asterisk may just keep the new call waiting rather than playing any call waiting tone.