<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/en/2171/18/9/_/styles/combined.css?spaceKey=TOP&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/TOP/Project+Status">Project Status</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://wiki.asterisk.org/wiki/display/~khunt">Ken Hunt</a>
    </h4>
        <br/>
                         <h4>Changes (4)</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" >*** H.263, H.263+ <br>*** H.264 <br></td></tr>
            <tr><td class="diff-changed-lines" >** Adaptive jitter buffering and packet loss concealment. <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">(*Work started, but incomplete)</span> <span class="diff-added-words"style="background-color: #dfd;">^\[1\]^</span> <br></td></tr>
            <tr><td class="diff-unchanged" >** Audio manipulation components (denoise, AGC, level adjustment, pitch shift, delay control, etc.). <br>*** MF <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >** Bridging <br>*** Interconnection of bridges <br></td></tr>
            <tr><td class="diff-changed-lines" >*** Injection of media towards one session in bridge, towards all sessions in bridge, or possibly to a subset of sessions in <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">bridge (* Designed)</span> <span class="diff-added-words"style="background-color: #dfd;">bridge. ^\[2\]^</span> <br></td></tr>
            <tr><td class="diff-changed-lines" >*** Extraction of media from one session in bridge, from all sessions in bridge, or possibly from a subset of sessions in <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">bridge (* Designed)</span> <span class="diff-added-words"style="background-color: #dfd;">bridge. ^\[2\]^</span> <br></td></tr>
            <tr><td class="diff-unchanged" >*** Mixing audio at highest quality possible for sessions in bridge  <br>* Message-Oriented Communications <br>** SS7 <br>*** Short Message Service <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;"> <br>---- <br>^\[1\]^  - Work started, but incomplete or untested. <br>^\[2\]^  - Design completed.  <br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>This page will be updated periodically to describe the current state of the project in terms of implemented / tested features and those still to be addressed. </p>

<h1><a name="ProjectStatus-Implemented%28asofMay15%2C2012%29"></a>Implemented (as of May 15, 2012)</h1>
<ul>
        <li>IPv4 and IPv6 for all IP-aware interfaces.</li>
        <li>UTF-8 aware for all interfaces that can transport and manipulate such strings.</li>
        <li>Transport security for all interfaces that can support it (TLS, SRTP).</li>
        <li>Mechanisms to support non-transparent network connections when necessary (NAT, NAPT, etc.).
        <ul>
                <li>STUN, TURN, ICE</li>
                <li>Document usage of Glacier2 with Asterisk SCF</li>
        </ul>
        </li>
        <li>All components provide interfaces for dynamic configuration.</li>
        <li>Active/passive failover (hot standby model using real-time state replication) in all core components.</li>
        <li>Mechanisms for developers to be able to attach and retrieve their own information to all long-lived objects in the system.</li>
        <li>Stable, version-controlled and well documented APIs for component developers.</li>
        <li>Basic routing service and documentation to ease learning of the framework.</li>
        <li>Service location mechanism that can take into account user-specified attributes when deciding on which component should service a request.</li>
        <li>Session-Oriented Communications
        <ul>
                <li>SIP
                <ul>
                        <li>SIP registrar service.</li>
                </ul>
                </li>
                <li>Flexible (and dynamic) session capability negotiation</li>
                <li>Telephone in-session events (but not telephony events)
                <ul>
                        <li>DTMF</li>
                        <li>Hold/Unhold</li>
                        <li>Flash</li>
                </ul>
                </li>
                <li>Party identification</li>
                <li>Access to session quality metrics and statistics
                <ul>
                        <li>RTCP</li>
                </ul>
                </li>
                <li>Bridging
                <ul>
                        <li>Support direct media paths for two-session bridges when available</li>
                        <li>Events indicating when sessions start and stop speaking (or similar)</li>
                </ul>
                </li>
        </ul>
        </li>
        <li>Presence and Resource State Communications
        <ul>
                <li>API designed</li>
        </ul>
        </li>
        <li>Media
        <ul>
                <li>Support for arbitrary sample rates, sample sizes and frame sizes.
                <ul>
                        <li>G.711 u-Law and a-Law</li>
                        <li>G.722</li>
                </ul>
                </li>
                <li>Recording and playback of media streams.</li>
                <li>FAX transport using T.38 IFP payload format.</li>
                <li>Media components support passthrough of user-defined media formats of known media types.</li>
        </ul>
        </li>
        <li>Example implementations of various extension point hooks, interface decorators and other APIs in easily consumable languages.</li>
        <li>Example component that listens to bridges and their sessions and shows how events and state changes can be seen.</li>
</ul>


<h1><a name="ProjectStatus-Planned"></a>Planned</h1>

<ul>
        <li>Media
        <ul>
                <li>Connection of dissimilar media streams with transcoding/transrating as needed.
                <ul>
                        <li>G.729A and AB</li>
                        <li>G.722.1 and .1C</li>
                        <li>Speex</li>
                        <li>OPUS</li>
                        <li>GSM-FR</li>
                </ul>
                </li>
                <li>Transport and connect (not transcode/transrate) commonly used video formats
                <ul>
                        <li>H.263, H.263+</li>
                        <li>H.264</li>
                </ul>
                </li>
                <li>Adaptive jitter buffering and packet loss concealment. <sup>[1]</sup></li>
                <li>Audio manipulation components (denoise, AGC, level adjustment, pitch shift, delay control, etc.).
                <ul>
                        <li>MF</li>
                        <li>CNG, CED, ANSam, V.21</li>
                        <li>G.719</li>
                        <li>SILK</li>
                </ul>
                </li>
        </ul>
        </li>
        <li>Party identification 'domains of trust'</li>
        <li>Message-Oriented Communications
        <ul>
                <li>XMPP</li>
                <li>SIP
                <ul>
                        <li>MESSAGE</li>
                </ul>
                </li>
        </ul>
        </li>
        <li>Presence and Resource State Communications
        <ul>
                <li>SIP
                <ul>
                        <li>SUBSCRIBE, NOTIFY, PUBLISH</li>
                        <li>dialog-info, presence, message-summary</li>
                </ul>
                </li>
                <li>XMPP</li>
        </ul>
        </li>
        <li>Transport security for all interfaces that can support it (DTLS, ZRTP).</li>
        <li>Session-Oriented Communications
        <ul>
                <li>ISDN
                <ul>
                        <li>Primary Rate Interface</li>
                        <li>Q.SIG</li>
                </ul>
                </li>
                <li>SS7
                <ul>
                        <li>ISDN User Part</li>
                </ul>
                </li>
                <li>MRCP
                <ul>
                        <li>Automated Speech Recognition</li>
                        <li>Text To Speech</li>
                </ul>
                </li>
                <li>Bridging
                <ul>
                        <li>Interconnection of bridges</li>
                        <li>Injection of media towards one session in bridge, towards all sessions in bridge, or possibly to a subset of sessions in bridge. <sup>[2]</sup></li>
                        <li>Extraction of media from one session in bridge, from all sessions in bridge, or possibly from a subset of sessions in bridge. <sup>[2]</sup></li>
                        <li>Mixing audio at highest quality possible for sessions in bridge</li>
                </ul>
                </li>
        </ul>
        </li>
        <li>Message-Oriented Communications
        <ul>
                <li>SS7
                <ul>
                        <li>Short Message Service</li>
                </ul>
                </li>
        </ul>
        </li>
</ul>


<hr />
<p><sup>[1]</sup>  - Work started, but incomplete or untested.<br/>
<sup>[2]</sup>  - Design completed. </p>
    </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=TOP">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/TOP/Project+Status">View Online</a>
        |
        <a href="https://wiki.asterisk.org/wiki/pages/diffpagesbyversion.action?pageId=19009576&revisedVersion=6&originalVersion=5">View Changes</a>
                |
        <a href="https://wiki.asterisk.org/wiki/display/TOP/Project+Status?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>