<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 on use cases<br />
    </div>
        <br/>
                         <h4>Changes (7)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">h1. Media Sessions <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">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 &quot;under the hood&quot; factors that can change the expected outcome of a use case. <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">h1. Media sessions <br> <br>h2. Basic media sessions <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h3. One-way incoming call <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<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;">h3. IVR navigation <br> <br>* Alice picks up her SIP phone and dials an extension. <br>* An IVR greets her, telling her to press 1 to redirect the call to Bob or 2 to hang up the call. <br>* Alice presses 2. <br>* The call is ended. <br> <br>h2. Transfers/redirections <br> <br>h3. Call forward <br> <br>* Alice picks up her SIP phone and dials Bob&#39;s extension. <br>* Bob&#39;s phone indicates that the call should be forwarded to Carol&#39;s extension. <br>* Carol&#39;s phone begins ringing; Alice hears ringing in her handset&#39;s microphone. <br>* Alice&#39;s SIP phone should display Carol as the target of the call. <br>* Carol answers her phone. <br>* Audio flows in both directions. <br>* Alice hangs up. <br> <br>h3. Local attended transfer: success <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 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>* Bob hangs up. <br>* Carol&#39;s phone&#39;s display shows that she is connected with Alice. <br>* Alice&#39;s phone&#39;s display shows that she is connected with Carol. <br>* Alice stops hearing music on hold. <br>* Audio flows bidirectionally between Alice and Carol. <br>* Alice hangs up. <br> <br>h3. Local attended transfer: busy transfer target <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 attended 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 hears a busy signal. <br>* Bob presses a button to reconnect him with Alice (maybe attended transfer button. May be line key). <br>* Alice stops hearing music on hold. <br>* Audio flows bidirectionally between Alice and Bob. <br>* Alice hangs up. <br> <br>h3. Local attended transfer: transfer target does not answer <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 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 does not answer her phone for several seconds. <br>* The call times out, resulting in Bob hearing a fast busy. <br>* Bob presses a button to reconnect with Alice. <br>* Bob&#39;s phone&#39;s display indicates the call is connected to Alice. <br>* Alice stops hearing music on hold. <br>* Audio flows bidirectionally between Bob and Alice. <br>* Alice hangs up. <br> <br>h3. Local attended transfer: nonexistent transfer target <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 attended 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 hears a busy signal. <br>* Bob presses a button to reconnect him with Alice. <br>* Alice stops hearing music on hold. <br>* Audio flows bidirectionally between Alice and Bob. <br>* Alice hangs up. <br> <br>h3. Local attended transfer: transferee hangup <br> <br>h3. Local blind transfer: success <br> <br>h3. Local blind transfer:  <br> <br>h3. Local blond transfer <br> <br>h2. FAX <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h1. Registrations <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* Bob hears a fast busy tone. <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">h3. Unregistration <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">h3.</span> <span class="diff-added-words"style="background-color: #dfd;"> </span> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">* Alice plugs her new SIP phone into the network. <br>* The SIP phone should register its location with the server with a specified expiration. <br>* Alice performs a software shutdown on her phone. <br>* The phone unregisters its location with the server. <br>* Bob places a call to Alice. <br>* The server is unable to locate Alice&#39;s phone to call her. <br>* Bob hears a fast busy tone. <br> <br>h1. Subscriptions <br> <br>h2. Message Waiting <br> <br>h2. Presence <br> <br>h2. Dialog Info <br> <br>h2. Call Completion <br> <br>h1. Messaging <br> <br>h1.  <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 in both directions.</li>
        <li>Alice hangs up.</li>
</ul>


<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 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>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 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; 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 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 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 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 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>

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

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

<h3><a name="SIPusecases-Localblondtransfer"></a>Local blond transfer</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=2&originalVersion=1">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>