Prevent "Missed call" when call has been answered elsewhere

I have multiple phones connected to a single incoming line (with multiple concurrent calls).

When a incoming call comes, all phones, SIP computer clients, and mobile clients ring correctly. However, when I answer the call somewhere, all other clients/phones record a “missed call”.

Here’s how I dial the phone inside extensions.conf when a incoming call has been authorized:
exten => s,7,Dial(“SIP/phone1&SIP/phone2&SIP/phone3&Local/s@no-op”,180,r)

The no-op is there for the calling line (incoming line) to correctly generate calling tones “duuuuuuuut … duuuuuuuuut … duuuuuuuut” while waiting for answer. Without the no-op, the phone would be completely silent to the caller once it waits for me to pickup the phone.

Have looked into SLA (Shared line apperance), but that completely occupies the whole line once a incoming call is authorized. Thats not what I want. Today, all phones work independent of each other, so a new call can be established (my operator supports multiple concurrent calls on the same line) while another call on the outgoing line is in progress.

The only thing I want to do, is to make sure asterisk tell the other phones NOT to record a missed call, when the call has been answered on a phone.

I think there is something wrong if you need your no-op, but would need to see a lot more detail to be sure.

On your main question, I am pretty sure the process is:

  • devise an extension to SIP;
  • implement it, possibly on a softphone.
  • submit an RFC to IETF.
  • wait for phone manufacturers implement it in their firmware.
  • submit a patch to Asterisk.

Or the -c option for the Dial application?

Oops. Missed that feature. It does depend on the phones having RFC 3326 support, and interpreting it appropriately.