I would like to discuss the status of Answered/Unanswered calls on IP phones in case when an IP Phone is a part of so called Ring group (on incoming call, a group of phones ring at the same time) or Hunt group (on incoming call, phones ring sequentially (one after another) until the call is answered). I did some work on this and Asterisk can control the status of a call on the phone (Answered or Missed) via a SIP Reason header in SIP Cancel messages (this can be controlled by option “c” in the Dial Command).
Ring group:
Let me explain my problem with an example:
- a call comes in and phones in Ring group start ringing
- one of the phones answers the call and sends SIP OK message to Asterisk
- Asterisk cancels the call on all other phones in the Ring group via SIP Cancel message that contains the Reason: Call Completed Elsewhere message
-> if the phones can read this header, the call will not be listed as missed, but as answered
Is there any way that the phones that did not answer the call have no record of the Ring group call?
If nobody answers the call, all the phones get a missed call. Is there any way to control this behaviour, so only one IP phone gets a missed call?
Hunt group:
The situation is a lot harder here, because at the time of the call (when you can invoke the “c” option in the Dial header), you do not know if someone in the line will answer a call or not. Controlling the correct status of the call on the phones of the Hunt group that ring before the one that actually answers, would probably have to be done outside the basic call setup SIP messaging.
The desired behavior would be, that if one of the phones in the Hunt group answers that call, the phones that rang prior to the answering phone have no missed call. If nobody in the Hunt group answers the call, only the first phone in the group should have a missed call on the screen. Is this possible to do in Asterisk?
In this way I would like to mimic the Ring / Hunt group missed call behavior of traditional PBX-es, where these displays on the phones are controlled by the PBX itself. In case of the Asterisk IP PBX systems the end phones are smart devices that work independently from the PBX, so this is a lot harder to control.
Has anyone got this working on Asterisk? What brand of phones did you use and how did you do it?