SIP Reason Header Field in SIP Message : missed calls indicator do not change

olivier1010's picture

It would be nice if Ring groups and follow-me were supporting SIP Reason Header to avoid missed calls indicator and counter to increment when a call is answered by someone else.

This is a strong issue in a professional setup. Actually we are disabling missed call indicator to avoid users complaints.

This is not the right solution. The good one is to send a reason header from the IPBX.

Here is Aastra note about Reason Header support (supported since firmware 2.4.0) :

Reason Header Field in SIP Message

The IP Phones now support the receiving of the Reason Header Field in a SIP CANCEL message,
as described in RFC3326. This allows a call that is answered from somewhere else to still display that it was answered elsewhere in the Callers List. Also, the missed calls indicator and counter do not change.


__________________


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

It is supported in Asterisk

mickecarlsson's picture

It is supported in Asterisk 1.6, please see ticket http://www.freepbx.org/v2/ticket/3511 for more info.

If you are running Asterisk 1.6 you could try to add a 'c' in the field Asterisk Dial command options under General Settings.

If you test this, please report the outcome.


__________________

Mikael Carlsson
(I am off-line, tinkering with my Chevy and my radios, don't know when I will be back)


I can confirm that the "c"

olivier1010's picture

I can confirm that the "c" Dial command options is partialy working with Aastra phones (tested on firmware 2.5.2.30, should works since firmware 2.4.0).

It does suppress missed call indicator on the phones.

But there are two problems :

1) The missed called indicator is supressed in every cases, it should be suppressed only when a call has been answered elsewhere in a ring group.
Missed call indicator should continu to work when calling a single extension and this one do not answer. this is not the case.

2) When calling a ring group, the caller list on each not answered phones should display that the call has been answered elsewhere. This is not the case. The call is marked as not answered even if an extension in the group has taken the call.

According to Aastra :

"This allows a call that is answered from somewhere else to still display that it was answered elsewhere in the Callers List. "

I think that the SIP reason header is certainly not complete or missformatted in Asterisk.

So actually this "c" dialing option is no more interesting than the "missed calls indicator disabled: 1" option in the aastra .cfg file available since a couple of years.


Have you checked with Aastra

mickecarlsson's picture

Have you checked with Aastra if they know anything about it?

The code for this function in chan_sip.c (Asterisk 1.6.2.0-rc6) adds the header:

add_header(&resp, "Reason", "SIP;cause=200;text=\"Call completed elsewhere\"");

It is not a FreePBX issue as all implementation is in the app_dial in Asterisk.

Grandstream seems to support it with the latest firmware released in October but I have not had the time to test it (yet).


__________________

Mikael Carlsson
(I am off-line, tinkering with my Chevy and my radios, don't know when I will be back)


No i didn't checked. I'd

olivier1010's picture

No i didn't checked.

But i think there is definitely a problem with FreePBX sending this header everytime, even for a call to a single extension. The "c" option should not be in the General Settings, but in a separate Dial commmand option for Ring groups and Follow-me.

I'd like to have a direct contact at aastra but i'm not sure there are developpers in France.

I think that Aastra need more informations in the Reason header to get this fully working.

I'm going to watch RFC3326 to see what is possible.

If we cannot send where the call has been completed in the Reason header, then the Aastra firmware could be ok.

But normaly we should see where the call has been answered in the Caller list for ring group phones.


I've checked

olivier1010's picture

I've checked RFC3326.

reason-text = "text" EQUAL quoted-string
reason-extension = generic-param

I suppose that Aastra is using a reason-extension to specify on wich phone (extension number) the call has been answered so that we can have the right Caller List on every phones.

As Asterisk does not generate this reason-extension, this would explain why the Caller List is wrong on all Aastra phones except the answered one after a ring group call.

Last, it should be possible to leave the "c" Dial Option everytime inside FreePBX, because as stated inside RFC3326, a device who does not understand Reason Headers should ignore them.

"An implementation is free to
ignore Reason values that it does not understand."