<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/2033/1/7/_/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/chan_sip+Transaction+Support+Proprosal">chan_sip Transaction Support Proprosal</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://wiki.asterisk.org/wiki/display/~twilson@digium.com">Terry Wilson</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" > <br>h1. Project Requirements <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;"> <br>* RFC 3261-compliant transactions <br>** Client/Server INVITE/Non-INVITE transactions <br>** Connection-oriented protocols (TCP/TLS) <br>** Connectionless protocols (UDP) <br>* Handle transport layer errors <br>* Code should be as self-contained as possible to minimize bug introduction <br>* Possibly should be optional for backward compatibility <br> <br>{numberedheadings} <br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        

<h1><a name="chan_sipTransactionSupportProprosal-Introduction"></a>1. Introduction</h1>
<p>SIP is a transactional protocol. Asterisk's chan_sip has no transaction concept of a transaction layer. Developers have spent countless hours providing workarounds for bugs caused by this situation. In fact, more hours have been spent trying to work around the issue than it would take to actually implement a transaction layer for chan_sip. This document outlines how a transaction layer can be added to chan_sip with a relatively minimal amount of change to existing code.</p>

<h1><a name="chan_sipTransactionSupportProprosal-TableofContents"></a>2. Table of Contents</h1>

<style type='text/css'>/*<![CDATA[*/
div.rbtoc1292968436415 {margin-left: 1.5em;padding: 0px;}
div.rbtoc1292968436415 ul {list-style: disc;margin-left: 0px;padding-left: 20px;}
div.rbtoc1292968436415 li {margin-left: 0px;padding-left: 0px;}

/*]]>*/</style><div class='rbtoc1292968436415'>
<ul>
    <li><a href='#chan_sipTransactionSupportProprosal-Introduction'>1. Introduction</a></li>
    <li><a href='#chan_sipTransactionSupportProprosal-TableofContents'>2. Table of Contents</a></li>
    <li><a href='#chan_sipTransactionSupportProprosal-ProjectRequirements'>3. Project Requirements</a></li>
</ul></div>

<h1><a name="chan_sipTransactionSupportProprosal-ProjectRequirements"></a>3. Project Requirements</h1>

<ul>
        <li>RFC 3261-compliant transactions
        <ul>
                <li>Client/Server INVITE/Non-INVITE transactions</li>
                <li>Connection-oriented protocols (TCP/TLS)</li>
                <li>Connectionless protocols (UDP)</li>
        </ul>
        </li>
        <li>Handle transport layer errors</li>
        <li>Code should be as self-contained as possible to minimize bug introduction</li>
        <li>Possibly should be optional for backward compatibility</li>
</ul>




    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://wiki.asterisk.org/wiki/users/viewnotifications.action" class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://wiki.asterisk.org/wiki/display/AST/chan_sip+Transaction+Support+Proprosal">View Online</a>
        |
        <a href="https://wiki.asterisk.org/wiki/pages/diffpagesbyversion.action?pageId=10649861&revisedVersion=2&originalVersion=1">View Changes</a>
                |
        <a href="https://wiki.asterisk.org/wiki/display/AST/chan_sip+Transaction+Support+Proprosal?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>