<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/Asterisk+12+Bridging+Use+Cases">Asterisk 12 Bridging Use Cases</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://wiki.asterisk.org/wiki/display/~mjordan">Matt Jordan</a>
    </h4>
        <br/>
                         <h4>Changes (1)</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 does not enter an extension <br>* Alice is notified that the extension is invalid and remains in a bridge with Bob <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;"> <br>h1. Call Parking <br> <br>h2. Basic Parking <br> <br>h3. Park <br> <br>* Alice  <br> <br>Call Parking <br>Call parking has four main elements to test <br> <br>The act of parking the call <br>The effect of allowing a parked call to time out <br>The features allowed on a retrieved parked call <br>Parking the call <br>The following tests should be run three times <br> <br>In the first run, no parking lot is configured. <br>In the second, a specific pre-configured parking lot is chosen using the PARKINGLOT channel variable. <br>In the third, a dynamically-created parking lot is used. <br>Some tests do not apply for specific runs, and they will be noted. <br>In addition, each test should be run with the parties reversed. <br> <br>Test 1: <br>Party A dials Party B with the &#39;T&#39; Dial option set <br>Party A transfers Party B to the parking extension using the configured blind transfer key <br> <br>Test 2: <br>Party A dials Party B with the &#39;T&#39; Dial option set <br>Party A transfers Party B to the parking extension using the configured attended transfer key <br> <br>Tests 3 and 4: <br>Tests 1 and 2 are re-run but the parking lot is full <br> <br>Tests 5 and 6: <br>Tests 1 and 2 are re-run but with no configured parking extension <br> <br>Allowing the parked call to time out <br>All tests start with the precondition that there is a parked party and that the parked call timeout has been reached. <br>All tests should make sure after the timeout that the PARKINGSLOT, PARKEDLOT, and PARKER variables are set properly. <br> <br>Test 1: <br>comebacktoorigin is set to yes. <br>Parker is called back. <br>Parker answers the call. <br>Parker hangs up. <br> <br>Test 2: <br>comebacktoorigin is set to yes. <br>comebackdialtime is set to 3 seconds. <br>Parker is called back. <br>Parker does not answer the call within the configured time. <br>Ensure the call moves on to park-dial,t,1 extension <br> <br>Test 3: <br>comebacktoorigin is set to yes. <br>Parker is called back, but is busy. <br>Ensure the call moves on to park-dial,h,1 extension <br> <br>Test 4: <br>comebacktoorigin is set to no. <br>comebackcontext is set to &quot;park_context&quot; <br>Ensure that extension corresponding to parker&#39;s channel name is called back. <br>Parker answers the call, then hangs up. <br> <br>Test 5: <br>comebacktoorigin is set to no. <br>comebackcontext is set to &quot;park_context&quot; <br>Ensure that extension corresponding to parker&#39;s channel name is called back. <br>Parker does not answer <br> <br>Test 6: <br>comebacktoorigin is set to no. <br>comebackcontext is set to &quot;park_context&quot; <br>Ensure that extension corresponding to parker&#39;s channel name is called back. <br>Parker is busy <br> <br>Test 7: <br>comebacktoorigin is set to no. <br>comebackcontext is set to &quot;park_context&quot; <br>There is no extension corresponding to parker&#39;s channel name. <br>Ensure that &#39;s&#39; extension is called. <br> <br>Test 8: <br>comebacktoorigin is set to no. <br>comebackcontext is set to &quot;park_context&quot; <br>There is no extension corresponding to parker&#39;s channel name. <br>There is no &#39;s&#39; extension <br>Ensure parked call is hung up properly <br> <br>Features allowed after call parking retrieval <br>These tests have the precondition that a caller is parked <br> <br>Test 1: <br>With default options set, Party A retrieves the parked call. <br>Parties A and B both attempt blind and attended transfers. They should not work. <br>Parties A and B both attempt one-touch recording. They should not work. <br>Parties A and B both attempt one-touch parking. They should not work. <br>Parties A and B both attempt DTMF hangup. They should not work. <br> <br>Test 2: <br>parkedcalltransfers is set to caller <br>Party A retrieves parked call. <br>Party B attempts to transfer the call with blind and attended transfer keys. They should not work. <br>Party A transfers party B to party C. <br> <br>Test 3: <br>Re-run Test 2 with parkedcalltransfers set to callee and reverse parties&#39; roles. <br> <br>Test 4: <br>parkedcalltransfers is set to both <br>Party A retrieves parked call <br>Party A transfers party B to party C <br> <br>Test 5: <br>Same as Test 4 but Party B makes the transfer <br> <br>Tests 6-9: <br>Same as tests 2-5, but applicable to the parkedcallhangup setting. <br> <br>Tests 10-13: <br>Same as tests 2-5, but applicable to the parkedcallreparking setting. <br> <br>Tests 14-17: <br>Same as tests 2-5, but applicable to the parkedcallrecording setting. <br> <br>Tests 18-33: <br>Same as tests 2-17, but instead of using features.conf settings, have settings <br>inherited from the original bridge by using the h, H, k, K, w, W, x, and X settings for Dial. <br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>The following are use cases for Bridging in Asterisk. These are written at a very high level, so details regarding the specific mechanism that causes a Bridge to be created may be implied.</p>

<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><b>Note</b><br />Unless otherwise specified, it is assumed that all channels are hung up, resources disposed of, and the bridge destroyed at the end of any use case.</td></tr></table></div>

<div>
<ul>
    <li><a href='#Asterisk12BridgingUseCases-TwoPartyBridging'>Two Party Bridging</a></li>
<ul>
    <li><a href='#Asterisk12BridgingUseCases-BasicBridging'>Basic Bridging</a></li>
<ul>
    <li><a href='#Asterisk12BridgingUseCases-CoreBridging%2CAliceinitiateshangup'>Core Bridging, Alice initiates hang up</a></li>
    <li><a href='#Asterisk12BridgingUseCases-CoreBridging%2CBobinitiateshangup'>Core Bridging, Bob initiates hang up</a></li>
    <li><a href='#Asterisk12BridgingUseCases-NativeBridging%2CAliceinitiateshangup'>Native Bridging, Alice initiates hang up</a></li>
    <li><a href='#Asterisk12BridgingUseCases-NativeBridging%2CBobinitiateshangup'>Native Bridging, Bob initiates hang up</a></li>
</ul>
    <li><a href='#Asterisk12BridgingUseCases-MidCallEvents'>Mid-Call Events</a></li>
<ul>
    <li><a href='#Asterisk12BridgingUseCases-PartyIdentification'>Party Identification</a></li>
<ul>
    <li><a href='#Asterisk12BridgingUseCases-ConnectedLineUpdate'>Connected Line Update</a></li>
    <li><a href='#Asterisk12BridgingUseCases-RedirectingUpdate'>Redirecting Update</a></li>
</ul>
    <li><a href='#Asterisk12BridgingUseCases-TimedFeatures'>Timed Features</a></li>
<ul>
    <li><a href='#Asterisk12BridgingUseCases-TimedCall'>Timed Call</a></li>
    <li><a href='#Asterisk12BridgingUseCases-CallTimeLimit'>Call Time Limit</a></li>
</ul>
</ul>
</ul>
    <li><a href='#Asterisk12BridgingUseCases-DTMFFeatures'>DTMF Features</a></li>
<ul>
    <li><a href='#Asterisk12BridgingUseCases-DTMFDisconnect'>DTMF Disconnect</a></li>
    <li><a href='#Asterisk12BridgingUseCases-AutoMonitorandAutoMixMonitor'>Auto-Monitor and Auto-MixMonitor</a></li>
<ul>
    <li><a href='#Asterisk12BridgingUseCases-AutoMonitor'>Auto-Monitor</a></li>
    <li><a href='#Asterisk12BridgingUseCases-AutoMixMonitor'>Auto-MixMonitor</a></li>
    <li><a href='#Asterisk12BridgingUseCases-OneTouchParking'>One Touch Parking</a></li>
</ul>
    <li><a href='#Asterisk12BridgingUseCases-Transfers'>Transfers</a></li>
<ul>
    <li><a href='#Asterisk12BridgingUseCases-BlindTransfer'>Blind Transfer</a></li>
    <li><a href='#Asterisk12BridgingUseCases-AttendedTransferParty'>Attended Transfer - Party</a></li>
    <li><a href='#Asterisk12BridgingUseCases-AttendedTransferApplication'>Attended Transfer - Application</a></li>
    <li><a href='#Asterisk12BridgingUseCases-AttendedTransfertoMultiParty'>Attended Transfer to Multi-Party</a></li>
    <li><a href='#Asterisk12BridgingUseCases-FailedAttendedTransferNoAnswer'>Failed Attended Transfer - No Answer</a></li>
    <li><a href='#Asterisk12BridgingUseCases-BlondeTransfer'>Blonde Transfer</a></li>
    <li><a href='#Asterisk12BridgingUseCases-TransferTimeout'>Transfer Timeout</a></li>
</ul>
</ul>
</ul></div>

<h1><a name="Asterisk12BridgingUseCases-TwoPartyBridging"></a>Two Party Bridging</h1>

<h2><a name="Asterisk12BridgingUseCases-BasicBridging"></a>Basic Bridging</h2>

<h3><a name="Asterisk12BridgingUseCases-CoreBridging%2CAliceinitiateshangup"></a>Core Bridging, Alice initiates hang up</h3>

<ul>
        <li>Alice calls Bob using a configuration that does not allow for native bridging</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice and Bob can both converse with each other</li>
        <li>Alice hangs up</li>
        <li>Bob is hung up on</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-CoreBridging%2CBobinitiateshangup"></a>Core Bridging, Bob initiates hang up</h3>

<ul>
        <li>Alice calls Bob using a configuration that does not allow for native bridging</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice and Bob can both converse with each other</li>
        <li>Bob hangs up</li>
        <li>Alice is hung up on</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-NativeBridging%2CAliceinitiateshangup"></a>Native Bridging, Alice initiates hang up</h3>

<ul>
        <li>Alice calls Bob using a configuration allows for native bridging</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice and Bob can both converse with each other</li>
        <li>Alice hangs up</li>
        <li>Bob is hung up on</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-NativeBridging%2CBobinitiateshangup"></a>Native Bridging, Bob initiates hang up</h3>

<ul>
        <li>Alice calls Bob using a configuration that allows for native bridging</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice and Bob can both converse with each other</li>
        <li>Bob hangs up</li>
        <li>Alice is hung up on</li>
</ul>


<h2><a name="Asterisk12BridgingUseCases-MidCallEvents"></a>Mid-Call Events</h2>

<h3><a name="Asterisk12BridgingUseCases-PartyIdentification"></a>Party Identification</h3>

<h4><a name="Asterisk12BridgingUseCases-ConnectedLineUpdate"></a>Connected Line Update</h4>

<ul>
        <li>Alice calls Bob</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice causes a connected line update to be sent to Bob</li>
        <li>Bob causes a connected line update to be sent to Alice</li>
        <li>The party identification information for both Alice and Bob is changed.</li>
        <li>Alice hangs up.</li>
        <li>Bob is hung up on.</li>
</ul>


<h4><a name="Asterisk12BridgingUseCases-RedirectingUpdate"></a>Redirecting Update</h4>

<ul>
        <li>Alice calls Bob</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice causes a redirecting update to be sent to Bob</li>
        <li>Bob causes a redirecting update to be sent to Alice</li>
        <li>Alice hangs up.</li>
        <li>Bob is hung up on.</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-TimedFeatures"></a>Timed Features</h3>

<h4><a name="Asterisk12BridgingUseCases-TimedCall"></a>Timed Call</h4>

<ul>
        <li>Alice calls Bob using an application that warns periodically throughout the call when there is time <tt>T</tt> left in the call and causing the call to end after time <tt>H</tt></li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Warnings are played to Alice and Bob when there is time <tt>T</tt> left in the call</li>
        <li>Warnings are repeated based on the configured interval</li>
        <li>The call ends after <tt>H</tt> time has elapsed</li>
        <li>Both Bob and Alice are hung up on.</li>
</ul>


<h4><a name="Asterisk12BridgingUseCases-CallTimeLimit"></a>Call Time Limit</h4>

<ul>
        <li>Alice calls Bob using an application that terminates the call after <tt>H</tt> time</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>The call ends after <tt>H</tt> time has elapsed</li>
        <li>Both Bob and Alice are hung up on</li>
</ul>


<h1><a name="Asterisk12BridgingUseCases-DTMFFeatures"></a>DTMF Features</h1>

<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><b>Note</b><br /><ol>
        <li>For each DTMF initiated feature, it should be assumed that unless otherwise specified, the option only has an effect on the specified party. Thus, if a feature applies to the caller, the callee should <b>not</b> be able to use the feature.</li>
        <li>If the feature can be initiated by one party, then a configuration item exists to have it initiated by the other party as well. For example, if a caller can initiate a feature because of a configuration parameter, then another configuration parameter exists that lets the callee initiate the same feature.</li>
        <li>DTMF features are not specific to two-party calls, unless otherwise noted.</li>
</ol>
</td></tr></table></div>

<h2><a name="Asterisk12BridgingUseCases-DTMFDisconnect"></a>DTMF Disconnect</h2>

<ul>
        <li>Alice calls Bob using an application to allow DTMF disconnect by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice attempts to disconnect the call by pressing the appropriate DTMF</li>
        <li>Both Bob and Alice are hung up on</li>
</ul>


<h2><a name="Asterisk12BridgingUseCases-AutoMonitorandAutoMixMonitor"></a>Auto-Monitor and Auto-MixMonitor</h2>

<h3><a name="Asterisk12BridgingUseCases-AutoMonitor"></a>Auto-Monitor</h3>

<ul>
        <li>Alice calls Bob using an application that allows DTMF initiation of Auto-Monitor by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice presses the configured Auto-Monitor key to record the call</li>
        <li>Monitor recording begins</li>
        <li>Alice presses the configured Auto-Monitor key to end recording</li>
        <li>Monitor recording ends</li>
        <li>Alice hangs up</li>
        <li>Bob is hung up on</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-AutoMixMonitor"></a>Auto-MixMonitor</h3>

<ul>
        <li>Alice calls Bob using an application that allows DTMF initiation of Auto-MixMonitor by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice presses the configured Auto-MixMonitor key to record the call</li>
        <li>MixMonitor recording begins</li>
        <li>Alice presses the configured Auto-MixMonitor key to end recording</li>
        <li>MixMonitor recording ends</li>
        <li>Alice hangs up</li>
        <li>Bob is hung up on</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-OneTouchParking"></a>One Touch Parking</h3>

<ul>
        <li>Alice calls Bob using an application that allows DTMF initiation of Parking by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice presses the configured Parking key to park Bob</li>
        <li>Bob is parked</li>
        <li>Alice hangs up</li>
        <li>Bob hangs up</li>
</ul>


<h2><a name="Asterisk12BridgingUseCases-Transfers"></a>Transfers</h2>

<h3><a name="Asterisk12BridgingUseCases-BlindTransfer"></a>Blind Transfer</h3>

<ul>
        <li>Alice dials Bob using an application that allows Blind Transfers initiated by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice presses the configured Blind Transfer key</li>
        <li>Alice enters the extension to transfer Bob to</li>
        <li>Bob is ejected from the bridge and executes the dialplan at the specified location</li>
        <li>Alice is hung up on</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-AttendedTransferParty"></a>Attended Transfer - Party</h3>

<ul>
        <li>Alice dials Bob using an application that allows Attended Transfers initiated by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice presses the configured Attended Transfer key</li>
        <li>Alice enters the extension to transfer Bob to</li>
        <li>Bob is put on Hold</li>
        <li>Alice executes dialplan at the extension to transfer Bob to</li>
        <li>Alice dials Charlie</li>
        <li>Charlie Answers Alice</li>
        <li>Alice and Charlie are placed in the same bridge</li>
        <li>Alice completes the attended transfer</li>
        <li>Bob is taken off Hold</li>
        <li>Bob and Charlie are bridged together</li>
        <li>Alice is hung up on</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-AttendedTransferApplication"></a>Attended Transfer - Application</h3>

<ul>
        <li>Alice dials Bob using an application that allows Attended Transfers initiated by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice presses the configured Attended Transfer key</li>
        <li>Alice enters the extension to transfer Bob to</li>
        <li>Bob is put on Hold</li>
        <li>Alice executes dialplan at the extension to transfer Bob to</li>
        <li>Alice enters into an Application</li>
        <li>Alice completes the attended transfer</li>
        <li>Bob is taken off Hold</li>
        <li>Bob is put into the Application at the location that Alice was at</li>
        <li>Alice is hung up on</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-AttendedTransfertoMultiParty"></a>Attended Transfer to Multi-Party</h3>

<ul>
        <li>Alice dials Bob using an application that allows Attended Transfers initiated by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice presses the configured Attended Transfer key</li>
        <li>Alice enters the extension to transfer Bob to</li>
        <li>Bob is put on Hold</li>
        <li>Alice executes dialplan at the extension to transfer Bob to</li>
        <li>Alice dials Charlie</li>
        <li>Charlie Answers Alice</li>
        <li>Alice and Charlie are placed in the same bridge</li>
        <li>Alice presses the configured Three Party key</li>
        <li>Bob is taken off Hold</li>
        <li>Alice, Bob and Charlie are bridged together</li>
        <li>Alice hangs up</li>
        <li>Bob and Charlie are hung up on</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-FailedAttendedTransferNoAnswer"></a>Failed Attended Transfer - No Answer</h3>

<ul>
        <li>Alice dials Bob using an application that allows Attended Transfers initiated by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice presses the configured Attended Transfer key</li>
        <li>Alice enters the extension to transfer Bob to</li>
        <li>Bob is put on Hold</li>
        <li>Alice executes dialplan at the extension to transfer Bob to</li>
        <li>Alice dials Charlie</li>
        <li>Charlie fails to Answer Alice</li>
        <li>Alice is put back into the bridge with Bob</li>
        <li>Bob is taken off Hold</li>
        <li>Alice hangs up</li>
        <li>Bob is hung up on</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-BlondeTransfer"></a>Blonde Transfer</h3>

<ul>
        <li>Alice dials Bob using an application that allows Attended Transfers initiated by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice presses the configured Attended Transfer key</li>
        <li>Alice enters the extension to transfer Bob to</li>
        <li>Bob is put on Hold</li>
        <li>Alice executes dialplan at the extension to transfer Bob to</li>
        <li>Alice dials Charlie</li>
        <li>Alice hangs up while Charlie is Ringing</li>
        <li>Charlie Answers</li>
        <li>Bob is taken off Hold</li>
        <li>Bob and Charlie are bridged together</li>
</ul>


<h3><a name="Asterisk12BridgingUseCases-TransferTimeout"></a>Transfer Timeout</h3>

<ul>
        <li>Alice dials Bob using an application that allows some kind of Transfer initiated by the caller</li>
        <li>Bob Answers and Alice and Bob enter a bridge</li>
        <li>Alice presses the configured Transfer key</li>
        <li>Alice does not enter an extension</li>
        <li>Alice is notified that the extension is invalid and remains in a bridge with Bob</li>
</ul>


    </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/Asterisk+12+Bridging+Use+Cases">View Online</a>
        |
        <a href="https://wiki.asterisk.org/wiki/pages/diffpagesbyversion.action?pageId=22088050&revisedVersion=5&originalVersion=4">View Changes</a>
                |
        <a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+Bridging+Use+Cases?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>