Mark Cancelled Calls as Answered

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.

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.

2 Likes

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.

2 Likes

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.

2 Likes

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

1 Like

March of 2025… and this is still an issue…

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.

How does this affect? What’s the reason?

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

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.

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.

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

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

1 Like

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!

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

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.

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:
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:
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.

Please check and test lastes v4.5.0 R7

This is only for Ring Groups.

For now we removed the header via the SBC.