We are implementing a feature that will need to know the difference from when a user “rejects” a call on a device such as a Polycom, Yealink, or Grandstream phone or whether the device “rejected” the call due to a limitation, such as a hard call limit, in the example of a Yealink handheld.
In both cases, the device reports “486 Busy Here”. The Grandstream at least adds a ‘Warning: 399 GS “All lines are in use”’ but this isn’t common.
Is there a way to distinguish between device vs user rejected invites in a manner we can use the information to do something in the dialplan?
I’ve been all over this and it looks like the answer is no, just confirming … maybe I missed something!
you can only do guess work
if ringtime=0 then phone else user
Yep, that’s exactly what we decided to do, not perfect, but seems to work very well, thanks for the reply
Grandstream phones (at least the GXP2170) have a setting where you can specify what the device will send when a call is rejected by the user. Default it is set to Busy(486), but you can set it to Decline(603). Provisioningwise, that should be option P8360 (based on html-source of the web-interface page Settings > Call Features ).
Honestly I don’t know if you can make Asterisk pick this up and respond to it differently. But at least its
The HANGUPCAUSE function can read the raw SIP response code.
Fortunately, it looks like all the phones we support have a similar configuration setting to force sip 603 on automatically rejected calls (i.e., device only supports 2 calls at a time as an example) while still allowing sip 486 for manually rejected calls.
Testing now with about 35 different models of various makes, will take a bit
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.