<p>Just to avoid any confusion, the doc should be updated with a diagram:</p>

<p>For a successful call we have:</p>

<pre><code>UAC       proxy       UAS     presence server
 |--INVITE-&gt;|          |            |
 |&lt;-100-----|--INVITE-&gt;|            |
 |          |--PUBLISH(trying)-----&gt;|
 |          |&lt;-100-----|            |
 |          |          |            |
 |          |&lt;-18x-----|            |
 |&lt;-18x-----|--PUBLISH(early)------&gt;|
 |          |          |            |
 |          |&lt;-200-----|            |
 |&lt;-200-----|--PUBLISH(confirmed)--&gt;|
 |--ACK----&gt;|          |            |
 |          |--ACK----&gt;|            |
 |          |          |            |
</code></pre>

<p>If we choose to avoid the "trying" state, then "early" will be triggered on the first 18x provisional reply.<br>
Something like this:</p>

<pre><code>UAC       proxy       UAS     presence server
 |--INVITE-&gt;|          |            |
 |&lt;-100-----|--INVITE-&gt;|            |
 |          |&lt;-100-----|            |
 |          |          |            |
 |          |&lt;-18x-----|            |
 |&lt;-18x-----|--PUBLISH(early)------&gt;|
 |          |          |            |
 |          |&lt;-200-----|            |
 |&lt;-200-----|--PUBLISH(confirmed)--&gt;|
 |--ACK----&gt;|          |            |
 |          |--ACK----&gt;|            |
 |          |          |            |
</code></pre>

<p>The issue is with rejected calls.  If we don't have a 18x provisional reply, then we have this:</p>

<pre><code>UAC       proxy       UAS     presence server
 |--INVITE-&gt;|          |            |
 |&lt;-100-----|--INVITE-&gt;|            |
 |          |--PUBLISH(trying)-----&gt;|
 |          |&lt;-100-----|            |
 |          |          |            |
 |          |&lt;-456xx---|            |
 |          |--PUBLISH(terminated)-&gt;|
 |&lt;-456xx---|--ACK----&gt;|            |
 |--ACK----&gt;|          |            |
</code></pre>

<p>If we don't have a 18x provisional reply and we avoid the "trying" state, then we don't have any PUBLISH at all:</p>

<pre><code>UAC       proxy       UAS     presence server
 |--INVITE-&gt;|          |            |
 |&lt;-100-----|--INVITE-&gt;|            |
 |          |&lt;-100-----|            |
 |          |          |            |
 |          |&lt;-456xx---|            |
 |&lt;-456xx---|--ACK----&gt;|            |
 |--ACK----&gt;|          |            |
</code></pre>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br>Reply to this email directly or <a href='https://github.com/OpenSIPS/opensips/issues/142#issuecomment-30758792'>view it on GitHub</a>.<img src='https://github.com/notifications/beacon/5479561__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcwMjgyNjE2MywiZGF0YSI6eyJpZCI6MjExMDQ2ODh9fQ==--805499ac1ac7d2346ea2cbd91665af14864e0c79.gif' height='1' width='1'></p>