<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Asterisk can know that one of the attached phones is both
"ringing" and "on the phone".</p>
<p>However the sip NOTIFY it sends out to interested parties can
only communicate one state, for example with pidf+xml it can
either send "Ringing" or "On the phone" and so it sends "Ringing".</p>
<p>This makes the "busy lights" less than useful, if a call makes
multiple phones ring you can't tell, looking at the busy lights,
which ones are busy, and so less likely to answer.</p>
<p>In the chan_sip configuration there is an option "notifyringing":</p>
<blockquote>
<h2 id="chan_sipStateandPresenceOptions-notifyringing">notifyringing</h2>
<p><strong>notifyringing</strong> enables or disables
notifications for the RINGING state when an extension is already
INUSE. Only affects subscriptions using the <strong>dialog-info</strong>
event package. Option can be configured in the general section
only. It cannot be set per-peer.</p>
</blockquote>
<p>As the doc says this only applies to dialog-info style NOTIFY,
not the pidf+xml format my phones use.</p>
<p>Here is a patch that makes notifyringing work for pidf+xml.</p>
<p>Generalising it for other formats is left as an exercise for the
reader.</p>
<p>Of course chan_sip is obsolete. How might this be done for
chan_pjsip? Parts of the code are similar, but the layering is
vastly different. How could the
ast_sip_presence_exten_state_to_str function in
res/res_pjsip/presence_xml.c get at the pjsip configuration?<br>
</p>
</body>
</html>