<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/en/2176/25/9/_/styles/combined.css?spaceKey=AST&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://wiki.asterisk.org/wiki/display/AST/SIP+use+cases">SIP use cases</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://wiki.asterisk.org/wiki/display/~mmichelson">Mark Michelson</a>
    </h4>
        <div id="versionComment">
        <b>Comment:</b>
        Progress. Lots of transfer use cases.<br />
    </div>
        <br/>
                         <h4>Changes (13)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* Alice&#39;s SIP phone should display Carol as the target of the call. <br>* Carol answers her phone. <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">* Audio flows in both directions. <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">* Audio flows bidirectionally between Alice and Bob. <br></td></tr>
            <tr><td class="diff-unchanged" >* Alice hangs up. <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">{note} <br>Transfer use cases below are centered around Bob transferring Alice to Carol. Use cases also should include Alice transferring Bob to Carol, but for the sake of brevity, these are omitted. <br>{note} <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h3. Local attended transfer: success <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* Alice&#39;s phone&#39;s display indicates the call is directed to Bob. <br>* Bob answers his phone. <br></td></tr>
            <tr><td class="diff-changed-lines" >* Audio flows bidirectionally between Alice and <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Carol.</span> <span class="diff-added-words"style="background-color: #dfd;">Bob.</span> <br></td></tr>
            <tr><td class="diff-unchanged" >* Bob presses the attended transfer key on his SIP phone. <br>* Bob hears dialtone. <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* Alice&#39;s phone&#39;s display indicates the call is directed to Bob. <br>* Bob answers his phone. <br></td></tr>
            <tr><td class="diff-changed-lines" >* Audio flows bidirectionally between Alice and <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Carol.</span> <span class="diff-added-words"style="background-color: #dfd;">Bob.</span> <br></td></tr>
            <tr><td class="diff-unchanged" >* Bob presses the attended transfer key on his SIP phone. <br>* Bob hears dialtone. <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* Alice&#39;s phone&#39;s display indicates the call is directed to Bob. <br>* Bob answers his phone. <br></td></tr>
            <tr><td class="diff-changed-lines" >* Audio flows bidirectionally between Alice and <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Carol.</span> <span class="diff-added-words"style="background-color: #dfd;">Bob.</span> <br></td></tr>
            <tr><td class="diff-unchanged" >* Bob presses the attended transfer key on his SIP phone. <br>* Bob hears dialtone. <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* Alice&#39;s phone&#39;s display indicates the call is directed to Bob. <br>* Bob answers his phone. <br></td></tr>
            <tr><td class="diff-changed-lines" >* Audio flows bidirectionally between Alice and <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Carol.</span> <span class="diff-added-words"style="background-color: #dfd;">Bob.</span> <br></td></tr>
            <tr><td class="diff-unchanged" >* Bob presses the attended transfer key on his SIP phone. <br>* Bob hears dialtone. <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >h3. Local attended transfer: transferee hangup <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">* Alice picks up her SIP phone and dials Bob&#39;s extension. <br>* Bob&#39;s phone begins ringing; Alice hears ringing in her handset&#39;s microphone. <br>* Bob&#39;s phone&#39;s display indicates an incoming call from Alice. <br>* Alice&#39;s phone&#39;s display indicates the call is directed to Bob. <br>* Bob answers his phone. <br>* Audio flows bidirectionally between Alice and Carol. <br>* Bob presses the attended transfer key on his SIP phone. <br>* Bob hears dialtone. <br>* Alice hears music on hold. <br>* Bob dials Carol&#39;s extension. <br>* Carol&#39;s phone begins ringing; Bob hears ringing in his handset&#39;s microphone. <br>* Carol&#39;s phone&#39;s display indicates an incoming call from Bob. <br>* Bob&#39;s phone&#39;s display indicates the call is directed to Carol. <br>* Carol answers his phone. <br>* Audio flows bidirectionally between Bob and Carol. <br>* Alice hangs up. <br>* Bob hangs up. <br>* All calls are disconnected. <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h3. Local blind transfer: success <br> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">h3. Local blind transfer:  <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">* Alice picks up her SIP phone and dials Bob&#39;s extension. <br>* Bob&#39;s phone begins ringing; Alice hears ringing in her handset&#39;s microphone. <br>* Bob&#39;s phone&#39;s display indicates an incoming call from Alice. <br>* Alice&#39;s phone&#39;s display indicates the call is directed to Bob. <br>* Bob answers his phone. <br>* Audio flows bidirectionally between Alice and Bob. <br>* Bob presses the blind transfer key on his SIP phone. <br>* Bob hears dialtone. <br>* Alice hears music on hold. <br>* Bob dials Carol&#39;s extension. <br>* Bob&#39;s phone is disconnected from the call. <br>* Carol&#39;s phone begins ringing; Alice hears ringing in her handset&#39;s microphone. <br>* Carol&#39;s phone&#39;s display indicates an incoming call from Alice. <br>* Alice&#39;s phone&#39;s display indicates the call is directed to Carol. <br>* Carol answers her phone. <br>* Audio flows bidirectionally between Alice and Carol. <br>* Alice hangs up. <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">h3. Local blond transfer <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">h3. Local blind transfer: Busy transfer target <br>{note} <br>The behavior described here is highly dependent on the phone used by Bob. Some phones may react to a failed blind transfer by attempting to revive the initial call, while others may unconditionally end their call on a blind transfer no matter the outcome. <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">Also note that the scenario described below will not work in current Asterisk because chan_sip &quot;fakes&quot; the sip-frag NOTIFY to Bob saying the call to Carol succeeded before Asterisk actually knows the outcome of the call. Alice and Bob will not be reconnected when Carol is found to be busy. <br>{note} <br> <br>* Alice picks up her SIP phone and dials Bob&#39;s extension. <br>* Bob&#39;s phone begins ringing; Alice hears ringing in her handset&#39;s microphone. <br>* Bob&#39;s phone&#39;s display indicates an incoming call from Alice. <br>* Alice&#39;s phone&#39;s display indicates the call is directed to Bob. <br>* Bob answers his phone. <br>* Audio flows bidirectionally between Alice and Bob. <br>* Bob presses the blind transfer key on his SIP phone. <br>* Bob hears dialtone. <br>* Alice hears music on hold. <br>* Bob dials Carol&#39;s extension; Carol is currently on another call. <br>* Bob&#39;s phone is disconnected from the call.  <br>* Bob&#39;s phone begins to ring. <br>* Bob picks up the ringing phone. <br>* Alice stops hearing music on hold. <br>* Audio flows bidirectionally between Alice and Bob. <br>* Alice hangs up. <br> <br>h3. Local blind transfer: Nonexistent transfer target <br>{note} <br>The behavior described here is highly dependent on the phone used by Bob. Some phones may react to a failed blind transfer by attempting to revive the initial call, while others may unconditionally end their call on a blind transfer no matter the outcome. <br> <br>Note that unlike the previous scenario, this one actually should work in Asterisk&#39;s current chan_sip. <br>{note} <br> <br>* Alice picks up her SIP phone and dials Bob&#39;s extension. <br>* Bob&#39;s phone begins ringing; Alice hears ringing in her handset&#39;s microphone. <br>* Bob&#39;s phone&#39;s display indicates an incoming call from Alice. <br>* Alice&#39;s phone&#39;s display indicates the call is directed to Bob. <br>* Bob answers his phone. <br>* Audio flows bidirectionally between Alice and Bob. <br>* Bob presses the blind transfer key on his SIP phone. <br>* Bob hears dialtone. <br>* Alice hears music on hold. <br>* Bob misdials Carol&#39;s extension. <br>* Bob&#39;s phone is disconnected from the call.  <br>* Bob&#39;s phone begins to ring. <br>* Bob picks up the ringing phone. <br>* Alice stops hearing music on hold. <br>* Audio flows bidirectionally between Alice and Bob. <br>* Alice hangs up. <br> <br>h3. Local blind transfer: Transfer target does not answer <br>{note} <br>The behavior described here is dependent on the dialplan in use for calling Carol. If Carol&#39;s extension goes to Voicemail or is in some other way &quot;answered&quot;, then the call will be deemed as successful even though a human did not respond to the call. If the dialplan signals congestion or some other such signal after the call times out, then the call will be deemed a failure. For this scenario, we assume the latter scenario: if Carol does not answer within a specified time frame, a congestion indication is sent. <br> <br>The behavior described here is highly dependent on the phone used by Bob. Some phones may react to a failed blind transfer by attempting to revive the initial call, while others may unconditionally end their call on a blind transfer no matter the outcome. <br> <br>Also note that the scenario described below will not work in current Asterisk because chan_sip &quot;fakes&quot; the sip-frag NOTIFY to Bob saying the call to Carol succeeded before Asterisk actually knows the outcome of the call. Alice and Bob will not be reconnected when Carol does not answer. <br>{note} <br> <br>* Alice picks up her SIP phone and dials Bob&#39;s extension. <br>* Bob&#39;s phone begins ringing; Alice hears ringing in her handset&#39;s microphone. <br>* Bob&#39;s phone&#39;s display indicates an incoming call from Alice. <br>* Alice&#39;s phone&#39;s display indicates the call is directed to Bob. <br>* Bob answers his phone. <br>* Audio flows bidirectionally between Alice and Bob. <br>* Bob presses the blind transfer key on his SIP phone. <br>* Bob hears dialtone. <br>* Alice hears music on hold. <br>* Bob dials Carol&#39;s extension. <br>* Bob&#39;s phone is disconnected from the call. <br>* Carol&#39;s phone begins to ring; Alice hears ringing in her handset&#39;s microphone. <br>* Carol&#39;s phone&#39;s display indicates an incoming call from Alice. <br>* Alice&#39;s phone&#39;s display indicates the call is directed to Carol. <br>* Carol does not answer the call. <br>* Bob&#39;s phone begins to ring. <br>* Bob&#39;s phone indicates it is being reconnected to Alice. <br>* Alice&#39;s phone indicates it is being reconnected to Bob. <br>* Bob picks up the ringing phone. <br>* Audio flows bidirectionally between Alice and Bob. <br>* Alice hangs up. <br> <br>h3. Local blind transfer: transferee hangup <br> <br>* Alice picks up her SIP phone and dials Bob&#39;s extension. <br>* Bob&#39;s phone begins ringing; Alice hears ringing in her handset&#39;s microphone. <br>* Bob&#39;s phone&#39;s display indicates an incoming call from Alice. <br>* Alice&#39;s phone&#39;s display indicates the call is directed to Bob. <br>* Bob answers his phone. <br>* Audio flows bidirectionally between Alice and Carol. <br>* Bob presses the blind transfer key on his SIP phone. <br>* Bob hears dialtone. <br>* Alice hears music on hold. <br>* Bob dials Carol&#39;s extension. <br>* Bob&#39;s phone is disconnected from the call. <br>* Carol&#39;s phone begins ringing; Alice hears ringing in her handset&#39;s microphone. <br>* Carol&#39;s phone&#39;s display indicates an incoming call from Alice. <br>* Alice&#39;s phone&#39;s display indicates the call is directed to Carol. <br>* Alice hangs up. <br>* Carol&#39;s phone stops ringing. <br> <br>{note} <br>The following tests refer to a concept called a &quot;blond&quot; transfer. This is the process by which a transferer uses the attended transfer key on his phone to perform a blind transfer. In other words, the transferer presses the attended transfer key, dials the appropriate extension, and then immediately hangs up when the destination begins ringing. Since the process involves hanging up once the far end begins ringing, it means that there are no scenarios to check such as &quot;transfer target busy&quot; or &quot;transfer target nonexistent&quot;. <br>{note} <br> <br>h3. Local blond transfer: success <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h2. FAX <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>The following are use cases for a new SIP channel driver. These are written from the perspective of what happens to users. It is possible (read: likely) that a use case will expand into multiple test cases since there are "under the hood" factors that can change the expected outcome of a use case.</p>

<h1><a name="SIPusecases-Mediasessions"></a>Media sessions</h1>

<h2><a name="SIPusecases-Basicmediasessions"></a>Basic media sessions</h2>

<h3><a name="SIPusecases-Onewayincomingcall"></a>One-way incoming call</h3>

<ul>
        <li>Alice picks up her SIP phone and dials an extension.</li>
        <li>Alice hears a prompt telling her that her phone system has been consumed by weasels.</li>
        <li>Alice hangs up, confused.</li>
</ul>


<h3><a name="SIPusecases-Onewayoutgoingcall"></a>One-way outgoing call</h3>

<ul>
        <li>An administrator presses a button on a website to call Bob.</li>
        <li>Bob's phone rings.</li>
        <li>Bob answers his phone.</li>
        <li>Bob here's a pre-recorded plea from a politician to cast a vote for him in the upcoming election.</li>
        <li>Bob hangs up, angry.</li>
</ul>


<h3><a name="SIPusecases-Twowaycall"></a>Two-way call</h3>

<ul>
        <li>Alice picks up her SIP phone and dials an extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows in both direcitons.</li>
        <li>Alice hangs up.</li>
</ul>


<h3><a name="SIPusecases-Originatedtwowaycall"></a>Originated two-way call</h3>

<ul>
        <li>A script places an outgoing call to Bob.</li>
        <li>Bob's phone rings.</li>
        <li>Bob answers his phone.</li>
        <li>The script now places an outgoing call to a call center agent.</li>
        <li>The call center agent answers the call.</li>
        <li>Bob and the call center agent can now exchange audio.</li>
        <li>Bob hangs up.</li>
</ul>


<h3><a name="SIPusecases-Canceledcall"></a>Canceled call</h3>

<ul>
        <li>Alice picks up her SIP phone and dials an extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Alice hangs up while Bob's phone is still ringing.</li>
        <li>Bob's phone stops ringing.</li>
</ul>


<h3><a name="SIPusecases-Videocall"></a>Video call</h3>

<ul>
        <li>Alice tells her laptop's SIP soft phone to place a call.</li>
        <li>Bob's laptop's SIP soft phone makes a horrible racket indicating there's an incoming call.</li>
        <li>Bob answers his phone.</li>
        <li>Audio and Video flows in both directions.</li>
        <li>Alice hangs up.</li>
</ul>


<h3><a name="SIPusecases-IVRnavigation"></a>IVR navigation</h3>

<ul>
        <li>Alice picks up her SIP phone and dials an extension.</li>
        <li>An IVR greets her, telling her to press 1 to redirect the call to Bob or 2 to hang up the call.</li>
        <li>Alice presses 2.</li>
        <li>The call is ended.</li>
</ul>


<h2><a name="SIPusecases-Transfers%2Fredirections"></a>Transfers/redirections</h2>

<h3><a name="SIPusecases-Callforward"></a>Call forward</h3>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone indicates that the call should be forwarded to Carol's extension.</li>
        <li>Carol's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Alice's SIP phone should display Carol as the target of the call.</li>
        <li>Carol answers her phone.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Alice hangs up.</li>
</ul>


<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>Transfer use cases below are centered around Bob transferring Alice to Carol. Use cases also should include Alice transferring Bob to Carol, but for the sake of brevity, these are omitted.</td></tr></table></div>

<h3><a name="SIPusecases-Localattendedtransfer%3Asuccess"></a>Local attended transfer: success</h3>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Bob.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Bob presses the attended transfer key on his SIP phone.</li>
        <li>Bob hears dialtone.</li>
        <li>Alice hears music on hold.</li>
        <li>Bob dials Carol's extension.</li>
        <li>Carol's phone begins ringing; Bob hears ringing in his handset's microphone.</li>
        <li>Carol's phone's display indicates an incoming call from Bob.</li>
        <li>Bob's phone's display indicates the call is directed to Carol.</li>
        <li>Carol answers his phone.</li>
        <li>Audio flows bidirectionally between Bob and Carol.</li>
        <li>Bob hangs up.</li>
        <li>Carol's phone's display shows that she is connected with Alice.</li>
        <li>Alice's phone's display shows that she is connected with Carol.</li>
        <li>Alice stops hearing music on hold.</li>
        <li>Audio flows bidirectionally between Alice and Carol.</li>
        <li>Alice hangs up.</li>
</ul>


<h3><a name="SIPusecases-Localattendedtransfer%3Abusytransfertarget"></a>Local attended transfer: busy transfer target</h3>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Bob.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Bob presses the attended transfer key on his SIP phone.</li>
        <li>Bob hears dialtone.</li>
        <li>Alice hears music on hold.</li>
        <li>Bob dials Carol's extension; Carol is currently on another call.</li>
        <li>Bob hears a busy signal.</li>
        <li>Bob presses a button to reconnect him with Alice (maybe attended transfer button. May be line key).</li>
        <li>Alice stops hearing music on hold.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Alice hangs up.</li>
</ul>


<h3><a name="SIPusecases-Localattendedtransfer%3Atransfertargetdoesnotanswer"></a>Local attended transfer: transfer target does not answer</h3>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Bob.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Bob presses the attended transfer key on his SIP phone.</li>
        <li>Bob hears dialtone.</li>
        <li>Alice hears music on hold.</li>
        <li>Bob dials Carol's extension.</li>
        <li>Carol's phone begins ringing; Bob hears ringing in his handset's microphone.</li>
        <li>Carol's phone's display indicates an incoming call from Bob.</li>
        <li>Bob's phone's display indicates the call is directed to Carol.</li>
        <li>Carol does not answer her phone for several seconds.</li>
        <li>The call times out, resulting in Bob hearing a fast busy.</li>
        <li>Bob presses a button to reconnect with Alice.</li>
        <li>Bob's phone's display indicates the call is connected to Alice.</li>
        <li>Alice stops hearing music on hold.</li>
        <li>Audio flows bidirectionally between Bob and Alice.</li>
        <li>Alice hangs up.</li>
</ul>


<h3><a name="SIPusecases-Localattendedtransfer%3Anonexistenttransfertarget"></a>Local attended transfer: nonexistent transfer target</h3>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Bob.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Bob presses the attended transfer key on his SIP phone.</li>
        <li>Bob hears dialtone.</li>
        <li>Alice hears music on hold.</li>
        <li>Bob misdials Carol's extension.</li>
        <li>Bob hears a busy signal.</li>
        <li>Bob presses a button to reconnect him with Alice.</li>
        <li>Alice stops hearing music on hold.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Alice hangs up.</li>
</ul>


<h3><a name="SIPusecases-Localattendedtransfer%3Atransfereehangup"></a>Local attended transfer: transferee hangup</h3>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Bob.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows bidirectionally between Alice and Carol.</li>
        <li>Bob presses the attended transfer key on his SIP phone.</li>
        <li>Bob hears dialtone.</li>
        <li>Alice hears music on hold.</li>
        <li>Bob dials Carol's extension.</li>
        <li>Carol's phone begins ringing; Bob hears ringing in his handset's microphone.</li>
        <li>Carol's phone's display indicates an incoming call from Bob.</li>
        <li>Bob's phone's display indicates the call is directed to Carol.</li>
        <li>Carol answers his phone.</li>
        <li>Audio flows bidirectionally between Bob and Carol.</li>
        <li>Alice hangs up.</li>
        <li>Bob hangs up.</li>
        <li>All calls are disconnected.</li>
</ul>


<h3><a name="SIPusecases-Localblindtransfer%3Asuccess"></a>Local blind transfer: success</h3>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Bob.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Bob presses the blind transfer key on his SIP phone.</li>
        <li>Bob hears dialtone.</li>
        <li>Alice hears music on hold.</li>
        <li>Bob dials Carol's extension.</li>
        <li>Bob's phone is disconnected from the call.</li>
        <li>Carol's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Carol's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Carol.</li>
        <li>Carol answers her phone.</li>
        <li>Audio flows bidirectionally between Alice and Carol.</li>
        <li>Alice hangs up.</li>
</ul>


<h3><a name="SIPusecases-Localblindtransfer%3ABusytransfertarget"></a>Local blind transfer: Busy transfer target</h3>
<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>The behavior described here is highly dependent on the phone used by Bob. Some phones may react to a failed blind transfer by attempting to revive the initial call, while others may unconditionally end their call on a blind transfer no matter the outcome.

<p>Also note that the scenario described below will not work in current Asterisk because chan_sip "fakes" the sip-frag NOTIFY to Bob saying the call to Carol succeeded before Asterisk actually knows the outcome of the call. Alice and Bob will not be reconnected when Carol is found to be busy.</p></td></tr></table></div>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Bob.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Bob presses the blind transfer key on his SIP phone.</li>
        <li>Bob hears dialtone.</li>
        <li>Alice hears music on hold.</li>
        <li>Bob dials Carol's extension; Carol is currently on another call.</li>
        <li>Bob's phone is disconnected from the call.</li>
        <li>Bob's phone begins to ring.</li>
        <li>Bob picks up the ringing phone.</li>
        <li>Alice stops hearing music on hold.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Alice hangs up.</li>
</ul>


<h3><a name="SIPusecases-Localblindtransfer%3ANonexistenttransfertarget"></a>Local blind transfer: Nonexistent transfer target</h3>
<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>The behavior described here is highly dependent on the phone used by Bob. Some phones may react to a failed blind transfer by attempting to revive the initial call, while others may unconditionally end their call on a blind transfer no matter the outcome.

<p>Note that unlike the previous scenario, this one actually should work in Asterisk's current chan_sip.</p></td></tr></table></div>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Bob.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Bob presses the blind transfer key on his SIP phone.</li>
        <li>Bob hears dialtone.</li>
        <li>Alice hears music on hold.</li>
        <li>Bob misdials Carol's extension.</li>
        <li>Bob's phone is disconnected from the call.</li>
        <li>Bob's phone begins to ring.</li>
        <li>Bob picks up the ringing phone.</li>
        <li>Alice stops hearing music on hold.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Alice hangs up.</li>
</ul>


<h3><a name="SIPusecases-Localblindtransfer%3ATransfertargetdoesnotanswer"></a>Local blind transfer: Transfer target does not answer</h3>
<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>The behavior described here is dependent on the dialplan in use for calling Carol. If Carol's extension goes to Voicemail or is in some other way "answered", then the call will be deemed as successful even though a human did not respond to the call. If the dialplan signals congestion or some other such signal after the call times out, then the call will be deemed a failure. For this scenario, we assume the latter scenario: if Carol does not answer within a specified time frame, a congestion indication is sent.

<p>The behavior described here is highly dependent on the phone used by Bob. Some phones may react to a failed blind transfer by attempting to revive the initial call, while others may unconditionally end their call on a blind transfer no matter the outcome.</p>

<p>Also note that the scenario described below will not work in current Asterisk because chan_sip "fakes" the sip-frag NOTIFY to Bob saying the call to Carol succeeded before Asterisk actually knows the outcome of the call. Alice and Bob will not be reconnected when Carol does not answer.</p></td></tr></table></div>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Bob.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Bob presses the blind transfer key on his SIP phone.</li>
        <li>Bob hears dialtone.</li>
        <li>Alice hears music on hold.</li>
        <li>Bob dials Carol's extension.</li>
        <li>Bob's phone is disconnected from the call.</li>
        <li>Carol's phone begins to ring; Alice hears ringing in her handset's microphone.</li>
        <li>Carol's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Carol.</li>
        <li>Carol does not answer the call.</li>
        <li>Bob's phone begins to ring.</li>
        <li>Bob's phone indicates it is being reconnected to Alice.</li>
        <li>Alice's phone indicates it is being reconnected to Bob.</li>
        <li>Bob picks up the ringing phone.</li>
        <li>Audio flows bidirectionally between Alice and Bob.</li>
        <li>Alice hangs up.</li>
</ul>


<h3><a name="SIPusecases-Localblindtransfer%3Atransfereehangup"></a>Local blind transfer: transferee hangup</h3>

<ul>
        <li>Alice picks up her SIP phone and dials Bob's extension.</li>
        <li>Bob's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Bob's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Bob.</li>
        <li>Bob answers his phone.</li>
        <li>Audio flows bidirectionally between Alice and Carol.</li>
        <li>Bob presses the blind transfer key on his SIP phone.</li>
        <li>Bob hears dialtone.</li>
        <li>Alice hears music on hold.</li>
        <li>Bob dials Carol's extension.</li>
        <li>Bob's phone is disconnected from the call.</li>
        <li>Carol's phone begins ringing; Alice hears ringing in her handset's microphone.</li>
        <li>Carol's phone's display indicates an incoming call from Alice.</li>
        <li>Alice's phone's display indicates the call is directed to Carol.</li>
        <li>Alice hangs up.</li>
        <li>Carol's phone stops ringing.</li>
</ul>


<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>The following tests refer to a concept called a "blond" transfer. This is the process by which a transferer uses the attended transfer key on his phone to perform a blind transfer. In other words, the transferer presses the attended transfer key, dials the appropriate extension, and then immediately hangs up when the destination begins ringing. Since the process involves hanging up once the far end begins ringing, it means that there are no scenarios to check such as "transfer target busy" or "transfer target nonexistent".</td></tr></table></div>

<h3><a name="SIPusecases-Localblondtransfer%3Asuccess"></a>Local blond transfer: success</h3>

<h2><a name="SIPusecases-FAX"></a>FAX</h2>

<h1><a name="SIPusecases-Registrations"></a>Registrations</h1>

<h3><a name="SIPusecases-Initialregistration"></a>Initial registration</h3>

<ul>
        <li>Alice plugs her new SIP phone into the network.</li>
        <li>The SIP phone should register its location with the server with a specified expiration.</li>
        <li>Bob places a call to Alice.</li>
        <li>The server should be able to locate Alice's phone and call her.</li>
</ul>


<h3><a name="SIPusecases-Reregistration"></a>Re-registration</h3>

<ul>
        <li>Alice plugs her new SIP phone into the network.</li>
        <li>The SIP phone should register its location with the server with a specified expiration.</li>
        <li>When the expiration is reached, Alice's phone should refresh the registration.</li>
        <li>Bob places a call to Alice.</li>
        <li>The server should be able to locate Alice's phone and call her.</li>
</ul>


<h3><a name="SIPusecases-Registrationtimeout"></a>Registration timeout</h3>

<ul>
        <li>Alice plugs her new SIP phone into the network.</li>
        <li>The SIP phone should register its location with the server with a specified expiration.</li>
        <li>Alice removes her SIP phone from the network.</li>
        <li>The expiration time from the original registration is reached.</li>
        <li>Bob places a call to Alice.</li>
        <li>The server is unable to locate Alice's phone to call her.</li>
        <li>Bob hears a fast busy tone.</li>
</ul>


<h3><a name="SIPusecases-Unregistration"></a>Unregistration</h3>

<ul>
        <li>Alice plugs her new SIP phone into the network.</li>
        <li>The SIP phone should register its location with the server with a specified expiration.</li>
        <li>Alice performs a software shutdown on her phone.</li>
        <li>The phone unregisters its location with the server.</li>
        <li>Bob places a call to Alice.</li>
        <li>The server is unable to locate Alice's phone to call her.</li>
        <li>Bob hears a fast busy tone.</li>
</ul>


<h1><a name="SIPusecases-Subscriptions"></a>Subscriptions</h1>

<h2><a name="SIPusecases-MessageWaiting"></a>Message Waiting</h2>

<h2><a name="SIPusecases-Presence"></a>Presence</h2>

<h2><a name="SIPusecases-DialogInfo"></a>Dialog Info</h2>

<h2><a name="SIPusecases-CallCompletion"></a>Call Completion</h2>

<h1><a name="SIPusecases-Messaging"></a>Messaging</h1>

<h1><a name="SIPusecases-"></a></h1>
    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;" class="grey">
                        <a href="https://wiki.asterisk.org/wiki/users/removespacenotification.action?spaceKey=AST">Stop watching space</a>
            <span style="padding: 0px 5px;">|</span>
                <a href="https://wiki.asterisk.org/wiki/users/editmyemailsettings.action">Change email notification preferences</a>
</div>
        <a href="https://wiki.asterisk.org/wiki/display/AST/SIP+use+cases">View Online</a>
        |
        <a href="https://wiki.asterisk.org/wiki/pages/diffpagesbyversion.action?pageId=21464262&revisedVersion=3&originalVersion=2">View Changes</a>
                |
        <a href="https://wiki.asterisk.org/wiki/display/AST/SIP+use+cases?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>