<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/2041/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/AstriDevCon+2010">AstriDevCon 2010</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://wiki.asterisk.org/wiki/display/~mdavenport">Malcolm Davenport</a>
    </h4>
        <br/>
                         <h4>Changes (8)</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>* [AST:T.38 Gateway] (Digium) <br></td></tr>
            <tr><td class="diff-changed-lines" >* <span class="diff-changed-words"><span class="diff-added-chars"style="background-color: #dfd;">-</span>Performance</span> of State Change Processing (Stefan <span class="diff-changed-words">Schmidt)<span class="diff-added-chars"style="background-color: #dfd;">-</span></span> <br></td></tr>
            <tr><td class="diff-changed-lines" >** <span class="diff-changed-words"><span class="diff-added-chars"style="background-color: #dfd;">-</span>(work</span> is already being done on this <span class="diff-changed-words">front)<span class="diff-added-chars"style="background-color: #dfd;">-</span></span> <br></td></tr>
            <tr><td class="diff-unchanged" >* SIP path support (Olle) <br>** (first generation of code exists, needs more work, simple patch, going to get it done, needs an extra field in astdb; helps when there are 2 or more load balancing proxies in front of asterisk, when you&#39;d like the call to be able to get back to Asterisk; see https://reviewboard.asterisk.org/r/991/) <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >P1 is the highest priority. <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >* <span class="diff-changed-words"><span class="diff-added-chars"style="background-color: #dfd;">-</span>[Codecs</span> (SILK, <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Opal),</span> <span class="diff-added-words"style="background-color: #dfd;">OPUS),</span> Media Negotiation|AST:Media <span class="diff-changed-words">Overhaul]<span class="diff-added-chars"style="background-color: #dfd;">-</span></span> (Digium) <br></td></tr>
            <tr><td class="diff-unchanged" >* RTCP (Olle) <br>** Pinefrog; Work to be done - Ported to trunk, added to CEL <br></td></tr>
            <tr><td class="diff-changed-lines" >* <span class="diff-changed-words"><span class="diff-added-chars"style="background-color: #dfd;">-</span>Conferencing</span> that supports a new magic <span class="diff-changed-words">media<span class="diff-added-chars"style="background-color: #dfd;">-</span></span> (Digium) <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">** higher sampling rates <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">** -higher sampling rates- <br></td></tr>
            <tr><td class="diff-unchanged" > <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >- Light weight means of holding NAT open in SIP (less complex than current qualify, Consider it done) <br>- IPv6 for the restivus (IAX, Jabber/XMPP/Gtalk, Manager, etc.) <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">- ConfBridge feature complete with MeetMe <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">- -ConfBridge feature complete with MeetMe- <br></td></tr>
            <tr><td class="diff-unchanged" >- Support sound file containers (matroska) <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        

<div>
<ul>
    <li><a href='#AstriDevCon2010-Introduction'>1. Introduction</a></li>
    <li><a href='#AstriDevCon2010-AsteriskSCFIdeas'>2. Asterisk SCF Ideas</a></li>
    <li><a href='#AstriDevCon2010-Asterisk1.10Ideas'>3. Asterisk 1.10 Ideas</a></li>
<ul>
    <li><a href='#AstriDevCon2010-%28P0%29'>3.1. (P0)</a></li>
    <li><a href='#AstriDevCon2010-%28P1%29'>3.2. (P1)</a></li>
    <li><a href='#AstriDevCon2010-%28P2%29'>3.3. (P2)</a></li>
    <li><a href='#AstriDevCon2010-%28P3%29'>3.4. (P3)</a></li>
    <li><a href='#AstriDevCon2010-%28P4%2CSimon%27sfeatures%29'>3.5. (P4, Simon's features)</a></li>
    <li><a href='#AstriDevCon2010-%28P5%29'>3.6. (P5)</a></li>
    <li><a href='#AstriDevCon2010-%28P6%29'>3.7. (P6)</a></li>
    <li><a href='#AstriDevCon2010-%28P7%2Cnotkobaz%29'>3.8. (P7, not kobaz)</a></li>
    <li><a href='#AstriDevCon2010-%28P8%2Cnicetohave%29'>3.9. (P8, nice to have)</a></li>
    <li><a href='#AstriDevCon2010-%28P%3F%2CResearchRequired%29'>3.10. (P?, Research Required)</a></li>
</ul>
    <li><a href='#AstriDevCon2010-TestingFrameworkIdeas'>4. Testing Framework Ideas</a></li>
    <li><a href='#AstriDevCon2010-ReleasePolicyDiscussion'>5. Release Policy Discussion</a></li>
    <li><a href='#AstriDevCon2010-Photosofattendees'>6. Photos of attendees</a></li>
</ul></div>

<h1><a name="AstriDevCon2010-Introduction"></a>1. Introduction</h1>

<p>AstriDevCon 2010 was held on Friday, October 29th.  It was held on the day following AstriCon at the same location.  A group of active development community members met and discussed a number of topics, including:</p>

<ul>
        <li>Asterisk SCF Ideas</li>
        <li>Asterisk 1.10 Ideas</li>
        <li>Asterisk Test Framework Ideas</li>
        <li>Asterisk Release Policy</li>
</ul>


<h1><a name="AstriDevCon2010-AsteriskSCFIdeas"></a>2. Asterisk SCF Ideas</h1>

<p>The Asterisk SCF discussion kicked off the morning.  The topics that were covered included:</p>

<ul class="alternate" type="square">
        <li>VMWare/Etc. Image</li>
        <li>Channel driver</li>
        <li>ICE management tools.</li>
        <li>Queues</li>
        <li>Security, security, security</li>
        <li>Do we build the security functionality into the SCF code, or do we simply define best practices for securing an SCF system?</li>
</ul>


<h1><a name="AstriDevCon2010-Asterisk1.10Ideas"></a>3. Asterisk 1.10 Ideas</h1>

<p>We spent probably half of the day discussing Asterisk 1.10.  We came up with a list of development projects we'd like to get done and then prioritized them.</p>

<h2><a name="AstriDevCon2010-%28P0%29"></a>3.1. (P0)</h2>

<p>P0 are committed projects that are going to get done.</p>

<ul>
        <li><a href="/wiki/display/AST/T.38+Gateway" title="T.38 Gateway">T.38 Gateway</a> (Digium)</li>
        <li><del>Performance of State Change Processing (Stefan Schmidt)</del>
        <ul>
                <li><del>(work is already being done on this front)</del></li>
        </ul>
        </li>
        <li>SIP path support (Olle)
        <ul>
                <li>(first generation of code exists, needs more work, simple patch, going to get it done, needs an extra field in astdb; helps when there are 2 or more load balancing proxies in front of asterisk, when you'd like the call to be able to get back to Asterisk; see <a href="https://reviewboard.asterisk.org/r/991/" class="external-link" rel="nofollow">https://reviewboard.asterisk.org/r/991/</a>)</li>
                <li><a href="https://issues.asterisk.org/view.php?id=18223" class="external-link" rel="nofollow">https://issues.asterisk.org/view.php?id=18223</a></li>
        </ul>
        </li>
        <li>Group variables (Kobaz)
        <ul>
                <li>(on review board, in progress)</li>
        </ul>
        </li>
        <li>Pre-Dial (Kobaz)
        <ul>
                <li>(practically done, or something)</li>
        </ul>
        </li>
        <li>Distributed extension state using SIP (Olle)
        <ul>
                <li>(resources in place, doing it, 1.4 done before Christmas, project pinana)</li>
        </ul>
        </li>
        <li>Manager event docs (Paul Belanger)</li>
        <li>Cross-platform documentation (Ben Klang)
        <ul>
                <li>(caveats for using Asterisk on operating system xyz; pull a PDF of the Wiki documentation into the source, don't forget to include basic installation information, and do it all in .txt - Ben)</li>
        </ul>
        </li>
        <li>Fix libs to optionally init OpenSSL (Digium)
        <ul>
                <li>(or use existing tools; sort of a bug)</li>
        </ul>
        </li>
        <li>Make ast_channel an opaque type (Digium)</li>
</ul>


<h2><a name="AstriDevCon2010-%28P1%29"></a>3.2. (P1)</h2>

<p>P1 is the highest priority.</p>

<ul>
        <li><del><a href="/wiki/display/AST/Media+Overhaul" title="Media Overhaul">Codecs (SILK, OPUS), Media Negotiation</a></del> (Digium)</li>
        <li>RTCP (Olle)
        <ul>
                <li>Pinefrog; Work to be done - Ported to trunk, added to CEL</li>
        </ul>
        </li>
        <li><del>Conferencing that supports a new magic media</del> (Digium)
        <ul>
                <li><del>higher sampling rates</del></li>
        </ul>
        </li>
</ul>



<h2><a name="AstriDevCon2010-%28P2%29"></a>3.3. (P2)</h2>

<ul class="alternate" type="square">
        <li>Async DNS (TCP DNS and use a good resolver)</li>
        <li>Named ACLs (deluxepine)</li>
        <li><a href="/wiki/display/AST/SIP+Security+Events" title="SIP Security Events">SIP Security Events</a></li>
        <li>Light weight means of holding NAT open in SIP (less complex than current qualify, Consider it done)</li>
        <li>IPv6 for the restivus (IAX, Jabber/XMPP/Gtalk, Manager, etc.)</li>
        <li><del>ConfBridge feature complete with MeetMe</del></li>
        <li>Support sound file containers (matroska)</li>
</ul>


<h2><a name="AstriDevCon2010-%28P3%29"></a>3.4. (P3)</h2>

<ul>
        <li>Who hung up? (there's a branch, shouldn't take too much time - Olle)</li>
        <li>Unique identifier for filtering log data to a call
        <ul>
                <li>(finishing what was already begun w/ Clod's project, CLI filtering; should take a look at what Stephan from Unlimitel.ca's created)</li>
        </ul>
        </li>
</ul>



<h2><a name="AstriDevCon2010-%28P4%2CSimon%27sfeatures%29"></a>3.5. (P4, Simon's features)</h2>

<ul>
        <li>Multiple SIP Sockets
        <ul>
                <li>(Listen on multiple ports or on multiple interfaces, but not all; also set binding for RTP)...alternate idea / solution would be to make Asterisk capable of loading multiple SIP profiles, it might be easier</li>
        </ul>
        </li>
        <li>Multiple DNS results
        <ul>
                <li>(need to be able to traverse a list of DNS results, rather than just getting back one result)</li>
        </ul>
        </li>
        <li>ICE-lite
        <ul>
                <li>(no code, responding correctly to ICE connectivity checks (STUN multiplexed on the RTP port) and understanding the SDP); it makes NAT traversal work for clients that do ICE; also addressed lightweight NAT refresh)</li>
        </ul>
        </li>
</ul>


<h2><a name="AstriDevCon2010-%28P5%29"></a>3.6. (P5)</h2>

<ul>
        <li>AstDB replacement
        <ul>
                <li>(realtime, there's code, nearly ready)</li>
        </ul>
        </li>
        <li>SIP identity
        <ul>
                <li>(on reviewboard; needs to be forward ported; important for organizations w/ federated identities; a requirement for DTLS SRTP; not widely deployed)</li>
        </ul>
        </li>
        <li>RTMP client channel driver</li>
</ul>



<h2><a name="AstriDevCon2010-%28P6%29"></a>3.7. (P6)</h2>

<ul>
        <li>Structured identifiers for errors
        <ul>
                <li>(tag an error message with a unique string, specific to the error message and where it came from; should be alphanumeric to keep them short)</li>
        </ul>
        </li>
        <li>AMI SetVar, Context limits
        <ul>
                <li>(there's code already...Olle has it)</li>
        </ul>
        </li>
        <li>AMI filters on demand</li>
        <li>DTLS SRTP
        <ul>
                <li>(not likely to be widely deployed in the next 12 months)</li>
        </ul>
        </li>
</ul>



<h2><a name="AstriDevCon2010-%28P7%2Cnotkobaz%29"></a>3.8. (P7, not kobaz)</h2>

<ul>
        <li>Asterisk register for XMPP account (Leif)</li>
        <li>Write a Specification for AMI (not kobaz)</li>
        <li>Multiple TLS server certs
        <ul>
                <li>(1 socket, requires support by OpenSSL; simpler to implement than multiple SIP profiles; don't know if any clients use it yet; needs more research)</li>
        </ul>
        </li>
</ul>


<h2><a name="AstriDevCon2010-%28P8%2Cnicetohave%29"></a>3.9. (P8, nice to have)</h2>

<ul class="alternate" type="square">
        <li>Make resource modules that talk to DBs attempt reconnects</li>
        <li>Apple's new file streaming format, derived from .m3u</li>
        <li>Make MixMonitor and Monitor feature compatible</li>
</ul>



<h2><a name="AstriDevCon2010-%28P%3F%2CResearchRequired%29"></a>3.10. (P?, Research Required)</h2>

<ul>
        <li>New app_queue (as if?  no, seriously? talking about this scares Russell)</li>
        <li>Identify and fix all bugs in AMI</li>
        <li>Broadsoft or Dialog Info shared line appearance (SLA) support
        <ul>
                <li>(Tabled for later discussion)</li>
        </ul>
        </li>
        <li>LDAP from within the dialplan
        <ul>
                <li>(we may already have it, needs research to see if the realtime driver does what's desired - Leif)</li>
        </ul>
        </li>
        <li>Device state normalization</li>
        <li>Anything DB over HTTP(s) with failover handling</li>
        <li>Use a channel as a MoH Source</li>
        <li>Kill Masquerades</li>
        <li>Bridging thread pool</li>
        <li>Threadify chan_sip</li>
        <li>Export ISDN ROSE information up to Asterisk channels</li>
</ul>





<h1><a name="AstriDevCon2010-TestingFrameworkIdeas"></a>4. Testing Framework Ideas</h1>

<p>We discussed the automated testing that has been built for Asterisk and discussed ideas for future improvements.</p>

<ul class="alternate" type="square">
        <li>Add Adhearsion</li>
        <li>Media Analysis (Quality)</li>
        <li>TestServer / TestClient</li>
        <li>Emulate phone-specific behavior</li>
        <li>Test ${RESULT} vars</li>
        <li>Check memory usage (for leaks)</li>
        <li>Custom statistics over time</li>
        <li>Automated load tests</li>
        <li>Valgrind integration</li>
        <li>Tone generation and analysis</li>
        <li>Broken dial strings</li>
        <li>Bad options to applications</li>
        <li>Make tests more generic so they can be toggled to run across multiple channels, or channel types, more easily</li>
        <li>Try to access features that are disallowed</li>
        <li>Test calls between versions of Asterisk</li>
        <li>Randomize call length and application during load testing - "Fuzzing"</li>
        <li>Automated crash analysis (generate backtraces and logs, etc)</li>
        <li>Testing against a SIP Proxy</li>
        <li>Non-root isolated test suite</li>
        <li>RFC4475 and RFC5118 tests (SIP Torture tests)</li>
        <li>More chan_sip parsing unit tests</li>
        <li>SDP testing multiple media streaming</li>
        <li>protos SIP tester</li>
        <li>TAHI SIP tester for IPv6</li>
        <li>test SSL / TLS SIP connectivity</li>
        <li>Sound file I/O</li>
        <li>Manager events for scenarios</li>
        <li>Basic calls with all channel types</li>
        <li>Connected party ID</li>
        <li>Tonezone tests</li>
        <li>Language tests</li>
</ul>



<h1><a name="AstriDevCon2010-ReleasePolicyDiscussion"></a>5. Release Policy Discussion</h1>

<p>We discussed Asterisk release policy.  Specifically, we were considering the current policy that excludes features from a release branch.  After a bit of discussion, it was decided that no changes to policy would be made.  We did agree that a new self contained module that was not compiled by default would be fine, but that it would be rare that it would provide benefit, since most projects are modifications of existing code. </p>

<h1><a name="AstriDevCon2010-Photosofattendees"></a>6. Photos of attendees </h1>

<p>We rock.</p>

<p><span class="image-wrap" style="display: block; text-align: center"><a class="confluence-thumbnail-link 4752x3168" href='https://wiki.asterisk.org/wiki/download/attachments/6979978/IMG_4162.JPG'><img src="/wiki/download/thumbnails/6979978/IMG_4162.JPG" style="border: 0px solid black" /></a></span><br/>
<span class="image-wrap" style="display: block; text-align: center"><a class="confluence-thumbnail-link 4752x3168" href='https://wiki.asterisk.org/wiki/download/attachments/6979978/IMG_4164.JPG'><img src="/wiki/download/thumbnails/6979978/IMG_4164.JPG" style="border: 0px solid black" /></a></span><br/>
<span class="image-wrap" style="display: block; text-align: center"><a class="confluence-thumbnail-link 4752x3168" href='https://wiki.asterisk.org/wiki/download/attachments/6979978/IMG_4165.JPG'><img src="/wiki/download/thumbnails/6979978/IMG_4165.JPG" style="border: 0px solid black" /></a></span><br/>
<span class="image-wrap" style="display: block; text-align: center"><a class="confluence-thumbnail-link 4752x3168" href='https://wiki.asterisk.org/wiki/download/attachments/6979978/IMG_4166.JPG'><img src="/wiki/download/thumbnails/6979978/IMG_4166.JPG" style="border: 0px solid black" /></a></span></p>

    </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/AstriDevCon+2010">View Online</a>
        |
        <a href="https://wiki.asterisk.org/wiki/pages/diffpagesbyversion.action?pageId=6979978&revisedVersion=30&originalVersion=29">View Changes</a>
                |
        <a href="https://wiki.asterisk.org/wiki/display/AST/AstriDevCon+2010?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>