<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/~gjoseph?src=email" style="color: #3b73af; text-decoration: none"><img id="header-avatar-image" class="image_fix" src="cid:avatar_56b2a47747d2721d6dcf26979b4b605a" 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">George Joseph <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/Code+Contribution?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/Code+Contribution?src=email" title="Code Contribution" style="color: #3b73af; text-decoration: none">Code Contribution</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="CodeContribution-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 class="diff-html-changed" id="changed-diff-0" style="background-color: #d6f0ff;">Overview</span> </h1> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">All code management/contribution/review processes will be handled with </span><a href="https://github.com/asterisk/asterisk/pulls" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">GitHub Asterisk Pull Requests</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;"> and </span><a href="https://github.com/asterisk/testsuite/pulls" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">GitHub Testsuite Pull Requests</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;">.   Note that Asterisk and Testsuite pull requests must be created in their own repositories.</span> </p> 
<h1 id="CodeContribution-CodeContributionProcess" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> 
<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" id="added-diff-0" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-1" style="background-color: #d6f0ff;">Code Contribution Process</span> </h1> 
<h2 id="CodeContribution-InstalltheGitHubCLI"gh"tool" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 10px"> 
<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" id="added-diff-1" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-2" style="background-color: #d6f0ff;">Install the </span><a href="https://cli.github.com" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">GitHub CLI "gh"</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;"> tool</span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">While not strictly required, using the "</span><a href="https://cli.github.com" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">gh</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;">" tool to manage the process will make things much easier.  The package is available in most distribution's package management systems as "gh".</span> </p> 
<ol style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Create a GitHub Personal Access Token.  Although "</span><a href="https://cli.github.com" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">gh</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;">" will allow you to authenticate via a browser, having a PAT does make things easier.</span> 
<ol style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Log into GitHub</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Navigate to Settings/Developer Settings.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Click "Personal access tokens"</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Click "Tokens (classic)".  Don't use "Fine-grained tokens".</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Click "Generate new token" and select "Generate new token (classic)"</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Set the name and expiration to your liking.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Select at least the "repo", "workflow", "admin:org/read:org" and "user" scopes.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Click "Generate token"</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Copy the generated token to a safe place.  YOU CAN'T VIEW IT AGAIN.</span> </li> 
</ol> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Install "gh" from your distribution's package manager or download directly from </span><a href="https://cli.github.com/" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">https://cli.github.com</span></a> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Run </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">gh auth login</span></code> 
<ol style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Select "GitHub.com as the account</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Select "HTTPS" as the preferred protocol for Git operation</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Select "paste an authentication token" as the authentication method.</span> </li> 
</ol> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Run </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">gh auth setup-git</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> to allow git itself to use the gh authentication method.</span> </li> 
</ol> 
<h2 id="CodeContribution-ForktheRepositories" 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);"> 
<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" id="added-diff-2" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-3" style="background-color: #d6f0ff;">Fork the Repositories</span></span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Contributors must fork the </span><a href="https://github.com/asterisk/asterisk" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">asterisk/asterisk</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;"> and </span><a href="https://github.com/asterisk/testsuite" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">asterisk/testsuite</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;"> repositories into their own GitHub account. If you clone the asterisk/asterisk or asterisk/testsuite repositories directly to your development system you will NOT be able to submit pull requests from it.  If you have existing repositories cloned from Gerrit, please don't try to re-use the clone by changing the remotes.  Similarly, if you happen to already have a fork of the repos in your GitHub account, it's a good idea to delete those forks and re-create them.  Starting fresh will ensure you don't have issues later.</span> </p> 
<ol style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Run </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">gh repo fork asterisk/asterisk</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;">gh repo fork asterisk/testsuite</span></code> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Run </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">gh repo clone <user>/asterisk</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;">gh repo clone <user>/testsuite</span></code> </li> 
</ol> 
<table class="diff-macro diff-html-changed" 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="diff-html-changed" style="background-color: #d6f0ff;"><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/warning.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Warning</span></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"> <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;">gh repo fork</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> command has a </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--clone</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> option that's supposed to do both of the above steps at the same time however it rarely works and usually creates a mess. The reason is that after a fork operation </span><em><span class="diff-html-changed" style="background-color: #d6f0ff;">appears</span></em><span class="diff-html-changed" style="background-color: #d6f0ff;"> to complete, it can take a few seconds before GitHub finishes background work during which time attempts to clone will fail. The </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">gh</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> tool doesn't account for this and tries to clone immediately which fails with a "repository not found" message.</span> </p> </td> 
</tr> 
</tbody> 
</table> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Git Remotes will automatically be created for both your fork and the upstream repo.</span> </p> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">In each of the clones, run </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">gh repo set-default</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">.  Select either asterisk/asterisk or asterisk/testsuite as appropriate.  They should be the defaults but check anyway. Also run </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">git config user.email</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;">git config user.name</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> in each of the repos to make sure they're correct.  At a minimum, user.email should match one of the emails you've added to your GitHub account.</span> </p> 
<h2 id="CodeContribution-DoWork" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> 
<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" id="added-diff-3" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-4" style="background-color: #d6f0ff;">Do Work</span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Checkout the </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">HIGHEST</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> VERSION branch to which your work will apply ('master', '20', '18', etc.), update it to match the upstream repo, then push it to your fork.</span> </p> 
<ol style="margin: 10px 0 0 0"> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">git checkout master</span></code> </li> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">git pull upstream master</span></code> </li> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">git push</span></code> </li> 
</ol> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Now, check out that branch to a branch with a new name.  For instance if you're working on issue 45 and your work will apply to the 18, 20 and master branches, check out the master branch and create a new branch from it: </span> </p> 
<ol style="margin: 10px 0 0 0"> 
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">git checkout -b master-issue-45</span></code> </li> 
</ol> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">The name of the new branch can be anything but it does show up in the GitHub UI so including the base branch at least is a good idea.  That branch name will also be used if someone downloads your PR for testing.</span> </p> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">If your work fixes a bug in a non-master branch that doesn't exist in the higher branches, start with the highest version branch that the fix does apply to.  For instance, if the fix applies to 20 and 18 but not master, base your new branch on 20.</span> </p> 
<table class="diff-macro diff-html-changed" 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="diff-html-changed" style="background-color: #d6f0ff;"><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/warning.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Warning</span></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"> <span class="diff-html-changed" style="background-color: #d6f0ff;">You should never do work in the upstream branches like '18', '20', or 'master'.  Doing so will pollute those branches in your fork and will make updating them difficult.</span> </p> </td> 
</tr> 
</tbody> 
</table> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Now make your change and test locally.</span> </p> 
<table class="diff-macro diff-html-changed" 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="diff-html-changed" style="background-color: #d6f0ff;"><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/note.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Note</span></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"> <span class="diff-html-changed" style="background-color: #d6f0ff;">You no longer have to create entries in the doc/CHANGES-staging or doc/UPGRADE-staging directories. The change logs are generated from the commit messages. See below.</span> </p> </td> 
</tr> 
</tbody> 
</table> 
<h2 id="CodeContribution-Commit" 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);"> 
<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" id="added-diff-4" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-5" style="background-color: #d6f0ff;">Commit</span></span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Commit messages should follow the guidelines established in </span><a class="confluence-link unresolved" href="#" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">Commit Messages</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;">.  That page will be updated as follows after the cut-over.</span> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">You can use </span><a href="https://github.github.com/gfm/" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">GitHub Flavored Markdown</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;"> in your commit messages to make them look nicer.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">If there isn't an open GitHub issue for your work, open one now.  If there was an existing JIRA issue, you must still open a new GitHub issue.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">To reference an issue, use a  </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">Resolves: #<issueid></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> header on a separate line.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">To make users aware of possible breaking changes on update, use an </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">UpgradeNote: <text></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> header starting on a new line and ending with an empty line.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">To make users aware of a new feature or significant fix, use a </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">UserNote: <text></span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> header starting on a new line and ending with an empty line.</span> </li> 
</ul> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">The new headers create entries near the top of the ChangeLogs.</span> </p> 
<table class="diff-macro diff-html-changed" 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="diff-html-changed" style="background-color: #d6f0ff;"><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/_/plugins/servlet/confluence/placeholder/macro-icon?name=code" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Code Block</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-changed" style="background-color: #d6f0ff;">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-changed" style="background-color: #d6f0ff;">Sample Commit Message</span></td> 
</tr> 
<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-changed" style="background-color: #d6f0ff;">language</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-changed" style="background-color: #d6f0ff;">text</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;">app_something:  Add some new capability 
 
app_something has been updated to include new feature "X".  To configure,
edit app_something.conf and add an "X = something" to the "general"
section.
 
Resolves: #456
 
UpgradeNote: The old "X" option in app_something.conf has been renamed to
"Z" to better reflect its true purpose.
 
UserNote: app_something has been updated to include new feature "X".</span>
</pre> </td> 
</tr> 
</tbody> 
</table> 
<h2 id="CodeContribution-TestandcheckforCherry-pick-ability" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> 
<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" id="added-diff-5" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-6" style="background-color: #d6f0ff;">Test and check for Cherry-pick-ability</span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">This should go without saying but test your change locally to make sure it does what you think it should and that it doesn't break anything else.  If it passes and it needs to be cherry-picked to other branches, test cherry-picking now.  Create a new branch off the cherry-pick target branch, cherry-pick your change into it then compile and test.  If it picks cleanly and passes your tests, you can just delete the branch as you won't be creating additional pull requests for it.  If it doesn't apply or pass the tests, you have two options...</span> </p> 
<ol style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Change the code in the original branch, amend the commit and re-cherry-pick and test as many times as needed to get it to pass in both branches, then you can delete the new branch.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Submit a separate pull request from the target branch using the process below.</span> </li> 
</ol> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">You should always use option 1 when possible.  Unlike Gerrit, GitHub was never designed to handle pushing the same change to multiple branches.  There's no easy way to relate the pull requests and even the GitHub UI doesn't indicate what the target branch is.  This makes it labor intensive for us to manage.</span> </p> 
<h2 id="CodeContribution-CreateaPullRequest" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> 
<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" id="added-diff-6" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-7" style="background-color: #d6f0ff;">Create a Pull Request</span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">When you've finished your work and committed, you can create a new pull request by running </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">gh pr create --fill --base 18</span></code><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;">--fill</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> option sets the pull request description to the same as the commit message and the </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--base</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> option indicates which asterisk branch the pull request is targeted for.  This is similar to running </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">git review 18</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> to create a new Gerrit review.  When prompted where the new branch should be pushed, choose your fork, NOT the upstream repo.</span> </p> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">If you want your change to be automatically cherry-picked to other branches, you'll need to add a comment to your pull request.  Head over to </span><a href="https://github.com/asterisk/asterisk/pulls" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">https://github.com/asterisk/asterisk/pulls</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;"> and open your PR. Add a comment with a </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">cherry-pick-to: <branch>"</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> header line for each branch.  For example, if the PR is against the master branch and you want it cherry-picked down to 20 and 18...</span> </p> 
<table class="diff-macro diff-html-changed" 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="diff-html-changed" style="background-color: #d6f0ff;"><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/_/plugins/servlet/confluence/placeholder/macro-icon?name=code" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Code Block</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-changed" style="background-color: #d6f0ff;">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-changed" style="background-color: #d6f0ff;">PR Cherry-Pick Request comment example</span></td> 
</tr> 
<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-changed" style="background-color: #d6f0ff;">language</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-changed" style="background-color: #d6f0ff;">text</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;">cherry-pick-to: 20
cherry-pick-to: 18</span>
</pre> </td> 
</tr> 
</tbody> 
</table> 
</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 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"> 
<p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-added" id="added-diff-7" style="font-size: 100%; background-color: #ddfade;">Each branch must be on a separate line and don</span><span class="diff-html-changed" id="changed-diff-8" style="background-color: #d6f0ff;">'t put anything else in the comment.  When all the PR tests and checks have passed, an Asterisk Core developer will trigger the cherry-pick test process which will look for that comment.  If the commit can't be cherry-picked cleanly to the branches you indicated or the tests fail, none of the commits will be merged.  This is why it's important for you to make sure your commit cherry-picks cleanly before submitting the first pull request.</span> </p> 
<table class="diff-macro diff-html-changed" 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="diff-html-changed" style="background-color: #d6f0ff;"><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/note.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Note</span></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"> <span class="diff-html-changed" style="background-color: #d6f0ff;">You can also add comments to a PR from the command line with </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">gh pr comment</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">. See the man page for more info.</span> </p> </td> 
</tr> 
</tbody> 
</table> 
<h1 id="CodeContribution-PullRequestReviewProcess" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> 
<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" id="added-diff-8" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-9" style="background-color: #d6f0ff;">Pull Request Review Process</span> </h1> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">As with Gerrit reviews, a new PR triggers a set of tests and checks.  If you browse to your PR and scroll to the bottom, you'll see the status of those checks listed.  There are some differences to Gerrit however.</span> </p> 
<h2 id="CodeContribution-NewContributorLicenseAgreement" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> 
<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" id="added-diff-9" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-10" style="background-color: #d6f0ff;">New Contributor License Agreement</span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Every contributor will be required to sign a new Contributor License Agreement before their first PR can be merged.  One of the PR checks will be "license/cla" which looks like this...</span> </p> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed diff-html-image-container" style="background-color: #d6f0ff;display: inline-block;position: relative;text-align: center;"><img class="confluence-embedded-image" src="/wiki/download/attachments/52069715/image2023-4-17%2014%3A4%3A2.png?version=1&modificationDate=1681761842555&api=v2" data-image-src="/wiki/download/attachments/52069715/image2023-4-17%2014%3A4%3A2.png?version=1&modificationDate=1681761842555&api=v2" /><span class="diff-image-overlay diff-modified-image" style="color: #535353;display: block;padding: 4px 4px 8px 4px;text-decoration: none;">Image Modified</span></span> </p> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">which indicates that you haven't signed it yet.  Click the "Details" link to be taken to the page that allows you to fill out the form and sign.  Acceptance is automatic so there should be no delay and you only have to do this once.  YOUR PR CANNOT BE MERGED UNTIL THIS CHECK IS COMPLETED.</span> </p> 
<h2 id="CodeContribution-AutomatedTests" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> 
<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" id="added-diff-10" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-11" style="background-color: #d6f0ff;">Automated Tests</span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">GitHub gives us access to more resources for testing than we've ever had so instead of running the Unit tests at PR submission and the Gate/Testsuite tests when the change has been approved, we run both the Unit and Gate/Testsuite tests immediately upon submission.  The Unit tests run as a single job/check but the Gates are broken up into multiple jobs/checks so they can be run in parallel.  When each check is completed, a comment will be added to the PR with the result and each check will have it's own line in the checks summary a the bottom of the PR.  All checks must pass or be deemed "false alarms" before a PR can be merged.</span> </p> 
<h2 id="CodeContribution-Reviewingachange" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> 
<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" id="added-diff-11" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-12" style="background-color: #d6f0ff;">Reviewing a change</span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">GitHub has two types of Pull Request comments.</span> </p> 
<h3 id="CodeContribution-GeneralComments" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> 
<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" id="added-diff-12" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-13" style="background-color: #d6f0ff;">General Comments</span> </h3> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">These are comments you leave on the main PR page.  They are just that...comments.  They have no bearing on whether the PR can be merged.  If you have general comments or questions about a PR,  this is where you leave them.  The Gerrit equivalent is clicking the "REPLY" button at the top of the review and leaving a comment without changing your vote.</span> </p> 
<h3 id="CodeContribution-ReviewComments" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> 
<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" id="added-diff-13" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-14" style="background-color: #d6f0ff;">Review Comments</span> </h3> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">These are comments you have about the code itself.  These are left by clicking on the 'Files changed" tab at the top of the PR, then...</span> </p> 
<ul style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Clicking the 'Review changes" button to leave an overall comment and vote.  This is similar to clicking the "REPLY" button at the top of a Gerrit review and leaving a comment with a vote.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Clicking on a specific line in a file to leave a single comment without a vote.  This is similar to clicking on a file in a Gerrit review, entering a comment on a specific line, but leaving your vote at "0" when clicking the "REPLY" button.  Unlike a general comment however, this type of comment creates a "conversation" which must be "resolved" before a PR can be merged.  </span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Clicking on a specific line in a file to leave a comment and starting a review where you will leave a vote.  This is similar to clicking on a file in a Gerrit review, entering a comment on a specific line, then setting your vote to +1 or -1 when clicking the "REPLY" button.</span> </li> 
</ul> 
<table class="diff-macro diff-html-changed" 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="diff-html-changed" style="background-color: #d6f0ff;"><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/note.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Note</span></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"> <span class="diff-html-changed" style="background-color: #d6f0ff;">If you're not the submitter but you want to test a PR locally, you can do so easily with the gh tool:</span> </p> <pre style="margin: 10px 0 0 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;">gh pr checkout <pr_number></span>
</pre> <p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;"> </span> </p> </td> 
</tr> 
</tbody> 
</table> 
<h2 id="CodeContribution-AddressReviewCommentsandTestFailures" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> 
<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" id="added-diff-14" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-15" style="background-color: #d6f0ff;">Address Review Comments and Test Failures</span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">If you need to make code changes to address comments or failures, the process is much like it is with Gerrit...</span> </p> 
<ol style="margin: 10px 0 0 0"> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Make the changes locally in the branch you submitted the PR from.</span> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">When finished, do a </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">git commit -a --amend</span></code> </li> 
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Push the commit to GitHub with </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">git push --force</span></code> </li> 
</ol> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">This will force push the commit to your fork first, then update the PR with the new commit and restart the testing process.</span> </p> 
<table class="diff-macro diff-html-changed" 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="diff-html-changed" style="background-color: #d6f0ff;"><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/warning.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Warning</span></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"><span class="diff-html-changed" style="background-color: #d6f0ff;">Unlike Gerrit, GitHub allows you to have multiple commits for a pull request but it was intended to allow a PR to be broken up into multiple logical chunks, not to address review comments. Using multiple commits to address review comments will make the commit history messy and confusing. Please amend and force push for them.</span></td> 
</tr> 
</tbody> 
</table> 
<h2 id="CodeContribution-Cherry-PickTests" 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);"> 
<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" id="added-diff-15" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-16" style="background-color: #d6f0ff;">Cherry-Pick Tests</span></span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">When an Asterisk Core Team member believes the PR is ready, they'll add a </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">cherry-pick</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> label to the PR that will jobs to run that check that the cherry-pick applies cleanly to the other branches and run the same automated tests that ran for the original PR.  These tests must pass (or be deemed false alarms) for the PR to be eligible for merging.</span> </p> 
<h2 id="CodeContribution-Merge" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> 
<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" id="added-diff-16" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</span></th> 
</tr> 
</thead> 
</table> <span class="diff-html-changed" id="changed-diff-17" style="background-color: #d6f0ff;">Merge</span> </h2> 
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">When an Asterisk Core Team member believes the PR is ready for merging, they'll approve the merge which will cause the original PR to merge into its target branch and cause the change to be cherry-picked  into each of the cherry-pick target branches.</span> </p> 
<p style="margin: 10px 0 0 0"> <code style="font-family: monospace"> <br /> </code> </p> 
</div> </td> 
<td valign="top" width="30%" class="cell aside" data-type="aside" style="padding: 0px; border-collapse: collapse"> 
<div class="innerCell"> 
<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" id="added-diff-17" 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> 
</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/Code+Contribution?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/Code+Contribution?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/Code+Contribution?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/Code+Contribution?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=52069715&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=52069715&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>