<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_4482ca8c6a1804a0ce7a25b1939bb31d" 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/pages/viewpage.action?pageId=25919783&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/pages/viewpage.action?pageId=25919783&src=email" title="PJSIP/pjproject" style="color: #3b73af; text-decoration: none">PJSIP/pjproject</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"> <p class="diff-context-placeholder" style="margin: 10px 0 0 0; margin-top: 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">
<h1 id="PJSIP/pjproject-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" id="changed-diff-1" style="background-color: #d6f0ff;">Asterisk </span> </p>
</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-0" style="font-size: 100%; background-color: #ddfade;">currently contains </span><span class="diff-html-changed" id="changed-diff-2" style="background-color: #d6f0ff;">two SIP stacks: </span> </p>
</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-changed" style="background-color: #d6f0ff;"> </span><span class="diff-html-changed" id="changed-diff-3" style="background-color: #d6f0ff;">the original </span><strong><span class="diff-html-changed" id="changed-diff-4" style="background-color: #d6f0ff;">chan_sip</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span class="diff-html-changed" id="changed-diff-5" style="background-color: #d6f0ff;">SIP channel driver </span> </p>
</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-1" style="font-size: 100%; background-color: #ddfade;">which is a complete standalone implementation, </span><span class="diff-html-changed" id="changed-diff-6" style="background-color: #d6f0ff;">has been present in all previous releases of Asterisk </span><em><span class="diff-html-added" id="added-diff-2" style="font-size: 100%; background-color: #ddfade;">and no longer receives core support</span></em><span class="diff-html-changed" id="changed-diff-7" style="background-color: #d6f0ff;">, and </span> </p>
</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-3" style="font-size: 100%; background-color: #ddfade;">the newer </span><strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">chan_pjsip</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span><span class="diff-html-changed" id="changed-diff-8" style="background-color: #d6f0ff;">SIP stack that is based </span> </p>
</div> </td>
</tr>
</tbody>
</table>
</div> <p class="diff-context-placeholder" style="margin: 10px 0 0 0">...</p> <p class="diff-block-target diff-block-context" style="margin: 10px 0 0 0"> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Because earlier releases of pjproject cannot build shared object libraries, some changes were required in order to use it with Asterisk 12. As such, </span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><strong><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Asterisk requires pjproject version 2.4 or later (2.6 is current)</span></strong><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">. Alternatively, an Asterisk </span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">compatible version of pjproject is available on </span></span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><a href="https://github.com/asterisk/pjproject" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">github</span></a><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">, or - depending on your Linux distribution - available as a package.</span></span></span> </p> <p class="diff-block-target diff-block-context" style="margin: 10px 0 0 0"> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Earlier versions of pjproject downloaded from </span><a href="http://www.pjsip.org" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">www.pjsip.org</span></a><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> will </span><strong><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">not</span></strong><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> work with Asterisk 12. </span> </p>
<table class="diff-macro diff-html-removed diff-block-target diff-block-context" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;background-color: #ffe7e7;border-color: #df9898;; 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-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"><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/tip.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Tip</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"> <strong><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Asterisk 11</span></strong><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> uses an embedded pjproject for the ICE, STUN and TURN libraries in its RTP engine for WebSockets support. Therefore you do not need to follow the instructions here for Asterisk 11.</span><strong> <br /> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Asterisk 12 and 13</span></strong><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> dynamically link to pjproject.</span> <br /> <strong><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Asterisk >= 13.8.0 </span></strong><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">can dynamically link to pjproject but also contains a bundled version of pjproject. See </span><a class="unresolved" href="#" style="color: #3b73af; text-decoration: none"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Using the Bundled Version of pjproject</span></a></span> </p> </td>
</tr>
</tbody>
</table>
<table class="diff-macro diff-html-removed diff-block-target diff-block-context" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;background-color: #ffe7e7;border-color: #df9898;; 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-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"><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/column.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Column</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">
<table class="diff-macro diff-html-removed" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;background-color: #ffe7e7;border-color: #df9898;; 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-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"><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-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">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-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">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-removed" 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: #ffe7e7;border-color: #df9898;; 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-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"><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>
<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-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">maxLevel</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-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">2</span></td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table> <p style="margin: 10px 0 0 0"></p> </td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table>
<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-4" style="font-size: 100%; background-color: #ddfade;">on Teluu's "</span><a href="http://www.pjsip.org/" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">pjproject</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">" SIP stack. While the pjproject stack allows us to move a significant amount of code out of Asterisk, it </span><em><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">is</span></em><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> a separate, actively maintained, library that we integrate very tightly to. This presents challenges in making sure that the versions of Asterisk and pjproject currently installed on a system are compatible. For this reason, we've elected to "bundle" a stable, tested version of pjproject with the Asterisk distribution and integrate it into the Asterisk build process. This does not prevent you from using an external pjproject installation but it will not be supported by the Asterisk team. See </span><a href="/wiki/pages/viewpage.action?pageId=25919783" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">PJSIP/pjproject</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> below for more info.</span> </p>
</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>
<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;">printable</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;">false</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-added" style="font-size: 100%; background-color: #ddfade;">maxLevel</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;">2</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-added" style="font-size: 100%; background-color: #ddfade;">absoluteUrl</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;">true</span></td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</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 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="PJSIP/pjproject-bundledUsingtheBundledVersionofpjproject" 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">
<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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</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"></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;">bundled</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"></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;">bundled</span></td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Using the Bundled Version of pjproject</span> </h1>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Beginning with Asterisk 13.8.0, a stable version of pjproject is included in Asterisk's ./third-party directory and is enabled with the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">--with-pjproject-bundled</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> option to </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">./configure</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">. Beginning with Asterisk 15.0.0, it is enabled by default but can be disabled with the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">--without-pjproject-bundled</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> option to </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">./configure</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">.</span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">The actual pjproject source code is NOT distributed with Asterisk. Instead the Asterisk build process downloads the official pjproject tarball then patches, configures and builds pjproject when you build Asterisk. </span> </p>
<h2 id="PJSIP/pjproject-Whyusethebundledversion?" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(34,34,34);"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Why use the bundled version?</span></span> </h2>
<ul style="margin: 10px 0 0 0">
<li> <strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Predictability</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">: When built with the bundled pjproject, you're always certain of the version you're running against, no matter where it's installed.</span> </li>
<li> <strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Scalability</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">: The default pjproject configuration is optimized for client applications. The bundled version's configuration is optimized for server use.</span> </li>
<li> <strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Usability</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">: Several feature patches, which have been submitted upstream to pjproject but not yet released, are usually included in the bundled version.</span> </li>
<li> <p class="gmail_default _mce_tagged_br" style="margin: 10px 0 0 0; margin-top: 0"> <strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Safety</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">: If a security or critical issue is identified in pjproject, it can be patched and made available with a new release of Asterisk instead of having to waiting for a new release of pjproject.</span> </p> </li>
<li> <p class="gmail_default _mce_tagged_br" style="margin: 10px 0 0 0; margin-top: 0"> <strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Maintainability</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">: You don't need to build and install separate packages.</span> </p> </li>
<li> <p class="gmail_default _mce_tagged_br" style="margin: 10px 0 0 0; margin-top: 0"> <strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Supportability</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">: When asking others for help, there's no question about which version of pjproject you're using and what options it was compiled with.</span> </p> </li>
<li> <strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Debugability</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">: The Asterisk </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">DONT_OPTIMIZE</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> and </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">MALLOC_DEBUG</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> compile flags, which are essential for troubleshooting crashes and deadlocks, are automatically passed to the pjproject build process.</span> </li>
<li> <strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Compatibility</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">: This is especially important from a development perspective because it means we can be sure that new pjproject APIs that have been introduced or old ones that have been deprecated, are handled and tested appropriately in Asterisk.</span> </li>
<li> <strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Reliability</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">: You can be sure that Asterisk was tested against the bundled version.</span> </li>
</ul>
<h2 id="PJSIP/pjproject-Usage" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0"> <span style="color: rgb(34,34,34);"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Usage</span></span> </h2>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span style="color: rgb(34,34,34);"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">First, run </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">./contrib/scripts/install_prereq</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">. Building the bundled pjproject requires the python development libraries which install_prereq installs. All you have to do now is add the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">--with-pjproject-bundled</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> option to your Asterisk </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">./configure</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> command line and remove any other </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">--with-pjproject</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> option you may have specified. </span></span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span> </p>
<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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">$ cd /path/asterisk-source-dir
# For Asterisk 13 and 14...
$ ./configure --with-pjproject-bundled
# For Asterisk 15+...
$ ./configure
$ make && make install</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span style="color: rgb(34,34,34);"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">The configure and make processes will download the correct version of pjproject, patch it, configure it, build it, and finally link Asterisk to it statically. No changes in runtime configuration are required. You can leave your system-installed version of pjproject in place if needed. Once compiled with the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">--with-pjproject-bundled</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> option, Asterisk will ignore any other installed versions of pjproject. </span></span> </p>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Using the bundled version of pjproject doesn't necessarily mean you need internet access to download the pjproject tarball every time you build. There are 2 ways to specify an alternate location from which to retrieve it. First, assuming version 2.6 of pjproject is needed and </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">/tmp/downloads</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> is the directory you're going to save to, download the following files to the local directory:</span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span> </p>
<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/_/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-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-added" style="font-size: 100%; background-color: #ddfade;">$ mkdir /tmp/downloads
$ wget -O /tmp/downloads/pjproject-2.6.tar.bz2 http://www.pjsip.org/release/2.6/pjproject-2.6.tar.bz2
$ wget -O /tmp/downloads/pjproject-2.6.md5 http://www.pjsip.org/release/2.6/MD5SUM.txt</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">It's important that both files be named </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">pjproject-<version>.tar.bz2</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> and </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">pjproject-<version>.md5</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> respectively.</span> </p>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Now perform either of the following 2 steps:</span> </p>
<ol style="margin: 10px 0 0 0">
<li style="list-style-type: none;background-image: none;">
<ol style="margin: 10px 0 0 0; margin-top: 0">
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Run ./configure with the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">--with-externals-cache=/tmp/downloads</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> option. ./configure will check there first and only download if the files aren't already there or the tarball checksum doesn't match what's in the md5 file. This is similar to the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">--with-sounds-cache</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> option. BTW, the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">--with-externals-cache</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> mechanism works for the precompiled codecs and the Digium Phone Module for Asterisk as well. As of Asterisk 13.18, 14.7 and 15.0, the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">--with-download-cache</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> option can be used to specify both the externals and sounds cache directory.</span> <br /> <br /> </li>
<li> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Set the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">PJPROJECT_URL</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> environment variable to any valid URL (including file:// URLs) where </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">./configure</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> can find the tarball and checksum files. The variable can be set in your environment and exported or specified directly on the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">./configure</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> command line. As of Asterisk 13.18, 14.7 and 15.0, the </span><code style="font-family: monospace"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">AST_DOWNLOAD_CACHE</span></code><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> environment variable can be used to specify both the externals and sounds cache directory.</span> <br /> <br /> </li>
</ol> </li>
</ol>
</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"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span> </p>
</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 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="PJSIP/pjproject-externalBuildingandInstallingpjprojectfromSource" 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">
<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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</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"></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;">external</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"></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;">external</span></td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table> <span class="diff-html-changed" id="changed-diff-9" style="background-color: #d6f0ff;">Building and Installing pjproject from Source</span> </h1>
<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" id="changed-diff-10" 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"> <strong><span class="diff-html-changed" style="background-color: #d6f0ff;">Installing pjproject from source or from packages is no longer a supported configuration for Asterisk versions that contain the </span><a href="#PJSIP/pjproject-bundled" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" id="changed-diff-11" style="background-color: #d6f0ff;">bundled version of pjproject</span></a><span class="diff-html-changed" id="changed-diff-12" style="background-color: #d6f0ff;">.</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;">Reports of pjproject-related Asterisk issues may only be made against the bundled version</span></span><span class="diff-html-changed" style="background-color: #d6f0ff;">. The bundled version inherits flags like DONT_OPTIMIZE and MALLOC_DEBUG from </span> </p> </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">
<table class="diff-macro" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333">
<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-added" id="added-diff-5" style="font-size: 100%; background-color: #ddfade;">Asterisk </span><span class="diff-html-changed" id="changed-diff-13" style="background-color: #d6f0ff;">which allows us to accurately diagnose issues across both </span> </p> </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">
<table class="diff-macro" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333">
<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-added" id="added-diff-6" style="font-size: 100%; background-color: #ddfade;">Asterisk </span><span class="diff-html-changed" id="changed-diff-14" style="background-color: #d6f0ff;">and pjproject.</span> </p> </td>
</tr>
</tbody>
</table>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" id="added-diff-7" style="font-size: 100%; background-color: #ddfade;">Because earlier releases of pjproject cannot build shared object libraries, some changes were required in order to use it with Asterisk 12. As such, </span><strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Asterisk requires pjproject version 2.4 or later (2.6 is current)</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">. Alternatively, an Asterisk compatible version of pjproject is available on </span><a href="https://github.com/asterisk/pjproject" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">github</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> , or - depending on your Linux distribution - available as a package.</span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Earlier versions of pjproject downloaded from </span><a href="http://www.pjsip.org/" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">www.pjsip.org</span></a><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> will </span><strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">not</span></strong><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> work with Asterisk 12 or greater. </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" id="changed-diff-15" 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;">If you have previously installed a version of pjproject, you </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">must</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> remove that version of pjproject prior to building and installing the Asterisk 12</span><span class="diff-html-added" id="added-diff-8" style="font-size: 100%; background-color: #ddfade;">+ </span><span class="diff-html-changed" id="changed-diff-16" style="background-color: #d6f0ff;">compatible version of pjproject. See </span><a href="#PJSIP/pjproject-uninstalling_pjproject" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" id="changed-diff-17" style="background-color: #d6f0ff;">Uninstalling pjproject</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span class="diff-html-changed" id="changed-diff-18" style="background-color: #d6f0ff;">for more information.</span> </p> </td>
</tr>
</tbody>
</table>
<h2 id="PJSIP/pjproject-Downloadingpjproject" 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" id="changed-diff-19" style="background-color: #d6f0ff;">Downloading pjproject</span> </h2>
<h3 id="PJSIP/pjproject-ObtainingpjprojectfromTeluu:" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0; margin-top: 10px"> <span class="diff-html-changed" id="changed-diff-20" style="background-color: #d6f0ff;">Obtaining pjproject from Teluu:</span> </h3>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-21" style="background-color: #d6f0ff;">Use </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">wget</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> to pull the latest version (currently 2.6) from </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">www.pjsip.org</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">. Note that the instructions assume that this is 2.6; for the latest version, refer to </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">www.pjsip.org</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">:</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" id="changed-diff-22" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># wget http://www.pjsip.org/release/2.6/pjproject-2.6.tar.bz2
# tar -xjvf pjproject-2.6.tar.bz2</span>
</pre> </td>
</tr>
</tbody>
</table>
<h3 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0" id="PJSIP/pjproject-Obtainingthelatestpjprojectfromthesvnrepo:"> <span style="color: rgb(133,120,102);"><span class="diff-html-changed" id="changed-diff-23" style="background-color: #d6f0ff;">Obtaining the latest pjproject from the svn repo:</span></span> </h3>
<p style="margin: 10px 0 0 0"> <span><span class="diff-html-changed" id="changed-diff-25" style="background-color: #d6f0ff;">Use </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">svn</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> to install the latest version from </span><a href="http://www.pjsip.org" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">www.pjsip.org</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" id="added-diff-9" style="font-size: 100%; background-color: #ddfade;"> </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" id="changed-diff-26" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># svn co http://svn.pjsip.org/repos/pjproject/trunk/ pjproject-trunk</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" id="added-diff-10" style="font-size: 100%; background-color: #ddfade;"> </span> </p>
<h3 id="PJSIP/pjproject-Obtaining(oldasterisk)pjprojectfromthegithubrepo:" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span class="diff-html-changed" id="changed-diff-27" style="background-color: #d6f0ff;">Obtaining (old asterisk) pjproject from the github repo:</span> </h3>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-28" style="background-color: #d6f0ff;">If you do not have </span><a href="http://git-scm.com/" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">git</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;">, install git on your local machine.</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" id="changed-diff-29" 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-left: 30.0px;; margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" id="changed-diff-30" style="background-color: #d6f0ff;">Downloading and installing </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">git</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> is beyond the scope of these instructions, but for Debian/Ubuntu systems, it should be as simple as:</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" id="changed-diff-31" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;">apt-get install git</span>
</pre> </td>
</tr>
</tbody>
</table> <p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-32" style="background-color: #d6f0ff;">And for RedHat/CentOS systems:</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" id="changed-diff-33" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;">yum install git</span>
</pre> </td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" id="added-diff-11" style="font-size: 100%; background-color: #ddfade;"> </span> </p>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-34" style="background-color: #d6f0ff;">Checkout the Asterisk 12-compatible pjproject from the Asterisk </span><a href="https://github.com/asterisk/pjproject" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">github repo</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;">:</span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" id="added-diff-12" style="font-size: 100%; background-color: #ddfade;"> </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" id="changed-diff-35" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># git clone https://github.com/asterisk/pjproject pjproject</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-36" style="background-color: #d6f0ff;">And that's it!</span> </p>
<h3 id="PJSIP/pjproject-BuildingandInstallingpjproject" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0"> <span class="diff-html-changed" id="changed-diff-37" style="background-color: #d6f0ff;">Building and Installing pjproject</span> </h3>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-38" style="background-color: #d6f0ff;">The first step in building and installing pjproject is configuring it using </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">configure</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;">. For Asterisk, this is arguably the </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">most</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> important step in this process. pjproject embeds a number of third party libraries which can conflict with versions of those libraries that may already be installed on your system. Asterisk </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">will not</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> use the embedded third party libraries within pjproject. As an example, if you are going to build the res_srtp module in Asterisk, then you </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">must</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> specify "--with-external-srtp" when configuring pjproject to point to an external srtp library.</span> </p>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Additionally, Asterisk </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">REQUIRES</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> two or three options to be passed to </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">configure</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;">:</span> </p>
<ul style="margin: 10px 0 0 0">
<li style="list-style-type: none;background-image: none;">
<ul style="margin: 10px 0 0 0; margin-top: 0">
<li> <code style="font-family: monospace"><span class="diff-html-changed" id="changed-diff-39" style="background-color: #d6f0ff;">--enable-shared</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - Instruct pjproject to build shared object libraries. Asterisk will only use shared objects from pjproject.</span> </li>
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--prefix</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - Specify root install directory for pjproject. This will be dependent on your distribution of Linux; typically this is </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">/usr </span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">for most systems. The default is </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">/usr/local</span></code> </li>
<li> <code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--libdir</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> - Specify the installation location for object code libraries. This may need to be set to </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">/usr/lib64</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> for some 64-bit systems such as CentOS.</span> </li>
</ul> </li>
</ul>
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-40" style="background-color: #d6f0ff;"> </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-left: 30.0px;; margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" id="changed-diff-41" style="background-color: #d6f0ff;">Failure to build Asterisk with shared pjproject object libraries </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">WILL</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> result in seemingly random crashes. For Asterisk to work properly with pjproject, pjproject </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">MUST</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> be built with shared object libraries.</span> </p> </td>
</tr>
</tbody>
</table>
<h4 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0" id="PJSIP/pjproject-CompilerDEFINEs"> <span class="diff-html-changed" id="changed-diff-42" style="background-color: #d6f0ff;">Compiler DEFINEs</span> </h4>
<ul style="margin: 10px 0 0 0">
<li style="list-style-type: none;background-image: none;">
<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-changed" id="changed-diff-43" style="background-color: #d6f0ff;">Users who expect to deal with Contact URIs longer than 256 characters or hostnames longer than 128 characters should set </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">PJSIP_MAX_URL_SIZE</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;">PJ_MAX_HOSTNAME</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> as appropriate.</span> </p> </li>
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">IPv6 support in pjproject is, by default, disabled. To enable it, set </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">PJ_HAS_IPV6</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;">1</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </li>
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The default configuration of pjproject enables "assert" functions which can cause Asterisk to crash unexpectedly. To disable the asserts, set </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">NDEBUG</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;">1</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </li>
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">The default number of TCP/TLS incoming connections allowed is 64. If you plan on having more than that you'll need to set </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">PJ_IOQUEUE_MAX_HANDLES</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> to the new limit.</span> </li>
</ul> </li>
</ul>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-44" style="background-color: #d6f0ff;">With the exception of </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">PJ_IOQUEUE_MAX_HANDLES</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">, the options can be set in </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">CFLAGS</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> and passed to configure as follows: '.</span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">/configure CFLAGS="-DNDEBUG=1 -DPJ_HAS_IPV6=1</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;">"', etc. A better way is to create or edit the </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">pjlib/include/pj/config_site.h</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> file and set them all there. Here's a reasonable starting point that also includes some performance tunings...</span> <br /> <br /> </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" id="changed-diff-45" 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;">pjlib/include/pj/config_site.h</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;">linenumbers</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;">true</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;">cpp</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;">/*
* Asterisk config_site.h
*/
#include <sys/select.h>
/*
* Since both pjproject and asterisk source files will include config_site.h,
* we need to make sure that only pjproject source files include asterisk_malloc_debug.h.
*/
#if defined(MALLOC_DEBUG) && !defined(_ASTERISK_ASTMM_H)
#include "asterisk_malloc_debug.h"
#endif
/*
* Defining PJMEDIA_HAS_SRTP to 0 does NOT disable Asterisk's ability to use srtp.
* It only disables the pjmedia srtp transport which Asterisk doesn't use.
* The reason for the disable is that while Asterisk works fine with older libsrtp
* versions, newer versions of pjproject won't compile with them.
*/
#define PJMEDIA_HAS_SRTP 0
/*
* Defining PJMEDIA_HAS_WEBRTC_AEC to 0 does NOT disable Asterisk's ability to use
* WebRTC. It only disables the pjmedia webrtc transport which Asterisk doesn't use.
*/
#define PJMEDIA_HAS_WEBRTC_AEC 0
#define PJ_HAS_IPV6 1
#define NDEBUG 1
#define PJ_MAX_HOSTNAME (256)
#define PJSIP_MAX_URL_SIZE (512)
#ifdef PJ_HAS_LINUX_EPOLL
#define PJ_IOQUEUE_MAX_HANDLES (5000)
#else
#define PJ_IOQUEUE_MAX_HANDLES (FD_SETSIZE)
#endif
#define PJ_IOQUEUE_HAS_SAFE_UNREG 1
#define PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL (16)
#define PJ_SCANNER_USE_BITWISE 0
#define PJ_OS_HAS_CHECK_STACK 0
#ifndef PJ_LOG_MAX_LEVEL
#define PJ_LOG_MAX_LEVEL 6
#endif
#define PJ_ENABLE_EXTRA_CHECK 1
#define PJSIP_MAX_TSX_COUNT ((64*1024)-1)
#define PJSIP_MAX_DIALOG_COUNT ((64*1024)-1)
#define PJSIP_UDP_SO_SNDBUF_SIZE (512*1024)
#define PJSIP_UDP_SO_RCVBUF_SIZE (512*1024)
#define PJ_DEBUG 0
#define PJSIP_SAFE_MODULE 0
#define PJ_HAS_STRICMP_ALNUM 0
/*
* Do not ever enable PJ_HASH_USE_OWN_TOLOWER because the algorithm is
* inconsistently used when calculating the hash value and doesn't
* convert the same characters as pj_tolower()/tolower(). Thus you
* can get different hash values if the string hashed has certain
* characters in it. (ASCII '@', '[', '\\', ']', '^', and '_')
*/
#undef PJ_HASH_USE_OWN_TOLOWER
/*
It is imperative that PJSIP_UNESCAPE_IN_PLACE remain 0 or undefined.
Enabling it will result in SEGFAULTS when URIs containing escape sequences are encountered.
*/
#undef PJSIP_UNESCAPE_IN_PLACE
#define PJSIP_MAX_PKT_LEN 32000
#undef PJ_TODO
#define PJ_TODO(x)
/* Defaults too low for WebRTC */
#define PJ_ICE_MAX_CAND 32
#define PJ_ICE_MAX_CHECKS (PJ_ICE_MAX_CAND * PJ_ICE_MAX_CAND)
/* Increase limits to allow more formats */
#define PJMEDIA_MAX_SDP_FMT 64
#define PJMEDIA_MAX_SDP_BANDW 4
#define PJMEDIA_MAX_SDP_ATTR (PJMEDIA_MAX_SDP_FMT*2 + 4)
#define PJMEDIA_MAX_SDP_MEDIA 16</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;"> </span> </p>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-46" style="background-color: #d6f0ff;">Other common </span><strong style="line-height: 1.42857;"><span class="diff-html-changed" style="background-color: #d6f0ff;">configure</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> options needed for pjproject are listed below:</span> </p>
<div class="table-wrap" style="margin: 10px 0 0 0; overflow-x: auto">
<table style="border-collapse: collapse; border: 1px solid #ddd;; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; border-collapse: collapse; margin: 10px 0 0 0; overflow-x: auto; margin-top: 0" class="confluenceTable">
<tbody style="margin-left: 30.0px;">
<tr style="margin-left: 30.0px;">
<th style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left; background-color: #f0f0f0; font-weight: bold" class="confluenceTh"><span class="diff-html-changed" id="changed-diff-47" style="background-color: #d6f0ff;">Library</span></th>
<th style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left; background-color: #f0f0f0; font-weight: bold" class="confluenceTh"><span class="diff-html-changed" style="background-color: #d6f0ff;">Configure option</span></th>
<th colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left; background-color: #f0f0f0; font-weight: bold" class="confluenceTh"><span class="diff-html-changed" id="changed-diff-48" style="background-color: #d6f0ff;">Notes</span></th>
</tr>
<tr style="margin-left: 30.0px;">
<td style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><a href="http://www.speex.org/" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" id="changed-diff-49" style="background-color: #d6f0ff;">libspeex</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;"> shared objects</span></td>
<td style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--with-external-speex</span></code></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" id="changed-diff-50" style="background-color: #d6f0ff;">Make sure that the library development headers are accessible from pjproject. The CFLAGS and LDFLAGS environment variables may be used to set the include/lib paths.</span></td>
</tr>
<tr style="margin-left: 30.0px;">
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><a href="https://github.com/cisco/libsrtp" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">libsrtp</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;"> shared objects</span></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--with-external-srtp</span></code></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" style="background-color: #d6f0ff;">Make sure that the library development headers are accessible from pjproject. The CFLAGS and LDFLAGS environment variables may be used to set the include/lib paths.</span></td>
</tr>
<tr style="margin-left: 30.0px;">
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" style="background-color: #d6f0ff;">GSM codec</span></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--with-external-gsm</span></code></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" style="background-color: #d6f0ff;">Make sure that the library development headers are accessible from pjproject. The CFLAGS and LDFLAGS environment variables may be used to set the include/lib paths.</span></td>
</tr>
<tr style="margin-left: 30.0px;">
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" style="background-color: #d6f0ff;">Disable sound</span></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--disable-sound</span></code></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" style="background-color: #d6f0ff;">Let Asterisk perform sound manipulations.</span></td>
</tr>
<tr style="margin-left: 30.0px;">
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" style="background-color: #d6f0ff;">Disable resampling</span></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--disable-resample</span></code></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"> <p style="margin-left: 30.0px;; margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" id="changed-diff-51" style="background-color: #d6f0ff;">Let Asterisk perform resample operations.</span> </p> </td>
</tr>
<tr style="margin-left: 30.0px;">
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" id="changed-diff-52" style="background-color: #d6f0ff;">Disable video</span></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--disable-video</span></code></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" style="background-color: #d6f0ff;">Disable video support in pjproject's media libraries. This is not used by Asterisk.</span></td>
</tr>
<tr style="margin-left: 30.0px;">
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" style="background-color: #d6f0ff;">Disable AMR</span></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" style="background-color: #d6f0ff;">--disable-opencore-amr</span></td>
<td colspan="1" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; padding: 0px; border-collapse: collapse; border: 1px solid #ddd; padding: 7px 10px; vertical-align: top; text-align: left" class="confluenceTd"><span class="diff-html-changed" style="background-color: #d6f0ff;">Disable AMR codec support. This is not used by Asterisk</span></td>
</tr>
</tbody>
</table>
</div>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-53" style="background-color: #d6f0ff;">These are some of the more common options used to disable third party libraries in pjproject. However, other options may be needed depending on your system - see </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">configure --help</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> for a full list of configure options you can pass to pjproject.</span> </p>
<ol style="margin: 10px 0 0 0">
<li style="list-style-type: none;background-image: none;">
<ol style="margin: 10px 0 0 0; margin-top: 0">
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <br /> <span class="diff-html-changed" id="changed-diff-54" style="background-color: #d6f0ff;">Now that you understand the pjproject configure options available, change directories to the pjproject source directory:</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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># cd pjproject</span>
</pre> </td>
</tr>
</tbody>
</table> </li>
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">In the pjproject source directory, run the configure script with the options needed for your system:</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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS='-O2 -DNDEBUG'</span>
</pre> </td>
</tr>
</tbody>
</table> <p style="margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">A few recommended options are shown. That includes setting a couple important CFLAGS, -O2 for common optimizations and -DNDEBUG to disable debugging code and assertions.</span> </p> </li>
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Build pjproject:</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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># make dep
# make
</span>
</pre> </td>
</tr>
</tbody>
</table> </li>
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Install pjproject</span><strong> <br /> </strong> </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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># make install</span>
</pre> </td>
</tr>
</tbody>
</table> </li>
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Update shared library links.</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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># ldconfig</span>
</pre> </td>
</tr>
</tbody>
</table> </li>
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Verify that pjproject has been installed in the target location by looking for, and finding the various pjproject modules:</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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># ldconfig -p | grep pj
libpjsua.so (libc6,x86-64) => /usr/lib/libpjsua.so
libpjsip.so (libc6,x86-64) => /usr/lib/libpjsip.so
libpjsip-ua.so (libc6,x86-64) => /usr/lib/libpjsip-ua.so
libpjsip-simple.so (libc6,x86-64) => /usr/lib/libpjsip-simple.so
libpjnath.so (libc6,x86-64) => /usr/lib/libpjnath.so
libpjmedia.so (libc6,x86-64) => /usr/lib/libpjmedia.so
libpjmedia-videodev.so (libc6,x86-64) => /usr/lib/libpjmedia-videodev.so
libpjmedia-codec.so (libc6,x86-64) => /usr/lib/libpjmedia-codec.so
libpjmedia-audiodev.so (libc6,x86-64) => /usr/lib/libpjmedia-audiodev.so
libpjlib-util.so (libc6,x86-64) => /usr/lib/libpjlib-util.so
libpj.so (libc6,x86-64) => /usr/lib/libpj.so</span>
</pre> </td>
</tr>
</tbody>
</table> </li>
<li> <p style="margin: 10px 0 0 0; margin-top: 0"> <span style="line-height: 1.4285715;"><span class="diff-html-changed" style="background-color: #d6f0ff;">Finally, verify that Asterisk detects the pjproject libraries. In your Asterisk source directory:</span></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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># ./configure
# make menuselect</span>
</pre> </td>
</tr>
</tbody>
</table> </li>
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">Browse to the </span><strong><span class="diff-html-changed" style="background-color: #d6f0ff;">Resource Modules</span></strong><span class="diff-html-changed" style="background-color: #d6f0ff;"> category and verify that the </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">res_pjsip</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> modules are enabled:</span> <br /> <span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><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/25919783/make-menuselect-pjsip.png?version=3&modificationDate=1377113167395&api=v2" data-image-src="/wiki/download/attachments/25919783/make-menuselect-pjsip.png?version=3&modificationDate=1377113167395&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> </li>
<li> <span class="diff-html-changed" style="background-color: #d6f0ff;">You're all done! Now, build and install Asterisk as your normally would.</span> </li>
</ol> </li>
</ol>
<h2 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0" id="PJSIP/pjproject-Troubleshooting"> <span class="diff-html-changed" id="changed-diff-55" style="background-color: #d6f0ff;">Troubleshooting</span> </h2>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-56" style="background-color: #d6f0ff;">First, if you're using Asterisk 13.8.0 or greater, consider switching to the </span><a href="#PJSIP/pjproject-bundled" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" id="changed-diff-57" style="background-color: #d6f0ff;">Bundled Version of pjproject</span></a> </p>
<h3 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0" id="PJSIP/pjproject-Asteriskfailstodetectpjprojectlibraries"> <span class="diff-html-changed" id="changed-diff-59" style="background-color: #d6f0ff;">Asterisk fails to detect pjproject libraries</span> </h3>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-60" style="background-color: #d6f0ff;">After building and installing pjproject, Asterisk fails to detect any of the libraries - the various res_pjsip components cannot be selected in Asterisk's menuselect</span> </p>
<h4 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0" id="PJSIP/pjproject-Solution"> <span class="diff-html-changed" id="changed-diff-61" style="background-color: #d6f0ff;">Solution</span> </h4>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-62" style="background-color: #d6f0ff;">Verify that Asterisk's config.log shows the following:</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" id="changed-diff-63" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;">configure:23029: checking for PJPROJECT
configure:23036: $PKG_CONFIG --exists --print-errors "libpjproject"
Package libpjproject was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpjproject.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libpjproject' found</span>
</pre> </td>
</tr>
</tbody>
</table>
<ol style="margin: 10px 0 0 0">
<li style="list-style-type: none;background-image: none;">
<ol style="margin: 10px 0 0 0; margin-top: 0">
<li> <span class="diff-html-changed" id="changed-diff-64" style="background-color: #d6f0ff;">Make sure you have </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">pkg-config</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> installed on your system.</span> </li>
<li> <span><span class="diff-html-changed" style="background-color: #d6f0ff;">pjproject will install the package config file in </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">/usr/lib/pkgconfig</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;">. Some distributions, notably Fedora, will instead look for the library in </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">/usr/lib64</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;">. Update your </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">PKG_CONFIG_PATH</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> environment variable with </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">/usr/lib/pkgconfig</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> and re-run Asterisk's </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">configure</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> script.</span></span> </li>
</ol> </li>
</ol>
<h3 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0" id="PJSIP/pjproject-pjprojectfailstobuild:errorsrelatedtoopencore_amr"> <span><span class="diff-html-changed" id="changed-diff-65" style="background-color: #d6f0ff;">pjproject fails to build: errors related to opencore_amr</span> <br /> </span> </h3>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span><span class="diff-html-changed" id="changed-diff-66" style="background-color: #d6f0ff;">When building pjproject, errors about opencore_amr are displayed, e.g.:</span></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" id="changed-diff-67" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;">output/pjmedia-codec-x86_64-unknown-linux-gnu/opencore_amr.o:(.rodata+0x60): multiple definition of `pjmedia_codec_amrnb_framelenbits'
output/pjmedia-codec-x86_64-unknown-linux-gnu/opencore_amr.o:(.rodata+0x60): first defined here
output/pjmedia-codec-x86_64-unknown-linux-gnu/opencore_amr.o:(.rodata+0x80): multiple definition of `pjmedia_codec_amrnb_framelen'
output/pjmedia-codec-x86_64-unknown-linux-gnu/opencore_amr.o:(.rodata+0x80): first defined here
output/pjmedia-codec-x86_64-unknown-linux-gnu/opencore_amr.o:(.rodata+0x20): multiple definition of `pjmedia_codec_amrwb_framelenbits'
output/pjmedia-codec-x86_64-unknown-linux-gnu/opencore_amr.o:(.rodata+0x20): first defined here
output/pjmedia-codec-x86_64-unknown-linux-gnu/opencore_amr.o:(.rodata+0x40): multiple definition of `pjmedia_codec_amrwb_framelen'
output/pjmedia-codec-x86_64-unknown-linux-gnu/opencore_amr.o:(.rodata+0x40): first defined here
...</span>
</pre> </td>
</tr>
</tbody>
</table>
<h4 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0" id="PJSIP/pjproject-Solution.1"> <span class="diff-html-changed" id="changed-diff-68" style="background-color: #d6f0ff;">Solution</span> </h4>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" id="changed-diff-69" style="background-color: #d6f0ff;">You already have the AMR codec installed. Run </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">configure</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> with the </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--disable-opencore-amr</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> option specified.</span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></span> </p>
<h3 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0" id="PJSIP/pjproject-pjprojectfailstobuild:videolinkererrors"> <span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" id="changed-diff-70" style="background-color: #d6f0ff;">pjproject fails to build: video linker errors</span> <br /> </span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></span> </h3>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" id="changed-diff-71" style="background-color: #d6f0ff;">When building pjproject, linker errors referring to various video methods are displayed, e.g.:</span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></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" id="changed-diff-72" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;">/home/mjordan/projects/pjproject/pjmedia/lib/libpjmedia-videodev.so: undefined reference to `pjmedia_format_init_video'
/home/mjordan/projects/pjproject/pjmedia/lib/libpjmedia.so: undefined reference to `pjmedia_video_format_mgr_instance'
/home/mjordan/projects/pjproject/pjmedia/lib/libpjmedia-videodev.so: undefined reference to `pjmedia_format_get_video_format_detail'
/home/mjordan/projects/pjproject/pjmedia/lib/libpjmedia-videodev.so: undefined reference to `pjmedia_get_video_format_info'</span>
</pre> </td>
</tr>
</tbody>
</table>
<h4 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0" id="PJSIP/pjproject-Solution.2"> <span class="diff-html-changed" id="changed-diff-73" style="background-color: #d6f0ff;">Solution</span> </h4>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span><span class="diff-html-changed" id="changed-diff-74" style="background-color: #d6f0ff;">Run </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">configure</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> with either or both </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--disable-video</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> or </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">--disable-v4l2</span></code> </p>
<h3 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0" id="PJSIP/pjproject-ldconfigfailstodisplaypjprojectlibraries"> <span class="diff-html-changed" id="changed-diff-75" style="background-color: #d6f0ff;">ldconfig fails to display pjproject libraries</span> </h3>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span><span class="diff-html-changed" id="changed-diff-76" style="background-color: #d6f0ff;">After building pjproject, the dump provided by </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">ldconfig -p</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> doesn't display any libraries.</span></span> </p>
<h4 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0" id="PJSIP/pjproject-Solution.3"> <span><span class="diff-html-changed" id="changed-diff-77" style="background-color: #d6f0ff;">Solution</span></span> </h4>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" id="changed-diff-78" style="background-color: #d6f0ff;">Run </span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">ldconfig</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;"> to re-configure dynamic linker run-time bindings. This will need to be run with super user permissions.</span> <br /> </span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></span> </p>
<h3 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0" id="PJSIP/pjproject-pjprojectfailstobuildonRaspberryPi"> <span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" id="changed-diff-79" style="background-color: #d6f0ff;">pjproject fails to build on Raspberry Pi</span> <br /> </span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></span> </h3>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" id="changed-diff-80" style="background-color: #d6f0ff;">pjproject/Asterisk fails to compile on your Raspberry Pi (raspbian) due to pjproject configure scripts not detecting endianness:</span> <br /> </span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></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" id="changed-diff-81" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;">/usr/include/pj/config.h:243:6: error: #error Endianness must be declared for this processor
In file included from /usr/include/pj/types.h:33:0,
from /usr/include/pjsip/sip_config.h:27,
from /usr/include/pjsip/sip_types.h:34,
from /usr/include/pjsip.h:24,
from conftest.c:290:
/usr/include/pj/config.h:1161:4: error: #error "PJ_IS_LITTLE_ENDIAN is not defined!"
/usr/include/pj/config.h:1165:4: error: #error "PJ_IS_BIG_ENDIAN is not defined!"</span>
</pre> </td>
</tr>
</tbody>
</table>
<h4 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0" id="PJSIP/pjproject-Solution.4"> <span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" id="changed-diff-82" style="background-color: #d6f0ff;">Solution</span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></span> </h4>
<ol style="margin: 10px 0 0 0">
<li style="list-style-type: none;background-image: none;">
<ol style="margin: 10px 0 0 0; margin-top: 0">
<li> <span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" id="changed-diff-83" style="background-color: #d6f0ff;">Edit </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">/usr/include/pj/config.h</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> (using the editor of your choice)</span></span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></span> </li>
<li> <span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span><span><span class="diff-html-changed" style="background-color: #d6f0ff;">Replace this code:</span> <br /> </span><span class="diff-html-changed" style="background-color: #d6f0ff;"> </span></span> </li>
</ol> </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" id="changed-diff-84" 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-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;"> /*
* ARM, bi-endian, so raise error if endianness is not configured
*/
# undef PJ_M_ARMV4
# define PJ_M_ARMV4 1
# define PJ_M_NAME "armv4"
# define PJ_HAS_PENTIUM 0
# if !PJ_IS_LITTLE_ENDIAN && !PJ_IS_BIG_ENDIAN
# error Endianness must be declared for this processor
# endif</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-85" style="background-color: #d6f0ff;">With this:</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" id="changed-diff-86" 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-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;"> /*
* ARM, bi-endian, so raise error if endianness is not configured
*/
# undef PJ_M_ARMV4
# define PJ_M_ARMV4 1
# define PJ_M_NAME "armv4"
# define PJ_HAS_PENTIUM 0
# define PJ_IS_LITTLE_ENDIAN 1
# define PJ_IS_BIG_ENDIAN 0</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-87" style="background-color: #d6f0ff;">Then recompile. This workaround was taken from issue </span><a href="https://issues.asterisk.org/jira/browse/ASTERISK-23315" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">ASTERISK-23315</span></a><span class="diff-html-changed" style="background-color: #d6f0ff;">.</span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-88" style="background-color: #d6f0ff;"> </span> </p>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"></p>
<table class="diff-macro bodyless diff-html-changed" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;margin: 5px 0; padding: 0; width: auto;; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333">
<thead>
<tr>
<th class="diff-macro-title" style="background-color: transparent; text-align: left; font-weight: normal;padding: 5px;"><span class="diff-html-changed" id="changed-diff-89" 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/anchor.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Anchor</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"></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;">uninstalling_pjproject</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"></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;">uninstalling_pjproject</span></td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table>
<p style="margin: 10px 0 0 0"></p>
<h1 style="margin-left: 30.0px;; margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0" id="PJSIP/pjproject-UninstallingaPreviousVersionofpjproject"> <span class="diff-html-changed" id="changed-diff-90" style="background-color: #d6f0ff;">Uninstalling a Previous Version of pjproject</span> </h1>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-91" style="background-color: #d6f0ff;">Typically, other versions of pjproject will be installed as static libraries. These libraries are not compatible with Asterisk and can confuse the build process for Asterisk 12. As such, any static libraries must be removed prior to installing the compatible version of pjproject.</span> </p>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">pjproject provides an </span><code style="font-family: monospace"><span class="diff-html-changed" style="background-color: #d6f0ff;">uninstall</span></code><span class="diff-html-changed" style="background-color: #d6f0ff;"> make target that will remove previous installations. It can be called from the pjproject source directory like:</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" id="changed-diff-92" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># make uninstall</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-93" style="background-color: #d6f0ff;">If you don't have an "uninstall" make target, you may need to fetch and merge the latest pjproject from </span><a href="https://github.com/asterisk/pjproject" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none"><span class="diff-html-changed" style="background-color: #d6f0ff;">https://github.com/asterisk/pjproject</span></a> </p>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" style="background-color: #d6f0ff;">Alternatively, the following should also remove all previously installed static libraries:</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" id="changed-diff-94" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># rm -f /usr/lib/libpj*.a /usr/lib/libmilenage*.a /usr/lib/pkgconfig/libpjproject.pc</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-95" style="background-color: #d6f0ff;">Finally, you will need to update shared library links:</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" id="changed-diff-96" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># ldconfig</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-97" style="background-color: #d6f0ff;">If you want to run a sanity check, you can verify that pjproject has been uninstalled by ensuring no pjproject modules remain on the system:</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" id="changed-diff-98" 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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-changed" style="background-color: #d6f0ff;"># ldconfig -p | grep pj</span>
</pre> </td>
</tr>
</tbody>
</table>
<p style="margin-left: 30.0px;; margin: 10px 0 0 0"> <span class="diff-html-changed" id="changed-diff-99" style="background-color: #d6f0ff;">If running the above command yields no results, that's it! You have successfully uninstalled pjproject from your system.</span> </p>
</div> </td>
</tr>
</tbody>
</table>
</div> <p class="diff-context-placeholder" style="margin: 10px 0 0 0">...</p> <p class="diff-block-target diff-block-context" style="margin: 10px 0 0 0"> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Beginning with Asterisk 13.8.0, a stable version of pjproject is included in Asterisk's ./third-party directory.</span> </p> <h4 id="BuildingandInstallingpjproject-Whywouldyouwanttodothis?Severalreasons:" class="diff-block-target diff-block-context" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(34,34,34);"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Why would you want to do this? Several reasons:</span></span> </h4>
<ul class="diff-block-target diff-block-context" style="margin: 10px 0 0 0">
<li style="margin-left: 15.0px;"> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Predictability: When built with the bundled pjproject, you're always certain of the version you're running against, no matter where it's installed.</span> </li>
<li style="margin-left: 15.0px;"> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Scalability: The default pjproject configuration is optimized for client applications. The bundled version's configuration is optimized for server use.</span> </li>
<li style="margin-left: 15.0px;"> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Usability: Several feature patches, which have been submitted upstream to pjproject but not yet released, have been included in the bundled version.</span> </li>
<li style="margin-left: 15.0px;">
<div class="gmail_default">
<span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Safety: If a security or critical issue is identified in pjproject, it can be patched and made available with a new release of Asterisk instead of having to waiting for a new release of pjproject.</span>
</div> </li>
<li style="margin-left: 15.0px;">
<div class="gmail_default">
<span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Maintainability: You don't need to build and install separate packages.</span>
</div> </li>
<li style="margin-left: 15.0px;">
<div class="gmail_default">
<span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Supportability: When asking others for help, there's no question about which version of pjproject you're using and what options it was compiled with.</span>
</div> </li>
<li style="margin-left: 15.0px;"> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Compatibility: This is especially important from a development perspective because it means we can be sure that new pjproject APIs that have been introduced or old ones that have been deprecated,</span> <br /> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> are handled and tested appropriately in Asterisk.</span> </li>
<li style="margin-left: 15.0px;"> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Reliability: You can be sure that Asterisk was tested against the bundled version.</span> </li>
</ul> <h4 id="BuildingandInstallingpjproject-Usage:" class="diff-block-target diff-block-context" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(34,34,34);"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Usage:</span></span> </h4> <p style="margin-left: 30.0px;; margin: 10px 0 0 0" class="diff-block-target diff-block-context"> <span style="color: rgb(34,34,34);"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">First, run </span><code style="font-family: monospace"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">./contrib/scripts/install_prereq</span></code><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">. Building the bundled pjproject requires the python development libraries which install_prereq has already installed. All you have to do now is add the </span><code style="font-family: monospace"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">--with-pjproject-bundled</span></code><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> option to your Asterisk </span><code style="font-family: monospace"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">./configure</span></code><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> command line and remove any other </span><code style="font-family: monospace"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">--with-pjproject</span></code><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> option you may have specified. </span></span> </p>
<table class="diff-macro diff-html-removed diff-block-target diff-block-context" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;background-color: #ffe7e7;border-color: #df9898;; 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-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"><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/noformat.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>No Format</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"> <pre style="margin: 10px 0 0 0; margin-top: 0">
<span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"># cd /path/asterisk-source-dir
# ./configure --with-pjproject-bundled
# make && make install</span>
</pre> </td>
</tr>
</tbody>
</table> <p style="margin-left: 30.0px;; margin: 10px 0 0 0" class="diff-block-target diff-block-context"> <span style="color: rgb(34,34,34);"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">The configure and make processes will download the correct version of pjproject, patch it, configure it, build it, and finally link Asterisk to it statically. No changes in runtime configuration are required. You can leave your system-installed version of pjproject in place if needed; once compiled with the </span><code style="font-family: monospace"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">--with-pjproject-bundled</span></code><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> option, Asterisk will ignore any other installed versions of pjproject. </span></span> </p> <p style="margin-left: 30.0px;; margin: 10px 0 0 0" class="diff-block-target diff-block-context"> <span style="color: rgb(34,34,34);"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span></span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Using the bundled version of pjproject doesn't necessarily mean you need internet access to download the pjproject tarball every time you build. There are 2 ways to specify an alternate location from which to retrieve it...</span> </p> <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-left: 30.0px;; margin: 10px 0 0 0; margin-top: 0"> <span class="diff-html-added" id="added-diff-13" style="font-size: 100%; background-color: #ddfade;"> </span> </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"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span> </p>
<p style="margin: 10px 0 0 0"> <span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </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/pages/viewpage.action?pageId=25919783&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/pages/viewpage.action?pageId=25919783&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/pages/viewpage.action?pageId=25919783&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/pages/viewpage.action?pageId=25919783&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=25919783&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=25919783&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>