<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/~mjordan?src=email" style="color: #3b73af; text-decoration: none"><img id="header-avatar-image" class="image_fix" src="cid:avatar_0e82bef62b63030f8c50a1f164e27d2b" 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">Matt Jordan <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/New+in+14?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/New+in+14?src=email" title="New in 14" style="color: #3b73af; text-decoration: none">New in 14</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 diff-block-context"> 
<table width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody>
<tr class="columnLayout two-right-sidebar" data-layout="two-right-sidebar"> 
<td valign="top" class="cell normal" data-type="normal" style="padding: 0px; border-collapse: collapse"> 
<div class="innerCell"> 
<h1 id="Newin14-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><span class="diff-html-added" id="added-diff-0" style="font-size: 100%; background-color: #ddfade;">Overview</span></span> </h1> 
<div> 
<p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Asterisk 14 is the next </span><a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Standard</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> release of the Asterisk project, following the previous Long Term Support release of </span><a class="confluence-link unresolved" href="#" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Asterisk 13</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">. As a Standard release, improvements made in Asterisk 14 have focused both on extending and enhancing existing functionality, as well as making long term investments in major new features. Some highlights include:</span> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">A complete overhaul of the core DNS support in Asterisk, including implementing full NAPTR and SRV support in the PJSIP stack via the </span><a href="https://www.unbound.net/documentation/libunbound.html" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">libunbound</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> library.</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">The ability to </span><a href="https://wiki.asterisk.org/wiki/display/AST/Publishing+Extension+State" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">publish extension state</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> to a SIP Subscription server, such as </span><a href="https://www.kamailio.org/w/" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Kamailio</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">. This includes the ability to automatically generate a </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">hint</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> in the dialplan based on device state changes using the new </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">autohint</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> setting.</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Playback of media from a remote HTTP server via a URI is now supported by all dialplan applications and AGI. Media retrieved using a URI is cached in a media cache and re-used when possible.</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">When using </span><a class="confluence-link unresolved" href="#" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">ARI</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> to manipulate media on a resource, a list of media resources can now be supplied. The media resources will be played back sequentially in the order that they are provided.</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Channels </span><a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+Channels+REST+API#Asterisk14ChannelsRESTAPI-create" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">created</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> via </span><a class="confluence-link unresolved" href="#" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">ARI</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> can now be created and handed off to </span><a class="confluence-link unresolved" href="#" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Stasis</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> for external control prior to performing the outbound </span><a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+Channels+REST+API#Asterisk14ChannelsRESTAPI-dial" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">dial</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">. This enables applications to set additional state on the channel prior to dialing, as well as enabling certain early media scenarios.</span> </li> 
</ul> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">And much more!</span> </p> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">As Asterisk 14 continues the architecture that was first released in Asterisk 12 and enhanced in Asterisk 13, users upgrading to Asterisk 14 from older versions of Asterisk should be aware of the architectural changes that were made in the previous Standard releases. It is recommended that you read the following:</span> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">The </span><a class="confluence-link unresolved" href="#" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Asterisk 14 Upgrade notes</span></a> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">The </span><a href="https://wiki.asterisk.org/wiki/display/AST/New+in+13" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">New in 13</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> information, which lists the major new features in Asterisk 13</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">The notes on </span><a href="https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+12" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Upgrading to Asterisk 12</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span><strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">if</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> you are upgrading from a version of Asterisk prior to Asterisk 12</span> </li> 
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">The notes on what is </span><a href="https://wiki.asterisk.org/wiki/display/AST/New+in+12" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">New in 12</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span><strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">if</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> if you are upgrading from a version of Asterisk prior to Asterisk 12.</span> </li> 
</ul> 
</div> 
</div> </td> 
<td valign="top" width="30%" class="cell aside" data-type="aside" style="padding: 0px; border-collapse: collapse"> 
<div class="innerCell"> 
<table class="diff-macro diff-html-added" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;background-color: #ddfade;border-color: #93c49f;; 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="diff-html-added" style="font-size: 100%; background-color: #ddfade;"><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</span></th> 
</tr> 
</thead> 
<tbody> 
<tr> 
<td class="diff-macro-properties" style="background-color: #fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;padding: 0; border: 1px solid #dddddd;; padding: 0px; border-collapse: collapse"> 
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333"> 
<tbody> 
<tr> 
<td style="background-color: #fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;; padding: 0px; border-collapse: collapse"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">title</span></td> 
<td style="background-color: #fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;; padding: 0px; border-collapse: collapse"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">On This Page</span></td> 
</tr> 
</tbody> 
</table> </td> 
</tr> 
</tbody> 
<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 diff-html-added" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;margin: 5px 0; padding: 0; width: auto;background-color: #ddfade;border-color: #93c49f;; 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="diff-html-added" style="font-size: 100%; background-color: #ddfade;"><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</span></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"> 
<h1 id="Newin14-APIs" 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);"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">APIs</span></span> </h1> 
<h2 id="Newin14-AMI" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 10px"> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" id="changed-diff-0" style="background-color: #d6f0ff;">AMI</span></span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">A new event, </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">DialState</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> has been added. This is similar to </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">DialBegin</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> and </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">DialEnd</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> in that it tracks the state of a dialed call. The difference is that this indicates some intermediate state change in the dial attempt, such as "RINGING", "PROGRESS", or "PROCEEDING".</span> </p> </li> 
</ul> 
<h2 id="Newin14-ARI" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">ARI</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">A new ARI method has been added to the channels resource. "create" allows for you to create a new channel and place that channel into a Stasis application. This is similar to origination except that the specified channel is not dialed. This allows for an application writer to create a channel, perform manipulations on it, and then delay dialing the channel until later. </span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">To complement the "create" method, a "dial" method has been added to the channels resource in order to place a call to a created channel.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">All operations that initiate playback of media on a resource now support a list of media URIs. The list of URIs are played in the order they are presented to the resource. A new event, </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">PlaybackContinuing</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, is raised when a media URI finishes but before the next media URI starts. When a list is played, the "Playback" model will contain the optional attribute </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">next_media_uri</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, which specifies the next media URI in the list to be played back to the resource. The </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">PlaybackFinished</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> event is raised when all media URIs are done.</span> </li> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Stored recordings now allow for the media associated with a stored recording to be retrieved. The new route, {{ GET /recordings/stored/{name}/file }}, will transmit the raw media file to the requester as binary.</span> </p> </li> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">Dial</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> events have been modified to not only be sent when dialing begins and ends. They now are also sent for intermediate states, such as "RINGING", "PROGRESS", and "PROCEEDING".</span> </li> 
</ul> 
<h1 id="Newin14-Applications" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" style="background-color: #d6f0ff;">Applications</span></span> </h1> 
<h2 id="Newin14-BridgeAdd" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 10px"> <span class="diff-html-changed" style="background-color: #d6f0ff;"> BridgeAdd</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">A new application in Asterisk, this will join the calling channel to an existing bridge containing the named channel prefix.</span> </li> 
</ul> 
<h2 id="Newin14-ChanSpy" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">ChanSpy</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added the </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">l</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> option, which forces ChanSpy's audiohook to use a long queue to store the audio frames. This option is useful if audio loss is experienced when using ChanSpy, but may introduce some delay in the audio feed on the listening channel.</span> </li> 
</ul> 
<h2 id="Newin14-ConfBridge" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">ConfBridge</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added the ability to pass options to MixMonitor when recording is used with ConfBridge. This includes the addition of the following configuration parameters for the 'bridge' object:</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">record_file_timestamp: whether or not to append the start time to the recorded file name</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">record_options: the options to pass to the MixMonitor application</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">record_command: a command to execute when recording is finished</span> <br /> <span class="diff-html-changed" style="background-color: #d6f0ff;">Note that these options may also be with the CONFBRIDGE function.</span> </li> 
</ul> </li> 
</ul> 
<h2 id="Newin14-ControlPlayback" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" style="background-color: #d6f0ff;">ControlPlayback</span></span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Remote files can now be retrieved and played back. See the Playback dialplan application for more details.</span> </li> 
</ul> 
<h2 id="Newin14-FollowMe" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" style="background-color: #d6f0ff;">FollowMe</span></span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">It is now possible to disable the prompt from a callee by setting </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">enable_callee_prompt = no</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> in followme.conf.</span> </li> 
</ul> 
<h2 id="Newin14-Playback" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Playback</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Remote files can now be retrieved and played back via the Playback and other media playback dialplan applications. This is done by directly providing the URL to play to the dialplan application:  </span> </p> <pre style="margin: 10px 0 0 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;">same => n,Playback(http://1.1.1.1/howler-monkeys-fl.wav)</span>
</pre> <p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;"> Note that unlike 'normal' media files, the entire URI to the file must be provided, including the file extension. Currently, </span> </p> </li> 
</ul> 
</div> </td> 
</tr> 
</tbody>
</table> 
</div> <p class="diff-context-placeholder" style="margin: 10px 0 0 0">...</p> 
<div class="contentLayout2 diff-block-target diff-block-context"> 
<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"> 
<ul style="margin: 10px 0 0 0; margin-top: 0"> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-added" id="added-diff-1" style="font-size: 100%; background-color: #ddfade;">only </span><span class="diff-html-changed" id="changed-diff-1" style="background-color: #d6f0ff;">HTTP and HTTPS URI schemes are supported.</span> </p> </li> 
</ul> 
<h2 id="Newin14-Queue" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Queue</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added field ReasonPause on QueueMemberStatus if set when paused, the reason the queue member was paused.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added field LastPause on QueueMemberStatus for time when started the last pause for a queue member.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Show the time when started the last pause for queue member on CLI for command 'queue show'.</span> </li> 
</ul> 
<h2 id="Newin14-SMS" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">SMS</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added the 'n' option, which prevents the SMS from being written to the log file. This is needed for those countries with privacy laws that require providers to not log SMS content.</span> </li> 
</ul> 
<h1 id="Newin14-ChannelDrivers" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Channel Drivers</span> </h1> 
<h2 id="Newin14-chan_dahdi" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 10px"> <span class="diff-html-changed" style="background-color: #d6f0ff;">chan_dahdi</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The CALLERID(ani2) value for incoming calls is now populated in </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">featdmf</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> signaling mode. The information was previously discarded.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added the </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">force_restart_unavailable_chans</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> compatibility option. When enabled it causes Asterisk to restart the ISDN B channel if an outgoing call receives cause 44 (Requested channel not available).</span> </li> 
</ul> 
<h2 id="Newin14-chan_iax2" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">chan_iax2</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span style="color: rgb(51,51,51);"><span class="diff-html-changed" style="background-color: #d6f0ff;">The iax.conf </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">forcejitterbuffer</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> option has been removed. It is now always forced if you set iax.conf </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">jitterbuffer=yes</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> . If you put a jitter buffer on a channel it will be on the channel.</span></span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">A new configuration parameters, </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">calltokenexpiration</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, has been added that controls the duration before a call token expires. Default duration is 10 seconds. Setting this to a higher value may help in lagged networks or those experiencing high packet loss.</span> </li> 
</ul> 
<h2 id="Newin14-chan_rtp(waschan_multicast_rtp)" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">chan_rtp (was chan_multicast_rtp)</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added unicast RTP support and renamed chan_multicast_rtp to chan_rtp.  The format for dialing a unicast RTP channel is: </span> <br /> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">UnicastRTP/<destination-addr>[/[<options>]]</span></code> <br /> 
<ul style="margin: 10px 0 0 0"> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span><span class="diff-html-changed" style="background-color: #d6f0ff;">Where </span></span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;"><destination-addr></span></code><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> is something like </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">127.0.0.1:5060</span></code></span> </p> </li> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Where </span><code style="line-height: 1.42857;; font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;"><options></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> are in standard Asterisk flag options format:</span> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">c(<codec>)</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - Specify which codec/format to use such as 'ulaw'.</span> </li> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">e(<engine>)</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - Specify which RTP engine to use such as 'asterisk'.</span> </li> 
</ul> </li> 
</ul> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">New options were added for a multicast RTP channel. The format for dialing a multicast RTP channel is: </span> <br /> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">MulticastRTP/<type>/<destination-addr>[/[<control-addr>][/[<options>]]]</span></code> <br /> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Where </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;"><type></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> can be either </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">'basic'</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> or </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">'linksys'</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Where </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;"><destination-addr></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> is something like </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">'224.0.0.3:5060'</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Where </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;"><control-addr></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> is something like </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">'127.0.0.1:5060'</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Where </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;"><options></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> are in standard Asterisk flag options format:</span> <br /> 
<ul style="margin: 10px 0 0 0"> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">c(<codec>)</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - Specify which codec/format to use such as 'ulaw'.</span> </li> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">i(<address>)</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - Specify the interface address from which multicast RTP is sent.</span> </li> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">l(<enable>)</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - Set whether packets are looped back to the sender. The enable value can be 0 to set looping to off and non-zero to set looping on.</span> </li> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">t(<ttl>)</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - Set the time-to-live (TTL) value for multicast packets.</span> </li> 
</ul> </li> 
</ul> </li> 
</ul> 
<h2 id="Newin14-chan_sip" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">chan_sip</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">New </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">rtpbindaddr</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> global setting. This allows a user to define which ip address to bind the rtpengine to. For example, chan_sip might bind to eth0 (10.0.0.2) but rtpengine to eth1 (192.168.1.10).</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">DTLS related configuration options can now be set at a general level. Enabling DTLS support, though, requires enabling it at the user or peer level.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added the possibility to set the From: header through the the SIP dial string (populating the fromuser/fromdomain fields), complementing the [!dnid] option for the To: header that has existed since 1.6.0 (1d6b192).</span> <br /> <span class="diff-html-changed" style="background-color: #d6f0ff;">NOTE: This is again separated by an exclamation mark, so the To: header may not contain one of those.</span> </li> 
</ul> 
<h2 id="Newin14-chan_pjsip" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">chan_pjsip</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">New </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">user_eq_phone</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> endpoint setting. This adds a </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">user=phone</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> parameter to the request URI and From URI if the user is determined to be a phone number.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">New </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">moh_passthrough</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> endpoint setting. This will pass hold and unhold requests through using SIP re-invites with sendonly and sendrecv accordingly.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added the pjsip.conf system type </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">disable_tcp_switch</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> option. The option allows the user to disable switching from UDP to TCP transports described by RFC 3261 section 18.1.1.</span> </li> 
</ul> 
<h1 id="Newin14-Core" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" style="background-color: #d6f0ff;">Core</span></span> </h1> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The core of Asterisk uses a message bus called "Stasis" to distribute information to internal components. For performance reasons, the message distribution was modified to make use of a thread pool instead of a dedicated thread per consumer in certain cases. The initial settings for the thread pool can now be configured in 'stasis.conf'.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">A new core DNS API has been implemented which provides a common interface for DNS functionality. Modules that use this functionality will require that a DNS resolver module is loaded and available.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Modified processing of command-line options to first parse only what is necessary to read asterisk.conf. Once asterisk.conf is fully loaded, the remaining options are processed. The -X option now applies to asterisk.conf only. To enable #exec for other config files you must set execincludes=yes in asterisk.conf. Any other option set on the command-line will now override the equivalent setting from asterisk.conf.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The TLS core in Asterisk now supports X.509 certificate subject alternative names. This way one X.509 certificate can be used for hosts that can be reached under multiple DNS names or for multiple hosts.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The Asterisk logging system now supports JSON structured logging. Log channels specified in logger.conf or added dynamically via CLI commands now support an optional specifier prior to their levels that determines their formatting. To set a log channel to format its entries as JSON, a formatter of </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">[json]</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> can be set, e.g., </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">full => [json]debug,verbose,notice,warning,error</span></code> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The core now supports a 'media cache', which stores temporary media files retrieved from external sources. CLI commands have been added to manipulate and display the cached files, including:</span> 
<ul style="margin: 10px 0 0 0"> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">media cache show <all></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - show all cached media files, or details about one particular cached media file</span> </li> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">media cache refresh <item></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - force a refresh of a particular media file in the cache</span> </li> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">media cache delete <item></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - remove an item from the cache</span> </li> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">media cache create <uri></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - retrieve a URI and store it in the cache</span> </li> 
</ul> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The ability for hints to be automatically created as a result of device state changes now exists in the PBX. This functionality is referred to as </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">autohints</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> and is configurable in extensions.conf by placing </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">autohints=yes</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> in the context. If enabled then a hint will be automatically created with the name of the device.</span> </li> 
</ul> 
<h2 id="Newin14-Functions" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Functions</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The func_odbc global option </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">single_db_connection</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> default value has been changed to </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">no</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </li> 
</ul> 
<h2 id="Newin14-Formats" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Formats</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">New module format_ogg_speex added which supports Speex codec inside Ogg containers (filename extension .spx).</span> </li> 
</ul> 
<h2 id="Newin14-CHANNEL" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">CHANNEL</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">CHANNEL(onhold)</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> item that returns 1 (onhold) and 0 (not-onhold) for the hold status of a channel.</span> </p> </li> 
</ul> 
<h2 id="Newin14-CURL" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">CURL</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The CURL function now supports a write option, which will save the retrieved file to a location on disk. As an example:</span> <br /> <span class="diff-html-changed" style="background-color: #d6f0ff;">{{same => n,Set(CURL(</span><a href="https://1.1.1.1/foo.wav" style="line-height: 1.42857;; color: #3b73af; text-decoration: none" class="external-link" rel="nofollow"><span class="diff-html-changed" style="background-color: #d6f0ff;">https://1.1.1.1/foo.wav</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;">)=/tmp/foo.wav)}} will save 'foo.wav' to /tmp.</span> </li> 
</ul> 
<h1 id="Newin14-DTMFFeatures" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">DTMF Features</span> </h1> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">transferdialattempts</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> default value has been changed from 1 to 3.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">transferinvalidsound</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> has been changed from </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">pbx-invalid</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> to </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">privacy-incorrect</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">. These were changed to make DTMF transfers be more user-friendly by default.</span> </li> 
</ul> 
<h1 id="Newin14-Resources" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Resources</span> </h1> 
<h2 id="Newin14-res_http_media_cache" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 10px"> <span style="color: rgb(153,153,153);"><span class="diff-html-changed" style="background-color: #d6f0ff;">res_http_media_cache</span></span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">A backend for the core media cache, this module retrieves media files from a remote HTTP(S) server and stores them in the core media cache for later playback.</span> </li> 
</ul> 
<h2 id="Newin14-res_musiconhold" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" style="background-color: #d6f0ff;">res_musiconhold</span></span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">sort=randstart</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> to the sort options. It sorts the files by name and then chooses the first file to play at random.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">preferchannelclass=no</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> option to prefer the application-passed class over the channel-set musicclass. This allows separate hold-music from application (e.g. Queue or Dial) specified music.</span> </li> 
</ul> 
<h2 id="Newin14-res_resolver_unbound" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" style="background-color: #d6f0ff;">res_resolver_unbound</span></span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></span><span style="font-family: "Helvetica Neue" , Helvetica , Arial , sans-serif;font-size: 14.0px;line-height: 1.42857;"><span class="diff-html-changed" style="background-color: #d6f0ff;">Added a res_resolver_unbound module which uses the libunbound resolver library to perform DNS resolution. This module requires the libunbound library to be installed in order to be used.</span></span> </li> 
</ul> 
<h2 id="Newin14-res_pjsip" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">res_pjsip</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">A new SIP resolver using the core DNS API has been implemented. This relies on external SIP resolver support in PJSIP which is only available as of PJSIP 2.4. If this support is unavailable the existing built-in PJSIP SIP resolver will be used instead. The new SIP resolver provides NAPTR support, improved SRV support, and AAAA record support.</span> </li> 
</ul> 
<h2 id="Newin14-res_pjsip_info_empty" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" style="background-color: #d6f0ff;">res_pjsip_info_empty</span></span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">A new module that can respond to empty Content-Type INFO packets during call.  Some SBCs will terminate a call if their empty INFO packets are not responded to within a predefined time.</span> </p> </li> 
</ul> 
<h2 id="Newin14-res_pjsip_outbound_registration" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">res_pjsip_outbound_registration</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">A new </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">fatal_retry_interval option</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> has been added to outbound registration.  When set (default is zero), and upon receiving a failure response to an outbound registration, registration is retried at the given interval up to </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">max_retries</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </li> 
</ul> 
<h2 id="Newin14-res_pjsip_outbound_publish" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">res_pjsip_outbound_publish</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added a new multi_user option that when set to </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">yes</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> allows a given configuration to be used for multiple users.</span> </li> 
</ul> 
<h1 id="Newin14-CELBackends" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">CEL Backends</span> </h1> 
<h2 id="Newin14-cel_pgsql" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 10px"> <span class="diff-html-changed" style="background-color: #d6f0ff;">cel_pgsql</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added a new option, </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">usegmtime</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, which causes timestamps in CEL events to be logged in GMT.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added support to set schema where located the table cel. This settings is configurable for cel_pgsql via the 'schema' in configuration file cel_pgsql.conf.</span> </li> 
</ul> 
<h1 id="Newin14-CDRBackends" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">CDR Backends</span> </h1> 
<h2 id="Newin14-cdr_adaptive_odbc" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 10px"> <span class="diff-html-changed" style="background-color: #d6f0ff;">cdr_adaptive_odbc</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added the ability to set the character to quote identifiers. This allows adding the character at the start and end of table and column names. This setting is configurable for cdr_adaptive_odbc via the quoted_identifiers in configuration file cdr_adaptive_odbc.conf.</span> </li> 
</ul> 
<h2 id="Newin14-cdr_odbc" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" style="background-color: #d6f0ff;">cdr_odbc</span></span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added a new configuration option, </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">newcdrcolumns</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, which enables use of the post-1.8 CDR columns </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">peeraccount</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">linkedid</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, and </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">sequence</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </li> 
</ul> 
<h2 id="Newin14-cdr_csv" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">cdr_csv</span> </h2> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Added a new configuration option, </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">newcdrcolumns</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, which enables use of the post-1.8 CDR columns </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">peeraccount</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">linkedid</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, and </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">sequence</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </li> 
</ul> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;"> </span> </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/New+in+14?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/New+in+14?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/New+in+14?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/New+in+14?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=35816091&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=35816091&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>