<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> 
<base href="https://wiki.asterisk.org/wiki" /> 
<title>Message Title</title>  
<style type="text/css">@media only screen and (max-device-width: 480px) {.mobile-only {
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        line-height: normal !important;
        font-size: inherit !important;
        mso-hide: all;
}

.desktop-only {
        display: none !important;
}

/* iPhone 3GS fix for unwanted 20px right margin */
body { min-width: 100% !important; padding: 0; margin: 0; }

#center-content-table { max-width: none; !important; }
#header-pattern-container { padding: 10px 10px 10px 10px !important; line-height: 20px !important; }
#header-avatar-image-container { padding-right: 8px !important; }
#email-content-container { padding: 0 !important; }
.mobile-expand { border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; padding-left: 26px !important;}
.mobile-resize-text { font-size: 16px !important; line-height: 22px !important; }
#page-title-pattern-header { font-size: 20px !important; line-height: 28px !important; }
#page-title-pattern-icon-image-container-cell { padding-top: 7px !important; }
#inline-user-pattern { display: block !important; }
#inline-user-pattern-avatar { padding-top: 3px !important; }
.contextual-area-pattern { border-bottom: 1px solid #ccc !important; padding: 15px 10px 0 10px !important;}
.users-involved-pattern-column-table { width: 100% !important;  }
.users-involved-pattern-avatar-table-cell { padding: 3px 5px 5px 0 !important; }
.users-involved-pattern-column-container { padding-right: 0 !important; }
.contextual-excerpt-pattern, #users-involved-pattern { border: 0 !important; }

/** Aui Typography upsized for mobile **/
#content-excerpt-pattern-container, #contextual-excerpt-pattern-text-container { font-size: 16px !important; line-height: 22px !important; }
#content-excerpt-pattern-container h1, #contextual-excerpt-pattern-text-container h1 { font-size: 24px !important; line-height: 28px !important; }
#content-excerpt-pattern-container h2, #contextual-excerpt-pattern-text-container h2 { font-size: 20px !important; line-height: 28px !important; }
#content-excerpt-pattern-container h3, #contextual-excerpt-pattern-text-container h3 { font-size: 18px !important; line-height: 24px !important; }
#content-excerpt-pattern-container h4, #contextual-excerpt-pattern-text-container h4 { font-size: 16px !important; line-height: 22px !important; }
#content-excerpt-pattern-container h5, #contextual-excerpt-pattern-text-container h5 { font-size: 14px !important; line-height: 20px !important; }
#content-excerpt-pattern-container h6, #contextual-excerpt-pattern-text-container h6 { font-size: 14px !important; line-height: 20px !important; }
.user-mention { line-height: 18px !important; }
/** Aui Typography end **/

/* Show appropriate footer logo on mobile, display links vertically */
#footer-pattern { padding: 15px 10px !important; }
#footer-pattern-logo-desktop-container { padding: 0 !important; }
#footer-pattern-logo-desktop { width: 0 !important; height: 0 !important; }
#footer-pattern-logo-mobile {
    padding-top: 10px !important;
    width: 30px !important;
    height: 27px !important;
    display: inline !important;
}
#footer-pattern-text {
    display: block !important;
}
#footer-pattern-links-container { line-height: 0 !important;}
.footer-pattern-links.mobile-resize-text,
.footer-pattern-links.mobile-resize-text,
#footer-pattern-text.mobile-resize-text,
#footer-pattern-links-container.no-footer-links {
    font-size: 14px !important;
    line-height: 20px !important;
}
.footer-link { display: block !important; }
#footer-pattern-links-container table { display: inline-block !important; float: none !important; }
#footer-pattern-links-container, #footer-pattern-text { text-align: center !important; }
#footer-pattern-links { padding-bottom: 5px !important; }

/** Team Calendar overrides, these should be removed when notifications are updated in Team Calendars. For now CSS
    overrides are being used because the structure of the content can't change without rereleasing the plugin */
.mail-calendar-container .day-header + table tr td:first-child {
    vertical-align: top !important;
    padding-top: 5px !important;
}}
@media (min-width: 900px) {#center-content-table { width: 900px; }}
@media all {#outlook a {padding:0;} /* Force Outlook to provide a "view in browser" menu link. */
/* Prevent Webkit and Windows Mobile platforms from changing default font sizes.*/
body{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;}
.ExternalClass {width:100%;} /* Force Hotmail to display emails at full width */
#background-table {margin:0; padding:0; width:100% !important; }
/* Needed to override highlighting on date and time links in iOS */
.grey a {color: #707070; text-decoration: none; }/* These styles are appended to the head element of a notification in order to prevent Apple Mail and similar
   clients from underlining the due dates with a blue hyperlink */
/* a lozenge outside an inline task should always be #333, lozenges inside an inline task should be
   colored according to their upcoming due dates, a completed task date lozenge or deleted task date
   lozenge should always be #707070 */
.date-time-lozenge a {color: #333333; text-decoration: none; }
.inline-task-text-container .date-time-lozenge.date-upcoming a {color: #DF6F00; text-decoration: none; }
.inline-task-text-container .date-time-lozenge.date-past a {color: #D04437; text-decoration: none; }
.inline-task-text-container.content-deleted-color .date-time-lozenge a,
.inline-task-text-container.checked .date-time-lozenge a {
    color: #707070; text-decoration: none;
}}
</style> 
</head>
<body>
<table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; background-color: #f5f5f5"> 
<tbody> 
<tr> 
<td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px"> 
<table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody> 
<tr> 
<td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 9px"><a href="https://wiki.asterisk.org/wiki/display/~mattf?src=email" style="color: #3b73af; text-decoration: none"><img id="header-avatar-image" class="image_fix" src="cid:avatar_9eca7bba63959d79ad6da1a09812b37a" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top" /></a></td>
<td id="header-text-container" valign="middle" style="padding: 0px; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">Matthew Fredrickson <strong>edited</strong> a page</td> 
</tr> 
</tbody> 
</table> </td> 
</tr> 
<!-- End Header pattern --> 
<tr> 
<td id="email-content-container" style="padding: 0px; border-collapse: collapse; padding: 0 20px"> 
<table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; border-spacing: 0; border-collapse: separate"> 
<tbody> 
<tr> 
<td class="email-content-rounded-top mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 15px; background-color: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px"> </td> 
</tr> 
<tr> 
<td class="email-content-main mobile-expand" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 15px 16px; background-color: #fff"> 
<table id="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody> 
<tr> 
<td id="page-title-pattern-icon-image-container" valign="top" style="padding: 0px; border-collapse: collapse; width: 16px; vertical-align: top"> 
<table cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody> 
<tr> 
<td id="page-title-pattern-icon-image-container-cell" style="padding: 0px; border-collapse: collapse; width: 16px; padding: 9px 8px 0px 0px; mso-text-raise: 5px; mso-line-height-rule: exactly"><a href="https://wiki.asterisk.org/wiki/display/AST/AstriDevCon+2017?src=email" title="page icon" style="vertical-align: top;; color: #3b73af; text-decoration: none"><img style="vertical-align: top; display: block;" src="cid:page-icon" alt="page icon" title="page icon" height="16" width="16" border="0" /></a></td> 
</tr> 
</tbody> 
</table> </td>
<td style="vertical-align: top;; padding: 0px; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" id="page-title-pattern-header-container"><span id="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"><a href="https://wiki.asterisk.org/wiki/display/AST/AstriDevCon+2017?src=email" title="AstriDevCon 2017" style="color: #3b73af; text-decoration: none">AstriDevCon 2017</a></span></td> 
</tr> 
</tbody> 
</table> </td> 
</tr> 
<tr> 
<td class="email-content-main mobile-expand" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 15px 16px; background-color: #fff"> 
<table class="content-excerpt-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> 
<tbody> 
<tr> 
<td class="content-excerpt-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 0 24px"> 
<div class="contentLayout2 diff-block-target"> 
<table width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody>
<tr class="columnLayout two-equal" data-layout="two-equal"> 
<td valign="top" class="cell normal" data-type="normal" style="padding: 0px; border-collapse: collapse"> 
<div class="innerCell"> 
<h1 id="AstriDevCon2017-Overview" style="margin: 10px 0 0 0; margin-top: 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 0"> <span style="color: rgb(133,120,102);">Overview</span> </h1> 
<p style="margin: 10px 0 0 0">AstriDevCon was held on <span class="date-past date-time-lozenge" style="background-color: #eee; border: solid 1px #ddd; border-radius: 3px; white-space: nowrap; resize: none; outline: 0 none; padding: 0 1px 0 0; color: #333; mso-line-height-rule: exactly; mso-text-raise: 2px"><span><img src="cid:inline-task-calendar-icon" class="inline-task-calendar-icon" width="16" height="16" alt="calendar icon" style="display: inline-block; padding-right: 2px; vertical-align: text-top; width: 16px; height: 16px" /></span>03 Oct 2017</span> at the Omni Orlando Resort at Championsgate near Orlando, FL. There were approximately 35 attendees on average throughout the day. Lunch was provided by e4strategies.com.</p> 
<p style="margin: 10px 0 0 0"> <img class="confluence-embedded-image" width="500" src="/wiki/download/attachments/38764641/Devcon-group-2.jpg?version=1&modificationDate=1508339311283&api=v2" data-image-src="/wiki/download/attachments/38764641/Devcon-group-2.jpg?version=1&modificationDate=1508339311283&api=v2" /></p> 
</div> </td> 
<td valign="top" class="cell normal" data-type="normal" style="padding: 0px; border-collapse: collapse"> 
<div class="innerCell"> 
<table class="diff-macro" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<thead> 
<tr> 
<th class="diff-macro-title" style="background-color: transparent; text-align: left; font-weight: normal;padding: 5px;"><span class="icon macro-placeholder-icon" style="background-color: ;line-height: 20px;"><img src="https://wiki.asterisk.org/wiki/s/en_GB/5639/a252d7f5e75d7a8bf7047b4b2c92f71a56a8f048.48/_/images/icons/macrobrowser/dropdown/panel.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Panel</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
<td class="diff-macro-body" style="background-color: #fff;border: 1px solid #dddddd;padding: 10px;; padding: 0px; border-collapse: collapse"> <p style="margin: 10px 0 0 0; margin-top: 0"></p> 
<table class="diff-macro bodyless" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;margin: 5px 0; padding: 0; width: auto;; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<thead> 
<tr> 
<th class="diff-macro-title" style="background-color: transparent; text-align: left; font-weight: normal;padding: 5px;"><span class="icon macro-placeholder-icon" style="background-color: ;line-height: 20px;"><img src="https://wiki.asterisk.org/wiki/s/en_GB/5639/a252d7f5e75d7a8bf7047b4b2c92f71a56a8f048.48/_/images/icons/macrobrowser/dropdown/toc.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Table of Contents</th> 
</tr> 
</thead> 
</table> <p style="margin: 10px 0 0 0"></p> </td> 
</tr> 
</tbody> 
</table> 
</div> </td> 
</tr> 
</tbody>
</table> 
<table width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody>
<tr class="columnLayout single" data-layout="single"> 
<td valign="top" class="cell normal" data-type="normal" style="padding: 0px; border-collapse: collapse"> 
<div class="innerCell"> 
<h2 id="AstriDevCon2017-Attendees" style="margin: 10px 0 0 0; margin-top: 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 0">Attendees</h2> 
<ul style="margin: 10px 0 0 0"> 
<li>Matt Fredrickson, Digium, US</li> 
<li>Josh Colp, Digium, US</li> 
<li>George Joseph, Digium, US</li> 
<li>Malcolm Davenport, Digium, US</li> 
<li>Kevin Harrell, Digium, US</li> 
<li>Ben Ford, Digium, US</li> 
<li>David Duffett, Digium, US</li> 
<li>Matt Jordan, Digium, US</li> 
<li>Sean Pimental, Digium, US</li> 
<li>Kyle Kurz, Digium, US</li> 
<li>Torrey Searle, Voxbone, BE</li> 
<li>Gabriel Gontariu, Voxbone, BE</li> 
<li>Clod Patry, Jive, CA</li> 
<li>Lorenzo Emilitri, Loway, CH</li> 
<li>Dan Jenkins, Nimble Ape, UK</li> 
<li>Nir Simionovich, Greenfield, IL</li> 
<li>Eric Klein, Greenfield, IL</li> 
<li>Sean McCord, CyCore, IL</li> 
<li>Jim Van Meggelen, CA</li> 
<li>Louis-Olivier Roff, Jive, CA</li> 
<li>James Finstrom, Sangoma, US</li> 
<li>Jason Parker, Sangoma, US</li> 
<li>Bryan Walters, Sangoma, US</li> 
<li>Andrew Nagy, Sangoma US</li> 
<li>Evan McGee, HiFelix, US</li> 
<li>Emmanuel Rolon, Organic Farms Vitamins, US</li> 
<li>Daniel Mierla, Miconda, DE/RO</li> 
<li>Fred Posner, Qxork, US</li> 
<li>François Blackborn, Wazo, CA</li> 
<li>Sylvain Boily, Wazo, CA</li> 
<li>Ludovic Gasc, ALLOCloud/Eyepea, BE</li> 
<li>Sean Bright, Callshaper, US</li> 
<li>Alex Goodman, Axia Technology Partners, US</li> 
<li>David Al-Khadhairi, USAN, US</li> 
<li>Dan Collins, USAN, US</li> 
<li>Steve Murphy, US</li> 
<li>Corey Farrell, US</li> 
<li>Jared Smith, US</li> 
<li>Corey McFadden, Voneto, US</li> 
</ul> 
<p style="margin: 10px 0 0 0"> </p> 
<h1 id="AstriDevCon2017-PresentationSlides" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0">Presentation Slides</h1> 
<p style="margin: 10px 0 0 0"> <a class="confluence-link unresolved" href="#" style="color: #3b73af; text-decoration: none">State of the Asterisk (Asterisk 15)</a> - Matthew Fredrickson</p> 
<p style="margin: 10px 0 0 0"> <a class="confluence-link unresolved" href="#" style="color: #3b73af; text-decoration: none">Asterisk and Video</a> - Joshua Colp, Kevin Harwell</p> 
<p style="margin: 10px 0 0 0"> <a class="confluence-link unresolved" href="#" style="color: #3b73af; text-decoration: none">AMQP</a> - Sylvain Boily</p> 
<p style="margin: 10px 0 0 0"> <a class="confluence-link unresolved" href="#" style="color: #3b73af; text-decoration: none">Asterisk Calendars</a> - Ludovic Gasc</p> 
<h1 id="AstriDevCon2017-Notesandhighlights" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0">Notes and highlights</h1> 
<h2 id="AstriDevCon2017-MorningSession" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 10px">Morning Session</h2> 
<p style="margin: 10px 0 0 0">Introductions. See attendees list.</p> 
<p style="margin: 10px 0 0 0">Matt F introduces his background and why he's in the front of the room.</p> 
<p style="margin: 10px 0 0 0">Current releases of 13 and 14 and now 15.0.0.</p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Asterisk 15 contribution stats:  924 commits, 82 individual contributors, almost 2400 merged code reviews acros all branches on Gerrit in the past 12 months.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Top contributors by # of commits by people outside of Digium:</span> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">104 Sean Bright, Callshaper</span> </li> 
<li> <span style="color: rgb(0,0,0);">42 Corey Farrell</span> </li> 
<li> <span style="color: rgb(0,0,0);">39 Alexander Traud</span> </li> 
<li> <span style="color: rgb(0,0,0);">20 Alexei Gradinari</span> </li> 
<li> <span style="color: rgb(0,0,0);">19 Tzafrir Cohen, Xorcom</span> </li> 
<li> <span style="color: rgb(0,0,0);">15 Torrey Searle, Voxbone</span> </li> 
<li> <span style="color: rgb(0,0,0);">11 Walter Doekes</span> </li> 
<li> <span style="color: rgb(0,0,0);">9 Rodrigo Ramirez Norambuena</span> </li> 
<li> <span style="color: rgb(0,0,0);">9 Badalyan Vyacheslav</span> </li> 
<li> <span style="color: rgb(0,0,0);">6 Frahaase</span> </li> 
<li> <span style="color: rgb(0,0,0);">6 Sebastian Gutierrez</span> </li> 
<li> <span style="color: rgb(0,0,0);">6 Michael Kuron</span> </li> 
<li> <span style="color: rgb(0,0,0);">5 Daniel Journo</span> </li> 
<li> <span style="color: rgb(0,0,0);">4 kkm</span> </li> 
<li> <span style="color: rgb(0,0,0);">4 Timo Teras</span> </li> 
<li> <span style="color: rgb(0,0,0);">4 Martin Tomec</span> </li> 
<li> <span style="color: rgb(0,0,0);">4 Joshua Elson</span> </li> 
<li> <span style="color: rgb(0,0,0);">4 Jean Aunis</span> </li> 
<li> <span style="color: rgb(0,0,0);">4 Aaron an</span> </li> 
</ul> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h3 id="AstriDevCon2017-What’snewinAsterisk15?" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">What’s new in Asterisk 15?</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Platform Improvements</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Miscellaneous Other Improvements and…</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Video, WebRTC, and more, Oh My!</span> </p> 
<h3 id="AstriDevCon2017-PlatformImprovements:" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Platform Improvements:</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">GCC 7 fixes</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Build fixes for FreeBSD when missing crypt.h</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Build fixes for the GNU HURD</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Added support to build against BIND8</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">OpenSSL 1.1 support</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Libsrtp2.1 support</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Alembic support for MS-SQL</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">PJPROJECT bundled support is enabled by default</span> </p> 
<h3 id="AstriDevCon2017-MiscellaneousOtherImprovements:" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Miscellaneous Other Improvements:</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">New Asterisk sounds release (1.6)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Google OAuth 2.0 protocol support for XMPP/Motif</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Chan_rtp uses ulaw by default now instead of slinear</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Binaural audio support patches for confbridge were merged</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Debug_utilities: ast_coredumper</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Debug_utilities: ast_loggrabber</span> </p> 
<h3 id="AstriDevCon2017-Video,WebRTC,andmore,OhMy!:" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Video, WebRTC, and more, Oh My!:</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Support for RTCP-MUX</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">‘Webrtc’ endpoint option in res_pjsip.conf</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">VP9 passthrough support</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">RTP dynamic payload numbers are now truly dynamic (on a per-call basis)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Extensive work to preserve RTP sequence number gaps / losses across legs in a call (critical for video, makes audio better, too)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">ICE interface blacklist optional added to rtp.conf</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">(Discussion about Sean Bright’s patch on Gerrit for ephemeral keys - that are used in the RTP encryption in DTLS-SRTP.)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">(Torrey brought up the point that Kamailio now has ephemeral authentication, as well, so that certificates for authentication can be time-limited, etc.)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Support for more than 32 dynamic RTP payloads now exists.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Abstracted SDP layer was added (and is still being worked on)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Added support within the Asterisk core for multi-audio and multi-video stream media per ast_channel</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Added support within the Asterisk core to renegotiate media capabilities on an active call as required</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Support for BUNDLE was added</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">app_steram_echo added</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">SFU support in app_confbridge</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> <br /> </span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">(some discussion about SFU and MCU and the tradeoffs between them)</span> </p> 
<h3 id="AstriDevCon2017-ProjectBackground" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Project Background</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Asterisk 11( LTS) was released in October of 2012</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Asterisk 12 was released in December of 2013</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Asterisk 13 (LTS) was released in October of 2014</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Asterisk 14 was released Monday, Sep 26 of 2016</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Asterisk 15 was released Tuesday, October 3rd of 2017</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Asterisk 16 is the next LTS target.  There is a lot of additional work that needs to go into the video capabilities of Asterisk 15 before we want to support it as an LTS.  The video work in Asterisk 15 is a great MVP, but it needs more functionality to be useful for years to come.  So, many changes will occur in 15 towards the goal of 16 as the next LTS.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">RTCP-MUX</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Chrome decided to require an additional flag be passed in to interoperate with legacy endpoints that lack support for RTCP-MUX in January/February of this year</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Dan Jenkins informed the Asterisk project of this issue around that time</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">RTCP-MUX support was implemented at around that time frame to deal with a potential end of life of that behavior</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">RTCP-MUX support was merged into Asterisk 13 and 14 branches</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Chrome is supposed to completely remove support for RTCP-MUX at sometime around the October timeframe.</span> </p> 
<h3 id="AstriDevCon2017-Reminder" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Reminder</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">11 was already in security-fix only mode and is going to be completely dead in October.  Get off that branch! (particularly if you run WebRTC)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span><span style="color: rgb(0,0,0);">Now, Joshua Colp and Kevin Harwell to talk about video SFU in Asterisk.</span><span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">But first, recognition to those that have built tests for the Asterisk test-suite in the past year.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Now, actually, Josh and Kevin.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h3 id="AstriDevCon2017-Asterisk15andvideo." style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Asterisk 15 and video.</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Overview</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Old Media Flow</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Streams</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">New Real STreams</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">PJSIP</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Legacy Support</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Bridging</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">SFU</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">WebRTC</span> </p> 
<h3 id="AstriDevCon2017-OldMediaFlow" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Old Media Flow</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Single logical flow internally carrying media</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Each media frame has a type and format</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Conceptually, only 1 stream of each type is possible</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Negotiated media formats are all combined together</span> </p> 
<h3 id="AstriDevCon2017-Streams" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Streams</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Flow of a single type of media</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Can be one way or two way</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Has a name which can have meaning</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Can be added, removed, or changed</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Has negotiated media formats specific to the stream</span> </p> 
<h3 id="AstriDevCon2017-NewRealSTreams" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">New Real STreams</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">First class stream object</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Contains only information specific to the stream</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Groups of streams are kept in a container called a topology, indexed based on position number</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Channel can have stream added, removed, or changed</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Each media frame has a type, format, and stream number</span> </p> 
<h3 id="AstriDevCon2017-MultistreamUsers" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Multistream Users</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Constructs streams according to negotiated result</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Responsible for placing stream topology on channel - not done automatically</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Responsible for responding to requests</span> </p> 
<h3 id="AstriDevCon2017-PJSIP" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">PJSIP</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Only channel driver supporting multiple streams currently</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Outgoing uses requested stream topology, adding streams to SDP</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Incoming negotiates streams based on configured formats</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Can be told to renegotiate to add/remove/change streams</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">PJSIP has a hard limit right now of 16 streams; you’d have to recompile pjproject in order to change that number</span> </p> 
<h3 id="AstriDevCon2017-StreamEcho" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">StreamEcho</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Extended version of the Echo() application</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Will request renegotiation to ensure specified number of streams are present</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Echoes media receives on first stream of each type to every other stream of that type</span> </p> 
<h3 id="AstriDevCon2017-LegacyUsers" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Legacy Users</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">See and interact with only a single pipe like before</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Can have only 1 stream of each type</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Existing APIs create streams automatically as appropriate</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Does not have any knowledge of new stream support</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Ast_read, ast_write, ast_channel_nativeformats</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Required no code changes to legacy useres</span> </p> 
<h3 id="AstriDevCon2017-LegacyVideoSupport" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Legacy Video Support</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Calling between devices (if video is in the initial offer)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Basic video recording</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Basic video playback</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Conference with single video sent to each participant</span> </p> 
<h3 id="AstriDevCon2017-Bridging" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Bridging</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Currently two bridging modules support multistream:</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Simple</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Softmix (What confbridge uses)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Other bridge modules, e.g. bridge_native_rtp, unchanged and behave the same</span> </p> 
<h3 id="AstriDevCon2017-HowSimpleBridgingNowWorks" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">How Simple Bridging Now Works</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Channel with fewer stream renegotiated to match other</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">IF same number then second channel joined gets renegotiated to match first channel that joines</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Each stream is mapped 1 to 1</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Acts as media forwarder based on stream number</span> </p> 
<h3 id="AstriDevCon2017-Softmixadditions" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Softmix additions</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Multiple video streams can now be sent to participants (SFU)</span> </p> 
<h3 id="AstriDevCon2017-SFU" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">SFU</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Selective forwarding Unit</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Picks a subset of video streams to forward</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Currently limited by max number of video streams on channel</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">No server side transcoding or manipulation is done</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">In the future, additional policy choices will probably exist.</span> </p> 
<h3 id="AstriDevCon2017-HowSoftmixNowWorks" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">How Softmix Now Works</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Each video stream on a channel is mapped to a bridge specific stream number</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Each channel can have a mappping from bridge specific stream number to channel video stream</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Audio is still mixed server side to provide same ConfBridge audio experience as previously</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Enabled using video_mode=sfu in ConfBridge</span> </p> 
<h3 id="AstriDevCon2017-WebRTC" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">WebRTC</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Quick implementation</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Best option for rich ConfBridge SFU experience</span> </p> 
<h3 id="AstriDevCon2017-BUNDLE" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0">BUNDLE</h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Required for Google Chrome to support multiple streams due to Plan B usage</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Specification to allow multiple streams to be sent/received over the same transport</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Cuts down on ICE and DTLS negotiation time</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Now available in PJSIP</span> </p> 
<h3 id="AstriDevCon2017-CyberMegaPhone" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">CyberMegaPhone</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Limited example code available (is on Github, MIT license)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Uses HTML and Javascript</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">JsSIP based client for use with Asterisk</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Adds/removes video as participants join/leave conference</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Controls to mute/unmute</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Firefox and Chrome supported on desktop</span> </p> 
<h3 id="AstriDevCon2017-PotentialVIdeoSupportAdditions" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Potential VIdeo Support Additions</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Adding/removing video mid-call</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Better video recording (into containers)  and playback (with multiple streams)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Feedback allowing video quality to change due to bandwidth change</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Better handling of packet loss and out of order packets</span> </p> 
<h3 id="AstriDevCon2017-PuttingitAllTogether" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Putting it All Together</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">…(notes not compiled for this segment)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">(A demo of CyberMegaPhone was done.)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Now, it’s time for planning the Agenda.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h2 id="AstriDevCon2017-Agenda:" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(0,0,0);">Agenda:</span> </h2> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" id="added-diff-0" style="font-size: 100%; background-color: #ddfade;">Prepared Presentations:</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" id="changed-diff-0" style="background-color: #d6f0ff;">Talk by Wazo</span> </li> 
<li> <span class="diff-html-changed" id="changed-diff-2" style="background-color: #d6f0ff;">Talk by Ludovic</span> </li> 
<li> <span class="diff-html-changed" id="changed-diff-4" style="background-color: #d6f0ff;">Talk by Daniel</span> </li> 
</ul> </li> 
<li> <span style="color: rgb(0,0,0);"><span class="diff-html-removed" id="removed-diff-0" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Talk by Greenfield</span></span> </li> 
<li> <span class="diff-html-changed" id="changed-diff-6" style="background-color: #d6f0ff;">Discussion by Nir</span> </li> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" id="changed-diff-7" style="background-color: #d6f0ff;">Proposed deprecation </span> </p> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><span class="diff-html-removed" id="removed-diff-1" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">of </span> <p style="margin: 10px 0 0 0"> <span class="diff-html-added" id="added-diff-1" style="font-size: 100%; background-color: #ddfade;">of </span><code style="font-family: monospace"><span class="diff-html-changed" id="changed-diff-8" style="background-color: #d6f0ff;">app_macro</span></code> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <code style="font-family: monospace"><span class="diff-html-added" id="added-diff-2" style="font-size: 100%; background-color: #ddfade;">Gosub has existed for 12 years now and is suitable replacement, but not 100% compatible.</span> <br /> </code> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">You exit a Macro by using Goto to any different context.</span></code> </p> </li> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">You normally exit a Gosub using the Return app which sends control back to the n+1 priority that originally called Gosub.</span></code> </p> </li> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">A Gosub return address can be thrown out using "StackPop", then you can use Goto with any context.</span></code> </p> </li> 
</ul> </li> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Documentation for the Dial app would be simpler if the Macro option were excluded.</span></code> </p> </li> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Macro adds some code/complexity to the pbx core and a few apps.</span></code> </p> </li> 
</ul> </li> 
<li> <span class="diff-html-changed" id="changed-diff-10" style="background-color: #d6f0ff;">Proposed deprecation </span><span class="diff-html-added" id="added-diff-3" style="font-size: 100%; background-color: #ddfade;">of </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">chan_sip</span></code> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Feature Parity - What features are available in </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">chan_sip</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> that are not available in </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">chan_pjsip</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> and what is the level </span><span class="diff-html-changed" id="changed-diff-11" style="background-color: #d6f0ff;">of </span><span class="diff-html-added" id="added-diff-4" style="font-size: 100%; background-color: #ddfade;">effort to get us there</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">CCSS is missing</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">AOC is missing</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Outbound SUBSCRIBE is missing</span> </li> 
</ul> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Configuration - </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">sip.conf</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> vs. </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">pjsip.conf</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> vs. </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">pjsip_wizard.conf</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> vs. </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">contrib/scripts/sip_to_pjsip</span></code> 
<ul style="margin: 10px 0 0 0"> 
<li> <code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Can we make </span><span class="diff-html-changed" id="changed-diff-12" style="background-color: #d6f0ff;">chan_</span><span class="diff-html-added" id="added-diff-5" style="font-size: 100%; background-color: #ddfade;">pjsip read </span><span class="diff-html-changed" id="changed-diff-13" style="background-color: #d6f0ff;">sip</span><span class="diff-html-added" id="added-diff-6" style="font-size: 100%; background-color: #ddfade;">.conf directly?</span></code> </li> 
</ul> </li> 
<li> <span class="diff-html-added" id="added-diff-7" style="font-size: 100%; background-color: #ddfade;">Stability - Both actual and perceived</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Performance - Both actual and perceived</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Outside Forces - Is there a business case for keeping </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">chan_sip</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> around?</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Leaving it around misrepresents its support status to people within the community (no current maintainer for chan_sip)</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Proposed deprecation plan:</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Gain feature parity (16 ?)</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Give warning on load (Wait until feature parity question is resolved - maybe into 15.x.0?)</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Give warning on call start (maybe 17?)</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">noload in modules.conf/remove from default menuselect enabled modules (maybe 16?)</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Kill it with fire</span> </li> 
</ul> </li> 
</ul> </li> 
<li> <span class="diff-html-changed" id="changed-diff-15" style="background-color: #d6f0ff;">How do we get to an all ARI solution?</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" id="added-diff-8" style="font-size: 100%; background-color: #ddfade;">pbx_ari</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Can we have ARI be more system aware (subscribe to all channels) instead of channel aware</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">There's already a parameter that causes your ARI application to receive all events on the system.</span> </li> 
</ul> </li> 
</ul> </li> 
<li> <span class="diff-html-changed" id="changed-diff-17" style="background-color: #d6f0ff;">Getting features </span><span class="diff-html-added" id="added-diff-9" style="font-size: 100%; background-color: #ddfade;">from 14 </span><span class="diff-html-changed" id="changed-diff-18" style="background-color: #d6f0ff;">into an LTS</span><span class="diff-html-added" id="added-diff-10" style="font-size: 100%; background-color: #ddfade;">.</span> </li> 
<li> <span class="diff-html-removed" id="removed-diff-2" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">What’s </span><span class="diff-html-added" id="added-diff-11" style="font-size: 100%; background-color: #ddfade;">What's </span><span class="diff-html-changed" id="changed-diff-19" style="background-color: #d6f0ff;">the next </span><span class="diff-html-removed" id="removed-diff-3" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">evolution </span><span class="diff-html-added" id="added-diff-12" style="font-size: 100%; background-color: #ddfade;">revolution </span><span class="diff-html-changed" id="changed-diff-20" style="background-color: #d6f0ff;">of Asterisk?</span><span class="diff-html-added" id="added-diff-13" style="font-size: 100%; background-color: #ddfade;"> </span> </li> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" id="changed-diff-21" style="background-color: #d6f0ff;">How to improve functions in ARI to make it more of a first class citizen?</span> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" id="added-diff-14" style="font-size: 100%; background-color: #ddfade;">Setting variables on a bridge (Sylvain and Torrey +1 this)</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Set or Get multiple variables on a channel</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">List global variables</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">No variables when a channel is hung up (perhaps some sort of race condition)</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">ARI way to administratively convert a channel to stasis (from dialplan)</span> </li> 
</ul> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Documentation:</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Organization</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Required content sections</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Dealing with Asterisk version differences</span> </li> 
</ul> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Contributions</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Peer reviewed before publish?</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Ease of contributing</span> </li> 
</ul> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Autogenerated content</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Integration with edited wiki content</span> <br /> <br /> </li> 
</ul> </li> 
</ul> </li> 
</ul> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Now Wazo</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> <br /> </span> </p> 
<h3 id="AstriDevCon2017-AMQPandtheStasisMessageBus" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">AMQP and the Stasis Message Bus</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Why?</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Remove direct connection to AMI (no parsin)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">And use AJAM to send actions to AMI</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Scale (aoto)</span> </p> 
<p style="margin: 10px 0 0 0"> <a href="https://github.com/sboily/asterisk-consul-module" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span style="color: rgb(17,85,204);text-decoration: underline;">https://github.com/sboily/asterisk-consul-module</span></a> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Remove external proxy for ARI</span> </p> 
<p style="margin: 10px 0 0 0"> <a href="https://github.com/invisibleinc/go-ari-proxy" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span style="color: rgb(17,85,204);text-decoration: underline;">https://github.com/invisibleinc/go-ari-proxy</span></a> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">We already talked about this feature at the last AstriDevCon</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h3 id="AstriDevCon2017-Res_amqp" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Res_amqp</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">AMQP client for Asterisk</span> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span>Only publish</span> </p> </li> 
</ul> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Based on patch from </span><a href="https://reviewboard.asterisk.org/r/4365" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span style="color: rgb(17,85,204);text-decoration: underline;">https://reviewboard.asterisk.org/r/4365</span></a> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Extracted version to have a first asterisk patch</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><a href="https://github.com/wazo-pbx/wazo-res-amqp" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span style="color: rgb(17,85,204);text-decoration: underline;">https://github.com/wazo-pbx/wazo-res-amqp</span></a> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Based on librabbitmq</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">We only test with rabbitmq</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Configuration is on /etc/asterisk/amqp.conf</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">It doesn’t nothing, only an AMQP connection</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">To install</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Git clone; make; make install</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h3 id="AstriDevCon2017-Res_stasis_amqp" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Res_stasis_amqp</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Publish stasis message to AMQP</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><a href="https://github.com/wazo-pbx/wazo-res-stasis-amqp" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span style="color: rgb(17,85,204);text-decoration: underline;">https://github.com/wazo-pbx/wazo-res-stasis-amqp</span></a> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Support</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Stasis AMI</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Stasis ARI</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Stasis Channel</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Depends on res_amqp</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Configuration /etc/asterisk/res_stasis_amqp.conf</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">To install:</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Git clone; make; make install</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">To test on your Asterisk and get messages</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><a href="https://github.com/wazo-pbx/xivo-tools/blog/master/scripts/recv-bus-event" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span style="color: rgb(17,85,204);text-decoration: underline;">https://github.com/wazo-pbx/xivo-tools/blog/master/scripts/recv-bus-event</span></a> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Adapt the exchange on the script</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Allows you to subscribe on specific events, e.g. just the status of a Queue.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h3 id="AstriDevCon2017-DemoTIme!" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Demo TIme!</span> </h3> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Integration in Asterisk</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Proposal</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Submit to gerrit the res_amqp support</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Submit to gerrit the res-stasis-amqp support</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Roadmap</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Functional test</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">CEL?</span><span style="color: rgb(0,0,0);"> </span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">CDR?</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Your feedback is welcome!</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">(Some discussion on why the original patches weren’t merged (lack of tests in the CEL and CDR modules) and about where this would end up if it was merged (16 if no tests, or 13 if tests).)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Now, Ludovic to talk about res_calendar!</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h3 id="AstriDevCon2017-Asteriskandthecalendars,whennon-CdevelopersmeetAsterisk+libical" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Asterisk and the calendars, when non-C developers meet Asterisk+libical</span> </h3> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-WhoamI?" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Who am I?</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Creator of API-House (Daemon framework for Python-AsyncIO)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Creation or aiosip (used by Sangoma to test their phones)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Co-maintainer of Panoramisk (Asterisk binding for AsyncIO)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Small contributor in several AsyncIO libraries (aiohttp…)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Interested by benchmarks to find the bottlenecks</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Contributor of </span><a href="https://www.techempower.com/benchmarks" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span style="color: rgb(17,85,204);text-decoration: underline;">https://www.techempower.com/benchmarks</span></a> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-ALLOcloud" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">ALLOcloud</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Most simple as possible</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Distributed telephony and collaboration</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Efficiency is the first class citizen (1500+ simultaneous calls by server)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-Eyepea" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Eyepea</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Full-monty customized solutions</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Solutions mainly based on Wazo</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Historical business of the company</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-Customerneeds:" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Customer needs:</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Open/close schedule</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Personal calendar</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Oncall schedule</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Google Calendar/Office365 integrations</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-Therearetwosteps:" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">There are two steps:</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Step 1, define a calendar.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Step 2, put the calendar in the callflow</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-Whatnow?Icalendaristhemostobviousformat." style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">What now?  Icalendar is the most obvious format.</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">It’s used in a lot of products.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">It’s a stable standard</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">And it’s very old; more chances that there are good implementations</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">But not really...old != stable.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> <br /> </span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">First, they wrote an implementation using icalendar in Python</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">It was easy to debug and integrate.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">But, libical integration in Asterisk looked like a Proof of Concept during an Astricon.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Very few messages from people using it on the Internet</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Lack of examples</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Need to dig in the original Astricon presentation to understand how to use the diaplan functions.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">And, crashes.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">(they’re not C-developers)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">First client?  Crashed immediately.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">The first challenge: recurrency; something very common with calendar events.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Most libraries parse recurrency fields, but most don’t interpret correctly recurrency data.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> They tested lots of libraries, but libical works best.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Plan B: libical integration in Asterisk</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">They put it into production, and it worked!</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">But..then comes the daylight savings time in winter and everything’s going to be thrown for a loop.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Libcal has bugs with timezone and DST.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">But they’re fixed in libical3</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">But, libical1 and libical forks are widely distributed.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Libical3 isn’t released and available in Debian or CentOS.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">So, they had to import it manually from libical master branch.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">One more bug remains...editing of a recurring event, recurrence-id.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">A fix was submitted on Gerrit: ASTERISK-27296 / </span><a href="https://gerrit.asterisk.org/#/c/6625/" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span style="color: rgb(17,85,204);text-decoration: underline;">https://gerrit.asterisk.org/#/c/6625/</span></a> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">For now, they have 973 calendars in production.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Right now, there is no file system support for res_calendar..working on a patch but it has memory leaks.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Might do python bindings for libical.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Lunch!</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h3 id="AstriDevCon2017-Next,DanielwilltalkaboutSIPProxyRouterandMediaServerPBX;Integrate,Interconnect,Innovate." style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Next, Daniel will talk about SIP Proxy Router and Media Server PBX; Integrate, Interconnect, Innovate.</span> </h3> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">There are things that aren’t yet possible, but we worry about how to make things easier.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-Integrate:" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Integrate:</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">We could integrate log formatting, and have a common prefix for easy correlation, callid, cseq, etc.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">It would improve troubleshooting and unit testing.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">We could integrate user profile and database structure</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">That’d give us unified user authentication, user location, and presence.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-Interconnect:" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Interconnect:</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">We need ad-hoc and realtime propogation of information (by headers) so that we don’t have to always worry about having replicated state across nodes.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">This would be done in the forwarded/generated request/response.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Examples:</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Retransmission timeouts</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Next hop address (route)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Location/presence states</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">...so that we can make configuration easier on people.  People can forget to make changes in two places and have negative results today.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Could be done via templates that respect special headers that are sent in the signaling.  Templates indicate what sorts of parameters to apply to the call/endpoint.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-Innovate" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Innovate</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Don’t always wait for specifications between all parties - IETF, ITU, ETSI, etc.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Collaborate with others to define new features and services, like the XMPP model</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Amend, or go around existing specs</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Avoid useless roundtrips</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Why not allow dynamic new server nodes, because you can’t predict their IPs always (Amazon, for example) that are authenticated via an API key that’s a shared secret between server apps?  It’s better than IP and digest-based authentication.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Optimize for mobile and IoT</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Get rid of “not needed” headers</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Use a server-side app to fetch data, like for hard phones.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Security and Privacy</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Auto-provisioning of end points/cpe</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Federation and open peering.  There’s a lot of FUD out there that suggests SIP isn’t designed for federation.  But, if we don’t have a trust model that people will use, then they won’t interconnect, because they’re afraid of bad calls.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">(Discussion about Asterisk’s existing, new capability to a allow identification of an incoming request by token, as well as discussion around how to pass a SIP call identifier around the internals of Asterisk - today, you can’t.)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">(Discussion about the upcoming implementations of SHAKEN/STIR that are going to be mandated on many carriers.)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">(Summary of discussion: It would be good to see work in the area of authentication between services.)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">What about knowing what pool of servers is available?  DNS is currently used, for round-robin environments. What’s the right way in Kamailio though to make it intelligently aware there has been an expansion or contraction of a pool of available media (Asterisk) servers?</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Kamailio has a module called RTJSON that allows pushing JSON into Kamailio to tell it about new routes.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">(More discussion of the sharing of state and the dangers of replication - you’re only as good as your weakest server.)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> <br /> </span></span> </p> 
<h3 id="AstriDevCon2017-Now...Nir!" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Now...Nir!</span> </h3> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-Makeourcommunitygreater." style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Make our community greater.</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Wanted to talk about deployments and containers, but that shouldn’t be the topic.  Instead, we need to talk about our community.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">We write good code (or phenomenal bugs)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">We write good tests (or at least we want to believe it)</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">But, we suck at...providing proper documentation.  Most of it isn’t updated.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">We also suck at providing best practices; people are still making the same, old stupid mistakes.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Now, Nir spends his time writing product specs, but still finds that he’s not doing a good job of providing documentation.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Training has actually gotten better in the latest syllabus, so that’s good.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Concrete examples of doing things don’t exist.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Who’s willing to sit for a documentation hackathon?  Dialplan, for example, is documented to death, but it’s not documented well enough.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Why aren’t people using it enough?  It’s probably documentation.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">How do we change the state?</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Kamailio has moved to accepting markdown.  ARI in Asterisk is Swagger, so there’s no markdown.  The docs in Asterisk are in the code in XML and aren’t in a good position to include lots of formatting.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Kamailio, like Asterisk, isn’t missing reference documentation, just examples.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">There should be templates for various types of articles: HOWTO, Advanced Guide, Beginner Guide, etc.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Finding information in the Wiki is challenging.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">There’s no formal way to make a pull request into the Asterisk repo on Github.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Sometimes, while people are happy to contribute code, because it’s a burden to maintain it, they’re not happy to contribute extensive documentation.  How do you get people to contribute, where you’re not paying full-time documentors?</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Post-DevCon discussion to be had at the Wine event.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h3 id="AstriDevCon2017-Now,theafternoontopics(at3:30pm)..." style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span style="color: rgb(0,0,0);">Now, the afternoon topics (at 3:30pm)...</span> </h3> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-Proposeddeprecationofapp_macro" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Proposed deprecation of app_macro</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Gosub has existed for 12 years now and is a suitable replacement, but not 100% compatible.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">You exit a Macro by using Goto to any different context</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">You normally exit a Gosub using the REturn app which sends control bck to the n+1 priority that originally called Gosub.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">A Gosub return address can be thrown out using “StackPop,” then you can use Goto with any context.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Documentation for the DIal app would be simpler if the Macro option were excluded.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Macro adds some code/complexity to the pbx core and a few apps.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> (</span><span style="color: rgb(0,0,0);">Room is in general consensus that it should be proposed.)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-Proposeddeprecationofchan_sip" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Proposed deprecation of chan_sip</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Feature Parity - What features are available in chan_sip that are not available in chan_pjsip and what is the level of effort to get us there?</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Configuration - sip.conf vs. pjsip.conf vs. pjsip_wizard.conf vs. contrib/scripts/sip_to_pjsip</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Stability - Both actual and perceived</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Performance- Both actual and perceived</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Outside Forces - Is there a business case for keeping chan_sip around?</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">What 3 features are missing?  CCSS, AOC and outbound Subscriptions.  The only one that still gets used is CCSS.  Asterisk maintains support for CCSS in the core, and pjproject has the necessary bits to handle it; someone just has to tie them together.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">What about stability?  The FreePBX community has a large thread with users indicating issues with PJSIP that they don’t experience with chan_sip, but no one is filing bugs or presenting actual issues - it appears to be primarily anecdotal.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Is it already defacto deprecated since it’s in extended support and there is no community maintainer?  And, are we being setup for something bad by not making it more clear.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">What about configuration?  The converter isn’t necessarily feature complete; but is written in Python (hint, non-C developers)  There’s built-in help in Asterisk’s CLI (config show help <a href="http://res_pjsip_endpoint.so" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none">res_pjsip_endpoint.so</a>, for example).  Is it worthwhile to make PJSIP read sip.conf?  (There are problems here as a friend and a peer are different and if you move that to PJSIP under the hood you can end up with weird configuration or vulnerability issues)</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">We need a plan of attack.  Something in 15 (warning on startup, something else in 16 (noload it and unselect it in menuconfig), and deprecate it in 18.  All deprecated modules should probably have a warning on startup.  When fully booted list all modules that are deprecated.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-HowdowegettoanallARIsolution?" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">How do we get to an all ARI solution?</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Pbx_ari?</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Worry that users could get themselves into trouble here, because their ARI apps could get into trouble.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Counterpoint against this request is that this can be accomplished with just 3 lines of dialplan - use this Stasis app, vs. pre-setting the ARI app in ari.conf.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Proposal to set stasis=xyz on an endpoint so that an incoming call to an endpoint goes straight to a Stasis app.  The room really likes this proposal.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">But with a pbx_ari you can just map a dialplan context to a Stasis app.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">How can an ARI app know more than just what’s in its own app?  “Subscribe all” when connecting the web socket.</span> </p> 
<p style="margin: 10px 0 0 0"> </p> 
<h4 id="AstriDevCon2017-Gettingfeaturesfrom14intoanLTS." style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Getting features from 14 into an LTS.</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);">Discussion about the implications of 15 as a Standard release instead of an LTS.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-What’sthenextrevolutionofAsterisk?" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">What’s the next revolution of Asterisk?</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">There’s going to be a continued focus on video.</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">There’s going to be less of a focus on Asterisk as a PBX, and a continued focus on Asterisk as a general purpose media application server, which might be a PBX by the time a developer delivers it to an end user, but might be more like a call center, but could be something else entirely.</span> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-HowtoimprovefunctionsinARItomakeitmoreofafirstclasscitizen?" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">How to improve functions in ARI to make it more of a first class citizen?</span> </h4> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Setting variables on a bridge</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Set or get multiple variables on a channel</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">List global variables</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">No variables when a channel is hungup</span> </p> 
<p style="margin: 10px 0 0 0"> <span style="color: rgb(0,0,0);"> </span><span style="color: rgb(0,0,0);">Easily redirect a channel into Stasis</span> </p> 
<p style="margin: 10px 0 0 0"> </p> 
<p style="margin: 10px 0 0 0"> <span><span> <br /> </span></span> </p> 
<h4 id="AstriDevCon2017-ShouldAsteriskbepackagedupasaready-madeappforcertainpurposes?" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(0,0,0);">Should Asterisk be packaged up as a ready-made app for certain purposes?</span> </h4> 
<p style="margin: 10px 0 0 0"> <span><span>(Discussion that this is complex and not best served by the core development team)</span></span> </p> 
<h3 id="AstriDevCon2017-Closing" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0">Closing</h3> 
<p style="margin: 10px 0 0 0">Everyone's work is appreciated! Thanks for coming!</p> 
</div> </td> 
</tr> 
</tbody>
</table> 
</div> </td> 
</tr> 
</tbody> 
</table> </td> 
</tr> 
<tr> 
<td class="email-content-main mobile-expand action-padding last-row-padding" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 15px 16px; background-color: #fff; padding-bottom: 10px; padding-bottom: 10px"> 
<table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> 
<tbody> 
<tr> 
<td id="actions-pattern-container" valign="middle" style="padding: 0px; border-collapse: collapse; padding: 15px 0 0 24px; vertical-align: middle"> 
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody> 
<tr> 
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"><a href="https://wiki.asterisk.org/wiki/display/AST/AstriDevCon+2017?src=email" title="View page Icon" style="color: #3b73af; text-decoration: none"><img class="actions-pattern-action-icon-image" height="16" width="16" border="0" title="View page Icon" src="cid:com.atlassian.confluence.plugins.confluence-email-resources%3Aview-page-email-adg-footer-item%3Aicon" alt="View page Icon" style="vertical-align: middle" /></a></td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px; white-space: nowrap"><a href="https://wiki.asterisk.org/wiki/display/AST/AstriDevCon+2017?src=email" title="View page" style="color: #3b73af; text-decoration: none">View page</a></td>
<td class="actions-pattern-action-bull" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; color: #999; padding: 0 5px">•</td> 
</tr> 
</tbody> 
</table> 
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody> 
<tr> 
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"><a href="https://wiki.asterisk.org/wiki/display/AST/AstriDevCon+2017?showComments=true&showCommentArea=true&src=email#addcomment" title="Add comment Icon" style="color: #3b73af; text-decoration: none"><img class="actions-pattern-action-icon-image" height="16" width="16" border="0" title="Add comment Icon" src="cid:com.atlassian.confluence.plugins.confluence-email-resources%3Aadd-comment-to-content-email-adg-footer-item%3Aicon" alt="Add comment Icon" style="vertical-align: middle" /></a></td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px; white-space: nowrap"><a href="https://wiki.asterisk.org/wiki/display/AST/AstriDevCon+2017?showComments=true&showCommentArea=true&src=email#addcomment" title="Add comment" style="color: #3b73af; text-decoration: none">Add comment</a></td>
<td class="actions-pattern-action-bull" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; color: #999; padding: 0 5px">•</td> 
</tr> 
</tbody> 
</table> 
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody> 
<tr> 
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"><a href="https://wiki.asterisk.org/wiki/plugins/likes/like.action?contentId=38764641&src=email" title="Like Icon" style="color: #3b73af; text-decoration: none"><img class="actions-pattern-action-icon-image" height="16" width="16" border="0" title="Like Icon" src="cid:com.atlassian.confluence.plugins.confluence-like%3Aview-email-adg-content-item%3Aicon" alt="Like Icon" style="vertical-align: middle" /></a></td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px; white-space: nowrap"><a href="https://wiki.asterisk.org/wiki/plugins/likes/like.action?contentId=38764641&src=email" title="Like" style="color: #3b73af; text-decoration: none">Like</a></td> 
</tr> 
</tbody> 
</table> </td> 
</tr> 
</tbody> 
</table> </td> 
</tr> 
<tr> 
<td class="email-content-rounded-bottom mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; height: 5px; line-height: 5px; padding: 0 15px 0 16px; background-color: #fff; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; border-top: 0; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; mso-line-height-rule: exactly"> </td> 
</tr> 
</tbody> 
</table> </td> 
</tr> 
<tr> 
<td id="footer-pattern" style="padding: 0px; border-collapse: collapse; padding: 12px 20px"> 
<table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody> 
<tr> 
<td id="footer-pattern-links-container" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px"> 
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px"> 
<tbody> 
<tr> 
<td class="footer-pattern-links mobile-resize-text" style="padding: 0px; border-collapse: collapse"><a href="https://wiki.asterisk.org/wiki/users/removespacenotification.action?spaceKey=AST&src=email" title="" style="color: #3b73af; text-decoration: none">Stop watching space</a></td>
<td class="footer-pattern-links-bull" style="padding: 0px; border-collapse: collapse; padding: 0 5px; color: #999">•</td> 
</tr> 
</tbody> 
</table> 
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px"> 
<tbody> 
<tr> 
<td class="footer-pattern-links mobile-resize-text" style="padding: 0px; border-collapse: collapse"><a href="https://wiki.asterisk.org/wiki/users/editmyemailsettings.action?src=email" title="" style="color: #3b73af; text-decoration: none">Manage notifications</a></td> 
</tr> 
</tbody> 
</table> </td> 
</tr> 
<tr> 
<td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px; display: none">This message was sent by Atlassian Confluence 5.6.6</td> 
</tr> 
</tbody> 
</table> </td> 
</tr> 
</tbody> 
</table> 
<table id="sealed-section" border="0" cellpadding="0" cellspacing="0" width="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; display: none"> 
<tbody> 
<tr> 
<td style="padding: 0px; border-collapse: collapse; border: 0; font-size: 0px; line-height: 0; mso-line-height-rule: exactly"></td> 
</tr> 
</tbody> 
</table>
</body>
</html>