SIP phone "busy" detection/accounting when call waiting is on

Hello all,

My scenario is the following: I have two SIP phones (400 and 401) with multiple line appearances and call waiting on. What I want to achieve: when we have an incoming call and both phones are idle I want only 400 to ring. When we have an incoming call and 400 is on the phone (busy) I want 400 to get call waiting indication and 401 (which is idle) to ring AT THE SAME TIME. This way both of them can pickup the second call (400 can hold the conversation and answer the call OR 401 can answer the call). The difference here is that when the operator at phone1 (400) is on the phone we follow a ringall group whereas when both phones are idle we ring only one except that the first phone will never return “busy” as it has call waiting on (which is what we want).

Before getting any answers with the usual “disable call waiting on 400” look at the above description carefully: 400 still needs to get notified for the incoming call (through a blinking led) and might answer it. If I create a ring group with both 400 and 401 in it (ringall) then, when both idle, both will ring which is not what I want. When both are idle, only 400 should ring.

Is there a way to accomplice that with FreePBX? I am experimenting with assigning two different extensions to the first phone (i.e. 400 and 490, a dummy one) and configure 400 without CW and 490 with. Is this the right way to go?