# Mark Cancelled Calls as Answered

**URL:** https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872
**Category:** Wish List
**Created:** [January 13, 2022, 5:04pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872 "2022-01-13T17:04:56Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![EINM](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/einm/32/375_2.png) [@EINM](https://forums.vitalpbx.org/u/EINM)
#### Post date: [January 13, 2022, 5:04pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/1 "2022-01-13T17:04:56Z")

</div>

Hello,

I realized that that even with Mark Cancelled Calls as Answered disabled, if the call was actually answered by another agent in the queue / ring group it will mark the call as answered (completed elsewhere),  
After doing some research I found that asterisk default cancel cause is “completed elsewhere” and you can change it by adding the Q dial option, so I created a custom dial profile with the Q option but it still didn’t work since VitalPBX is only applying the custom dial profile when dialing the endpoint/peer and not when dialing the local channel which in our case is the channel sending the Cancel,  
So I created a custom ring group which calls the local channel with the Q option and it works.

```auto
same => n,Dial(Local/102@T52_ring-group-dial/n&Local/104@T52_ring-group-dial/n,15,rtTU(clean-variables)Q(NO_ANSWER))

```

Can this please be implemented in he ring groups for when Mark Cancelled Calls as Answered is disabled, or can there perhaps be an additional option in the ring group to _Not Mark Answered Calls as Answered Elsewhere_ ?

Thank you.

---

<div class="post-metadata">

### Author: ![PitzKey](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/pitzkey/32/420_2.png) [@PitzKey](https://forums.vitalpbx.org/u/PitzKey)
#### Post date: [January 13, 2022, 6:37pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/2 "2022-01-13T18:37:07Z")

</div>

I would suggest even further, to perhaps allow selecting in a ring group or queue one of the custom dial profiles, and that should apply to the initial dial string as mentioned above.

---

<div class="post-metadata">

### Author: ![EINM](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/einm/32/375_2.png) [@EINM](https://forums.vitalpbx.org/u/EINM)
#### Post date: [April 13, 2022, 4:57pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/3 "2022-04-13T16:57:57Z")

</div>

Are the VitalPBX team considering adding this option?

The best would probably be like @PitzKey said, to allow adding custom dial options for ring groups, and custom queue options (like gosub etc.) for queues.

Thank you.

---

<div class="post-metadata">

### Author: ![mo10](https://forums.vitalpbx.org/letter_avatar_proxy/v4/letter/m/58f4c7/32.png) [@mo10](https://forums.vitalpbx.org/u/mo10)
#### Post date: [April 13, 2022, 9:41pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/4 "2022-04-13T21:41:06Z")

</div>

> [@EINM](#):
>
> Are the VitalPBX team considering adding this option?

I had this issue today again as well. So +1 from me!

---

<div class="post-metadata">

### Author: ![PitzKey](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/pitzkey/32/420_2.png) [@PitzKey](https://forums.vitalpbx.org/u/PitzKey)
#### Post date: [March 28, 2025, 1:17pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/5 "2025-03-28T13:17:04Z")

</div>

March of 2025… and this is still an issue…

---

<div class="post-metadata">

### Author: ![Techbeard](https://forums.vitalpbx.org/letter_avatar_proxy/v4/letter/t/ce7236/32.png) [@Techbeard](https://forums.vitalpbx.org/u/Techbeard)
#### Post date: [March 28, 2025, 3:33pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/6 "2025-03-28T15:33:32Z")

</div>

In January, I had raised a ticket for it and they said they would consider the request, and to add it as a wishlist, which I did. It would be such a fantastic feature, as lots of customers ask if the system can do just this.

---

<div class="post-metadata">

### Author: ![miguel](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/miguel/32/415_2.png) [@miguel](https://forums.vitalpbx.org/u/miguel)
#### Post date: [March 28, 2025, 3:47pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/7 "2025-03-28T15:47:43Z")

</div>

How does this affect? What’s the reason?

---

<div class="post-metadata">

### Author: ![mo10](https://forums.vitalpbx.org/letter_avatar_proxy/v4/letter/m/58f4c7/32.png) [@mo10](https://forums.vitalpbx.org/u/mo10)
#### Post date: [March 28, 2025, 5:08pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/8 "2025-03-28T17:08:44Z")

</div>

> [@miguel](#):
>
> reason

Not knowing of an important missed call can be a problem for some companies. Don’t you agree?

---

<div class="post-metadata">

### Author: ![Techbeard](https://forums.vitalpbx.org/letter_avatar_proxy/v4/letter/t/ce7236/32.png) [@Techbeard](https://forums.vitalpbx.org/u/Techbeard)
#### Post date: [March 28, 2025, 5:20pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/9 "2025-03-28T17:20:00Z")

</div>

We thought we could turn on ‘Notify Missed Calls’ for queues under the extension and so that any missed calls made to the queue would be notified to the agent by email.

In testing it seems that if another agent answers the calls, then the missed call notification still fires, even though technically the call was not missed. It appears that it does not honor the ‘call answered elsewhere’ header from asterisk. It would be great if the queue had the option to email about missed calls , that would be perfect.

EDIT:  
Rereading the original post this may not be exactly the same thing as the original poster is asking…not sure.

---

<div class="post-metadata">

### Author: ![miguel](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/miguel/32/415_2.png) [@miguel](https://forums.vitalpbx.org/u/miguel)
#### Post date: [March 28, 2025, 5:28pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/10 "2025-03-28T17:28:25Z")

</div>

> [@EINM](#):
>
> if the call was actually answered by another agent in the queue / ring group it will mark the call as answered (completed elsewhere)

According to the Original post, I don’t see why marking Answered Calls Else Where as missed calls if they were answered.

If no body answer the call from the Queue or Ring Group, you should see the missed call in your phone device.

---

<div class="post-metadata">

### Author: ![PitzKey](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/pitzkey/32/420_2.png) [@PitzKey](https://forums.vitalpbx.org/u/PitzKey)
#### Post date: [March 31, 2025, 12:23pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/11 "2025-03-31T12:23:08Z")

</div>

Hi Miguel,

The problem is that we have Mark Canceled calls as answered set to no. But the as mentioned by OP, VitalPBX still sends a ‘Answered elsewhere’

See below CANCEL

```auto
CANCEL sip:HT102@192.168.2.17:5060 SIP/2.0
Via: SIP/2.0/UDP <WANIP>:5060;branch=z9hG4bK2f71.bcc2cd0d434da9c1b2d210caeeae980c.0;uuid=51162
From: "CALLER NAME" <sip:8881110000@10.126.11.92>;tag=92f6ee92-d1e5-4e1a-b608-61ca8c2be9ef
To: <sip:51162@10.126.11.60>
Call-ID: ef7ebf0c-1f95-4603-b777-242fbb441f0e
CSeq: 22344 CANCEL
Max-Forwards: 69
Content-Length: 0
Reason: SIP;cause=200;text="Call completed elsewhere"
Reason: Q.850;cause=26

```

As you can see it still sends `Reason: SIP;cause=200;text="Call completed elsewhere"`

Please address ASAP

Thank you

---

<div class="post-metadata">

### Author: ![miguel](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/miguel/32/415_2.png) [@miguel](https://forums.vitalpbx.org/u/miguel)
#### Post date: [March 31, 2025, 4:10pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/12 "2025-03-31T16:10:09Z")

</div>

What does this cause at the Phone Level? I am not sure how this affects? Does it cause some kind of issue?

As mentioned in the OP, the “Call Completed Elsewhere” is the default cause!

---

<div class="post-metadata">

### Author: ![PitzKey](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/pitzkey/32/420_2.png) [@PitzKey](https://forums.vitalpbx.org/u/PitzKey)
#### Post date: [April 1, 2025, 12:59pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/13 "2025-04-01T12:59:28Z")

</div>

> [@miguel](#):
>
> What does this cause at the Phone Level? I am not sure how this affects? Does it cause some kind of issue?

Yes --no missed call is showing on the phone.

> [@miguel](#):
>
> As mentioned in the OP, the “Call Completed Elsewhere” is the default cause!

This is exactly the point here. In the queue and in the ring group, you have a setting to disable this, yet it isn’t working!

See OP’s potential solution… Or you need to allow us setting custom dial options that are inherited.

---

<div class="post-metadata">

### Author: ![miguel](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/miguel/32/415_2.png) [@miguel](https://forums.vitalpbx.org/u/miguel)
#### Post date: [April 2, 2025, 2:47pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/14 "2025-04-02T14:47:47Z")

</div>

It is possible to customize the SIP hangup cause using the `Q(cause)` option when working with **Ring Groups** , as they leverage the `Dial()` application directly. However, this is **not currently supported in Queues** , due to how Asterisk handles call distribution internally.

**Here are the key reasons:**

- **Queues use internal Asterisk logic to dial agents** , which wraps around the `Dial()` application but does not expose all its parameters in the same way.
- Specifically, the Queue application **does not support passing options like `Q(cause)`** to the individual agent dial attempts, which limits control over the SIP Reason headers sent when a call is cancelled or answered elsewhere.

**That said, based on our testing:**

- When **one agent answers** and others are cancelled, Asterisk sends the following header:

```auto
Reason: SIP;cause=200;text="Call completed elsewhere"

```

- However, when **the caller cancels the call** while it is still ringing, the SIP CANCEL message only shows:

```auto
Reason: Q.850;cause=16

```

### **In Summary**

- The behavior you’re seeing— **no missed call shown when another agent answers** —is **by design** and follows **SIP protocol standards**.
- The Reason header `"Call completed elsewhere"` is **only sent when another phone has successfully answered the call**.
- This prevents phones from incorrectly flagging the call as missed, which could otherwise lead to confusion and unnecessary follow-ups.

---

<div class="post-metadata">

### Author: ![mo10](https://forums.vitalpbx.org/letter_avatar_proxy/v4/letter/m/58f4c7/32.png) [@mo10](https://forums.vitalpbx.org/u/mo10)
#### Post date: [April 9, 2025, 8:13pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/15 "2025-04-09T20:13:02Z")

</div>

Please check and test lastes v4.5.0 R7

> [@tada VitalPBX v4.5.0-R7 is Now Available!](https://forums.vitalpbx.org/t/vitalpbx-v4-5-0-r7-is-now-available/5295):
>
> We’re excited to announce the release of VitalPBX v4.5.0-R7, packed with new features, enhancements, and important fixes across voicemail, AI Assistants, VoiceHub, CRM integration, provisioning, and more. Here’s a quick overview of what’s new: Voicemail transcription now available for Enterprise and Call Center users New OpenAI voices and support for gpt-4o-mini-tts in VoiceHub Improved AI Assistant flexibility (per-agent STT, unlimited interactions, and more) Better CRM sync logic and mainte…

---

<div class="post-metadata">

### Author: ![PitzKey](https://forums.vitalpbx.org/user_avatar/forums.vitalpbx.org/pitzkey/32/420_2.png) [@PitzKey](https://forums.vitalpbx.org/u/PitzKey)
#### Post date: [April 10, 2025, 11:43pm UTC](https://forums.vitalpbx.org/t/mark-cancelled-calls-as-answered/872/16 "2025-04-10T23:43:55Z")

</div>

This is only for Ring Groups.

For now we removed the header via the SBC.
